SDRの実装
はじめに
GNSS の SDR (Software Defined Radio) を実装する。
目次
- はじめに
- IFデータの取得
- 信号捕捉
- 信号追尾
- 航法データのデコード
- 位置推定
応用編 A
- L1 C/A以外の信号への対応
- 高速化
応用編 B - DPE
仕様
まずは、なるべく簡易的な実装を行う。 受信可能な信号や入出力のデータ形式は限定し、実行速度もあまり考慮せず実装する。 座標が出せるまで実装を終えたら、それらを考慮して機能を拡張する。 また、通常の測位方法 (2段階測位) の実装を終えたら、 DPE (Direct Position Estimation) の実装も行う。
-
言語: Python
筆者がある程度書ける言語のうち、SDRの実装に使いやすそうなものは
-
C / C++
- Rust
-
Python
がある。 ここでは、
-
可読性
- 速度
-
プロトタイピングのしやすさ
を考慮し、 Python を使用する。
-
機能
-
入力 (IFデータ)
- 信号: L1 C/A
- I相のみ
-
サンプリング周波数: 24MHz
フロントエンドは PocketSDR を用い、
pocket_dumpによってIFデータを得る。
-
後処理のみ対応、リアルタイムは非対応