scipy.signal.cheb2ord

scipy.signal.cheb2ord(wp, ws, gpass, gstop, analog=False, fs=None)[源代码]

切比雪夫第二类过滤订单选择。

返回最低阶的数字或模拟切比雪夫II型过滤的顺序,其损失不超过 gpass DB在通带内,并且至少具有 gstop 阻带中的dB衰减。

参数
wp、ws浮动

通带和阻带边缘频率。

对于数字滤波器,它们的单位与 fs 。默认情况下, fs 为2个半周期/采样,因此这些值从0归一化到1,其中1是奈奎斯特频率。 (wpws 因此是半周期/样品。)例如:

  • 低通:wp=0.2,ws=0.3

  • 高通:wp=0.3,ws=0.2

  • 带通:WP= [0.2,0.5] ,ws= [0.1,0.6]

  • 带阻:WP= [0.1,0.6] ,ws= [0.2,0.5]

对于模拟滤波器, wpws 角频率(例如,rad/s)。

gpass浮动

通带内的最大损耗(DB)。

gstop浮动

阻带内的最小衰减(DB)。

analog布尔值,可选

如果为True,则返回模拟过滤,否则返回数字过滤。

fs浮动,可选

数字系统的采样频率。

1.2.0 新版功能.

退货
ord集成

符合规格的契比雪夫II型过滤的最低订单。

wnndarray或浮动

与一起使用的切比雪夫固有频率(“3dB频率”) cheby2 给出过滤结果。如果 fs 是指定的,则使用相同的单位,并且 fs 还必须传递给 cheby2

参见

cheby2

过滤设计的使用顺序和关键点

buttord

从通带和阻带规格中查找顺序和临界点

cheb1ord, ellipord
iirfilter

使用阶数和临界频率的通用过滤设计

iirdesign

通带和阻带规范的通用过滤设计

示例

设计一种抗0.2dB-60dB的数字带阻过滤 (fs/2) to 0.5 (fS/2),同时保持在低于0.1的3 dB内 (fs/2) or above 0.6 (FS/2)。绘制其频率响应,以灰色显示通带和阻带约束。

>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> N, Wn = signal.cheb2ord([0.1, 0.6], [0.2, 0.5], 3, 60)
>>> b, a = signal.cheby2(N, 60, Wn, 'stop')
>>> w, h = signal.freqz(b, a)
>>> plt.semilogx(w / np.pi, 20 * np.log10(abs(h)))
>>> plt.title('Chebyshev II bandstop filter fit to constraints')
>>> plt.xlabel('Normalized frequency')
>>> plt.ylabel('Amplitude [dB]')
>>> plt.grid(which='both', axis='both')
>>> plt.fill([.01, .1, .1, .01], [-3,  -3, -99, -99], '0.9', lw=0) # stop
>>> plt.fill([.2,  .2, .5,  .5], [ 9, -60, -60,   9], '0.9', lw=0) # pass
>>> plt.fill([.6,  .6,  2,   2], [-99, -3,  -3, -99], '0.9', lw=0) # stop
>>> plt.axis([0.06, 1, -80, 3])
>>> plt.show()
../../_images/scipy-signal-cheb2ord-1.png