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");