bode関数を用いて​出力させた.ゲイン・​位相データを用いたb​ode線図の作図に関​して

20 ビュー (過去 30 日間)
keka
keka 2019 年 10 月 18 日
回答済み: keka 2019 年 10 月 18 日
[mag,phase,wout] = bode(sys,w) を利用して,
離散系のsysに対するゲインおよび位相データをワークスペースへ出力させる事を試みました。
しかし,出力されるデータを用いて,similogx(wout,mag) として描画するbode線図と,
そのまま bode(sys,w) を 用いて描画するbode線図が一致しません。
(ゲイン,位相に対応する周波数成分に10倍分のズレが生じています)
この原因についてご教示ください。
(サンプルコードを添付いたします。)

採用された回答

Naoya
Naoya 2019 年 10 月 18 日
Figure1 と Figure2 で、横軸 (周波数軸) の単位が一致していないかもしれません。
bode 関数に戻り値を付ける場合は、wout の単位は rad/sec となります。
〇 rad/sec に合わせる場合は、 Figure2 側で、任意の場所で右クリックし、[プロパティ] よりプロパティエディタを開きます。
[単位]タブに移動し、 周波数の単位を Hz ⇒ ラジアン/秒 に変更します。
〇 Hz に合わせる場合は、 Figure1 側で semilogx で与える wout の箇所を 2*pi で割り算します。
% 修正例
semilogx(wout/(2*pi),mag_out); % 振幅応答
semilogx(wout/(2*pi),phase_out); % 位相応答

その他の回答 (1 件)

keka
keka 2019 年 10 月 18 日
ご回答ありがとうございます,解決いたしました。
bode関数の戻り値には,周波数の単位が(rad/sec)として扱われるのですね。
bode関数を用いた描画で,横軸のデフォルト単位をHzに設定していたことを失念していました。

タグ

製品


リリース

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!