OSQZSS

オープンソース準天頂衛星(QZSS)受信機

コード位相計算の簡略化

2015-01-25 15:31:45 | GPS Signal Simulator
受信機が静止しているのであれば,ある時刻の疑似距離とrange rateから
1秒後の疑似距離を線形近似しても,5cm以下の誤差しか発生しません.

疑似距離の精度としては無視できるレベルなので,OpenMPで並列化したループの中の
コード位相および搬送波位相は,range rateに応じた位相の進みを積算するだけにしました.

擬似距離とrange rateはループの外で毎秒アップデートするだけなので,
計算負荷の高い衛星位置の計算などは,低頻度に抑えられます.

 (クリックで拡大)

この簡略化で,処理速度が随分と改善されました.
90秒分のデータの生成に50秒程度と,リアルタイム化も見えてきたかな?

【追記】こんな製品を発見.

Skydel Solutions: Software-Defined GNSS Simulator

【追記2】1秒間であれば,delta rangeをrange rateの代わりにして
位相を積算することで,1秒後の疑似距離の近似誤差はゼロになります.
range rateに誤差が生じますが,受信機側の信号追尾では問題にならない程度です.

これで速度の計算が不要になり,計算負荷がさらに低減.
実時間の2倍の処理速度でベースバンド信号が生成できるようになりました.
これは快適!
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする