MIMO 周波数応答データ モデル
この例では、frd
オブジェクトを使用して MIMO 周波数応答モデルを作成する方法を示します。
MIMO システム用の周波数応答データは、システムの入出力 (I/O) 組それぞれに対する複素数応答データのベクトルを含んでいます。つまり、一連のテスト周波数で各 I/O 組のシステムの周波数応答を測定する場合、次のようにデータを使用して周波数応答モデルを作成できます。
この例では、AnalyzerDataMIMO.mat
の周波数応答データを読み込みます。
load AnalyzerDataMIMO H11 H12 H21 H22 freq
このコマンドは、データを 5 つの列ベクトル H11
、H12
、H21
、H22
、および freq
として MATLAB® ワークスペースに読み込みます。ベクトル freq
には 100 個のテスト周波数が含まれています。その他の 4 つのベクトルは、2 入力 2 出力システムの各 I/O 組の対応する複素数周波数応答を含みます。
データを 3 次元配列に整理します。
Hresp = zeros(2,2,length(freq)); Hresp(1,1,:) = H11; Hresp(1,2,:) = H12; Hresp(2,1,:) = H21; Hresp(2,2,:) = H22;
Hresp
の次元は、応答データが存在する出力の数、入力の数、および周波数の数です。Hresp(i,j,:)
は入力 j
から出力 i
への周波数応答を含んでいます。
周波数応答モデルを作成します。
H = frd(Hresp,freq);
H
は、周波数応答データを表す frd
モデル オブジェクトです。
多くの周波数領域の解析コマンドで frd
モデルを使用できます。たとえば、bode
を使ってこの 2 入力 2 出力システムの応答を可視化します。
bode(H)
既定では、frd
コマンドは周波数がラジアン/秒単位であることを前提としています。異なる周波数単位を指定するには、frd
モデル オブジェクトの TimeUnit
プロパティと FrequencyUnit
プロパティを使用します。たとえば、周波数単位をラジアン/分に設定します。
H = frd(Hresp,freq,"TimeUnit","min","FrequencyUnit","rad/TimeUnit");