格型结构滤波器设计

时间:2022-04-26 03:27:38

格型结构滤波器设计

摘要:近几年来,随着科技的发展,电子通信事业也蓬勃向前,但随之带来的信号干扰、稳定性差、难以控制等问题也亟待解决。格型数字滤波器凭借其独特的结构及优良的特性,被认为是解决此类问题的理想滤波器。本文首先对格型滤波器的结构特点做了简要介绍,对格型滤波器的结构优点进行说明。进而引出自适应格型滤波器算法和LMS算法及相关算法的基本原理。利用此原理设计一个二阶格型滤波器,并在MATLAB环境下完成了仿真工作。

关键词:格形结构 滤波器设计 自适应算法 MATLAB仿真

中图分类号:TN2 文献标识码:A 文章编号:1007-9416(2014)05-0181-05

1 格型滤波器的基本结构

目前,常用的数字滤波器有无限长单位脉冲响应(IIR)滤波器和有限长单位脉冲响应(FIR)滤波器两种,最简单的IIR数字滤波器结构是直接式结构,其分子和分母的系数直接作为乘法器系数使用。这种结构有很高的灵敏度,因为多项式的根对系数很敏感,所以给定的传输函数的极点和零点对量化的乘法器系数也很敏感。对于归一化滤波器,极点一般较多分布在靠近波段边缘的拐角里。随着靠近的极点数目增大,这种结构的灵敏度会下降。为了避免这个灵敏度问题,可以用一阶项和二阶项的和或者积实现该传输函数,即采用并行结构或级联结构。但对于复杂的小角度极点共轭问题(例如窄波段高强度转换滤波器),即使使用二阶项方法仍需解决高灵敏度问题。由于给定传输函数的分母充分解析,格型数字滤波器有很好的数字特性。

1.1 自适应格型滤波器

1973年,Gay和Markel提出了一种新的系统的结构形式,即Lattice结构(又称格型结构)。如图1所示。为反射系数,为前向预测误差,为后向预测误差,滤波系数隐含在反射系数中。该结构的算法依据是由Norman Levinson于1947年和由Durbin于1960年对Toeplitz矩阵改进的李文逊-杜宾(Levinson-Durbin)算法。格型滤波器最突出的是具有相互正交的模块化结构,反射系数对舍入误差不敏感,以及格型算法对于信号协方差矩阵特征值扩散的相对惰性等特点,使得该结构具有快速收敛和优良的数值特性。特别适用于要求快速收敛和跟踪快速时变信号的应用场合[1]。

1.2 格型滤波器的结构优点

格型滤波器是一种正交滤波器,传输函数的分母充分解析,具有良好的数字量化效应,其频率特性在通带和阻带内都有很低的系数灵敏度。此外,格型滤波器还具有一些利于VLSI实现的性质,例如结构规则、模块化、互连线短等。通过流水线结构算法还可以使格形滤波器实现细粒度的流水线操作,使其更适合于高速实时信号处理和低功耗领域。

随着无线移动通信的迅速普及以及频谱资源的日益紧张,基站处理器需要完成多用户窄波段高强度的转换。对于抽头形式的横向滤波器结构,即使用一阶项和二阶项的并联结构或级联结构仍无法解决信号的高灵敏度问题。采用Levinson和Durbin算法递推出来的格型滤波器对于信号协方差矩阵特征值扩散的相对惰性,使得格型结构的滤波器具有快速收敛和优良数值特性,被认为是解决此类问题的理想滤波器。

当格型滤波器输入信号是平稳随机过程时,滤波器的后向预测误差彼此正交,因而自适应格型滤波器系统优化可以由各组成节的局部优化来完成。模块化的结构还易于采用多通道信号输入实现并行处理。也可以利用去藕后的正交信号分别作为LMS的输入信号运算提高对输入信号的跟踪速度[3]。格型滤波器的重要参数为反射系数,反射系数的稳定意味着滤波器的稳定。所以对格型算法的研究需要重点讨论反射系数,在此基础上设计合适的格型算法来构造自适应去噪滤波器。

2 自适应格型滤波算法

2.1 自适应格型滤波算法

