在我们想要消除信号占据的感兴趣频谱范围内的干扰音调的应用中,以下内容很有用,因此我们希望最大限度地减少我们移除的频谱量。如果我们真的只对 60 Hz 的信号感兴趣(可能是 OP),那么 PLL 或二阶谐振器将是最适用且简单的,我已经在此链接中详细介绍了。
此链接中描述的梳状滤波器显示了在保留基波的同时消除谐波的方法,但延迟更长,等于滤波器系数数量的一半,并且在其间的所有频率上都有很大的滚降。
您可以最小化群延迟并缩小陷波宽度的一种方法是使用零填充二阶陷波滤波器与零极点消除滤波器级联以用于感兴趣的通过频率。这是通过结合下面链接的两个帖子的详细信息来完成的。
第一篇文章展示了如何通过简单地对二阶陷波滤波器进行零填充来制作谐波陷波滤波器:
如何从基频创建谐波掩模?
类似于将移动平均分解为级联积分梳状结构,我们可以将上述内插陷波结构与本文中描述的单音陷波滤波器的逆进行级联:
二阶陷波滤波器的传递函数
这将是一个非常简单的解决方案,因为 OP 的采样率是感兴趣音调的倍数。
该滤波器是通过级联谐波归零滤波器创建的,该滤波器由以下传递函数给出:
H1(z)=K11−z−N1−αNz−1
在所需谐波处使用极点/零点消除器,由以下传递函数给出:
H2(z)=K21−2αcos(2π/N)z−1+α21−2cos(2π/N)z−1+1
在哪里:
N是直到采样频率的总谐波数(在 OP 的情况下。N=32
α是一个滤波器 Q 因子,越接近1,陷波越紧(并且在定点实现的扩展精度累加器中所需的总位数将越大!)。α
K1和是增益归一化常数,计算如下:K2
K1=1+αN2
K2=2+2cos(2π/N)1+2αcos(2π/N)+α2
下面显示了使用和得到的滤波器和群延迟。和的分子和分母中使用的更改为来选择要通过的任何特定谐波,其中是选定的谐波):α=0.99N=322π/NH2(z)K22πk/Nk

请注意,群延迟在感兴趣的通带处被最小化。(1 次谐波)。

有趣的旁注:移动平均滤波器同样具有由狄利克雷核(基本上是混叠的 Sinc)给出的频率响应,当我们想要通过 DC 但消除给定频率的每个谐波时,这很有用。当使用相同的技术来锐化移动平均滤波器中的频率响应零点时,得到的结构是前向路径中的移动平均,并且“泄漏”移动平均作为 IIR 结构被反馈和减去。“泄漏”移动平均值由系数给出,对于。cn=αnn=0,1,2…N−1