cupyx.scipy.signal.iirfilter#
- cupyx.scipy.signal.iirfilter(N, Wn, rp=None, rs=None, btype='band', analog=False, ftype='butter', output='ba', fs=None)[源代码][源代码]#
给定阶数和关键点的IIR数字和模拟滤波器设计。
设计一个N阶数字或模拟滤波器并返回滤波器系数。
- 参数:
N (int) – 过滤器的顺序。
Wn (array_like) – 一个标量或长度为2的序列,给出临界频率。对于数字滤波器,Wn 的单位与 fs 相同。默认情况下,fs 是 2 半周期/样本,因此这些频率在 0 到 1 之间归一化,其中 1 是奈奎斯特频率。(因此,Wn 是以半周期/样本为单位的。)对于模拟滤波器,Wn 是角频率(例如,弧度/秒)。当 Wn 是长度为2的序列时,
Wn[0]必须小于Wn[1]。rp (float, optional) – 对于切比雪夫和椭圆滤波器,提供通带中的最大波纹。(dB)
rs (float, optional) – 对于切比雪夫和椭圆滤波器,提供在阻带中的最小衰减。(dB)
btype ({'bandpass', 'lowpass', 'highpass', 'bandstop'}, optional) – 过滤器的类型。默认是 ‘带通’。
analog (bool, optional) – 当为 True 时,返回一个模拟滤波器,否则返回一个数字滤波器。
ftype (str, optional) – 要设计的IIR滤波器类型: - 巴特沃斯滤波器 : ‘butter’ - 切比雪夫I型滤波器 : ‘cheby1’ - 切比雪夫II型滤波器 : ‘cheby2’ - 考尔/椭圆滤波器: ‘ellip’ - 贝塞尔/汤姆森滤波器: ‘bessel’
output ({'ba', 'zpk', 'sos'}, optional) –
输出过滤形式:
二级章节(推荐):’sos’
分子/分母 (默认) : ‘ba’
pole-zero : ‘zpk’
通常推荐使用二阶节 (‘sos’) 形式,因为推导分子/分母形式 (‘ba’) 的系数会遇到数值不稳定性问题。出于向后兼容性的原因,默认形式是分子/分母形式 (‘ba’),其中 ‘ba’ 中的 ‘b’ 和 ‘a’ 指的是常用的系数名称。
注意:使用二阶节形式(’sos’)有时会带来额外的计算成本:因此,对于数据密集型用例,建议也研究分子/分母形式(’ba’)。
fs (float, optional) – 数字系统的采样频率。
- 返回:
b, a (ndarray, ndarray) – IIR 滤波器的分子 (b) 和分母 (a) 多项式。仅在
output='ba'时返回。z, p, k (ndarray, ndarray, float) – IIR 滤波器传递函数的零点、极点和系统增益。仅在
output='zpk'时返回。sos (ndarray) – IIR 滤波器的二阶节表示。仅当
output='sos'时返回。