Main Content

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

Raspberry Pi および RTL-SDR による ADS-B 信号を使用した飛行機追跡

この例では、Raspberry Pi™ および RTL-SDR 無線を使用して飛行機を追跡する、リモート センシング基地局の作成方法を示します。Automatic Dependent Surveillance-Broadcast (ADS-B) 信号を処理し、可視化のために UDP パケットを使用してホスト PC に復調されたデータを送信する Simulink® モデルの展開方法について説明します。

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

この例のモデルを実行するには、次のハードウェアが必要です。

  • RTL-SDR 無線機

  • Raspberry Pi

さらに次のソフトウェアも必要になります。

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

はじめに

Simulink での ADS-B 受信機実装の概要については、下の図のSimulink での ADS-B 信号を使用した飛行機追跡の例を参照してください。の例も実施することをお勧めします。

modelName = 'ADSBSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

Raspberry Pi を使用するリモート ADS-B 受信機

飛行機追跡用のリモート センシング基地局は、RTL-SDR 無線機を接続した Raspberry Pi ハードウェアを使用してセットアップできます。Raspberry Pi で ADS-B 受信機の PHY Layer ブロックを実行し、受信したデータをインターネット経由で UDP パケットを使用して送信できます。これらの UDP パケットをローカル コンピューターで受信し、Message Parser および Data Viewer ブロックを実行することで、結果を可視化できます。次に Raspberry Pi で実行するように変更されたリモート ADS-B 受信機モデルを示します。

close_system(modelName,0)
modelName = 'ADSBRaspberryPiSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

Raspberry Pi ハードウェアでの ADS-B 受信機モデルの実行

Raspberry Pi ハードウェアで ADS-B 受信機モデルを実行するには、以下の手順に従います。

1.Raspberry Pi ハードウェアの USB ポートの 1 つに RTL-SDR 無線機を接続します。

2.Tracking Airplanes Using ADS-B Signals with Raspberry Pi - Sensor モデルを開きます。

3.UDP Send ブロックをダブルクリックします。ブロック マスクを開き、[Remote IP address] エディット ボックスに IP address of your host computer と入力します。たとえば、ホスト コンピューターの IP アドレスが 10.10.10.1 の場合、ブロック マスクに '10.10.10.1' と入力します。[Remote IP port] パラメーターは変更しないでください。[OK] をクリックして保存し、ブロック マスクを閉じます。

4.Simulink モデル内で、ツール バーの [ハードウェアに展開] ボタンをクリックします。

5.Raspberry Pi ハードウェアで実行されているモデルが、ホスト コンピューターのポート 25000 へ UDP パケットの送信を開始します。

ホスト コンピューターでの ADS-B 集積モデルの実行

Raspberry Pi ハードウェアで実行されているモデルから送信された UDP パケットを受信するホスト モデルを実行するには、以下の手順に従います。

1.Tracking Airplanes Using ADS-B Signals - Aggregator モデルを開きます。このモデルには UDP Receive ブロックがあり、Raspberry Pi ハードウェアで実行しているモデルから送信される UDP パケットを受信するように構成されています。UDP Receive ブロック マスクをダブルクリックします。[Local IP port] が 25000 に設定され、出力データ型が "uint8" に設定されていることを確認してください。

2.[Play] ボタンをクリックして、モデルを開始します。

close_system(modelName,0)
modelName = 'ADSBAggregatorSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

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

Raspberry Pi ハードウェアで実行中のモデルの停止

Raspberry Pi で実行中のモデルを停止する場合は、MATLAB® コマンド ラインで次を実行します。

rPi = raspberrypi;
stop(rPi,'ADSBRaspberryPiSimulinkExample');

トラブルシューティング

ホスト モデル上でデータを受信できない場合は、Raspberry Pi とホスト コンピューターが同じローカル エリア ネットワーク上にあることを確認します。つまり、IP アドレスの最初の 3 つの番号が同じであることを確認します。

また、インターネット セキュリティ ソフトウェアがポート 25000 で UDP パケットの送受信を許可していることを確認します。

close_system(modelName,0)