基于Matlab的自适应滤波器设计
第30卷 第1期2008年2月
武汉理工大学学报 信息与管理工程版
JOURNALOFWUT(INFORMATION&MANAGEMENTENGINEERING)
Vo.l30No.1
Feb.2008
文章编号:1007-144X(2008)01-0070-04
基于Matlab的自适应滤波器设计
贺 宽,黄 涛
(武汉理工大学信息工程学院,湖北武汉430070)
摘 要:滤波器在电子设备中已得到广泛的应用,而自适应滤波器可以不必事先给定信号及噪声的自相关函数,它可以利用前一时刻已获得的滤波器参数自动地调节现时刻的滤波器参数,从而实现最优滤波。介绍了自适应滤波器原理,并对LMS自适应算法进行了分析,最后用Matlab对自适应低通滤波器进行了仿真和实现,并分析了该自适应滤波器的性能。
关键词:自适应滤波器;LMS算法;Simulink;ANC中图法分类号:TP273.2 文献标志码:A
自适应滤波器在信号检测、信号恢复和数字通信等许多领域中被广泛应用,一直是学术界的重要研究课题。近年来,微电子技术和超大规模集成(VLSI)电路技术的飞速发展又促进了自适应滤波技术的进步。自适应滤波技术正是由于具有对干扰频率不敏感,且其权值调整是基于对系统参数的优化等特点,而越来越多地受到人们的关注。
2 自适应滤波器原理
自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成(如图1所示)。参数可调数字滤波器可以是FIR数字滤波器或IIR数字滤波器,也可以是格型数字滤波器。输入信号x(n)通过参数可调数字滤波器后产生输出信号(或响应)y(n),将其与参考信号(或称期望响应)d(n)进行比较,形成误差信号e(n)。e(n)(有时还要利用x(n))通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。因此,自适应滤波器实际上是一种能够自动调整本身参数的特殊维纳滤波器。在设计时不需要事先知道关于输入信号和噪声的统计特性的知识,它能够在自己的工作过程中逐渐了解,或估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳
[2]
1 自适应滤波器研究现状
传统的自适应滤波器主要在时域中实现,采用抽头延迟线(tappeddelayline)结构及WID ROW-HOFF自适应LMS算法。这种方法算法
简单,稳健性也比较好,因而被广泛应用。但是滤波器的阶数可能会很高,步长系数可能会很小,收敛性能不理想,对输入信号的自相关矩阵有很强的依赖性,因而不具有高自适应率。当输入信号的自相关矩阵的特征值分布发散度很大时,算法的收敛速度很慢,跟踪性能不好。
许多学者对LMS算法进行了研究,对传统LMS算法提出了许多有效的改进措施,如采用变步长LMS算法、变换域LMS算法,以及QR分解LMS算法等,有效地克服了其性能局限性。为了比较直观地观察和分析各种LMS算法的收敛性能,借助Matlab强大的工程计算和绘图功能,通过Matlab语言编译.m文件来实现各种算法的LMS滤波器,用计算机仿真,对输入信号做相应的处理,并分析仿真结果
[1]
。
。
图1 自适应滤波器的一般结构图
收稿日期:2007-09-04.
作者简介:贺 宽(1982-),男,湖北武汉人,武汉理工大学信息工程学院硕士研究生.