首页 > 范文大全 > 正文

自适应滤波器设计及MatLab实现研究①

开篇:润墨网以专业的文秘视角,为您筛选了一篇自适应滤波器设计及MatLab实现研究①范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:自适应滤波器技术因其各方面的优越性能,已经在数字通信、工业控制和雷达等领域获得了广泛应用。本文主要介绍自适应滤波器的Matlab设计方法,且以LMS算法作为范例进行matlab仿真,结果可见设计的自适应滤波器具有良好的性能和较强的可操作性。

关键词:自适应滤波器 MatLab LMS算法

中图分类号:TP391 文献标识码:A 文章编号:1672-3791(2013)06(b)-0004-01

在现代通信以及控制工程中,滤波是一种广泛应用的信号处理方法,当外界环境特性未知,信号传递不断变化时,我们通常会选用通过自身算法改变滤波器自身的参数和结构的自适应滤波器。它主要包括自适应处理器(参数可调数字滤波器)和算法,其中自适应处理器分为FIR数字滤波器、IIR数字滤波器和格形数字滤波器。本文主要对自适应滤波器设计的LMS算法以及其MatLab仿真进行分析研究。

1 自适应滤波器的原理

自适应滤波器以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性;它可以是连续域或者离散域的,离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。离散域自适应滤波器的输入信号经过自适应处理器后产生输出信号,然后和作为参考的输入信号进行对比,产生误差输出信号,通过设计的自适应滤波算法的反馈调节调整滤波器的参数,最终输出误差信号均方差的最小值。自适应滤波器的算法决定着滤波器参考信号的处理能力,在最佳准则条件下算法能够大大提高其输出信噪比。自适应算法通常可以分为最小均方算法(LMS)和递推最小二乘算法(RLS),LMS算法简单、运算方便、易于实现,但收敛的速度相对较慢,且其速度和输入信号的统计特性直接相关。

2 自适应滤波器的LMS算法

LMS算法是自适应滤波器的基础,是一种随机性递推算法,该算法主要包含下面三个方程:y(k)=∑w(i)x(k-i+1)

e(k)=d(k)-y(k)

w(k+1)=w(k)+2ue(k)x(k-i) (0≤i≤M-1)

在以上三个式子当中:x为自适应滤波的输入滤波;y为自适应滤波的输出滤波;d为参考信号的滤波;e为误差值;w为权重系数;u为步长;M为自适应滤波器的阶数。步长是表示迭代快慢的物理量,步长越大,其自适应的时间越短,自适应的速度也越快,同时也会引起很大的失调现象,当它大于某一个值时,系统呈现发散状态;步长越小,失调性就越小,系统的稳定性也加强,但是其自适应的时间变得非常长。步长因子受滤波阶数及输入信号功率的影响,在输入某同一信号时,为保持系统收敛性,步长应与滤波阶数成反比,且步长值根据滤波器阶数的变化而做相应变化,这样在信号处理过程中才能取得最佳效果,若滤波器阶数一定,则LMS算法的收敛速度将只受步长的影响,自适应滤波器的级数通常同噪声通道对应的传递函数的阶数保持一致。如果级数大于传递函数的阶数,会造成失调增大,只有当两者数值相等时,才能发挥出自适应滤波器的最佳性能;当自适应滤波器的信噪比增大时,LMS算法的性能将受到很大的影响,在设计时可以采用频域LMS算法来克服这一局限性。

3 自适应滤波器的MatLab仿真分析

在MATLAB中,信号处理工具箱可以看作工具集合,包含生成波形、设计滤波器、参数模型以及频谱分析等多个常见功能,使用MATLAB信号处理工具箱,可以很方便地求解数字滤波器问题,同时还可以十分便捷地在图形化界面上编辑和修改数字滤波。对设计的LMS算法在MatLab上进行仿真实验,选取自适应步长为0.0006,对比信噪比分别取20 dB,5 dB和-5 dB时自适应滤波器输出的波形,另外给定信噪比为10 dB时,对比自适应步长取0.0002,0.0006,0.002不同值时的系统误差的波形,如图1所示,通过观察分析仿真结果得出以下结论。

步长一定时,输入信噪比越大,自适应滤波器输出波形越好,所需滤波器长度相对较短;信噪比一定时,如果步长过大,就会导致自适应滤波器无法收敛,伴随着迭代次数的不断增加,自适应滤波器始终无法收敛。步长越大,造成的系统误差就越小,但是步长过小时,对算法的收敛产生严重的影响,从而导致自适应滤波器无法取得理想的滤波效果。

4 结语

自适应滤波器的初始收敛速度以及稳态误差是衡量其性能好坏的重要指标,本文主要给出了基于LMS算法的自适应滤波器的设计方法,同时对其性能在MatLab上进行仿真。分析仿真结果我们得出该方案是可以实现的,基于LMS算法设计的自适应滤波器在对含噪信号进行处理时,能够取得很好的滤波效果,去噪效果显著;分析误差结果发现初始信号的误差值较大,这是由于LMS算法的局限性引起的,因此为取得更加理想的效果,必须根据需要对LMS算法进行必要的改进。

参考文献

[1] 赵海斌.MATLAB应用大全[M].北京:清华大学出版社,2012.

[2] 陈杰.MATLAB宝典[M].北京:电子工业出版社,2011.

[3] 张朝柱.自适应信号处理技术[M].北京:北京理工大学出版社,2010.