SDRを使ったGPS信号シミュレータを試してみたいという要望が
何件かあったので,ソースコードをGitHubに公開してみました.
GitHub: osqzss / gps-sdr-sim
このソフトウェアは,ephemerisファイルとユーザの動きを定義した
ファイルから,GPS L1 C/Aのベースバンド信号ファイルを生成します.
それをSDRプラットフォームで,RF信号にアップコンバートします.
ターゲットとしているSDRプラットフォームはbladeRFになりますが,
簡単な変更でhackRFやUSRPにも読み込ませることができます.
時速30kmで半径100mの円を描くモーションファイルが,例として
付いています.
ubloxの受信機に接続してu-centerでモニタしてみると,こんな感じ.
(クリックで拡大)
とりあえず測位は出来るのですが,制約もいくつかあります.
1. シミュレーションの長さは最大5分間
2. 可視衛星の切り替えはなし
3. 受信強度が固定ですべての衛星で同じ
4. 電離層遅延,対流圏遅延なし
次はリアルタイム化したいな.
【追記】GitHub for Windowsを使ったリポジトリの公開は,
この記事を参考にさせていただきました.
GitHub for Windowsを使ってGitの基本タスクを実行してみる(GUI編&PowerShell編)
何件かあったので,ソースコードをGitHubに公開してみました.
GitHub: osqzss / gps-sdr-sim
このソフトウェアは,ephemerisファイルとユーザの動きを定義した
ファイルから,GPS L1 C/Aのベースバンド信号ファイルを生成します.
それをSDRプラットフォームで,RF信号にアップコンバートします.
ターゲットとしているSDRプラットフォームはbladeRFになりますが,
簡単な変更でhackRFやUSRPにも読み込ませることができます.
時速30kmで半径100mの円を描くモーションファイルが,例として
付いています.
ubloxの受信機に接続してu-centerでモニタしてみると,こんな感じ.
(クリックで拡大)
とりあえず測位は出来るのですが,制約もいくつかあります.
1. シミュレーションの長さは最大5分間
2. 可視衛星の切り替えはなし
3. 受信強度が固定ですべての衛星で同じ
4. 電離層遅延,対流圏遅延なし
次はリアルタイム化したいな.
【追記】GitHub for Windowsを使ったリポジトリの公開は,
この記事を参考にさせていただきました.
GitHub for Windowsを使ってGitの基本タスクを実行してみる(GUI編&PowerShell編)
質問なのですが、衛星1つのみの信号を送信する設定等は存在するのでしょうか?
私の確認不足だったら申し訳ないのですが、
衛星1つのみの信号を送信してみたいと思いまして…
安価にGPS信号発生器を作れないかと思っていたところ、こちらにたどり着きました。
HackRFOneで快適に使用できております。(TCXO必要かと思いましたが、無くてもそこそこ良好です)
また、ブログの他の記事も興味深く読ませていただいております。