最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

chgFreqUnit

周波数応答データ モデルの周波数単位の変更

構文

sys_new = chgFreqUnit(sys,newfrequnits)

説明

sys_new = chgFreqUnit(sys,newfrequnits)sys の周波数点の単位を newfrequnits に変更します。sysFrequencyFrequencyUnit の両方のプロパティは、syssys_new の周波数応答が一致するように調整します。

入力引数

sys

周波数応答データ (frdidfrd または genfrd) モデル

newfrequnits

新しい周波数点の単位。以下のいずれかの値として指定します。

  • 'rad/TimeUnit'

  • 'cycles/TimeUnit'

  • 'rad/s'

  • 'Hz'

  • 'kHz'

  • 'MHz'

  • 'GHz'

  • 'rpm'

rad/TimeUnitcycles/TimeUnit は、TimeUnit プロパティで指定されたシステム時間単位に相対的な周波数単位を表現します。

既定値: 'rad/TimeUnit'

出力引数

sys_new

周波数点の新しい単位をもつ、sys と同じタイプの周波数応答データ モデル。sys_new の周波数応答は sys と同じ。

すべて折りたたむ

周波数応答データ モデルを作成します。

load(fullfile(matlabroot,'examples','controls_id','AnalyzerData'));
sys = frd(resp,freq);

データ ファイル AnalyzerData には列ベクトル freqresp があります。これらのベクトルには、それぞれ 256 個のテスト周波数と対応する複素数値周波数応答点があります。sys の既定の周波数単位は rad/TimeUnit であり、TimeUnit はシステム時間単位です。

周波数単位を変更します。

sys1 = chgFreqUnit(sys,'rpm');

sys1FrequencyUnit プロパティは rpm です。

syssys1 のボード応答を比較します。

bodeplot(sys,'r',sys1,'y--');
legend('sys','sys1')

chgFreqUnit コマンドによってシステム動作を変更せずに sys の周波数点の単位が変更されるため、syssys1 のゲインと位相は一致します。

sysFrequencyUnit プロパティを変更して、元のシステムとボード応答を比較します。

sys2 = sys;
sys2.FrequencyUnit = 'rpm';
bodeplot(sys,'r',sys2,'gx'); 
legend('sys','sys2');

FrequencyUnit プロパティを変更すると、システム動作が変更されます。そのため、syssys2 のボード応答は一致しません。たとえば、約 2 rad/s の元のコーナー周波数は約 2 rpm (または 0.2 rad/s) に変わります。

ヒント

  • chgFreqUnit を使用して、システム動作を変更せずに周波数点の単位を変更します。

R2012a で導入