- 本ソフトウェアは拡声放送のモニター機能を有していますが、戸別受信機の代替になるものではありません。
- 命に関わるような防災用途での利用は絶対にしないでください。防災用途で必要な場合、自治体を通して戸別受信機を入手してください。
- 受信で得られた内容は電波法や著作権法の保護対象となる可能性があります。ソフトウェアで表示、再生、記録されるデータは、個人の責任で取り扱ってください。
この度は STD-T86 Decoder に興味をお持ちいただきありがとうございます。
STD-T86 Decoder は、
ARIB STD-T86
方式のデジタル同報系 防災行政無線の受信・測定ができるソフトウェアです。ソフトウェアはオーディオインターフェイスから I/Q 信号を入力することで動作し、16QAM
信号の復調後、制御情報のデコードを行います。また、拡声放送が行われているときは放送内容のデコードも行います。
従来、デジタル同報系 防災行政無線の測定には数十万円もする高価な専用機器が必要でした。本ソフトウェアは、ソフトウェア定義無線(SDR: Software Defined Radio)技術を使用することで Windows 上で動作し、かつ RTL-SDR 等の汎用的な RF フロントエンドを利用することができるため、ノートPCといった環境でも簡易的な計測システムを安価に構築することができます。
本ソフトウェアの利用には基本的なコンピュータ操作や無線通信に関して一定の知識が必要となります。また、商品の性質上、返品・交換・キャンセルはお受けできませんので、ご購入前に 動作確認ソフトウェア を利用し、あらかじめ環境構築が完了しているか確認することを推奨します。動作確認ソフトウェアは、物理伝送レイヤーである 16QAM の復調のみを行う機能を有しており、受信状況はレベルメータやコンスタレーション表示機能で確認することができます。
動作確認ソフトウェアは、物理伝送レイヤーである 16QAM
の復調のみを行う機能を有しており、受信状況はレベルメータやコンスタレーション表示機能で確認することができます。コンスタレーションがきれいに表示されていれば、環境構築が完了していると判断することができます。
動作確認ソフトウェアはライセンスファイルが不要であるため、ご購入前に確認可能となっております。ライセンスファイルの配置を除き、導入方法は以下の製品版の手順と同一です。
STD-T86 Decoder は、オーディオインターフェイスに入力された I/Q 信号からデジタル変調波の復調処理を行い、制御情報と放送内容のデコードを行います。
I/Q 信号の取得には、RTL-SDR
に代表される RF フロントエンドとデバイス制御・選局ソフトウェアの SDRSharp
等のソフトウェアを組み合わせて使用します。RF フロントエンドは、60MHz 帯が受信可能で SDRSharp が対応していれば良いので、RTL チップを使用していない HackRF
等でも利用することができます。
受信構成例を以下に示します。SDRSharp と STD-T86 Decoder は、仮想オーディオケーブルまたは物理オーディオケーブルで接続します。
STD-T86 Decoder での受信・測定には、以下のステップが必要です。
物理オーディオケーブル、仮想オーディオケーブルのどちらかを使用することができます。既に仮想オーディオケーブルを使用している場合、手順1はスキップすることができます。
仮想オーディオケーブルを利用すると、コンピュータの OS 内部で仮想的にオーディオデバイスを作成・接続することができ、物理的な配線が不要になります。代表的な仮想オーディオケーブルには、以下のようなソフトウェアがあります。 インストール方法は各サイトを参照してください。作成したオーディオインターフェイスは、手順2でデバイス名の指定を行います。
SDRSharp の導入方法は、様々な書籍や Web サイトや動画で解説が行われておりますのでそちらを参照してください。以下は、RFフロントエンドと SDRSharp の初期導入が完了している状態での説明となります。
SDRSharp を起動し、60MHz 帯 (信号発生装置を利用している場合はその周波数) に周波数を合わせ、所望の周波数にチューニングします。
※RFフロントエンドの設定画面や補正ツールで、ドングルの周波数誤差の補正が完了していることを推奨します。
T86
システムを採用している大部分の自治体は以下の図のような間欠波が常時出力されていますが、一部の自治体(日本無線製のシステムを採用している自治体が多い)は拡声放送前後にしか電波が発射されない場合もあります。
T86 の帯域幅は 15kHz ですので、帯域幅が異なる場合は別方式(STD-T115 第2編 QPSK ナロー方式)や、他の無線システムが考えられます。
Unity
Gain
チェックボックスを有効にしてください。Unity Gain を有効化するとボリュームスライダーが無効化されますが、これは正常動作です。
出力オーディオデバイスの指定が終わったら、 アイコンを押して受信を開始します。以下の図は、Line 1 (Virtual Audio
Cable)
を選択している状況です。デバイス名の先頭に [MME]
と[Windows
DirectSound]
が付いている2種類ありますが、デバイス名があっていればどちらでも構いません。手順 2.2
に進みます。
I/Q 信号を出力するために受信モードを指定します。RAW
モードを選択し、Bandwidth を 12
- 15
kHz 前後に合わせ、Order
を10
-
1000
の間で設定します。
Bandwidth と Order は、
手順3で、コンスタレーションを見ながら最適になるように調整してください。Order はフィルタの次数を表しており、大きい値ほど Bandwidth
外の領域の減衰が大きくなります。近い周波数に別の波やノイズがある場合は、隣接波の影響を防ぐために Order 値を大きめにするのが良いでしょう。
ボリュームアイコンがミュートになっている場合は、アイコンをクリックし 状態となるように変更します。以下の図は、ミュートが解除されている時の図です。
ソフトウェアのインストールはダウンロードした圧縮ファイルを解凍し、解凍後のファイルをそのまま任意のフォルダへコピーした後、ライセンスファイルを配置することで完了します。手順は以下の通りです。
起動時に、以下のように必要なファイルが配置されていることを確認してください。フォルダ内のファイル名を変更した場合、ソフトウェアの起動ができなかったり機能の一部が使用できなくなる可能性がありますのでご注意ください。
それぞれのファイルの役割は以下の通りです。
ファイル名 | 目的 |
---|---|
std_t86_decoder.exe | ソフトウェア本体です。 |
std_t86_decoder.ini | 設定ファイルです。存在しない場合はソフトウェアで自動的に作成されます。 |
std_t86_decoder_disp.ini | 市区町村コードと市区町村名、製造者第1識別番号と製造者名の対応が定義されています。 |
license.jwt | ライセンスファイルです。利用者による配置が必要です。 |
準備ができたら、std_t86_decoder.exe
をダブルクリックして起動します。
初回起動時は、以下のような確認画面が出ます。同意する場合のみソフトウェアを使用することができます。いいえ
を押すとソフトウェアは終了します。
ライセンスファイルが存在しない場合は、以下のようなエラー画面が出ます。有効なライセンスファイルを配置後、再度ソフトウェアを起動してください。
設定画面を開き、入力デバイスおよび出力デバイスを変更します。
入力デバイスは 手順 2.1 の SDRSharp
で選択した出力デバイスと同じものを選択します。出力デバイスは、拡声放送のモニター用デバイスを指定します。通常は、スピーカーに接続されたデバイスを選択することを推奨します。各画面の見方や設定項目の詳細については、画面構成を参照してください。
注意: 入力デバイスと出力デバイスを同一デバイスに設定しないでください。拡声放送が I/Q
信号入力用デバイスに出力されると、両者の信号がミックスされ、以後の復調処理ができなくなってしまいます。
間欠波が出ている場合は、自動周波数制御の誤差周波数表示エリアが緑色になり周波数追尾がロックしたら、誤差周波数が 0 Hzに近づくよう SDRSharp 側の周波数を微調整してください。
本ソフトウェアは、メイン画面と設定画面の2画面から構成されています。
メイン画面 | 設定画面 |
---|---|
メイン画面は以下のような画面となっております。
項目 | 動作 |
---|---|
AFC ON | 自動周波数制御が有効です。同期ワードが見つかり次第、その周波数に合わせます。本モードに変更すると、パイロット使用は
PILOT OFF になります。基本的にはこのモードを使用することを推奨します。 |
AFC->P | 最初は AFC-ON
と同じ動作をし、大きな周波数誤差を補正し数 Hz 以内に補正できた(※1)場合、
パイロットシンボル使用に自動で移行します。その後は大きな周波数の自動補正は行なわないので、長期にわたっての受信には適しません。(※2)本モードに変更すると、パイロット使用は PILOT ON になります。
|
AFC OFF | 自動周波数制御を行いません。 |
※1 受信状態があまり良くない場合、数Hz以内に補正させるのは困難ですので、いつまでもパイロットシンボルによる補正モードに移行しないことがあります。
※2 送信機や受信機の僅かな周波数誤差が長い時間を掛けて変動してしていく場合、時間経過によっては受信不能になることがあります。
背景色 | 動作 |
---|---|
赤 | 追尾する周波数が見つかりません。 |
黄 | 高速で追尾中です。 |
緑 | 遅い AFC (1 秒で数 Hz 程度までの補正が可能) が働いています。 |
項目 | 動作 |
---|---|
PILOT OFF | 周波数補正にパイロットシンボルを使用しません。 |
PILOT ON | 周波数補正にパイロットシンボルを使用します。 |
受信状態が良い | 受信状態が悪い | 受信不可 | 入力なし |
---|---|---|---|
報知情報
、通報開始指示
メッセージを表示するか選択することができます。間欠送信の場合、報知情報は常時出力されているので、常時出力するとログ画面領域を埋め尽くしてしまいます。通報開始指示
は、拡声放送に関する情報です。放送開始時のみの送出か、それとも放送中も継続して送出されるかはメーカーにより実装が異なります。
---
になります。
製造者第1識別番号
-製造者第2識別番号
製造者名
の形式で製造者に関する情報が表示されます。製造者第1識別番号は標準規格で規格化されており、 std_t86_decoder_disp.ini
ファイル内の
VendorCode
セクションで定義されています。定義されていない製造者第1識別番号が利用されている場合、製造者名は空白で表示されます。製造者第1識別番号は0から1023の範囲で定義され、
製造者第2識別番号は各製造者が0から63の範囲で任意に使用することができます。
一部の製造者は、標準規格に準拠していない製造者第1識別番号を使用しているため、空欄になることがあります。
項目 | 意味 |
---|---|
S | 同期バースト受信中 |
B | 報知情報に変更あり |
C | 制御情報受信中 |
F | 高速付随制御 (FACCH: Fast Associated Control Channel) 受信中 |
項目 | 概要 | ログ表示項目 |
---|---|---|
報知情報 | 制御チャネル構造に関する情報等が通知されます。 | 拡声モード、親局送信モード、緊急連絡通話通信時限 |
番号通知 | 市区町村コード等の番号を通知する目的で送信されます。 | 市区町村コード、自治体名称 |
通報開始指示 | 通報時に親局から送信されます。子局識別番号の伝達や戸別受信機向けの音量・録音指示を行います。 本ソフトウェアでは情報表示のみにとどまり、戸別受信機向けの音量・録音指示は無視されます。 |
呼番号、子局識別番号1/2、戸別受信機及び子局音量指示 |
強制切断指示 | 親局から通話を切断したい場合に送信されます。 | 切断理由 |
設定画面は以下のような画面構成になっています。設定は瞬時に反映されます。設定変更後にOK
ボタンを押下すると設定が保存され、設定画面が閉じられます。キャンセル
ボタンを押下すると変更した設定内容は破棄され、設定画面が閉じられます。
メインウィンドウの位置を微調整することができます。多重起動させる場合など、整列させる用途にご使用ください。
I/Q 信号の入力や放送をモニターするために出力するオーディオインターフェイスを指定します。オーディオインターフェイスは、48 kHz 16 Bit ステレオ入出力に対応している必要があります。また、Windows側で本ソフトウェアに対してオーディオ機能利用権限が付与されている必要があります。
復調を行うための信号源となる入力オーディオデバイスを選択します。
通報音声をモニターするために使用する出力オーディオデバイスを選択します。
フォーマット | 説明 |
---|---|
I/Q入力 (I=Lch Q=Rch) | I/Q 入力を使用します。SDRSharp を使用する場合はこちらを選択します。 |
I/Q入力 (Q=Lch I=Rch) | I/Q 入力を使用します。 |
IF 入力 (+12kHz Lch使用) | 12 kHz オフセット IF 入力で Lch を使用します (実験的な実装) ※ |
IF 入力 (+12kHz Rch使用) | 12k Hz オフセット IF 入力で Rch を使用します (実験的な実装) ※ |
※ 12kHz I/Q 出力が可能な受信機との接続を想定しています。機種によってはデジタル信号に影響を与えるような処理が行われている場合もあり、全ての機器での動作を保証するものではありません。あくまでも実験的な機能としてお考えください。2024/8/10 アイコム社の IC-R8600 で動作すると報告を頂いております(動作を保証するものではありません)。
項目 | 説明 |
---|---|
復調データ記録 | 16QAM 信号の復調データをテキスト形式で保存します。常時有効にすると大量のファイルが出力される可能性がありますのでご注意ください。 |
制御情報記録 | 制御情報を記録します。常時有効にすると大量のファイルが出力される可能性がありますのでご注意ください。 |
TCH データ記録 | TCH (Traffic CHannel) を記録します。データはスクランブル解除処理後のデータ列が出力されます。 |
WAVE 記録 | 拡声放送を Wave ファイルに保存します。ファイルは通報毎に分割されます。 |
v1.0.1.0
以降のバージョンでは、設定ファイルstd_t86_decoder.ini
の DATA
セクションを変更することで、制御情報記録に関する設定を行うことができます。
v1.0.1.0 以降にアップデート後、一度アプリケーション起動して終了すると以下のセクションが自動的に作成されます。
各項目の意味は以下の通りです。制御情報記録が無効になっている場合は、設定値に関わらずファイル出力は行われません。
項目 | 説明 |
---|---|
NullDataOut | 1
に設定すると、同期バーストやメッセージ内容長が0のデータも出力します。0 の場合は出力しません。同期バーストは大量のデータが出力される可能性があるため、必要な時以外は0に設定することを推奨します。 |
MessageName | 1 に設定すると、ファイル出力時にメッセージ名を末尾につけます。0 の場合は出力しません。 |
標準規格で定義されているメッセージであればメッセージ名の定義は不要ですが、独自規格のメッセージ名はデフォルトでは空になります。
定義ファイル std_t86_decoder_disp.ini
の MESSAGENAME
セクションを作成し、[16進数表記のメッセージID(半角大文字)]=[メッセージ名]形式で行を追加することで、独自定義や、標準規格のメッセージ名を上書きすることができます。=の後を空にした場合は、そのメッセージ名は出力されなくなります。
スクランブル値を固定する
のチェックボックスを有効化すると、ホワイトニング用のスクランブル値が固定されます。
固定値にした状態でスクランブル値が異なる変調波を入力した場合、CRC エラーが発生します。
スクランブル値は自治体の市区町村コード
(標準地域コード) を2進数表記した下位9ビットとなっており、1
から 511
の範囲で示されます。
受信中であれば 現在値を挿入
ボタンを押下することで、現在設定されている値を入力することができます。
なお、同報無線の整備時期やシステムの都合により、自治体によっては政令指定都市移行前や合併前の市区町村コードが使用されている場合があります。
所望の市区町村名が出てこない場合は、std_t86_decoder_disp.ini
ファイル内のCITYCODE
セクションに必要な市区町村コード定義を追加してください。
ライセンスされている使用者、ライセンスファイルの発行日と有効期限を表示します。有効期限が近づくと、ソフトウェアの起動時にライセンスファイルの自動更新が行われます。
この機能を有効化すると、起動時にソフトウェアの更新有無を確認します。
バージョン情報を表示します。
インターネットに接続されており、かつ 起動時に更新確認
が有効の場合、ソフトウェア起動時にバージョン確認が行われます。
新しいバージョンがあるときは、以下のようなメッセージが出ます。はい
を押すとブラウザが開き、新しいバージョンのソフトウェアがダウンロードされます。ダウンロードされたファイルを解凍し、exeファイルを上書きしてください。
いいえ
を押すとソフトウェアが起動します。
ソフトウェアのダウンロード URL
はアカウントに対してユニークなものが発行されます。また、ダウンロードURLを他者と共有しないでください。不正利用が確認された場合、アカウント停止措置が行われる可能性があります。
ライセンスの有効期限が切れた際は、以下のようなメッセージが表示されます。表示されているメッセージに従い、ライセンスファイルの自動更新または手動配置を行ってください。
RAW
モードで、Unity Gain
が有効化されおり、ミュート状態でないこと。RAW
モードで、Unity Gain
が有効になっていることを確認してください。それでもコンスタレーションが円状のまま変化しない場合、STD-T115
第1編 4値FSK方式や第3編 QPSK ワイド方式の可能性があります。
changelog.txt を参照。