将线性相位 FIR 转换为最小相位 FIR

信息处理 过滤器 过滤器设计 阶段 有限脉冲响应 线性相位
2022-02-18 06:02:11

给定具有零相位和实系数的 FIR 滤波器(非因果)

H(z)=n=MMh[n]zn
有波纹δ2.

如何获得过滤器Hmin(z)的最小阶段M+1系数,从H(z)? 这些过滤器如何相关(幅度,ω,波纹)?


我知道如果滤波器与实系数有因果关系,我可以使用原始滤波器和最小值之间的这种关系:

H(z)=Hmin(z)Hap(z),

但在这个练习中我不能。

我能做些什么?

1个回答

您正在寻找的程序称为提升,据我所知,它首先由 Hermann 和 Schuessler 介绍:

O. Herrmann 和 HW Schuessler,具有最小相位的非递归滤波器的设计,电子。Lett., 6(11): 329–330, 1970 年 5 月 28 日

Ivan Selesnick在这个演示文稿中很好地解释了这个过程。我将在这里简要总结一下,但看演示文稿中的数字很重要。

因为你有一个零相位滤波器,你知道H(ejω)是实值。如果您知道阻带中的最大误差δs,您可以通过添加定义一个新的实值和非负传递函数δsH(ejω)

(1)H2(ω)=H(ejω)+δs0

在时域中,这仅仅意味着添加δs到中央水龙头h[0]. 这样,单位圆上的所有零都变成双零(请看上面引用的演示文稿中的相应图)。现在你只保留零H2(z)在单位圆内,以及单位圆上的每个双零之一。通过这种方式,您可以将过滤器阶数减少一个因子2. 现在您只需要缩放滤波器,使其通带幅度围绕1. 在给定线性相位滤波器纹波的情况下,推导出最小相位滤波器的实际纹波值是一项简单的练习。同样,阅读演示文稿会有所帮助。