Main Content

MIMO 周波数応答データ モデル

この例では、frd オブジェクトを使用して MIMO 周波数応答モデルを作成する方法を示します。

MIMO システム用の周波数応答データは、システムの入出力 (I/O) 組それぞれに対する複素数応答データのベクトルを含んでいます。つまり、一連のテスト周波数で各 I/O 組のシステムの周波数応答を測定する場合、次のようにデータを使用して周波数応答モデルを作成できます。

この例では、AnalyzerDataMIMO.mat の周波数応答データを読み込みます。

load AnalyzerDataMIMO H11 H12 H21 H22 freq

このコマンドは、データを 5 つの列ベクトル H11H12H21H22、および 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");

参考

関連する例

詳細