还剩2页未读,继续阅读
文本内容:
SimulateofadaptivefilterbasedonMATLAB
7.0Abstract:Thisarticledescribedtheworkingprincipleofadaptivefilteranddeducedthewell-knownLMSalgorithm.Takeanexamplelodemonstratetheadaptivefiltersfilteringeffects.Theresultsshowthatthefilterhasaneffectivewaytofiltersingle.Keywords:LMSalgorithmAdaptiveFilterMallab
7.01引言由WidrowB等提出的自适应滤波理论,是在维纳滤波、卡尔曼滤波等线性滤波基础上进展起来的一种最佳滤波方法由于它具有更强的适应性和更优的滤波性能,从而广泛应用于通信、系统辨识、回波消退、自适应谱线增加、自适应信道均衡、语音线性猜测和自适应天线阵等诸多领域⑴自适应滤波器最大的优点在于不需要知道信号和噪声的统计特性的先验学问就可以实现信号的最佳滤波处理本文通过一个详细例子和结果论证了自适应滤波器的滤波效果2自适应滤波原理及LMS算法自适应滤波原理自适应滤波原理图⑵,如图1所示图1自适应滤波原理图在自适应滤波器中,参数可调的数字滤波器一般为FIR数字滤波器,IIR数字滤波器或格型数字滤波器自适应漉波分2个过程第一,输入信号想xn通过参数可调的数字滤波器后得输出信号ynyn与参考信号dn进行比较得误差信号en;其次,通过一种自适应算法和xn和en的值来调整参数可调的数字滤波器的参数,即加权系数,使之达到最佳滤波效果LMS算法及相关参数的选择LMS算法最核心的思想是用平方误差代替均方误差⑵因此该算法简化了计算量在自适应噪音抵消系统中,如自适应滤波器参数选择不当,就达不到应有的滤波效果,而且还可能得到适得其反的效果因此针对不同的信号和噪声应选择相应的参数⑶可见参数的选择对滤波效果是至关重要的下面仅以L阶加权自适应横向滤波器为例,推导LMS算法的公式L阶加权自适应横向滤波器,如图2所示图2L阶加权自适应横向滤波器LMS算法公式推导设=XH-1X/2-L]T;W/=[kV0/V\\/叼.〃]\其中为输入信号,W〃为加权系数误差信号:en=Jn—jn=Jn—xtmwzi=Jn—wTnxw1公式1中dn为参考信号,yn为输出信号误差信号均方值=E[e2〃]2由公式1和公式2得均方误差性能曲面的梯度▽⑺、⑺=[〃=〃二一2e〃x〃而最陡下降法迭代计算全矢量公式w〃+l=w〃-〃▽〃4公式4中〃为掌握稳定性和收敛速度的参数由公式⑶和公式⑷得:w〃+l=w〃+2x〃5公式5说明白LMS算法的核心是用每次迭代的粗略估量值代替了实际的精确值这样大大简化了计算量,但是不行否认,加权系数不行能精确的沿着抱负的最陡下降路径来调整自身的参数,而加权系数与N有着亲密的关系因此,适当的选择自适应滤波器性能参数N显得非常重要3MATLAB
7.0仿真本例通过设计一个二阶加权系数自适应横向FIR滤波器,对一正弦信号加噪声信号进行滤波为了实现该功能,得先生成一个标准正弦波信号sn和一个随机噪声信号nn然后将sn与nn相加就得到了加噪后的正弦信号xn再依照由LMS算法推导出来的公式5设计自适应滤波算法,对噪声干扰信号进行滤波,最终得到滤波后的信号en实现程序代码如下cleart=0:1/10000:1-
0.0001;%设置迭代次数s=sin2*pi*t;%标准正弦信号n=randnsizet;%与时间t等长随机信号x=s+n;%加噪信号w=[
00.5];%初始2阶加权系数u=
0.00026;%最佳参数fori=l:9999;%自适应算法yi+D=ni:i+l*w;ei+l=xi+l-yi+l;w=w+2*u*ei+l*ni:i+l;end;%画图程序figurelsubplot411plottn;titleCNoisesignaT;xlabelt;ylabelnt;subplot412plotts;titleCSinusoidalsignaT;xlabelt;ylabelst;subplot413plottx;titleJSinusoidalsignalwithnoise;xlabelt;ylabelxt;subplot414plotte;titletheresultoffiltering;xlabelt;ylabelet;图3口取
0.00026时的滤波效果图当乩取
0.00026时得到的效果较好前面一段时间较模糊是由于滤波器参数还没有调整到最佳,如图3所示由图可知当t取
0.5时,己经找到了最佳加权系数图4口取
0.000026时的滤波效果图当日取
0.000026时,滤波结果几乎呈直线,而且线条很粗,说明查找加权系数的速度太慢了,如图4所示图5日取
0.26时的滤波效果图当日取
0.26时,结果也是呈直线状,而且线条很细,有的地方还有毛刺,说明系统参数变化太快,系统还没有调整到最佳加权系数,如图5所示图6N取1时的滤波效果图当日取1时,系统输出混乱,如图6所示试验结果表明不同的〃值得到的滤波效果是不同的通过试验数据观看得出U偏大时,自适应时间越短,自适应过程越快,但它引起的失调也越大,所以导致滤波结果很模糊,输出信号变化较大,当U大于某个值时,系统输出混乱;U偏小时,系统比较稳定输出信号变化小,失调也小但自适应过程却相应加长了,因此参数u的选择应从整个系统要求动身在满意精度要求的前提下尽量削减自适应时间最终,通过取合适的内转变wn的初始值,总可以找到最佳的加权系数本程序中迭代次数为10000因此,得H1结论当N肯定,迭代次数很大时,加权系数总可以找到最优解以下是Wn初始值变化时的图像图7Wn=
[00]图8Wn=[
00.5]图9Wn=
[01]图10Wn=[
0.50]图11Wn=[
0.
50.5]图12Wn=[
0.51]图13Wn=
[10]图14Wn=[
10.5]图15Wn=
[11]4总结通过这个例子,使我了解了自适应滤波器的工作原理,以及如何使用自适应滤波器去做信号处理的工作MATLAB在数字信号处理仿真方面有着强大的功能,通过这次试验,再次温习了一些指令的用法这个试验中还有一个问题是值得留意的,那就是如何查找LFIR滤波器以其稳定和简单实现严格的线性相位,使信号处理后不产生相位畸变,而在实际中获得广泛的应用⑸参考文献
[1]叶华吴伯修.变步长自适应滤波算法的讨论[J].电子学报,1990184:63-
69.⑵姚天任,孙洪.现代数字信号处理[M].武汉:华中科技高校出版社
1999.⑶吴轶刚,范猛.自适应滤波器参数选择和仿真结果IJ].吉林工学院学报200122⑵25-
29.
[4]罗军辉等.MATLAB
7.0在数字信号处理中的应用[M].北京:机械工业出版社,
2005.
[5]张亚妮.小波视频图像处理技术[J].辽宁工程技术高校学报2004232:230-
232.。