如果将目标函数F视为误差信号e(n)的函数,而误差信号又是x(n),y(n)和d(n)的某个函数,即F=F[e(n)]=F[x(n),d(n),y(n)]。利用这种结构,可以认为一个自适应算法由三个基本要素构成:最小化算法的定义、目标函数形式的定义和误差信号的定义。

(1)对函数F最小化算法的定义:它从本质上影响自适应过程的收敛速度和计算复杂度。在最优化理论中,主要有以下几种方法来定义算法的最小化:

牛顿方法:该方法寻找目标函数的二阶近似的最小值,其参数向量的迭代更新公式为:

其中,是控制算法迭代步长的因子,它决定了参数向量变化的快慢,F[e(n)]的二阶导数矩阵是目标函数的Hessian矩阵,而是目标函数相对于自适应滤波器系数的梯度。

拟牛顿方法:是牛顿方法的简化,它通过递归计算来估计Hessian矩阵的逆矩阵,使目标函数最小化,即:

其中,S(n)是的估计值,使得

通常采用矩阵求逆引理来计算S(n),有时也采用计算有效的估计值来代替梯度向量,如递归最小二乘(Recursive Least Square,RLS)算法。

最陡下降方法(梯度方法):沿着与目标函数梯度向量相反的方向,搜索目标函数的极小值点,其更新方程的形式为:

在以上三种方法中,通常梯度方法更容易实现,牛顿方法达到最小值点的邻域所需的迭代次数更少,在许多情况下,可以将拟牛顿方法作为计算效率较高的梯度方法和能快速收敛的牛顿方法的折中。

对于任意一种最小化方法,收敛因子控制着整个自适应过程的稳定性、收敛速度以及残留误差的某些特征。对这个参数的选择需要知道关于某个特定的自适应问题的充分知识,不存在普遍解,一般通过计算机仿真获得。

(2)目标函数F[e(n)]的定义:目标函数的定义会影响梯度向量和Hessian矩阵的计算复杂度。在以计算复杂度为定义准则下,广泛采用的一些目标函数形式有

均方误差(MSE):;

最小二乘(LS):;

加权最小二乘(WLS):,其中是小于1的常数;

瞬时平方值(ISV):;

由于MSE要求测量统计平均信息,从严格意义上来讲它只是理论值。在实际中这个理想值可以用LS,WLS和ISV三个目标函数来近似。这三个函数的实现复杂度以及收敛特性都不相同。一般而言,ISV表示的是简化了很多的目标函数,实现起来容易,但它存在噪声收敛特性。LS适于在平稳环境中采用,而WLS对于慢变化环境下的应用比较多。

(3)误差信号e(n)的定义:误差信号的选择是确定选用何种自适应算法的首要步骤,因为它不仅影响算法的复杂度、收敛速度和鲁棒性等,而且对于某些自适应滤波情形,还会产生偏解和多个解的现象[6]。

2.2 自适应格型LMS算法

令为滤波器在n时刻的权系数,并且满足

定义瞬时前向、后向残差能量

这一条件保证了m+1阶前向滤波器第m+1个系数在任意时刻n的值都能够满足的条件,从而使得前向滤波器是最小相位的(即物理可实现的)。

与Burg最大墒方法中滤波器系数的估计式

相比较知,若=0.5及w(k)=1,则式(2-6)简化为Burg最大熵方法中滤波器前向、后向预测误差总的平均能量,滤波器系数的最大熵估计由式(2-7)给出。

若引入符号

式中表示m阶前向滤波器第i个系数在n时刻的值,为m阶格型滤波器的残差能量。

上面用递推公式获得滤波器系数的同时,还可得到各阶滤波器的残差能量,当残差能量不再减小时的最小阶数即为LMS格型滤波器的最优阶数。

由上面的分析可以看出,LMS格型自适应滤波器的优点是收敛速度比LMS横向滤波器快得多,而且对数据的舍入误差不敏感,其代价是需要比LMS算法更大的计算量。

2.3 牛顿-LMS算法

