MIMO システムの周波数応答
この例では、2 つの方法で多入力多出力 (MIMO) システムの周波数応答を調べる方法を示します。1 つは周波数応答を計算する方法で、もう 1 つは特異値を計算する方法です。
MIMO モデルの周波数応答を計算し、出力のサイズを調べます。
H = rss(2,2,2); H.InputName = 'Control'; H.OutputName = 'Temperature'; [mag,phase,w] = bode(H); size(mag)
ans = 1×3
2 2 89
データ配列 mag
の最初の次元と 2 番目の次元は、H
の出力と入力の数です。3 番目の次元は、周波数ベクトル w
内の点の数です (周波数ベクトルを指定しない場合、bode
コマンドは自動的にこの数を決定します)。このため mag(i,j,:)
は、H
の j
番目の入力から i
番目の出力までを絶対単位で表した周波数応答になります。位相データ配列 phase
は mag
と同じ形式になります。
H
の入力/出力の各ペアの周波数応答をプロットします。
bode(H)
bode
は、H
の入力/出力のペアごとに周波数応答の振幅と位相をプロットします (rss
はランダムな状態空間モデルを生成するので、図示されたもとのは別の応答が表示される可能性があります)。プロットの最初の列には、最初の入力 Control(1)
から各出力への応答が表示されます。2 番目の列には、2 番目の入力 Control(2)
から各出力への応答が表示されます。
H
の特異値を周波数の関数としてプロットします。
sigma(H)
sigma
は、MIMO システム H
の特異値を周波数の関数としてプロットします。特定の周波数での最大特異値は、その周波数のすべての線形結合のシステムの最大ゲインになります。特異値からは、チャネルごとのボード線図よりも MIMO システムの全体の応答、安定性、条件がよくわかります。
0.1 ~ 10 rad/s 間の H
の特異値を計算します。
[sv,w] = sigma(H,{0.1,10});
出力引数を指定して sigma
を呼び出すと、コマンドはデータ配列 sv
に特異値を返します。cell 配列入力 {0.1,10}
は、0.1 ~ 10 rad/s 間の周波数のグリッドで特異値を計算するように sigma
に指示します。sigma
はベクトル w
にこれらの周波数を返します。sv
の各行には、w
の周波数での H
の特異値が含まれています。
参考
bode
| bodeplot
| sigma
| sigmaplot