我将解释为什么方法 2 通常比方法 3 更好。
频域方法等效于滤波器设计的“窗口化”方法——要正确执行该方法,您应该在进行 FFT 之前对数据进行窗口化。对于时域方法中的抗混叠滤波器设计,最小二乘滤波器设计算法优于窗口设计方法。(有关详细讨论,请参阅这篇文章:FIR 滤波器设计:窗口与 Parks McClellan 和最小二乘法)。对于用于抽取和插值应用的时域滤波器,由于阻带滚降,最小二乘滤波器设计是比等波纹更好的选择:对于等波纹,阻带在每个混叠频带中的电平相同,因此比使用最小二乘法获得的整体噪声折叠更多。
旁注:如果您观察等波纹设计的系数,您通常会观察到(如果滤波器不太长)两个稍大的“脉冲”朝向滤波器脉冲响应的开始和结束(滤波器的系数为脉冲响应)。去除响应尾部附近的那些较大的系数,等波纹设计也将具有阻带滚降的所需特征!有关详细信息,请参阅:转换 Park McClellan FIR 解决方案以实现阻带滚降
此外,Matlab/Octave/Python 中的最小二乘(和等波纹)设计工具具有多频带滤波器设计,非常适合抽取(和插值)应用,因为图像仅限于不同的频带。因此,您可以将滤波器抑制优化到仅会折叠的频率位置,从而在给定相同抽头数的情况下进一步优化解决方案。下面是我最近展示的用于插值的示例频谱,以及由此产生的适用于消除图像的最小二乘和等波纹的多频带滤波器设计(这是插值滤波器,通过消除图像,这同样适用于抽取滤波器,我们希望在丢弃样本之前拒绝这些相同的图像位置)。
在该图中,蓝色是所需的光谱及其图像,红色和黑色显示了两种不同滤波器设计选择的多频带滤波器响应(红色是最小二乘,黑色是 Parks-McCelllan 或等波纹设计) . 这对于抽取器来说是等效的,只是图像是噪声或其他信号,这些信号在丢弃样本进行抽取的过程中可能会折叠起来。给定相同数量的抽头,观察使用最小二乘滤波器设计折叠成频带的总噪声如何显着减少。
注意:如果您有足够的样本以不截断所需的响应,您当然仍然可以在频域中进行最小二乘滤波器设计方法----上述在时域中完成的滤波(卷积)是相当于在频域中相乘 - 但要正确执行此操作将需要更多样本以确保包含足够的内核尾部(滤波器脉冲响应的频率变换)。