本算法是对环境信号二阶统计量进行估计的算法。其目的是为了解决输入信号相关性很高时LMS算法收敛速度慢的问题。一般情况下,牛顿算法能够快速收敛,但对的估计所需计算量很大,而且存在数值不稳定的问题,这导致了基于最陡下降的算法在自适应滤波中应用更广泛。

算法原理

如果牛顿更新公式:

成立,则在k+1时刻均方误差达到最小。理想情况下,梯度向量和矩阵R是已知的,但实际情况却是我们只能得到梯度向量和矩阵R的估计值,收敛因子的作用就是为了避免采用和R的含有噪声的估计值而导致算法发散的问题。

下面直接给出牛顿-MLS算法,详细推导见文献[4]。

对LMS算法进行仿真,对其收敛性进行讨论,程序及结果如下[2]:

所以在输入数据相关的情况下,基本LMS算法与LMS-牛顿算法的收敛性的比较。从(图2)中可以清楚地看出,当输入数据相关时,基本LMS算法的收敛速度将变得很慢,而LMS-牛顿算法能很好地收敛。

3 格型数字滤波器的设计

3.1 格型滤波器设计准则

因为格型滤波器的设计可归结为前向滤波器设计,这里就只讨论前向滤器设计准则。

格型滤波器n时刻的前向残差的Z变换

式中是滤波器输入信号x(n)的相关函数。

理论上,求解式(3-5)可得到m级前向滤波器的系数

然后将这些系数代入式(3-5)就可得到前向残差能量。一般情况下,阶数m越大,前向残差能量越小。

在设计前向滤波器时,当前向残差能量不再明显减小时,最小的阶数m即为格型滤波器的最优阶数。但有一个问题:格型滤波器前后级间是否存在着耦合?文献[5]P218一P221证明了不同级滤波器的后向残差正交,这说明格型滤波器前后级是解耦的,从而可以独立地设计每一级滤波器。

3.2 基于Matlab的格型滤波器仿真

首先在MATLAB上编写梯度自适应格型滤波器的程序,改变步长参数,进行一系列的仿真,对算法迭代步长、滤波器的阶数与收敛速度和滤波精度进行研究,得出最佳步长参数为硬件实现提供参考。

程序如下:

4 结语

本文首先对格型数字滤波器进行简要介绍,并简要分析了格型滤波器的结构优点以及对现实的意义。

本文对格型滤波器算法进行了研究,主要推导了格型结构的自适应算法,讨论、分析了自适应格型LMS算法的原理、牛顿―LMS算法,然后简单地分析了各种算法的性能特点。利用Matlab对部分算法进行了仿真,给出了LMS算法收敛性的仿真结果,并对仿真结果进行了简单的说明。

最后在LMS算法基础上设计了二阶格型数字滤波器并对其进行了结果仿真。

参考文献

[1]梁甲华,林争辉,林涛.基于可重构FPGA技术的自适应FIR滤波器的实现.电子工程师,2004,34(12):48-50.

[2]邓华.MATLAB通信仿真及应用实例详解.北京人民邮电出版社,2003.

[3]Kim Dai I,Wilde P De.Performance analysis of the self-orthogonali-sing adaptive lattice filter[J].IEEE Trans.signal processing,2000,80:2379-2406.

[4]马伟富,雷勇,腾欢.自适应滤波器(LMS)算法及其在DSP上的实现.四川大学学报(自然科学版),2004,VOL 41:470一473.

[5]张贤达.现代信号处理(第二版).清华大学出版社,2002.

[6]P.5.R..Diniz,刘郁林等译.自适应滤波算法与实现(第二版).电子工业出版社,2002.

[7]Makhoul J, Cossell L K. Adaptive lattice analysis of speech .IEEE Trans .1981.CAS-28:494-499

[8]樊昌信,张甫翔,徐炳祥等.通信原理(第5版).北京:国防工业出版社,2001.

[9]Herzberg H,Cohen R H ,Be’ery Y.A systolic arrary realization of an MLS adaptive filter and the effects of delayed adaptation .IEEE Trans on Signal Proeessing1992,40(11):2799一2803.

上一篇:一种高精度电压测量表设计 下一篇:基于VC++信号源自动测试软件设计