JR-D TYPE TRAIN RADIO / DATA RECEIVERv0.2.0
見えない電波を、読めるデータに。
JR-Dタイプ列車無線のデータ波を SDR で受信。生フレームと復号情報を画面で確かめながら、JSONL に記録するデスクトップアプリです。
- macOS(Apple Silicon / Intel)
- Windows x64
- RTL-SDR / HackRF One
- 16波
- D1〜D7 の上下 14 波と、共用波の上下 2 波を監視
- 2台
- 基地局と移動機を 1 台ずつ。上りと下りを同時に記録
- 3入力
- RTL-SDR、HackRF One、録音済みの cu8 ファイル
- 2OS
- macOS と Windows に配布版を用意
電波が、1 行のデータになるまで。
アンテナに届いた電波は、5 つの段を通って JSONL の 1 行になります。スクロールして、その過程をたどってください。
1受信
SDR が電波を IQ サンプルとして取り込みます。RTL-SDR と HackRF One のほか、録音済みの cu8 ファイルも入力に選べます。
2チャンネル分離
受信窓に入るチャンネルを、4.8 kHz 幅の受信帯域ごとに切り出します。監視する波は、ウォーターフォールの枠かチャンネル一覧のクリックで選べます。
3フレーム同期
ビット列からフレームの区切りを見つけ、336 bit の生フレームを取り出します。同期の確からしさも、行ごとに残します。
4復号
生フレームから電文を組み立て、在圏・登録・呼・運行情報などの復号情報にします。FEC の検証結果とチェックサムの一致は、別々に確かめられます。
5記録
生フレームと復号情報を、チャンネルごとの JSONL に追記します。ファイルは営業日(既定は 3 時区切り)で切り替わります。
受信から記録まで、1 つの画面で。
スペクトル、チャンネル、生フレーム、復号情報。必要なものを同じ画面に並べ、止めずに記録し続けます。
監視中 16 / 16升をクリックして切り替え
16 波を同時に監視
D1〜D7 の上下データ波 14 波と、共用波の上下 2 波が対象です。チャンネル一覧の行かウォーターフォールの枠をクリックするだけで、監視を切り替えられます。
基地局
352.603125MHz
移動機
336.103125MHz
2 台で、上りと下りを同時に
1 台に「JR東基地局」、もう 1 台に「JR東移動機」のプリセットを選べば、上下を同時に記録できます。
detailregistration
- 列車番号
- 1481K
- 先頭車
- クハE217-53
- 駅
- 東京
FEC検証済みチェックサム一致
日本語の項目名で読む
選んだ復号情報を、日本語の項目名で表示します。FEC の検証、チェックサムの一致、本文の欠落を確かめられ、生の JSON も開けます。
…D1ch_データ波_基地局.frames.jsonl
- {"si":1234183,"kind":"data","slot":10,"raw_hex":"45f0c66202a7…"}
- {"si":1234567,"kind":"idle","slot":11,"raw_hex":"b73e2035814c…"}
- {"si":1234951,"kind":"data","slot":12,"raw_hex":"81025e9381b4…"}
- {"si":1235335,"kind":"data","slot":13,"raw_hex":"7d3acf48fbbd…"}
- {"si":1235719,"kind":"idle","slot":14,"raw_hex":"8e833c976b53…"}
- {"si":1236103,"kind":"data","slot":15,"raw_hex":"0ddfef231ae1…"}
生フレームごと残す JSONL
チャンネルごとに、生フレームと復号情報の 2 本を追記します。生フレームの行には、デスクランブル前の 336 bit がそのまま入ります。
デバイス
cu8 ファイルを再生…
録音した cu8 を再生
録音済みの cu8 ファイルを入力に選べます。ファイルを無線機カードへドロップするだけです。
presets/jr-east-base-d1.csv
key,valuelabel,JR東基地局(D1のみ)center_hz,352603125channel,d1_down
プリセット
- JR東基地局
- JR東移動機
プリセットは CSV で足せる
中心周波数と監視チャンネルの組を、1 ファイル 1 プリセットの CSV で管理します。追加や編集は、アプリの再起動で反映されます。
18:42:17 D1 ↓ in_zone
18:42:16 D3 ↓ registration
18:42:16 D5 ↑ report_b
記録を止めない更新
新しい版は起動時に確認します。適用するのは「更新して再起動」を押したときだけなので、記録中に勝手に再起動しません。
手持ちの SDR で、すぐに。
- macOS
- Apple Silicon / Intel
- 配布版
- Windows
- x64
- 配布版・管理者権限は不要
- 受信機
- RTL-SDR(RTL2832U)/ HackRF One
- 2 台あれば上下を同時に記録
- ファイル入力
- cu8
- 録音済みの IQ を再生
- 対象
- JR東日本向けのチャンネルと復号器
- 音声波は表示だけで、復号しません
Linux 向けの配布版はありません。
コマンド 1 行で、入れる。
macOS はターミナルから、Windows はインストーラーから。どちらも数ステップで終わります。
$curl -fsSL https://jrd.linux.moe/install.sh | sh
- この Mac のアーキテクチャに合う最新版を取り、SHA-256 を照合してから「アプリケーション」に入れます。
- minisign が入っていれば、アプリの更新と同じ公開鍵で署名も検証します。
- curl で取ったファイルには隔離属性が付かないため、初回起動で Gatekeeper の確認画面を経由しません。
dmg で入れる:Apple SiliconIntel
認証すると、すべてが読める。
未認証の間は、在圏・呼・呼設定・運行情報以外の復号内容が伏せ字になり、JSONL も記録しません。購入時に届くライセンスキーを設定画面に入れて「認証」を押すと、制限が外れます。
起動のたびに自動で更新
認証の有効期間は 30 日です。ネットワークにつながる状態でアプリを起動するたびに、自動で更新されます。更新は起動時だけなので、何日も動かし続けるときは、期限の前に起動し直してください。
別の PC へ移せる
設定画面の「このPCの認証を解除」を押すと、同じライセンスを別の PC で認証できます。
ライセンス
未認証
- 18:42:17D1↓in_zone在圏 編成 47 slot 14
- 18:42:16D3↓registration(未認証のため伏せ字)
- 18:42:16D5↑report_b(未認証のため伏せ字)
- 18:42:15D2↓call_setup呼設定 列車 834C 運転台 2
- 18:42:14共用↓service_info運行情報 配信先 3 線区
- 18:42:13D6↓registration(未認証のため伏せ字)
スイッチを切り替えて、違いを確かめられます。
よくある質問
現在の内蔵チャンネルと復号器は、JR東日本向けです。D1〜D7 の上下データ波と、共用波の上下が対象です。
聞けません。音声波はチャンネル一覧とウォーターフォールのマーカーに表示するだけで、復号しません。
RTL-SDR(RTL2832U)か HackRF One に対応しています。2 台あれば、基地局と移動機のプリセットを 1 台ずつ選んで、上りと下りを同時に記録できます。録音済みの cu8 ファイルも再生できます。
起動と受信はできます。未認証の間は、在圏・呼・呼設定・運行情報以外の復号内容が伏せ字になり、JSONL は記録されません。
認証の有効期間(30 日)の間は使えます。期限までにネットワークにつながる状態で起動すれば、自動で更新されます。期限を過ぎると未認証に戻るので、ライセンスキーを入れ直して再認証してください。
配布版は macOS と Windows 向けです。Linux 向けの配布版はありません。
ターミナルのコマンドで入れた場合は、Gatekeeper の確認を経由しません。dmg から入れた場合は初回起動が止められるので、アプリを右クリックして「開く」を選んでください。