scipy.signal.

freqs_zpk#

scipy.signal.freqs_zpk(z, p, k, worN=200)[source]#

計算類比濾波器的頻率響應。

給定濾波器的零點 z、極點 p 和增益 k,計算其頻率響應

           (jw-z[0]) * (jw-z[1]) * ... * (jw-z[-1])
H(w) = k * ----------------------------------------
           (jw-p[0]) * (jw-p[1]) * ... * (jw-p[-1])
參數:
zarray_like

線性濾波器的零點

parray_like

線性濾波器的極點

kscalar

線性濾波器的增益

worN{None, int, array_like}, optional

如果為 None,則在響應曲線的有趣部分(由極點-零點位置決定)周圍的 200 個頻率處計算。如果為單一整數,則在該多個頻率處計算。否則,在 worN 中給定的角頻率(例如,rad/s)處計算響應。

返回:
wndarray

計算 h 的角頻率。

hndarray

頻率響應。

參見

freqs

計算 TF 形式的類比濾波器的頻率響應

freqz

計算 TF 形式的數位濾波器的頻率響應

freqz_zpk

計算 ZPK 形式的數位濾波器的頻率響應

註解

在版本 0.19.0 中新增。

範例

>>> import numpy as np
>>> from scipy.signal import freqs_zpk, iirfilter
>>> z, p, k = iirfilter(4, [1, 10], 1, 60, analog=True, ftype='cheby1',
...                     output='zpk')
>>> w, h = freqs_zpk(z, p, k, worN=np.logspace(-1, 2, 1000))
>>> import matplotlib.pyplot as plt
>>> plt.semilogx(w, 20 * np.log10(abs(h)))
>>> plt.xlabel('Frequency [rad/s]')
>>> plt.ylabel('Amplitude response [dB]')
>>> plt.grid(True)
>>> plt.show()
../../_images/scipy-signal-freqs_zpk-1.png