このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink での ADS-B 信号を使用した飛行機追跡
この例では、Simulink® および Communications Toolbox™ を使用して放送型自動従属監視 (ADS-B) 信号を処理することにより飛行機を追跡する方法を示します。取得して保存した信号を使用することも、RTL-SDR 無線機、ADALM-PLUTO 無線機、または Universal Software Radio Peripheral (USRP™) 無線機を使用してリアルタイムに信号を受信することもできます。Mapping Toolbox™ ソフトウェアがある場合は、追跡している飛行機を地図上で可視化することもできます。
必要なソフトウェアとハードウェア
取得した信号を使用してこの例を実行するには、Simulink® と Communications Toolbox™ ソフトウェアが必要です。
信号をリアルタイムで受信するには、さらに、以下の SDR デバイスのいずれかと、対応するソフトウェア アドオンが必要です。
RTL-SDR 無線機と Communications Toolbox Support Package for RTL-SDR Radio アドオン
ADALM-PLUTO 無線機と Communications Toolbox Support Package for Analog Devices® ADALM-PLUTO Radio アドオン
USRP 無線機と対応する Communications Toolbox Support Package for USRP Radio アドオン
Communications Toolbox でサポートされる SDR プラットフォームのすべてのリストについては、Software-Defined Radio (SDR) 情報ページのサポートされているハードウェアの節を参照してください。
はじめに
飛行機を追跡するためのモード S 信号方式と ADS-B 技術の概要については、ADS-B 信号を使用した飛行機追跡の MATLAB® 例を参照してください。
受信機の構造
次のブロック線図に、受信機コードの構造をまとめています。この処理には、信号ソース、物理レイヤー、メッセージ パーサー、およびデータ ビューアーからなる 4 つの主要な部分があります。
信号ソース
次の信号ソースのいずれかを指定することができます。
''Captured Signal''
- ファイルに書き込まれ、2.4 Msps で Baseband File Reader ブロックを使用して取得される無線信号''RTL-SDR Radio''
- 2.4 Msps の RTL-SDR 無線機''ADALM-PLUTO''
- サンプル レート 12 Msps の ADALM-PLUTO 無線機''USRP Radio''
- すべての無線でサンプル レート 20 Msps の USRP 無線機 (2.4 Msps のサンプル レートを使用する N310/N300 無線機を除く)
ここで、拡張スキッタ メッセージは 120 マイクロ秒の長さになるため、信号ソースは 180 拡張スキッタ メッセージを同時に含むために十分なサンプルを処理するように構成され、信号プロパティの SamplesPerFrame
を適宜設定します。残りのアルゴリズムは、データのこのフレームでモード S パケットを検索し、識別されたパケットをすべて正しく出力します。このタイプの処理はバッチ処理と呼ばれます。また、この代わりに一度に 1 つずつ拡張スキッタ メッセージを処理することもできます。この単一パケットの処理方法は、バッチ処理の 180 倍以上のオーバーヘッドが生じますが、一方で遅延が 1/180 以下になります。ADS-B 受信機は遅延に対して耐性があるため、この例ではバッチ処理を使用します。
物理レイヤー
物理レイヤー (PHY) は、信号ソースからのベースバンド サンプルを処理して、PHY レイヤーのヘッダー情報と生のメッセージ ビットを含むパケットを生成します。次の図は物理レイヤーの構造を示しています。
RTL-SDR 無線機が使用できるサンプル レートの範囲は [200e3, 2.8e6] Hz です。ソースが RTL-SDR 無線機の場合、例は、2.4 MHz のサンプル レートを使用し、実際のサンプル レートが 12 MHz になるように 5 倍に補間します。
ADALM-PLUTO 無線機が使用できるサンプル レートの範囲は [520e3, 61.44e6] Hz です。ソースが ADALM-PLUTO 無線機の場合、例は入力を 12 MHz で直接サンプリングします。
USRP 無線機は、さまざまなサンプル レートを使用することができます。ソースが USRP 無線機の場合、例は入力を 20 MHz で直接サンプリングします。N310/N300 無線機では、データが 2.4 MHz のサンプル レートで受信されるため、実際のサンプル レートが 12e6 になるように係数 5 で内挿します。
たとえば、データ レートが 1 Mbit/s で、実効サンプル レートが 12 MHz の場合、信号にはシンボルあたり 12 個のサンプルが含まれます。受信処理連鎖は、複素数シンボルの振幅を使用します。
パケット同期装置は、2 つの拡張スキッタ パケット、すなわち 12 MHz または 120 マイクロ秒で 1440 サンプルに相当するデータのサブフレームで動作します。このサブフレームの長さによって、拡張スキッタ全体が必ずサブフレームに含まれるようになります。パケット同期装置は、受信信号と 8 マイクロ秒のプリアンブルとの相関をとってから、ピーク値を検索します。次に、シンクロナイザは、同期ポイントがプリアンブルのシーケンス [1 0 0 0 0 0 1 0 1 0 0 0 0 0 0] を確認することによって、見つかった同期ポイントを検証します。ここで、値 1 は高の値、値 0 は低の値を表します。
モード S の PPM 方式では、2 つのシンボルを定義します。各シンボルには 2 つのチップがあり、1 つが高の値をもち、もう 1 つが低の値をもちます。最初のチップが高で、後続のチップが低の場合、シンボルは 1 になります。逆に、最初のチップが低で、後続のチップが高の場合、シンボルは 0 になります。ビット パーサーは、受信したチップを復調し、バイナリ メッセージを作成します。CRC チェッカーがバイナリ メッセージを検証します。ビット パーサーの出力は、次のフィールドを含むモード S の物理レイヤー ヘッダー パケットのベクトルです。
RawBits - 生のメッセージ ビット
CRCError - CRC をパスした場合は FALSE、CRC が失敗した場合は TRUE
Time - 受信開始から受信までの秒単位の時間
DF - ダウンリンク形式 (パケットタイプ)
CA - 機能
メッセージ パーサー
メッセージ パーサーが、[ 2 ] で説明されているパケット タイプに従って、生のビットを抽出します。この例では、短スキッタ パケットと、飛行速度、識別情報および飛行位置データを含んだ拡張スキッタ パケットを解析できます。
データ ビューアー
データ ビューアーでは、受信したメッセージがグラフィカル ユーザー インターフェイス (GUI) に表示されます。データ ビューアーは、それぞれのパケット タイプについて、検出されたパケット数、正しく復号化されたパケット数、およびパケット エラー レート (PER) を表示します。データが取得されるたびに、アプリケーションによって、これらのメッセージから復号化された情報がテーブルにリストされます。
マップの起動とデータのログ記録
マップを起動し、2 つのスライダー スイッチ (マップの起動とデータのログ記録) を使用してテキスト ファイルのログ記録を開始することもできます。
Log Data* - [Log Data] をオンにすると、取得したデータを TXT ファイルに保存します。保存されたデータは、以降に後処理で使用できます。
Launch Map - [Launch Map] をオンにすると、追跡している航空便を表示できるマップが起動します。メモ:この機能を使用する必要がある場合は、Mapping Toolbox の有効なライセンスが必要です。
以下の図は、アプリケーションがどのように航空便を追跡し、航空便の詳細情報を一覧表示し、さらにそれらをマップ上に表示するかを示しています。
参考文献
International Civil Aviation Organization, Annex 10, Volume 4. Surveillance and Collision Avoidance Systems.
Technical Provisions For Mode S Services and Extended Squitter (Doc 9871)