osmo-fl2kで生成したGPS信号の周波数補正
osmo-fl2kには、fl2k_testコマンドが用意されていて、実行すると10秒間隔でPPMエラーを表示します。
$ fl2k_test
Kernel mass storage driver is attached, detaching driver. This may take more than 10 seconds!
Reporting PPM error measurement every 10 seconds...
Press ^C after a few minutes.
real sample rate: 99647567 current PPM: -3524 cumulative PPM: -3524
real sample rate: 99909730 current PPM: -903 cumulative PPM: -2187
real sample rate: 99976679 current PPM: -233 cumulative PPM: -1527
real sample rate: 99994151 current PPM: -58 cumulative PPM: -1156
real sample rate: 100001137 current PPM: 11 cumulative PPM: -921
real sample rate: 100003392 current PPM: 34 cumulative PPM: -761
real sample rate: 100007238 current PPM: 72 cumulative PPM: -641
これは、USB-VGAデバイスを接続した直後の実行例ですが、かなり変動しています。しばらくして試すと、次のように安定してきます。(ただし、CPUの負荷による影響もあるようなので、テスト中は、負荷の重いプロセスの起動は避けたほうがよさそう、、、)
$ fl2k_test
Reporting PPM error measurement every 10 seconds...
Press ^C after a few minutes.
real sample rate: 100006806 current PPM: 68 cumulative PPM: 68
real sample rate: 100006831 current PPM: 68 cumulative PPM: 68
real sample rate: 100007186 current PPM: 72 cumulative PPM: 69
real sample rate: 100005995 current PPM: 60 cumulative PPM: 67
この値を(平均値など)、フローグラフの変数 ID:ppmへセットし、ID:out_rateに表示される(この例では138.01e6)を fl2k_fileで送信する際のサンプルング周波数にセットしたところ、GSP受信機でfixできました。
$fl2k_file -s 138.01e6 ファイル名
安定度などの問題があるかもしれませんが、GPS-SDR-SIMとUSB-VGAアダプタの組み合わせで、超安価なGPS信号シミュレータが実現できそうです。
実行中の動画