このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

ADS-B 信号を使用した飛行機追跡

この例では、Simulink® および Communications Toolbox™ を使用して Automatic Dependent Surveillance-Broadcast (ADS-B) 信号を処理することにより飛行機を追跡する方法を示します。取得および保存した信号か、RTL-SDR 無線機または ADALM-PLUTO 無線機を使用してリアルタイムに受信した信号のいずれかを使用できます。この例では、Mapping Toolbox™ があれば、追跡している飛行機を地図上に表示できます。

必要なソフトウェアとハードウェア

取得した信号を使用してこの例を実行するには、次のソフトウェアが必要です。

信号をリアルタイムで受信するには、以下の SDR デバイスのいずれかと、対応するサポート パッケージ アドオンも必要です。

Communications Toolbox でサポートされる SDR プラットフォームのすべてのリストについては、Software-Defined Radio (SDR) 情報ページのサポートされているハードウェアの節を参照してください。

はじめに

飛行機を追跡するためのモード S 信号方式と ADS-B 技術の概要については、MATLAB を使用した飛行機追跡の例を参照してください。

受信機の構造

次のブロック線図は、受信機コードの構造をまとめています。処理には 4 つの主要な部分があります。信号ソース、物理層、メッセージ パーサー、およびデータ ビューアー。

信号ソース

この例では、2 つの信号ソースを使用できます。

  1. "取得した信号": ファイルに書き込まれ、2.4 Msps で Baseband File Reader ブロックを使用して取得される無線信号

  2. ''RTL-SDR 無線機'': 2.4 Msps の RTL-SDR 無線機

  3. ''ADALM-PLUTO'': サンプル レート 12 Msps の ADALM-PLUTO 無線機

ここで、拡張スキッタ メッセージは 120 マイクロ秒の長さになるため、信号ソースは 180 拡張スキッタ メッセージを一度に含むために十分なサンプルを処理するように構成され、信号プロパティの SamplesPerFrame を適宜設定します。残りのアルゴリズムは、データのこのフレームでモード S パケットを検索し、識別されたパケットをすべて正しく出力します。このタイプの処理は、バッチ処理として定義されます。また、この代わりに一度に 1 つずつ拡張スキッタ メッセージを処理することもできます。この単一パケットの処理方法は、バッチ処理の 180 倍以上のオーバーヘッドが生じますが、一方で遅延が 1/180 以下になります。ADS-B 受信機には遅延に対する耐性があるため、バッチ処理が使用されました。

物理層

信号ソースから受信したベースバンド サンプルは物理 (PHY) 層によって処理され、PHY 層のヘッダー情報と生のメッセージ ビットを含むパケットが生成されます。次の図は、物理層の構造を示しています。

RTL-SDR 無線機は、[200e3, 2.8e6] Hz の範囲のサンプリング レートを使用することができます。RTL-SDR 無線機がソースの場合、例は、2.4e6 Hz のサンプリング レートを使用し、12e6 Hz の実際のサンプリング レートに対して係数 5 によって内挿します。

ADALM-PLUTO 無線機は、[520e3, 61.44e6] Hz の範囲のサンプリング レートを使用することができます。ADALM-PLUTO 無線機がソースの場合、例は 12 MHz で直接入力をサンプリングします。

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: Capability

メッセージ パーサー

メッセージ パーサーが、[ 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)