freqz
デジタル フィルターの周波数応答
構文
説明
[
は、分子係数 h
,w
] = freqz(B,A
,"ctf",n
)B
と分母係数 A
をもつCascaded Transfer Functions (CTF) として表されるデジタル フィルターの n
点周波数応答を返します。 (R2024b 以降)
出力引数なしで freqz(___)
を使用すると、フィルターの周波数応答がプロットされます。
例
入力引数
出力引数
詳細
ヒント
スケーリング ゲインを含むフィルターを CTF 形式で取得できます。
butter
、cheby1
、cheby2
、ellip
などのデジタル IIR フィルター設計関数の出力を使用します。これらの関数で、"ctf"
フィルタータイプ引数を指定し、スケール値を取得するためにB
、A
、g
を返すように指定します。 (R2024b 以降)既約マルチレート フィルターがある場合は、関数
freqzmr
(DSP System Toolbox) を使用して周波数領域でフィルターを解析します。既約マルチレート フィルターの詳細については、Overview of Multirate Filters (DSP System Toolbox)を参照してください。 (R2024a 以降)関数
freqzmr
(DSP System Toolbox) には DSP System Toolbox™ が必要です。 (R2024a 以降)
アルゴリズム
デジタル フィルターの周波数応答は、z = ejω で計算した伝達関数として解釈されます[1]。
freqz
では、ユーザーが指定した実数または複素数の分子多項式や分母多項式から、伝達関数が決定されます。次に、デジタル フィルターの複素周波数応答 H (ejω) が返されます。周波数応答は、使用した構文によって決定されたサンプル点で計算されます。
freqz
では、入力引数として周波数ベクトルを指定しなかった場合、通常は FFT アルゴリズムを使用して周波数応答が計算されます。周波数応答は伝達された分子係数と分母係数の比として計算され、希望する長さになるように 0 が付加されます。
周波数ベクトルを入力として指定すると、freqz
では、各周波数点で多項式が計算され、分子の応答が分母の応答で除算されます。多項式を計算するために、関数はホーナー法を使用します。
参照
[1] Oppenheim, Alan V., and Ronald W. Schafer, with John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.
[2] Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.