scipy.signal.

band_stop_obj#

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

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

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

参数:
wp标量

通带 passb 的边缘。

indint, {0, 1}

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

passbndarray

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

stopbndarray

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

gstopfloat

以分贝为单位的阻带衰减量。

gpassfloat

以分贝为单位的通带纹波量。

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)