Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

freqz

離散時間フィルター System object の周波数応答

説明

[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 の周波数応答の振幅とアンラップされた位相をプロットします。

その他の入力オプションについては、Signal Processing Toolbox™ の 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

フィルター解析で使用される演算。'double''single'、または 'Fixed' として指定します。演算入力が指定されず、フィルター System object がロック解除状態の場合、解析ツールは倍精度フィルターを使用します。演算入力が指定されず、System object がロックされている場合、関数はロックされた入力のデータ型に基づいて解析を実行します。

'Fixed' 値は、固定小数点プロパティのみをもつフィルター System object に適用されます。

'Arithmetic' 入力引数が 'Fixed' として指定され、フィルター オブジェクトの係数のデータ型が 'Same word length as input' に設定されている場合、演算解析は System object がロック解除されているかロックされているかに応じて異なります。

  • ロック解除 –– 解析オブジェクト関数は係数データ型を判断できません。関数は、係数のデータ型が符号付き、16 ビット語長、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。

  • ロック –– 入力のデータ型が 'double' または 'single' の場合、解析オブジェクト関数は係数のデータ型を判断できません。関数は、係数のデータ型が符号付き、16 ビット語長、自動スケーリングであると仮定します。関数は、この仮定に基づいて固定小数点解析を実行します。

System object がロックされているかロック解除されているかを確認するには、関数 isLocked を使用します。

演算入力が 'Fixed' として指定され、フィルター オブジェクトの係数のデータ型がカスタム数値型に設定されている場合、オブジェクト関数はカスタム数値データ型に基づいて固定小数点解析を実行します。

出力引数

すべて折りたたむ

複素数の 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 で導入