Pocket SDR収録データ
はじめに
Pocket SDRは、東京海洋大学の高須知二先生が公開されているオープンソースのソフトウェア無線(SDR: software defined radio)で、測位衛星(GNSS: global navigation satellite system)信号を受信するものです。
さらに、高須先生が2025年3月27日に日記・備考録で公開されたPocket SDR収録データには、みちびき6号機J08
で試験中のL1C/B信号も含まれていました。このデータにとても感動しましたので、私の持っているPocket SDR収録データも公開します。今後、観測データを収録したら、ここに追記していこうと思います。
利用方法
はじめに、GPS L1C/A信号とGalileo E1B信号のデコードを試してください。
収録ファイルの中にはgzip
圧縮したものもあります。例えば、収録ファイルL1.bin.gz
とタグファイルL1.bin.tag
をダウンロードし、gunzip L1.bin.gz
にて収録ファイルを解凍します。
その後、Pocket SDRのpocket_trk
アプリケーションで測位します。この例では、GPS L1C/A信号と、Galileo E1-B信号を探索しています。
$ pocket_trk L1.bin -prn 1-32 -sig E1B -prn 1-36
1970-01-01 00:00:00.0 0.00000000 0.00000000 0.000 0/0 --- BUFF: 4% SRCH: 2 LOCK: 9/ 68
CH RF SAT SIG PRN LOCK(s) C/N0 (dB-Hz) COFF(ms) DOP(Hz) ADR(cyc) SYNC #NAV #ERR #LOL FEC
5 1 G05 L1CA 5 14.40 33.2 | 0.7138032 -1569.4 -22546.2 ---- 0 0 0 0
12 1 G12 L1CA 12 13.70 44.0 |||||||| 0.5609495 1025.9 14074.2 -B-- 0 1 0 0
20 1 G20 L1CA 20 12.87 30.0 | 0.2656514 570.1 7312.5 ---- 0 0 0 0
24 1 G24 L1CA 24 12.50 54.1 |||||||||||| 0.3122772 -1539.0 -19234.4 -BF- 1 0 0 0
25 1 G25 L1CA 25 12.45 44.4 |||||||| 0.8502644 3326.7 41415.1 -BFR 1 0 0 0
32 1 G32 L1CA 32 11.59 36.1 ||| 0.6249231 2534.7 29402.0 -BF- 1 0 0 0
37 1 E05 E1B 5 10.24 50.9 |||||||||||| 0.6130906 -1830.9 -18754.3 -BFR 3 0 0 0
57 1 E25 E1B 25 3.93 45.1 ||||||||| 0.2554515 2076.4 8157.7 ---- 0 0 0 0
収録諸元(中心周波数やサンプリング周波数など)については、収録バッチファイルsat.shにある設定ファイル名をメモした上で、Pocket SDRすごい(設定ファイル有効活用編)をご参照ください。
ドイツ・アーヘン(おすすめ度:★☆☆)
アーヘン駅前のホテルに宿泊した際、窓際にアンテナを置いて収録したデータです。道路向かいにある高い建物のため、信号レベルが低く、充分な強度で受信できたGPS衛星数は3程度でした。
- 収録日: 2024年11月3日
- 受信機: Pocket SDR FE4CH(DATAGNSS版)
- アンテナ: Beitian BT-200
- ケーブル: RG58 2メートル
- 収録ソフトウェア: Pocket SDR バージョン0.13
ドイツ・ボン(おすすめ度:★☆☆)
早朝にホテル近くの広場で収録しました。収録時間を30秒間にしたつもりが15秒間分しかなく、測位には至りませんでした。Galileo HAS(E6B信号)のデータも収録できました。
- 収録日: 2024年11月6日・7日
- 受信機: Pocket SDR FE4CH(DATAGNSS版)
- アンテナ: Beitian BT-200
- ケーブル: RG58 2メートル
- 収録ソフトウェア: Pocket SDR バージョン0.13
広島市立大学屋上(おすすめ度:★★☆)
GNSS観測局の空いているポートに受信機を接続して収録しました。安定した受信はできたものの、収録時間が30秒しかないために、測位には至りませんでした。
- 収録日: 2024年11月13日
- 受信機: Pocket SDR FE4CH(DATAGNSS版)
- アンテナ: Beitian BT-200
- ケーブル: RG58 2メートル + 2メートル
- 信号スプリッタ: INSTOCK GPS410 (4 way)
- 収録ソフトウェア: Pocket SDR バージョン0.13
GPS L1C/A信号、みちびきL1C/A信号、Galileo E1-B信号を復調するには、次のようにします。
pocket_trk L1.bin -prn 1-32,194-199 -sig E1B -prn 1-36
同様に、みちびきCLAS(L6D信号)、MADOCA-PPP(L6E信号)、Galileo HAS(E6B信号)を復調することも可能です。
$ pocket_trk L6.bin -sig L6D -prn 194-199 -sig L6E -prn 204-209 -sig E6B -prn 1-36
オランダ・アイントホーフェン(おすすめ度:★★★)
設定ファイルpocket_L1G1L5L6_16MHz.confを用いました。Rawデータ形式で収録しましたので、1ファイル20250605-073318fe4.bin
に4チャネル分のデータが収録されています。
- 収録日: 2025年6月5日
- 受信機: Pocket SDR FE4CH(DATAGNSS版)
- アンテナ: Beitian BT-200
- ケーブル: RG58 2メートル
- 収録ソフトウェア: Pocket SDR バージョン0.14
GPS L1C/AやGalileo E1-Bにて測位可能です。SBASやGalileo E6-B信号も検出可能です。
ハードウェア限界を超える標本化周波数48 MHzのデータ収録にもチャレンジしましたが(20250605-073918all.bin
)、動作が不安定で、完全には収録できていませんでした。
シェルスクリプトで効率的に信号解析
信号の存在を効率的に知るために、、シェルスクリプトを作成しました。trap
でCtrl
+C
にて処理を中断できるようにしています。
後半部分では、関数psdr_exec
に、収録ファイル名、信号名、PRN番号範囲を与えています。信号名とPRN(pseudo random noise)番号範囲との組み合わせは、Pocket SDRのtest
ディレクトリにあるシェルスクリプトを参考にして記述しました。
#!/bin/bash
set -eu
psdr_exec()
{
FILE=$1
SIG=$2
PRN=$3
echo $SIG \($FILE\)
pocket_trk $FILE -sig $SIG -prn $PRN
}
term()
{
echo terminated.
exit 0
}
trap term 2
psdr_exec L1.bin L1CA 1-32,193-202
psdr_exec L1.bin L1CB 202-206
psdr_exec L1.bin L1CA 120-158
psdr_exec L1.bin L1S 183-186,189
psdr_exec L2.bin L2CM 1-32,193-201
psdr_exec B1I.bin B1I 1-62
psdr_exec B2I.bin B2I 1-18
psdr_exec G1.bin G1CA -7-6
psdr_exec G2.bin G2CA -7-6
psdr_exec L6.bin E6B 1-36
psdr_exec L6.bin E6C 1-36
psdr_exec L6.bin L6D 193-202
psdr_exec L6.bin L6E 203-212
psdr_exec B1Ia.bin B1I 1-62
psdr_exec B3I.bin B3I 1-62
psdr_exec E1.bin E1B 1-36
psdr_exec E1.bin E1C 1-36
psdr_exec E5b.bin B2BI 19-50
psdr_exec E5b.bin E5BI 1-36
psdr_exec E5b.bin E5BQ 1-36
psdr_exec G1OC.bin G1OCD 1-27
psdr_exec G1OC.bin G1OCP 1-27
psdr_exec G3OC.bin G3OCD 1-27
psdr_exec G3OC.bin G3OCP 1-27
psdr_exec L1a.bin B1CD 19-50
psdr_exec L1a.bin B1CP 19-50
psdr_exec L1a.bin E1B 1-36
psdr_exec L1a.bin E1C 1-36
psdr_exec L1a.bin I1SP 1-14
psdr_exec L1a.bin I1SP 1-14
psdr_exec L1a.bin L1CD 1-32,193-199
psdr_exec L1a.bin L1CP 1-32,193-199
psdr_exec L5.bin B2AD 19-50
psdr_exec L5.bin B2AP 19-50
psdr_exec L5.bin E5AI 1-36
psdr_exec L5.bin E5AQ 1-36
psdr_exec L5.bin I5S 1-14
psdr_exec L5.bin L5I 1-32,193-199
psdr_exec L5.bin L5I 120-158
psdr_exec L5.bin L5Q 1-32,193-199
psdr_exec L5.bin L5Q 120-158
psdr_exec L5.bin L5SI 184-186,189
psdr_exec L5.bin L5SQ 184-186,189
おわりに
高須先生が3月末に公開されたPocket SDR収録データに感銘を受け、私もデータ公開することにしました。
このFE4CHハードウェアは、SFP+光トランシーバの空きケースにきれいにおさまりました。これで安心して持ち運べます。
今後の信号収録では、しっかりと事前準備と予行演習をし、10分間はデータ収録して、その場で内容確認するようにします。
関連記事
- Pocket SDRすごい(設定ファイル有効活用編) 30th April 2025
- Pocket SDRすごい(リアルタイム測位機能) 13th October 2024
- Pocket SDRを用いたGalileo E6B信号の受信 27th January 2023
- リフローでやらかしました 19th January 2023
- Pocket SDRハードウェア製作(第3報) 30th September 2022
- Pocket SDRハードウェア製作(第2報) 14th September 2022
- Pocket SDRハードウェア製作(第1報) 4th September 2022
- PocketSDRすごい(パーツ購入編) 9th April 2022
- PocketSDR APにてbladeRFを使いたい(その2) 16th March 2022
- PocketSDR APにてbladeRFを使いたい 5th March 2022
- PocketSDRすごい(スナップショット測位編) 23rd February 2022
- PocketSDRすごい(FFTWによる高速化) 19th February 2022
- PocketSDRすごい(L6信号デコード編) 19th January 2022
- PocketSDRすごい(pocket_trk編) 28th December 2021
- PocketSDRすごい(pocket_acq編) 4th December 2021