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

freqz

フィルターの周波数応答

説明

[h,w] = freqz(sysobj) は、フィルター System object™ sysobj の複素周波数応答 h を返します。ベクトル w には、関数で周波数応答を評価する周波数 (ラジアン/サンプル単位) が含まれます。周波数応答は、単位円の上半分の周囲に等間隔に配置された 8192 個の点で評価されます。

[h,w] = freqz(sysobj,n) は、フィルター System object の複素周波数応答と単位円の上半分の周囲に等間隔に配置された n 個の点の対応する周波数を返します。

freqz は、フィルターに関連付けられた伝達関数を使用して、現在の係数値でフィルターの周波数応答を計算します。

[h,w] = freqz(sysobj,'Arithmetic',arithType) は、前の構文のいずれかを使用して、arithType で指定された演算に基づいてフィルター System object を解析します。

freqz(sysobj) は、fvtool を使用して、フィルター System object sysobj の周波数応答の振幅とアンラップされた位相をプロットします。

その他の入力オプションについては、freqz を参照してください。

すべて折りたたむ

この例では、freqz を使用してローパス FIR フィルターの周波数応答をプロットします。

b = fir1(80,0.5,kaiser(81,8));
firFilt = dsp.FIRFilter('Numerator',b);
freqz(firFilt);

入力引数

すべて折りたたむ

周波数応答を計算する点の数。n が 2 のべき乗の FIR フィルターの場合、FFT を使用すると計算が高速になります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

解析時に使用する演算を指定します。演算入力が指定されず、フィルター System object がロック解除状態の場合、解析ツールは倍精度フィルターを使用します。'Arithmetic' プロパティを 'Fixed' に設定すると、固定小数点プロパティをもつフィルター System object にのみ適用されます。

出力引数

すべて折りたたむ

複素数の n 要素の周波数応答ベクトル。n が指定されていない場合、この関数は既定値の 8192 を使用します。周波数応答は、単位円の上半分の周囲に等間隔に配置された n 個の点で評価されます。

データ型: double
複素数のサポート: あり

長さ n の周波数ベクトル (ラジアン/サンプル単位)。w は単位円の上半分 (0 から π ラジアン/サンプル) の周囲に等間隔に配置された n 個の点で構成されます。n が指定されていない場合、この関数は既定値の 8192 を使用します。

データ型: double

ヒント

フィルターの周波数応答を解析する方法はいくつかあります。freqz では、フィルター係数における量子化の影響は考慮されますが、フィルター処理の演算における量子化の影響は考慮されません。フィルター処理の演算における量子化の影響を考慮するには、関数 noisepsd を参照してください。

アルゴリズム

freqz は、フィルター伝達関数 Hq(z) からフィルターに対する周波数応答を計算します。複素数値周波数応答は、使用する構文で指定した w の離散値で Hq(ejω) を評価することによって計算されます。freqz で周波数応答を評価する点 (単位円の上半分の周囲に等間隔に配置) の数は整数入力引数 n で決まります。サンプリング周波数を入力引数として指定しなかった場合の周波数範囲は 0 ~ π ラジアン/サンプルになります。freqz の入力引数としてスカラーのサンプリング周波数 fs を指定した場合の周波数範囲は 0 ~ fs/2 Hz になります。

R2011a で導入