【发布时间】:2018-03-28 19:56:40
【问题描述】:
我正在阅读一篇论文,试图重现论文的结果。在本文中,他们对原始数据使用低通 Chebyshev I 型滤波器。他们给出了这些参数。
采样频率 = 32Hz, Fcut=0.25Hz, Apass = 0.001dB, Astop = -100dB, Fstop = 2Hz, Order of the filter = 5。我找到了一些资料来帮助我理解这些参数
但是当我查看 scipy.signal.cheby1 时。这个函数需要的参数不同。
cheby1(N, rp, Wn, btype='low', analog=False, output='ba')
这里N:过滤器的顺序; btype:过滤器的类型,在我的例子中,它是“低通”; analog=False,因为数据是采样的,所以是数字的;输出:指定输出的类型。但我不确定 rp, Wn。
在文档中,它说:
rp : 浮动 通带中允许低于单位增益的最大纹波。以分贝为单位指定,为正数。
Wn : array_like 给出临界频率的标量或长度为 2 的序列。对于 I 型滤波器,这是过渡带中增益首先下降到 -rp 以下的点。对于数字滤波器,Wn 从 0 归一化到 1,其中 1 是奈奎斯特频率,pi 弧度/样本。 (因此,Wn 以半周期/样本为单位。)对于模拟滤波器,Wn 是角频率(例如 rad/s)。
根据这个问题: How To apply a filter to a signal in python
我知道如何使用过滤器。但我不知道如何创建具有与上述相同参数的过滤器。我不知道如何转换这些参数并将它们提供给 Scipy 中的函数。
【问题讨论】:
标签: numpy filter scipy signal-processing data-processing