本文将线性相位FIR滤波器的设计表示成一个实对称正定矩阵的特征问题。根据求解该矩阵的最小特征值所对应的特征向量来确定滤波器的系数。通过在通带取平均的方法,避免了参考频率的设定问题。仿真结果表明,该方法提高了特征滤波器法的设计性能。
如果一个FIR 滤波器的脉冲响应函数具有对称性或反对称性, 则其相位响应是频率的线性函数(或附加一个固定的初始相位),这样的滤波器称为线性相位FIR 滤波器。由于系数的对称性,实现线性相位FIR 滤波器所需要的乘法器数量只有相同长度FIR 滤波器的(约)一半, 并且没有相位失真, 因而线性相位FIR 滤波器在无线通信, 图像处理, 语音处理等领域有非常广泛的应用。
在设计线性相位FIR 滤波器时, 通常需要给出通带和阻带的区间以及相应误差范围(如通带起伏, 阻带衰减等), 有时还需要附加一些时域或频域约束。常见的设计方法有窗函数法,频率采样法,等波纹法[1],线性规划法,最小二乘法[2]等。
这些方法在计算量,优化的目标函数,数值稳定性等方面差别较大。窗函数法最为简单,但它在任何意义上都不是最优的。在给定通带和阻带起伏的约束下,等波纹法可以得到最短的滤波器。它的通带和阻带具有等波纹特性, 在最大误差最小化意义上是最优的。
但这种方法无法兼容滤波器的时域和频域约束。
线性规划法需要占用大量的内存空间并且计算时间较长。最小二乘法可以极小化误差的能量,但这种方法需要矩阵求逆运算,因而计算量较大。此外,该方法还存在数值稳定性问题,特别是在设计长滤波器时该问题更为突出。
Vaidyanathan 和Nguyen 将线性相位FIR 滤波器的设计表示成一个实对称正定矩阵的特征向量问题[3],通过求解该矩阵的最小特征值所对应的特征向量即可得到滤波器的脉冲响应函数。随后该方法被推广至任意FIR 滤波器的设计[4], 高阶数字差分器的设计[5], IIR 滤波器的设计[6], 2 维FIR滤波器的设计[7]。该方法避免了复杂的矩阵求逆运算,可以用高效的迭代法仅仅求解一个特征向量。这个方法的另一个优点是可以兼容滤波器的时域和频域约束。但是该方法将零频设为参考频率,引入了不必要的附加约束。本文通过在通带取平均的方法,避免了参考频率的设定问题,并提高了线性相位FIR滤波器的设计性能。
2. 传统最小二乘法 一个因果的长度为N 的FIR 滤波器可以表示为 ( )( )10NnnH zh n z−−== ∑ (1) 如果该滤波器的脉冲响应函数( )h n 具有对称性, 即( )()1h nh Nn=−−, 则其频率响应具有线性相位。
如果N 是偶数,该滤波器称为1 型滤波器;如果N 是奇数,该滤波器称为2 型滤波器。其频率响应可表示为 ()()( )1 2eejNjHAωωω−−= (2) 其中( )A ω 是幅度响应(实数)。
由于对称性,大约一半的滤波器系数不是独立未知数。N 为奇数时,定义