このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
航空機の位置レーダー モデル
このモデルでは、MATLAB スクリプトを含む Simulink モデルに生成されたコードを説明します。
モデルには、航空機の位置をレーダーの測定値から推定する拡張カルマン フィルターが含まれています。MATLAB スクリプトの rtwdemo_eml_aero_radar.m には、モデルを実行するためのデータが含まれています。推定位置と実際の位置はワークスペースに保存され、シミュレーションの最後にプログラム rtwdemo_aero_radplot (シミュレーションから自動的に呼び出し) によってプロットされます。
モデルの確認とシミュレーション
この節では、モデルを確認し、シミュレーションを実行します。
Simulink モデルを開きます。
model='rtwdemo_eml_aero_radar'; open_system(model) rtwdemo_eml_aero_radar([],[],[],'compile'); rtwdemo_eml_aero_radar([],[],[],'term');
MATLAB エディターで MATLAB Function ブロック RadarTracker
を開きます。
open_system([model,'/RadarTracker'])
モデルをシミュレーションし、結果を確認します (自動的に表示)。
sim(model)
モデルのコード生成
この節では、Simulink Coder が提供するサブシステムのビルド機能を使用してモデルのカルマン フィルター部分のコードを生成します。最初のビルドでは、モデルは Simulink Coder を使用してコードを生成するように構成されています。2 番目のビルドでは、モデルは Embedded Coder を使用してコードを生成するように構成されています。
% Create a temporary folder (in your system's temporary folder) for the % build and inspection process. currentDir = pwd; [~,cgDir] = rtwdemodir();
Simulink Coder を使用してモデルを構成およびビルドします。
rtwconfiguredemo(model,'GRT') slbuild([model,'/RadarTracker'])
Embedded Coder を使用してモデルを構成およびビルドします。
rtwconfiguredemo(model,'ERT') slbuild([model,'/RadarTracker'])
### Starting build procedure for: RadarTracker ### Successful completion of build procedure for: RadarTracker Build Summary Top model targets built: Model Action Rebuild Reason ============================================================================================= RadarTracker Code generated and compiled Code generation information file does not exist. 1 of 1 models built (0 models already up to date) Build duration: 0h 0m 16.609s
RadarTracker.c
の部分を以下に示します。
cfile = fullfile(cgDir,'RadarTracker_ert_rtw','RadarTracker.c'); rtwdemodbtype(cfile,'/* Model step', '/* Model initialize', 1, 0);
生成されたコード全体を、モデルとコード間の双方向トレーサビリティを備えた詳細な HTML レポートに表示することができます。
web(fullfile(cgDir,'RadarTracker_ert_rtw','html','RadarTracker_codegen_rpt.html'))
モデルを閉じてクリーンアップします。
bdclose(model) rtwdemoclean; cd(currentDir)