Control System Toolbox関数リファレンス | ![]() ![]() |
表示
H = freqresp(sys,w)
詳細
H = freqresp(sys,w)
は、ベクトルw
で設定した実周波数点でのLTIモデルsys
の周波数応答を計算します。周波数の単位は、ラジアン/秒でなければなりません。単一のLTIモデルに対して、freqresp(sys,w)
は、最後の次元に周波数を設定した3次元配列Hを出力します。また、サイズ[Ny
Nu
S1
...
Sn]
のLTI配列に対して、freqresp(sys,w)
は、[Ny
-Nu
-S1
-...-Sn
]の長さの配列を出力します。
連続系の場合、周波数での応答は、
での伝達関数値です。状態空間モデルの場合、この値は、
離散系の場合、実周波数w(1)
,..., w(N)
は、変換を使って単位円上の点に射影されます。この場合、
はサンプル時間です。つぎに、伝達関数は、結果として得られる
の値で計算されます。サンプル時間が設定されていないモデルでは、デフォルトの
が使用されます。
注意事項
sys
がFRDモデルfreqresp(sys,w)
の場合、w
は、sys.frequency
に周波数のみを含みます。
引数
SISOシステムの場合、H(1,1,k)
は周波数w(k)
でのスカラ応答を与えます。MIMOシステムの場合、w(k)
での周波数応答は、出力と同数の行と入力と同数の列をもつ行列H(:,:,k)
です。
例題
の周波数応答を、周波数について計算します。つぎのように入力します。
w = [1 10 100] H = freqresp(P,w) H(:,:,1) = 0 0.5000- 0.5000i -0.2000+ 0.6000i 1.0000 H(:,:,2) = 0 0.0099- 0.0990i 0.9423+ 0.2885i 1.0000 H(:,:,3) = 0 0.0001- 0.0100i 0.9994+ 0.0300i 1.0000
3次元配列H
の中の3番目のインデックスは、周波数ベクトルw
に対応するので、ラジアン/秒での周波数応答は、つぎのようにして取り出すことができます。
H(:,:,w==10) ans = 0 0.0099- 0.0990i 0.9423+ 0.2885i 1.0000
アルゴリズム
伝達関数または零点-極-ゲインモデルの場合、freqrespは設定した周波数点での分子と分母を計算します。連続系状態空間モデルの場合、周波数応答は、つぎのようになります。
数値的に安全な場合、はこの式を迅速に計算するために周波数
で対角化されます。 それ以外の場合、
は上Hessenberg型に変換され、線形方程式
は、Hessenberg構造を利用して各周波数点で解かれます。Hessenberg型に変換すると、効率と信頼性との間の適切な均衡が保たれます。この技法に関する詳細については、[1]を参照してください。
診断
システムが、軸(または離散系の場合は単位円)上に極をもち、
w
がこの周波数点を含む場合、ゲインは無限で、 は特異行列となり、
freqresp
は、つぎのワーニングメッセージを出します。
Singularity in freq. response due to jw-axis or unit circle pole.
参考
evalfr
単一複素数周波数点での応答
bode
Bode線図
nyquist
Nyquist 線図
nichols
Nichols 線図
sigma
特異値プロット
ltiview
LTIシステムビューワの起動
参考文献
[1] Laub, A.J., "Efficient Multivariable Frequency Response Computations," IEEE Transactions on Automatic Control, AC-26 (1981), pp. 407-408.
![]() | frdata | gensig | ![]() |