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編)