このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
シミュレ,ションベ,スの手法を使った周波数応答の推定
この例では,線形化パスのイベントベースのダイナミクスが原因でブロックごとの解析的な線形化から正確な解が得られない場合に,金宝app仿真软件®モデルの周波数応答を取得する方法を説明します。そのようなシステムには,触发子系统をもつモデルやパルス幅変調(PWM)の入力信号を使用したモデルなどがあります。
モデルを開く
エンジンタaapl . e金宝appxeミング用のSimulinkモデルを開きます。
mdl =“scdengine”;open_system (mdl)
このモデルをスロットル角からエンジン速度までブロックごとに解析的な線形化を行うと,線形化パスの触发压缩子系统が原因で,ゼロの線形化の結果が生じます。
IO = getlinio(mdl);Linsys =线性化(mdl,io)
linsys = D = ThrottleAngl enginspeed 0静态增益。
Sinestreamの入力信号を使用した周波数応答の推定
Sinestreamの入力信号は,関数frestimate
を使用した仿金宝app真软件モデルの正確な周波数応答を推定するうえで最も信頼性の高い入力信号です。Sinestream信号は,互いに付加される個別の正弦波信号で構成されています。関数frestimate
は,频率
パラメ,タ,を使用して指定されたsinestreamの入力信号の各周波数と,NumPeriods
パラメ,タ,を使用して指定された対応する期間に対してモデルをシミュレ,トします。シミュレ,ションが終了したら,frestimate
は出力信号を使用して,各周波数で応答を計算します。frestimate
は,システムがその入力信号の定常状態に到達した後の期間のみ,まり,SettlingPeriods
パラメ,タ,を使用して指定された整定周期数を使用します。
0.1 ~ 10 rad / sの対数的に等間隔な異なる50の周波数を使用してsinestream信号を作成します。
In =最先。Sinestream (“频率”logspace (1, 1, 50),“振幅”1 e - 3)
频率:[0.1 0.10985 0.12068 0.13257…]] (rad/s)振幅:0.001 SamplesPerPeriod: 40 NumPeriods: 4 RampPeriods: 0 FreqUnits (rad/s,Hz): rad/s SettlingPeriods: 1 applyfilteringestimate (on/off): on SimulationOrder (Sequential/OneAtATime): Sequential
既定では,sinestreamの入力信号の各周波数が4の周期にいてシミュレトされます。まり,NumPeriods
はすべての周波数で4
です。また,最初の周期の終わりはシステムが定常状態に到達するところに指定されています。まり,SettlingPeriods
はすべての周波数で1
です。したがって,frestimate
は出力信号の最後の3周期を使用します。
この实流の入力信号を使用し,関数frestimate
を使用して周波数応答を推定し,結果の周波数応答デ,タをプロットします。
[sys,simout] = fretimate (mdl,io,in);波德(系统)
シミュレ,ション結果のビュ,ア,を使用して,推定結果を調べることができます。ビューアーには,選択した周波数に対する時間領域および周波数領域のシミュレーション結果と,周波数を対話形式で切り替えることができる概要ボード線図が表示されます。
frest.simView (simout sys);
ビュアは,次のような,周波数応答推定の正確性に影響する問題を診断するルとして使用できます。
定常状態に到達しない
非線形の励起
不安定になる
チャ,プ入力信号を使用した周波数応答の推定
金宝app仿真软件モデルから周波数応答データを推定するときに使用できる別の入力信号は,周波数チャープです。周波数チャ,プは,周波数が即座に変化するという点でsinestreamと異なります。
チャ,プ入力信号を使用すると,周波数応答の推定を迅速に取得できます。ただし,結果の周波数応答は,sinestream入力を使用して取得された結果ほどの信頼性はありません。これは,各周波数が,システムがその周波数で定常状態になるまでの十分な時間シミュレートされないためです。
周波数0.1 ~ 10 rad/sを対数的にス。
In_chirp = frst。唧唧声(“FreqRange”0.1 [10],“振幅”1 e - 3,...“SweepMethod”,“对数”,“NumSamples”, 3000);
チャ,プ信号を使用して,周波数応答推定を実行します。
Sys_chirp = fretimate (mdl,io,in_chirp);
Sinestreamの入力信号とチャ,プ入力信号の両方を使用して取得された結果をプロットします。
波德(sys、sys_chirp“r”)
PRBS入力信号を使用した周波数応答の推定
金宝app仿真软件モデルから周波数応答データを推定するときに使用できる別の入力信号は,2値疑似乱数列(PRBS)です。伪随机位序列は2つの値の間で切り替わるホワイトノイズのようなプロパティをもつ,周期的で確定的な信号です。
伪随机位序列入力信号を使用して,チャープ信号よりも高い周波数解像度で,より高速な周波数応答を取得できます。
12
の次数と,信号内に1の周期をもPRBS。単一の周期を使用すると,非周期的なPRBSが作成されます。生成されたPRBSの長さは4095(2^12 - 1)です。正確な周波数応答推定を取得するには,prbsの長さは十分に大きくなければなりません。システムが確かに適切に励起されているようにするため,prbsの摂動の振幅を0.01
として指定します。
in_PRBS = frst。伪随机位序列(“秩序”12“NumPeriods”, 1“振幅”1飞行,“t”, 0.1);
PRBS信号を使用して,周波数応答推定を実行します。
sys_PRBS = fresulate (mdl,io,in_PRBS);
PRBS信号とsinestreamの入力信号の両方で取得された結果を一緒にプロットします。
波德(sys_PRBS sys,“r”0.1 {10})
モデルを閉じます。
bdclose (“scdengine”)