scipy.signal.

band_stop_obj#

scipy.signal.band_stop_obj(wp, ind, passb, stopb, gpass, gstop, type)[源码]#

用于阶数最小化的带阻目标函数。

返回模拟带阻滤波器的非整数阶数。

参数:
wp标量

通带 passb 的边缘。

ind整型, {0, 1}

指定要改变哪个 passb 边缘的索引(0 或 1)。

passbndarray

固定通带边缘的两个元素序列。

stopbndarray

固定阻带边缘的两个元素序列。

gstop浮点型

阻带中的衰减量(单位:dB)。

gpass浮点型

通带中的纹波量(单位:dB)。

type{‘butter’, ‘cheby’, ‘ellip’}

滤波器类型。

返回:
n标量

滤波器阶数(可能为非整数)。

备注

带阻滤波器用于需要阻止某些频率分量而允许其他频率分量通过的应用中;例如,在允许所需信号通过的同时,消除特定频率的噪声。滤波器的阶数通常决定其复杂性和精度。确定正确的阶数可能是一个挑战。此函数旨在为模拟带阻滤波器提供合适的阶数。

示例

>>> import numpy as np
>>> from scipy.signal import band_stop_obj
>>> wp = 2
>>> ind = 1
>>> passb = np.array([1, 3])
>>> stopb = np.array([0.5, 4])
>>> gstop = 30
>>> gpass = 3
>>> filter_type = 'butter'
>>> band_stop_obj(wp, ind, passb, stopb, gpass, gstop, filter_type)
np.float64(-2.758504160760643)