我有一个以 100 Hz 采样的信号,其频谱如下所示。
我想要做的是过滤掉 0.7 Hz 附近的区域(比如 0.7 ± 0.3 Hz)(最左边的红色圆圈),并去掉 1.5 到 3 Hz 左右的另一个峰值(最右边的红色圆圈),理想情况下还有频率 < 0.4赫兹。
我玩过巴特沃斯滤波器,因为它们似乎是人们的首选,椭圆滤波器,因为它们应该具有最陡的滚降和 FIR 滤波器,因为当我设置非常窄的通带时,前两个似乎变得不稳定。
它们似乎都没有足够陡峭的滚降,但允许在我尝试的级别进行过滤。有关我测试过的 10 至 20 Hz 带通版本的滤波器,请参见下文。
我试过增加订单和水龙头,但没有成功。
我不确定我是否在这里尝试做一些不可能的事情,但我的信号处理课程中模糊的记忆告诉我,通过上采样/下采样结合一些巧妙的过滤应该可以实现。即我可以使用信号以 100 Hz 采样的事实,并且在低于奈奎斯特频率的大多数频率中没有内容。
我不关心信号的相位,我不能对它是周期性的做出任何假设,尽管我不知道它是否重要。
我也看过这个并且必须承认“创建一个低通滤波器,将其转换为带通”目前让我头疼。我的代码的最终目标是 Cortex M4F CPU,这意味着我的计算资源并不是无穷无尽的——尽管确切的限制还不清楚。
是否可以创建一个 0.7 ± 0.3 Hz 的带通滤波器,如果可以,有人可以告诉我如何或指向正确的方向吗?
先感谢您!



