K5/VSSP32のアナログ信号入力帯域は300 MHzまでのため、GPS衛星からのRF信号を直接入力することはできずIF帯への周波数変換が必要となる。目的とする受信機は搬送波位相の利用も考慮したことから、周波数変換に使用するローカル発振器も基準の10 MHzに同期する必要があり、測地や微弱信号検出などの目的に開発されたSoftware GPS用のRF Front-Endは使用できないことから新たに試作した。受信機用に試作したRF Front-Endのブロック図を図1に、写真を図2に示す。入力RF信号は初段の低雑音増幅器(Low Noise Amplifier: LNA)で増幅された後、L1帯、L2帯に分配しフィルターで必要帯域を取り出した後、10 MHzに同期したPLO(Phase-Lock Oscillator)でIF帯に変換した。民生用符号のメインローブ帯域は2 MHzであるが、先に記載したとおりサイドローブも含めて相関処理を行うことで群遅延決定精度が向上することから、K5/VSSP32への入力帯域は8 MHzとした。3.2デジタル信号処理部追尾する衛星をGPSのみに限った場合、ある時点において観測可能な衛星数は最大で12機程度となる。2周波観測で信号帯域を8 MHzとすると、毎秒必要な処理データは16 Mサンプル×12衛星×2チャンネルとなる。ソフトウェア相関処理のためのGPUとしては、データ的には単体で処理可能であるが、L1 C/A, L2Cでは若干処理が異なる部分があり、条件分岐による並列化のオーバーヘッドを回避するためNVIDIA GeForce GTX 470を2枚使用し、それぞれのGPUにL1 C/A, L2C を割り当てて相関処理を行った。図3にソフトウェア相関器のブロック図を示す。サンプリングされたデジタル信号はNCO(Numeri-cally Controlled Oscillator)によりI/Q直交信号に変換されLPFを通過した後、あらかじめ受信機内で作成された複製信号との間で相関を取る。相関処理後の相関スペクトルは相互相関関数に戻して群遅延及び搬送波位相を求めている。このうち、I/Q変換のための時系列データへのsin/cos掛け算や、LPF高周波除去部分、周波数領域における相関処理で必要な複素共役の掛け算などは並列可能なためGPU上で処理し、軌道情報から可視可能な衛星の計算や、追尾に必要な群遅延や搬送波位相の算出などはCPU上で行っている。CPU, GPU相互でも並列処理可能なように、サンプリングデータをGPUに渡し相関処理が終わるまでの間は、CPUではリングバッファーを用いたデータ読み込みを行わせた。これら並列化の処理により、最大で14衛星まで同時受信可能となっている。さらに近年、L1帯までアナログ入力信号帯域が伸びているサンプラが利用できるようになったので、図4に示すような周波数変換を使用しない受信機もできるようになった。この回路を使ってサンプリング周サンプリング周波数40 kHz~64 MHz, 11段階量子化ビット数1, 2, 4, 8ビット入力チャンネル数4外部基準信号5 MHz または 10 MHz & 1 PPSインタフェースUSB 2.0表1 K5/VSSP32汎用サンプラの諸元図1 試作したソフトウェアGPS受信機用のRF Front-Endブロック図図2 RF Front-End図3 ソフトウェア相関部のブロック図1695-3 ソフトウェア無線と時刻比較
元のページ ../index.html#175