Pocket SDR収録データ

category: gnss

はじめに

Pocket SDRは、東京海洋大学の高須知二先生が公開されているオープンソースのソフトウェア無線(SDR: software defined radio)で、測位衛星(GNSS: global navigation satellite system)信号を受信するものです。

さらに、高須先生が2025年3月27日に日記・備考録で公開されたPocket SDR収録データには、みちびき6号機J08で試験中のL1C/B信号も含まれていました。このデータにとても感動しましたので、私の持っているPocket SDR収録データも公開します。今後、観測データを収録したら、ここに追記していこうと思います。

Pocket SDR sample IF data

利用方法

はじめに、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程度でした。

Aachen data

  • 収録日: 2024年11月3日
  • 受信機: Pocket SDR FE4CH(DATAGNSS版
  • アンテナ: Beitian BT-200
  • ケーブル: RG58 2メートル
  • 収録ソフトウェア: Pocket SDR バージョン0.13

Pocket SDR signal capture at Aachen, German

ドイツ・ボン(おすすめ度:★☆☆)

早朝にホテル近くの広場で収録しました。収録時間を30秒間にしたつもりが15秒間分しかなく、測位には至りませんでした。Galileo HAS(E6B信号)のデータも収録できました。

Bonn data 1
Bonn data 2

  • 収録日: 2024年11月6日・7日
  • 受信機: Pocket SDR FE4CH(DATAGNSS版)
  • アンテナ: Beitian BT-200
  • ケーブル: RG58 2メートル
  • 収録ソフトウェア: Pocket SDR バージョン0.13

Pocket SDR signal capture at Bonn, German

広島市立大学屋上(おすすめ度:★★☆)

GNSS観測局の空いているポートに受信機を接続して収録しました。安定した受信はできたものの、収録時間が30秒しかないために、測位には至りませんでした。

Hiroshima data

  • 収録日: 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 SDR signal capture at Hiroshima City University, Japan

オランダ・アイントホーフェン(おすすめ度:★★★)

設定ファイルpocket_L1G1L5L6_16MHz.confを用いました。Rawデータ形式で収録しましたので、1ファイル20250605-073318fe4.binに4チャネル分のデータが収録されています。

Eindhoven data

  • 収録日: 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)、動作が不安定で、完全には収録できていませんでした。

シェルスクリプトで効率的に信号解析

信号の存在を効率的に知るために、、シェルスクリプトを作成しました。trapCtrl+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+光トランシーバの空きケースにきれいにおさまりました。これで安心して持ち運べます。

Pocket SDR FE4CH case

今後の信号収録では、しっかりと事前準備と予行演習をし、10分間はデータ収録して、その場で内容確認するようにします。


関連記事