LMS及RLS自适应干扰抵消算法的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
自适应信号处理的理论和技术经过40 多年的发展和完善,已逐渐成为人们常用的语音去噪技术。
我们知道,在目前的移动通信领域中,克服多径干扰,提高通信质量是一个非常重要的问题,特别是当信道特性不固定时,这个问题就尤为突出,而自适应滤波器的出现,则完美的解决了这个问题。
另外语音识别技术很难从实验室走向真正应用很大程度上受制于应用环境下的噪声。
自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节现时刻的滤波参数,从而达到最优化滤波。
自适应滤波具有很强的自学习、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。
自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。
其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤波算法。
线性自适应滤波算法的种类很多,有RLS自适应滤波算法、LMS自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等[1]。
其中最小均方(Least Mean Square,LMS)算法和递归最小二乘(Recursive Least Square,RLS)算法就是两种典型的自适应滤波算法,它们都具有很高的工程应有价值。
本文正是想通过这一与我们生活相关的问题,对简单的噪声进行消除,更加深刻地了解这两种算法。
我们主要分析了下LMS算法和RLS算法的基本原理,以及用程序实现了用两种算法自适应消除信号中的噪声。
通过对这两种典型自适应滤波算法的性能特点进行分析及仿真实现,给出了这两种算法性能的综合评价。
LMS及RLS自适应干扰抵消算法的比较
1 绪论
1.1课题背景与意义
自适应噪声抵消( Adaptive Noise Cancelling,ANC) 技术是自适应信号处理的一个应用分支,其主要理论和框架由B.Widrow等在1975 年提出,经过三十多年的丰富和扩充,现在已经应用到了很多领域,比如车载免提通话设备,房间或无线通讯中的回声抵消( AdaptiveEcho Cancelling,AEC) ,在母体上检测胎儿心音,机载电子干扰机收发隔离等,都是用自适应干扰抵消的办法消除混入接收信号中的其他声音信号。
自适应干扰抵消中的关键技术是自适应滤波器,自适应滤波器的实现是影响系统收敛速度、噪声抵消效果的关键部分。
自适应滤波器(Adaptive Filter) 的基本目标是以某种方式调整其参数,让滤波器的输出尽可能的让包含某个特定参考信号的目标函数最小化。
调整滤波器参数的方法就是自适应算法(Adaptive Algorithm),自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。
寻求收敛速度快、计算复杂性低、数值稳定性好的自适应滤波算法是研究人员不断努力追求的目标。
目前两种典型的自适应滤波算法是最小均方(Least Mean Square,LMS)算法和递归最小二乘(Recursive Least Square,RLS)算法。
在近几十年中,LMS类算法已广泛应用于干扰抵消、信道均衡、系统识别以及阵列信号处理之中。
Widrow等人提出的最小均方(Least Mean Square,LMS)算法就是一种以期望响应和滤波器输出信号之间误差的均方值最小为原则。
LMS算法的优点是结构简单、鲁棒性强,其缺点是收敛速度很慢。
基于最小二乘准则,递归最小二乘(Recursive Least Square,RLS)算法确定自适应滤波器的权系数向量使估计误差的加权平方和最小。
RLS算法对输入信号的自相关矩阵的逆进行递推估计更新,收敛速度快,其收敛性能与输入信号的频谱特性无关。
但是,RLS算法的计算复杂度很高,所需的存储量极大,不利于适时实现,倘若自相关矩阵的逆失去了正定特性,这还将引发算法发散。
1.2国内外研究发展状况
自适应滤波的基本理论通过几十年的发展已日趋成熟,近十几年来自适应
滤波器的研究主要针对算法与硬件实现。
算法研究主要是对算法速度和精度的改进,其方法大都采用软件C、MATLAB等仿真软件对算法的建模和修正。
通常,自适应滤波器的硬件实现都是用DSP通用处理器(如TI的TMS320系列)。
DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据,内置高速的硬件乘法器(MAC),增强的多级流水线。
DSP具有的硬件乘法模块(MAC),专用的存储器以及适用于高速数据运行的总线结构,使DSP器件具有高速的数据运算能力。
目前,用DSP器件处理数字信号已经成为电子领域的研究热点。
在自适应信号处理领域,对于数据处理速度在几兆赫兹以内的,通用DSP器件也是首选。
迟男等人在TMS320C32芯片上扩展EPROM 和RAM,实现了30阶LMS自适应滤波器,使用的刀D转化器件为AD1674,最高采样频率为l00KHz。
陆斌等人采用TMS320C30数字信号处理器与IMSA110专用滤波器并行处理的方法设计出了自适应滤波器并应用于直接序列的扩频接收系统1221。
赵慧民等人在TMS320C31上实现了自适应权向量滤波器,完成了信号采样频率为80KHz的自适应滤波。
在数据处理速度只要求在几兆赫兹以内的应用场合,这些用DSP实现的自适应滤波器能很好的满足系统实时的需求。
在这种需求场合下,DSP具有不可媲美的性价比。
用FPGA实现自适应滤波器,国外起步比较早,发展也非常迅速。
HesenerA.于1996年提出了用FPGA实现自适应滤波器的设想,并在FPGA上实现了处理速度可达SM的8阶8位FIR滤波器。
Woolfries N.等人用FPGA实现了自适应栈滤波器,并应用于图象处理。
Dawood A.等人用FPGA开发了自适应FIR滤波器并与DSP处理器方案进行了比较研究。
国内有一些关于自适应算法硬件实现的研究,但基本是针对自适应滤波器中的算法,如南开大学李国峰的博士论文用VHDL语言描述了正负数的运算问题和浮点数运算问题,完成了基于FIR的LMS自适应滤波器的硬件设计与逻辑综合。
国防科学技术大学江和平等人讨论了自适应卡尔曼算法的简化,并完成了FPGA的设计。
同济大学梁甲华等人重点讨论了编码方法在FPGA的技术问题。
上海交通大学范瑜等人介绍了用VHDL语言实现并行延时LMS算法的自适应数字波束成形器的FPGA 设计过程。
而针对自适应格型结构采用FPGA硬件实现的文献报导很少,国内中国科学技术大学王显洁等人通过采用流水线结构和运算单元分时复用,提高了运算速度,能够满足实时性预测编码要求。
1998年弗吉尼亚大学的StephenJ.Hevey在其硕士论文中利用DSP处理器和自适应格型递归滤波算法完成了对线性二次型最优控制器的设计,通过实验表明了在宽带干扰下格型结构
LMS及RLS自适应干扰抵消算法的比较
的滤波器性能优于LMS滤波器,在窄带和谐波干扰下两者的区别不大,但所需阶数至少比LMS滤波器减少一半,可以节省大量硬件资源[2]。
1.3本文的主要内容安排
本课题主要是研究LMS及RLS自适应干扰抵消算法的比较,通过对两种典型的自适应滤波算法,即最小均方(Least Mean Square,LMS)算法和递归最小二乘(Recursive Least Square,RLS)算法的性能特点进行分析及仿真实现,给出了这两种算法性能的综合评价。
论文内容安排如下:
前言:简单介绍了本文研究课题的背景及内容。
第一章绪论:主要介绍了论文所需的有关背景知识和论文主要研究内容的国内外发展现状。
第二章算法原理及软件平台介绍:首先详细分析了自适应滤波器的基本原理,给出了自适应滤波器原理框图及原理的推导过程,接着对MATLAB及算法中用到的MATLAB中的函数进行了简单的概述。
第三章LMS算法分析:本章开始阐述了LMS算法的历史、现状、背景,接着具体分析了LMS算法。
第四章RLS算法分析:本章开始简单介绍了研究RLS算法的背景,然后具体分析了LMS算法。
第五章仿真分析:对两种算法进行MATLAB仿真,通过仿真结果进行对比和分析。
首先是LMS算法关于不同步长μ的比较,接着RLS算法关于不同参数λ的比较,最后是LMS与RLS算法关于最优效果的比较。
第六章总结与展望:对全文做了总结,并分析了今后有待进一步开展的工作。
2 算法概述及软件平台介绍
2.1自适应干扰抵消原理
自适应噪声抵消系统的核心是自适应滤波器,所谓的自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动的调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。
自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。
自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。
由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用FIR和IIR两种具有固定滤波系数的滤波器无法实现最优滤波。
在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。
自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。
一般而言,自适应滤波器由两部分组成,一是滤波器结构,二是调整滤波器系数的自适应算法。
自适应算法对自适应滤波器参数进行控制,以实现最佳滤波。
不同的自适应滤波器算法,具有不同的收敛速度、稳态失调和算法复杂度。
根据自适应算法是否与滤波器输出有关,可将其分成开环算法和闭环算法两类。
自适应噪声抵消器中利用了输出反馈,属于闭环算法。
其优点是能在滤波器输入变化时保持最佳的输出,而且还能在某种程度上补偿滤波器元件参数的变化和误差以及运算误差。
但其缺点是存在稳定性问题以及收敛速度不高。
所以探讨如何提高收敛速度、增强稳定性以满足信号处理的高效性、实时性,一直是人们研究的重点和热点[3]。
图2-1自适应噪声抵消基本原理图
LMS 及RLS 自适应干扰抵消算法的比较
Fig.2-1 Basic schematic diagram of adaptive noise cancellation
图2-1给出了用自适应噪声抵消技术来解决噪声背景中的信号提取问题的基本原理。
主输入端接收从信号源发来的信号s 但是受到噪声源的干扰收到噪声vo 。
参考输入端的参考信号为vi 是一个与有用信号s 无关但与vo 相关的噪声信号。
主输入中含有待抵消的加性噪声,参考输入对准主输入中的噪声vo 。
由图可以看出主输入端输入为:
(n)v s(n)d(n)o += (2-1) 自适应噪声抵消系统的输出为:
(n)y -(n)v s(n) (n)y -d(n) e(n)o +== (2-2) 对式(1-2)两边取平方:
)]()()[(2)]()([)()(222n y n v n s n y n v n s n e o o -+-+= (2-3)
))]()()(([2)]()([)]([)](E[e 222n y n v n s E n y n v E n s E n o o -+-+= (2-4) 利用两输入噪声的相关性和信号与噪声的独立性,且都是统计平稳信号,式(1-4)中第三项为0,即
222)]()([)]([)](E[e n y n v E n s E n o -+= (2-5)
由于)]([2n s E 与滤波器的调节无关,如果调节自适应滤波器使得
)]([2n e E 最小,也就是2)]()([n y n v E o -最小。
由式(2-2)有:
)()()()(n y n v n s n e o -=- (2-6)
由式(2-6)可见,当2)]()([n y n v E o -最小时,2)]()([n s n e E -也最小,即自适
应噪声抵消系统的输出信号与有用信号s(n)的均方差最小,也就是说在理想的情况下,)()(n y n v o =,则)()(n s n e =,这时,参考信号通过自适应滤波器后变成了)(n v o ,然后原始输入减去)(n v o 后最后的输出就只保留了有用信号s(n)。
2.2 MATLAB 相关技术介绍
2.2.1 MATLAB 简介
MATLAB (Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,其功能不断扩充,版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。
至2001年6月推出6.1版,2002年6月推出 6.5版,继而推出 6.5.1版, 2004年7月MATLAB7和Simulink6.0被推出,目前的最新版本为7.1版。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。
MATLAB语言的帮助系统也近乎完备,用户可以方便的查询到想要的各种信息。
另外,MATLAB还专门为初学者提供了功能演示窗口,用户可从中得到感兴趣的例子和演示。
MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。
在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。
成为攻读学位的本科、硕士、博士生必须掌握的基本技能。
在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。
在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个。