このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
周波数応答の推定中にノイズ源を無効にする
以下の例では、周波数応答の推定時に Simulink® モデルのノイズ源を無効にする方法を説明します。このようなノイズ源は、線形化出力ポイントでの信号を妨げ、推定結果が不正確になる可能性があります。
モデルを開きます。
mdl = 'scdplane';
open_system(mdl)
線形化の入力ポイントと出力ポイントを指定します。
io(1) = linio('scdplane/Sum1',1); io(2) = linio('scdplane/Gain5',1,'output');
モデルを線形化し、結果の線形システムのダイナミクスに基づいて sinestream 推定入力信号を作成します。
sys = linearize(mdl,io); in = frest.Sinestream(sys);
周波数応答を推定します。
[sysest,simout] = frestimate(mdl,io,in);
推定された周波数応答と正確な線形化の結果を比較します。
frest.simView(simout,in,sysest,sys)
ボード線図では、推定される周波数応答は正確な線形化の応答とは一致しません。これは、モデルの Pilot ブロックおよび Wind Gust Disturbance ブロックの影響から生じる結果です。特定の周波数の時間応答に対するノイズの影響を表示するには、時間応答プロットを右クリックし、[フィルター後の定常状態の出力のみ表示] が選択されていることを確認します。
モデルでソース ブロックを見つけます。
srcblks = frest.findSources(mdl,io);
ソース ブロックを無効にした状態で、周波数応答推定を繰り返します。
opts = frestimateOptions('BlocksToHoldConstant',srcblks);
[sysest,simout] = frestimate(mdl,io,in,opts);
frest.simView(simout,in,sysest,sys)
結果の周波数応答は正確な線形化結果と一致します。
参考
frestimate
| frestimateOptions
| frest.findSources
| frest.simView