Main Content

bodemag

周波数応答の振幅のみのボード線図

説明

bodemag によって、振幅のみの線図を生成して、動的システムの振幅周波数応答を可視化することができます。

より包括的な関数については bode を参照してください。bode は振幅と位相の情報を提供します。System Identification™ ツールボックスがある場合、bode は、統計推定を含む計算値も返します。

他のカスタマイズ可能なプロット オプションの詳細については、bodeplot を参照してください。

bodemag(sys) は、動的システム モデル sys の周波数応答のボード振幅プロットを作成します。プロットは、システム応答の振幅 (dB 単位) を周波数の関数として表示します。bodemag は、システム ダイナミクスに基づいてプロットする周波数を自動的に決定します。

sys が多入力多出力 (MIMO) モデルである場合、bodemag は、各線図が 1 組の I/O の周波数応答を示すボード振幅プロットの配列を生成します。

bodemag(sys1,sys2,...,sysN) は、複数の動的システムの周波数応答を同じプロット上にプロットします。すべてのシステムは入力数と出力数が同じでなければなりません。

bodemag(sys1,LineSpec1,...,sysN,LineSpecN) はプロット内の各システムの色、ライン スタイルおよびマーカーを指定します。

bodemag(___,w) は、w で指定された周波数のシステム応答をプロットします。

  • w が形式 {wmin,wmax} の cell 配列の場合、bodemagwmin から wmax の範囲の周波数で応答をプロットします。

  • w が周波数のベクトルの場合、bodemag はそれぞれの指定された周波数で応答をプロットします。

この構文は、前述の構文のすべての入力引数の組み合わせで使用できます。

すべて折りたたむ

次の連続時間 SISO 動的システムのボード振幅プロットを作成します。

H(s)=s2+0.1s+7.5s4+0.12s3+9s2

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
bodemag(H)

bodemag はシステム ダイナミクスに基づいてプロット範囲を自動的に選択します。

指定の周波数範囲でボード振幅プロットを作成します。周波数の特定の範囲でダイナミクスに焦点を合わせるときにこの方法を使用します。

H = tf([-0.1,-2.4,-181,-1950],[1,3.3,990,2600]);
bodemag(H,{1,100})
grid on

cell 配列 {1,100} は、ボード振幅プロットに最小および最大の周波数値を指定します。このように周波数の範囲を指定すると、関数は周波数応答データの中間点を選択します。

あるいは、周波数応答の評価とプロットに使用する周波数点のベクトルを指定します。

w = [1 5 10 15 20 23 31 40 44 50 85 100];
bodemag(H,w,'.-')
grid on

bodemag は、指定された周波数のみで周波数応答をプロットします。

連続時間システムの周波数応答の振幅を、同一のボード線図にある等価な離散化システムと比較します。

連続時間動的システムと離散時間動的システムを作成します。

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Hd = c2d(H,0.5,'zoh');

両方のシステムの応答を表示するボード振幅プロットを作成します。

bodemag(H,Hd)

離散時間システムのボード振幅プロットには、システムのナイキスト周波数をマークする垂直線が含まれます。

入力引数 LineSpec を使用して、ボード振幅プロットに各システムの色、ライン スタイル、またはマーカーを指定します。

H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Hd = c2d(H,0.5,'zoh');
bodemag(H,'r',Hd,'b--')

最初の LineSpec 引数である 'r' は、H の応答に赤の実線を指定します。2 番目の LineSpec 引数である 'b--' は、Hd の応答に青の破線を指定します。

この例では 2 出力、3 入力のシステムを作成します。

rng(0,'twister'); % For reproducibility
H = rss(4,2,3);

このシステムでは、bodemag が各 I/O チャネルの振幅のみの周波数応答を個別のプロットとして単一の Figure 内にプロットします。

bodemag(H)

入力引数

すべて折りたたむ

動的システム。SISO または MIMO 動的システム モデルか、動的システム モデルの配列として指定します。使用できる動的システムには次のようなものがあります。

  • tfzpkss モデルなどの連続時間または離散時間の数値 LTI モデル。

  • genssuss (Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)

    • 調整可能な制御設計ブロックの場合、関数は周波数応答データをプロットする処理と返す処理の両方においてモデルをその現在の値で評価します。

    • 不確かさをもつ制御設計ブロックの場合、関数はモデルのノミナル値とランダム サンプルをプロットします。出力引数を使用する場合、関数はノミナル モデルのみの周波数応答データを返します。

  • frd モデルなどの周波数応答データ モデル。このようなモデルの場合、関数はモデルで定義されている周波数での応答をプロットします。

  • idtf (System Identification Toolbox)idss (System Identification Toolbox)idproc (System Identification Toolbox) モデルなどの同定された LTI モデル。(同定されたモデルを使用するには、System Identification Toolbox ソフトウェアが必要です。)

sys がモデルの配列である場合、関数は同じ座標軸上に配列のすべてのモデルの周波数応答をプロットします。

ライン スタイル、マーカー、色。1、2、または 3 文字の string または文字ベクトルとして指定します。文字が表示される順序は任意です。3 つの特性 (ライン スタイル、マーカーおよび色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットはラインなしでマーカーのみを表示します。この引数の設定の詳細については、関数 plot の入力引数 LineSpec を参照してください。

例: 'r--' は赤い破線を指定します。

例: '*b' は青いアスタリスク マーカーを指定します。

例: 'y' は黄色いラインを指定します。

周波数応答を計算およびプロットする周波数。cell 配列 {wmin,wmax} または周波数値のベクトルとして指定します。

  • w が形式 {wmin,wmax} の cell 配列の場合、関数は wmin から wmax の範囲の周波数でインデックスを計算します。

  • w が周波数のベクトルの場合、関数は指定された各周波数でインデックスを計算します。たとえば、logspace を使用すると、対数的に等間隔な周波数値の行ベクトルを生成できます。

周波数はラジアン/TimeUnit 単位で指定します。ここで TimeUnit はモデルの TimeUnit プロパティです。

アルゴリズム

bodemag は周波数応答を次のように計算します。

  1. 動的システムの零点-極-ゲイン (zpk) 表現を計算します。

  2. システムの各入出力チャネルに対する零点-極-ゲイン データに基づいて周波数応答のゲインと位相を評価します。

    • 連続時間システムの場合、bodemag は、虚軸 s = jω 上の周波数応答を評価します。その際、正の周波数だけを考慮します。

    • 離散時間システムの場合、bodemag は、単位円上の周波数応答を評価します。解釈の効率を上げるため、コマンドは単位円の上半分を次のようにパラメーター化します。

      z=ejωTs,0ωωN=πTs,

      ここで、Ts はサンプル時間、ωN はナイキスト周波数です。すると、相当する連続時間周波数 ω が、x 軸変数として使用されます。H(ejωTs) が周期的で周期 2ωN なので、bodemag は応答をナイキスト周波数 ωN までしかプロットしません。sys が、サンプル時間が指定されていない離散時間モデルである場合、bodemag は Ts = 1 を使用します。

バージョン履歴

R2012a で導入