图(2.1.5.4)( =0.001)
图(2.1.5.5)( =0.005)
观察两个不同步长情况下的误差曲线不难看出,步长越小,误差越小,但收敛速度越慢,为了好的精度,我们在选择时必然牺牲收敛速度。www.lw881.com
以上就是围绕对lms算法的分析,着重讨论了算法的实现及算法中重要参数 的选择问题。在实际中,噪声功率大小的也会对系统的收敛程度产生影响,噪声功率越大,即信噪比snr越小,误差曲线就会明显增加,这就是更大噪声功率对算法中随机梯度的影响,可以通过下面两个仿真图看出。分别取信噪比snr=5和snr=20。 =0.001
图(2.1.5.6)(snr=5)
图(2.1.5.7)(snr=20)
2.2 递推最小二乘(rls)算法
2.2.1 最小二乘法
设已知n个数据 ,…, ,…, ,利用图3.1所示的滤波器结构来估计期望信号 ,…, ,…, 。对的估计可表示成 式(2.2.1.1)
估计误差 - 式(2.2.1.2)
根据最小二乘法, (n)的最佳值应该使下列累计平方误差性能函数为最小 式(2.2.1.3) , 其中0< <1,称为遗忘因子。使用前加窗法,只用 的前 个误差,则 式(2.2.1.4)
前加窗法最小二乘性能函数为 式(2.2.1.5)
其中 。 引入m维矢量: 式(2.2.1.6),而 维矩阵: 式(2.2.1.7)
式(2.2.1.8)
的最佳值满足方程 式(2.2.1.9)
从而有 式(2.2.1.10)
最终得到最小二乘算法的最后方程 式(2.2.1.11)
2.2.2 递推最小二乘(rls)算法
由于最小二乘法的运算量较大,一般不适合实时滤波,采用递推算法可以减少运算量。
由式(2.2.1.11)有 式(2.2.2.1)
根据式2.2.1.7得 式(2.2.2.2)
对矩阵求逆得 式(2.2.2.3)
其中 为一纯量。 矩阵 式(2.2.2.4)
n维矢量 , 为增益系数 式(2.2.2.5)
由式2.2.2.4和式2.2.2.5逆推式2.2.2.3可得
式(2.2.2.6)
利用式2.2.2.6,就可以用递推的方式求m m维矩阵 的逆,使运算量降低。
式2.2.2.6两端乘以 ,利用式2.2.2.5可得
式(2.2.2.7)
另外,根据式2.2.1.6可得 式(2.2.2.8)
将式2.2.2.4,式2.2.2.6,式2.2.2.8代入式2.2.1.11就可以得到
式(2.2.2.9)
利用式2.2.2.5和式2.2.2.9的最后两项可简化为 ,而式2.2.2.9的前两项中的 即为 。所以由式2.2.2.9可得
式(2.2.2.10)
这即为递推最小二乘(rls)算法的递推公式。
下图为rls算法的流程图:
2.2.3 rls算法的参数分析
rls算法具体实现需要以下计算式 ; ;
; = ;
;其中 个参数意义与lms相同,新增个参数意义为 :反相关矩阵; (n):增益向量; :遗忘因子。
在rls算法中遗忘因子是一个接近1但是小于1的正数,一般来说介于0.95到1之间。使用遗忘因子的目的在于把接近目前时间点的信息乘上越大的权值,而离目前时间点越远的信息乘上越小的权值,也就是说,我们重视较近时间点的信息甚与较远时间点的信息。若等于1,则表示对所有的信息都一样,其权值都是相同的。
2.2.4 rls算法matlab仿真分析
图2.2.4.1
上图分别为输入信号,输出信号和误差信号的曲线,可以看出输出信号在经过一段时间的自适应调整后,便能基本达到跟踪,滤波的效果。从误差信号曲线也可以看出这点,误差输出经过一段时间就趋于稳定。
图2.2.4.2
上图为误差平方的均值曲线,大约在t=300时,误差趋于收敛,系统完成自适应过程。
以上就是围绕对rls算法的分析,着重讨论了rls算法推导,具体实现的相关公式以及运用matlab软件对其进行仿真。
2.2.5 rls算法与lms算法的比较分析
rls算法能够在很短的时间内就趋于收敛,而lms算法则有一个比较长的渐变过程,所以rls的跟踪性能要优于lms,这可以从图2.1.5.1和图2.2.4.1看出。换句话说,rls比lms的收敛速度要快。可以通过下图看出:
上图蓝色是lms收敛曲线,红色为rls收敛曲线。可以看出明显rls收敛性要优于lms算法。
而且lms在收敛后波形还有较大波动,而rls就要小的多,基本没有波动,这说明rls的稳态误差也是小于lms的,从图2.1.5.3和图2.2.4.2可以看出。但是由于lms计算量简单,适合于硬件实现,这是rls无法相比的。所以二者各有优劣。(以上lms和rls算法仿真均采用相同的外界信号及采样时间点)
2.3 归一化lms算法(nlms)
2.3.1 nlms算法实现
nlms算法是将lms算法中的 值重新定义,让 值会随输入信号之正规化作改变,能提升收敛的稳定性。下面为nlms算法实现所需的计算式:
; ; ; ;
各参数的定义和lms算法定义相同,新增参数的定义为 :很小的正常数,一般取 =1e-10。
lms算法的稳定度和收敛速率受到 值和参考信号的影响,由于 值为一固定值,因此lms的整体收敛速率就受它的影响,收敛速率对变化较快的信号反应并不理想。而nlms算法能改善输入信号对收敛因子的影响, 值随着时间n变化成为 (n),使之随时变化,从而调节至最佳值。另外为了避免当输入信号过小时造成收敛因子的发散,还加入 值。
下图为nlms算法的流程图:
shape \* mergeformat
2.3.2 nlms算法的matlab仿真分析
图(2.3.2.1)
图(2.3.2.2)
由图2.3.2.1和图2.3.2.2可以看出nlms算法的自适应滤波过程及误差收敛情况,而且相比lms算法在相同条件下,nlms算法要比lms算法收敛更快一些。这是因为nlms算法的计算量与lms相当,但是由于nlms算法的收敛条件与输入信号的特征值无关,故nlms算法比lms算法的收敛速率快。
下图可以看出二者收敛的差别:
图4.2.3 lms的误差收敛
图4.2.4 nlms的误差收敛
lms算法中大约在t=600时开始收敛,而nlms则是在大约t=400时开始收敛。明显nlms的收敛速度要快与lms。
3自适应信号处理的应用及matlab仿真
3.1 通信中的自适应噪声抵消
在通信和其他许多信号处理应用问题中,接受信号中往往伴随着干扰和噪声,从而显著影响接受信号的可靠性,或者导致误码率上升。一般来说,干扰和噪声的存在总是难免的。信号处理技术的核心问题之一就是从受到干扰污染的信号中估计,检测或者恢复出原始信号。而自适应噪声抵消的基本原理就是将被噪声污染的信号与参考信号进行抵消运算,从而消除带噪信号中的噪声。其关键问题是自适应噪声抵消系统的参考信号一定要与待消除的噪声具有一定的相关性,而与要检测或者提取的信号不相关。自适应噪声抵消系统经过自适应系统的控制和调整,系统能够有效地从噪声中恢复出原始信号。
作为自适应信号处理领域的重要分支之一,它已经受到了人们的普遍关注并得到了广泛的应用。
3.1.1 自适应噪声抵消系统的基本原理
下图为典型自适应噪声抵消系统的原理框图:
图3.1.1 自适应噪声抵消系统
在图3.1.1中,原始输入信号d(n)为有用信号s(n)与噪声v(n)之和,参考输入信号x(n)是与v(n)相关的噪声u(n)。假定s(n),v(n),u(n)均为零均值平稳随机过程,且满足s(n)与v(n)及u(n)互不相关。由图3.1.1可见,自适应滤波器的输出 为噪声u(n)的滤波信号。则整个自适应噪声抵消系统的输出y(n)为
式(3.1.1.1)
而 式(3.1.1.2)
对式(3.1.1.2)两边取期望,由于s(n)与v(n)及u(n)互不相关,且s(n)与 也不相关,故有
式(3.1.1.3)
信号功率 与自适应滤波器的调节无关,因此,调节自适应滤波器使 最小,等价于使 最小。这样由式(3.1.1.1),有 式(3.1.1.4)
由此可见,当 最小时, 也达到最小,即自适应噪声抵消系统的输出信号y(n)与有用信号s(n)的均方误差最小。
在理想情况下,当 时,有 。这时,自适应滤波器自动地调节其权值,将u(n)加工成v(n),与原始输入信号d(n)中的v(n)相减,使输出信号y(n)的噪声完全被抵消,而只保留有用信号s(n)。但是自适应滤波器能够完成上述任务的必要条件为:参考输入信号 必须与被抵消的噪声v(n)相关。
3.1.2 自适应噪声抵消系统matlab仿真
以下仿真采用图3.1.1的结构,分别运用lms,nlms和rls循环算法进行噪声消除。
图3.1.2
仿真得出三种自适应滤波算法提取正弦信号的曲线图。可以看出系统能基本还原出原始信号,达到噪声抵消的效果。但是用rls算法提取的正弦信号质量要好,其中lms算法提取的信号效果最差,存在没有滤除的随机噪声部分较多,而nlms算法要比lms的效果要好,但比起rls算法在估计精度上有些波动,存在一定的残余误差,即有一定失调。
3.2 自适应陷波滤波器
在通信系统和其他电子系统中,经常会受到诸如50hz工作频率等单频干扰或者窄带干扰的影响。这种干扰的存在,严重影响了信号的接收或者检测的可靠性和正确性,因此必须加以消除。陷波滤波器是消除这种干扰的有力工具,当自适应噪声抵消系统的参考输入为单一频率正弦信号时,则系统可以构成自适应陷波滤波器。
3.2.1 自适应陷波滤波器的原理
自适应陷波滤波器具有陷波中心频率,且该频率与其参考输入的正弦信号的频率相同。另一方面,自适应陷波滤波器还能够随着干扰频率的变化,自动地修正系统自身参数来跟踪这种变化。典型的单一频率自适应陷波滤波器的原理图如图(3.2.1)所示,图(3.2.1)表示一个具有两个自适应实权的自适应噪声对消器。它等效于有一个复权的噪声对消系统,即用两个实权达到同时调整单一频率正弦波的幅度和相位,以消除干扰的目的。假定原始输入信号的类型是任意的,而参考输入是频率为f的纯正弦波,即
式(3.2.1.1)
图中第一个权的输入直接由参考输入采样得到,而第二权的输入是将第一个权输入移相 产生。即它们可分别表示为
式(3.2.1.2)
shape \* mergeformat
图(3.2.1)
其中 ,权的迭代用lms算法,如下式所示,权的修正过程如下:
式(3.2.1.3)
3.2.2 自适应陷波滤波器matlab仿真分析
图6.3.2
上图可以看出经过正弦信号干扰的原始信号,在通过自适应陷波滤波器后,基本达到噪声消除的效果。上图中第一个图为原始信号,第二个为经过正弦信号干扰后的信号,第三个为消噪后的信号,第四个为误差信号曲线。
3.3 自适应预测
3.3.1 自适应预测的基本思想
要得到预测系数,必须获得输入信号采样值的相关函数矩阵,而实际上它不是一个定值,是时变的,所以就要求必须自适应调整预测系数,以保持最佳的预测增益。求相关函数的简单方法是,先采样并存储一个定长时间间隔的信号值,计算这些采样值的自相关函数,然后确定最佳的预测系数。预测器每隔规定的时间间隔更新依次存储的采样数据,并且每次将计算的预测参数发送到接收端。通过上述方法动态调整预测参数,在存储采样值时间间隔较长或每次存贮采样值个数较大的情况下,可以获得很大的预测增益。这就是自适应预测器的基本思想。
忽略量化噪声的影响,预测误差函数
式(3.3.1.1)
需要说明,考虑到实际系统的可实现性,可以用误差函数的量化值 。调整预测系数使误差函数向负梯度的方向变化,即
式(3.3.1.2)
式中,sgn[]是符号函数, 是预测系数自适应速率,需要根据实验确定其最佳值。也可以考虑用平方差值函数确定预测系数,即
式(3.3.1.3)
自适应预测器的实现比较复杂,但是,当信号采样值相关距离大或信号统计特性的平稳性不佳,无法获得确切和恒定的相关系数的情况下,自适应预测是较理想的预测方法。
在许多情况下,一个宽带信号既受到周期性干扰的污染,又没有无信号的外部参考输入可以利用。此时,可以直接从原始输入引出,接入一具有固定延迟的延迟线,则可得到类似的参考输入支路。这种结构实际上是一个自适应预测器。
下图仿真采用的是线性预测滤波方法抑制窄带干扰的算法。
3.3.2 自适应预测的matlab仿真
图3.3.2
由上图可以看出预测信号在经过一段自适应过程后能够很好的跟踪接收信号,达到预测效果。
3.4 自适应均衡
3.4.1 自适应均衡的基本原理
自适应均衡器的工作过程包含两个阶段,一是训练过程,二是跟踪过程。在训练过程中,发送端向接收机发射一组已知的固定长度训练序列,接收机根据训练序列设定滤波器参数,使检测误码率最小。典型的训练序列是伪随机二进制信号或一个固定的波形信号序列,紧跟在训练序列后面的是用户消息码元序列。接收机的自适应均衡器采用递归算法估计信道特性,调整滤波器参数,补偿信道特性失真,训练序列的选择应满足接收机均衡器在最恶劣的信道条件下也能实现滤波器参数调整,所以,训练序列结束后,均衡器参数基本接近最佳值,以保证用户数据的接收,均衡器的训练过程成功了,称为均衡器的收敛。在接收用户消息数据时,均衡器还需要不断跟踪信道特性的变化并随信道特性的变化连续地改变均衡器参数。
3.4.2 自适应均衡器的实现
下面讨论自适应均衡器的具体实现。我们知道信道均衡器均衡器的作用是在信道通带内形成一个信道传输函数的逆,而在通带之外它的增益则很小或者为零。因而,由信道和均衡器级联组成的系统在通带内有基本均匀的振幅特性,而带外基本为零,相位响应在带内是频率的线性函数。如果条件满足,联合冲激响应就是辛格函数,符号间干扰可以消除。自适应调整也解决了信道本身未知,时变的特性所带来的困难。下图3.4.2为自适应均衡器的基本结构。
shape \* mergeformat
图3.4.2
逆模拟用一个自适应横向滤波器(lms滤波器),由于输入x(k)的信号带宽受信道带宽的限制,因而,自适应滤波器仅需在信道的通带内去均衡信道的振幅和相位特性。如果能知道信道的输入,并考虑到整个系统的延迟,就可得到期望响应d(k),但是一般是难于获得的。周期性地中断信息传输,发射一些已知的码序列,便可以进行自适应调整。
贝尔电话实验室的拉克提供了一种得到期望响应d(k)的方法,这种方法用自适应滤波器自身输出提供d(k),因此避免了对发射信号任何先验信息的依赖,拉克称该方法为“判决指向学习”。更确切地说,期望信号d(k)=sgn y(k),如图3.4.2所示,它是由一个量化滤波器产生的。由于数据是二进制的,若不考虑噪声影响,则经适当均衡了的信道在选通时间内的取样输出为+1或-1,然后将滤波器输出和经量化后的输出比较,产生误差信号e(k)。由于均衡器输出应该在适当的选通时间内唯一地表示各自的辛格脉冲,因而自适应只许在选通时间内进行,这可用与发射信号同步的闸门脉冲对误差信号e(k)选通来实现。从平均意义上来说,如果量化后的期望响应是正确的,则自适应将沿着正确的方向进行。
3.4.3 自适应均衡器的matlab仿真
下面将采用上述的实现方法进行matlab仿真,可以看出自适应均衡器对消除信道的干扰的作用。
图3.4.3.1
下图是对自适应均衡器在不同信噪比下误码率的仿真,能进一步说明自适应均衡器的作用。采用50万点仿真误码率:
图3.4.3.2
上图中虚线部分是没有经过均衡器的误码率曲线,实线部分是经过自适应均衡后误码率曲线,可以看出信号在经过自适应均衡后,误码率在逐渐下降,减少了接收信号的误码数,说明自适应均衡器能补偿信道特性的损失,从而提高了信道的稳定性。仿真也有不足之处,即曲线不够平滑。主要是由于仿真采用的是蒙特卡洛仿真,一般要求仿真点数达到几百万点。这里由于计算机运行速度慢,只采用了50万点。
本章介绍了自适应信号处理的相关应用,随着信号处理学科领域理论与技术的不断进步,自适应信号处理已成为信号与信息处理学科一个新的重要学科分支,相信它在诸如通信、雷达、声纳、工业控制、地震勘探及生物医学工程等领域会获得越来越广泛的应用。
结束语
根据自适应处理系统的滤波器部分和调整滤波器系统的自适应算法部分,本文分别对其进行了阐述,并举例说明了自适应处理系统的一些应用。
本文完成的工作主要分为:
(1)在学习和总结前人工作的基础上,对lms,rls,nlms,以及格型算法进行了详细的说明和推导,分析了lms与rls算法,lms与nlms算法在各自特点和性能上的差异。提出了自适应lms算法在噪声抵消,自适应预测和自适应均衡上应用,分析了这些应用的具体实现及相关收敛,稳态特性和参数说明。
(2)通过对各种自适应算法进行总结,对比和验证,利用matlab语言对算法进行仿真,比较相关收敛特性,稳态特性和相关参数取值,得出各自算法的优劣性。
(3)利用matlab对lms算法在自适应处理系统上的应用分别作了仿真,验证系统的可行性。
参考文献
[1]沈福民.自适应信号处理.西安:西安电子科技大学出版社,2001.3。
[2]邱天爽,魏东兴,唐洪,张安清.通信中的自适应信号处理.电子工业出版社,2005.12。
[3]樊昌信.通信原理m.北京:国防工业出版社,1995。
[4]gary a h,et al.digital lattice and ladder filter synthesis.ieee trans.audio electron acoust.,dec.1973,vol.au-21:491。
[5]itakura f,saito s.digital filtering techniques for speech analysis and synthesis.proc.7 int.conf.acoust.,1971,vol.3,paper 25c-1:261