SISO モデルの周波数領域特性の数値
この例では、ピーク ゲイン、DC ゲイン、システム帯域幅などの SISO 動的システム モデルの複数の周波数領域特性の数値、およびシステム ゲインが指定の周波数に交差する周波数を取得する方法を示します。
伝達関数モデルを作成し、その周波数応答をプロットします。
H = tf([10,21],[1,1.4,26]); bodeplot(H)
周波数応答をプロットすると、システムの周波数領域特性について概要がわかります。H
には顕著な共振ピークがあり、高周波数では 20 dB/decade でロールオフします。このような特性の場合、具体的な数値を取得するのが望ましいことがよくあります。
共振のピーク ゲインと周波数を計算します。
[gpeak,fpeak] = getPeakGain(H); gpeak_dB = mag2db(gpeak)
gpeak_dB = 17.7596
getPeakGain
は、ピーク位置 fpeak
とピーク ゲイン gpeak
を絶対単位で返します。mag2db
を使用して gpeak
をデシベルに変換すると、ゲインはほぼ 18 dB でピークとなっていることがわかります。
システム ゲインが 0 dB を超えるか、絶対単位で 1 になる帯域を見つけます。
wc = getGainCrossover(H,1)
wc = 2×1
1.2582
12.1843
getGainCrossover
は、システム応答が指定されたゲインと交差する周波数のベクトルを返します。結果の wc
ベクトルから、システムのゲインが 1.3 ~ 12.2 rad/s の間で 0 dB を超えることがわかります。
H
の DC ゲインを求めます。
ボード線図から、周波数がゼロに近づくと、H
のゲインが有限値に近づくことがわかります。dcgain
コマンドはこの値を絶対単位で求めます。
k = dcgain(H);
H
の応答がその DC 値に相対して –10 dB にロールオフする周波数を見つけます。
fb = bandwidth(H,-10);
bandwidth
は、システム応答が DC ゲインを dB 単位の指定値だけ下回る最初の周波数を返します。
参考
getPeakGain
| getGainCrossover
| bandwidth