我正在处理以 44.1 kHz 采样的音频信号。经过其他一些处理后,我需要过滤 ~5-50 Hz 之间的信号。对于具有如此高采样频率的信号,要实现这一点似乎很困难。我希望幅度响应在低音频带内非常平坦。不允许相位失真。我正在使用 MATLAB 工具箱 fdatool 进行滤波器设计,使用最小二乘法近似创建 FIR 滤波器。经过一些测试,我发现如果我先用一些小因子抽取信号,然后进行最终滤波,我可以获得更好的幅度响应。这是一件很常见的事情吗(在科学研究中怎么样,我正试图以正确的方式做到这一点..)?所有帮助表示赞赏。
多个过滤器与否?
信息处理
离散信号
过滤器设计
频率响应
带通
2022-02-14 22:42:58
2个回答
你的目标应该是可以实现的。滤波器复杂性的关键驱动因素是过渡带的大小,您尚未指定。如果您可以忍受缓慢的滚降,那么您可以使用相对低阶的滤波器。
如果更可能的是,您想用相对尖锐的截止频率将频带从 5 到 50 Hz 隔离开来,那么正如您已经开始发现的那样,您将需要使用多级方法。不是一次全部抽取数百个因子,而是通过一系列小因子(例如 2、4 或 8)进行抽取。通过逐渐降低采样率,您最终会得到简单得多的滤波器设计。
上一个问题与您的目标非常相似,只是过滤器规格和采样率略有不同。您应该能够使那里的信息适应您的应用程序。
是的,首先抽取是最常见的方法。我会做类似以下的事情:
Decimate x10: new fs = 4410, passband = 50 Hz, cutoff = 2205 (new Nyquist frequency)
Decimate x10: new fs = 441, passband = 50 Hz, cutoff = 220
你可以做更多的抽取,或者把它留在那个时候。到时候应该比较容易得到你想要的滤波器特性,计算量也会大大减少。
其它你可能感兴趣的问题