Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

freqz

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

説明

[filtresp,w] = freqz(rcfilter) は、指定したフィルターの複素周波数応答である filtresp を返します。出力 w には、関数が周波数応答を評価する周波数 (ラジアン/サンプル単位) が含まれています。

[filtresp,w] = freqz(rcfilter,n) は、指定したフィルターの複素周波数応答、および単位円の上半分 (0 ~ π) に等間隔で配置された n 個の点に対応する周波数を返します。

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

[filtresp,w] = freqz(___,'Arithmetic',arithType) は、関数がフィルター応答を評価するのに使用する演算のタイプを指定します。前の構文の入力を任意に組み合わせて使用できます。

freqz(rcfilter) は、オブジェクト関数 fvtool を使用して、指定したフィルターの周波数応答の振幅とアンラップされた位相をプロットします。

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

すべて折りたたむ

RRC フィルターの周波数応答を評価します。

送信 RRC フィルター System object™ を作成します。オブジェクト関数 freqz を使用して周波数応答を評価します。

rrcFilt = comm.RaisedCosineTransmitFilter( ...
    "FilterSpanInSymbols",30, ...
    "RolloffFactor",0.25);
freqz(rrcFilt.coeffs.Numerator)

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title Magnitude, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

入力引数

すべて折りたたむ

フィルター。次のいずれかの System object として指定します。

周波数応答を計算する点の数。正の整数として指定します。より高速に計算する (FFT を使用して実行する) には、n を 2 のべき乗として指定します。

データ型: double

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

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

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

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

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

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

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

データ型: char | string

出力引数

すべて折りたたむ

周波数応答。複素数値からなる長さ n の列ベクトルとして返されます。この関数は、単位円の上半分 (0 ~ π) に等間隔で配置された n 個の点における周波数応答を評価します。

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

周波数応答の評価に使用する周波数。長さ n の列ベクトルとして返されます。単位はラジアン/サンプルです。この周波数は、単位円の上半分 (0 ~ π) に等間隔で配置されます。

データ型: double

ヒント

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

  • より高速に計算する (FFT を使用して実行する) には、関数が周波数応答を計算する点の数である n を 2 のべき乗として指定します。

アルゴリズム

関数 freqz は、フィルターの伝達関数 Hq(z) に基づいて、フィルターの周波数応答を計算します。離散値 w における Hq(ejω) を評価することで、複素数値の周波数応答が計算されます。入力引数 n は、単位円の上半分に等間隔で配置された点の数を指定します。この関数は、これらの点における周波数応答を評価します。

  • 入力引数としてスカラーのサンプリング周波数 fs を指定しない場合、周波数範囲は 0 ~ π ラジアン/サンプルになります。

  • freqz への入力引数としてスカラーのサンプリング周波数 fs を指定した場合、周波数範囲は 0 ~ fs/2 Hz になります。fs の詳細については、関数 freqz を参照してください。

バージョン履歴

R2013b で導入