Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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 の有効なライセンスが必要です。

以下の図は、アプリケーションがどのように航空便を追跡し、航空便の詳細情報を一覧表示し、さらにそれらをマップ上に表示するかを示しています。

参考文献

  1. International Civil Aviation Organization, Annex 10, Volume 4. Surveillance and Collision Avoidance Systems.

  2. Technical Provisions For Mode S Services and Extended Squitter (Doc 9871)