7.3--LMS自适应滤波器_第1页
7.3--LMS自适应滤波器_第2页
7.3--LMS自适应滤波器_第3页
7.3--LMS自适应滤波器_第4页
7.3--LMS自适应滤波器_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、7.3  LMS自适应滤波器自适应滤波器实际上是一种能够自动调整本身参数的特殊维纳滤波器,在设计时不需要预先知道关于输入信号和噪声的统计特性,它能够在工作过程中逐步“了解”或估计出所需的统计特性,并以此为依据自动调整自身的参数,以达到最佳滤波效果。一旦输入信号的统计特性发生变化,它又能够跟踪这种变化,自动调整参数,使滤波器性能重新达到最佳。图7-3  自适应滤波器原理图自适应滤波器由参数可调的数字滤波器(或称为自适应处理器)和自适应算法两部分组成,如图7-3所示。参数可调数字滤波器可以是FIR数字滤波器或IIR数字滤波器,也可以是格型数字滤波器。输入信号x(n)通过参数可调

2、数字滤波器后产生输出信号(或响应) y(n),将其与参考信号(或称期望响应) d(n)进行比较,形成误差信号e(n),并以此通过某种自适应算法对滤波器参数进行调整,最终使e(n)的均方值最小。尽管自适应滤波器具有各种不同的算法和结构,但是,其最本质特征是始终不变的。这种最本质的特征可以概括为:自适应滤波器依据用户可以接受的准则或性能规范,在未知的而且可能是时变的环境中正常运行,而无须人为的干预。本章主要讨论的是基于维纳滤波器理论的最小均方(LMS)算法,可以看到LMS算法的主要优点是算法简单、运算量小、易于实现;其主要缺点是收敛速度较慢,而且与输入信号的统计特性有关。7.3.1  L

3、MS算法基本原理1. 自适应线性滤波器                   图7-4  单输入自适应线性滤波器           图7-5  多输入自适应线性滤波器          自适应线性滤波器是一种参数可自适应

4、调整的有限冲激响应(FIR)数字滤波器,具有非递归结构形式。因为它的分析和实现比较简单,所以在大多数自适应信号处理系统中得到了广泛应用。如图7-4所示的是自适应线性滤波器的一般形式。输入信号矢量x(n)的L+1个元素,既可以通过在同一时刻对L+1个不同信号源取样得到,也可以通过对同一信号源在n以前L+1个时刻取样得到。前者称为多输入情况,如图7-5所示,后者称为单输入情况如图7-4所示,这两种情况下输入信号矢量都用x(n)表示,但应注意它们有如下区别。单输入情况:       (7-18)多输入情况:   

5、;    (7-19)单输入情况下x(n)是一个时间序列,其元素由一个信号在不同时刻的取样值构成;而多输入情况下x(n)是一个空间序列,其元素由同一时刻的一组取样值构成,相当于并行输入。对于一组固定的权系数来说,线性滤波器是输出y(n)等于输入矢量x(n)的各元素的线性加权之和。然而实际上权系数是可调的,调整权系数的过程叫做自适应过程。在自适应过程中,各个权系数不仅是误差信号e(n)的函数,而且还可能是输入信号的函数,因此,自适应线性滤波器的输出就不再是输入信号的线性函数。   输入信号和输出信号之间的关系为单输入情况:  

6、     (7-20)多输入情况:       (7-21)如图7-4所示的单输入自适应线性滤波器,实际上是一个时变横向数字滤波器,有时称为自适应横向滤波器。它在信号处理中应用很广泛。自适应线性滤波器的L+1个权系数构成一个权系数矢量,称为权矢量,用w(n)表示,即         (7-22)这样,输出响应表示为         (7-23)参考响应与输出

7、响应之差称为误差信号,用e(n)表示,即       (7-24)自适应线性滤波器按照误差信号均方值(或平均功率)最小的准则,即       (7-25)来自动调整权矢量。2. 自适应滤波器的性能函数习惯上常称均方误差为自适应滤波器的性能函数,并记为、或,即       (7-26)由式(7-24)、(7-25)和式(7-26),均方误差表示式为      

8、 (7-27)在d(n)和x(n)都是平稳随机信号的情况下,输入信号的自相关矩阵R,d(n)与x(n)的互相关矩阵P都是与时间无关的恒定二阶统计,分别定义为       (7-28)       (7-29) 以上二式对应于多输入情况,对于单输入情况,不难写出类似结果。将上二式代入式(7-27),得到均方误差的简单表示形式       (7-30)为了书写方便这里省略了w(n)的时间标记。从该式可看出,在输

9、入信号和参考响应都是平稳随机信号的情况下,均方误差是权矢量w各分量的二次函数。这就是说,若将上式展开,则w各分量只有一次项和二次项存在。的函数图形是L+2维空间中一个中间下凹的超抛物面,有唯一的最低点,该曲面称为均方误差性能曲面,简称性能曲面,如图7-6所示。自适应是自动调整权系数,使均方误差达到最小值的过程,这相当于沿性能曲面往下搜索最低点。图 7-6  均方误差性能曲面3. 最速下降法从前面的讨论中已经知道,在输入信号和参考响应都是平稳随机信号的情况下,自适应线性组合器的均方误差性能曲面是权矢量w(n)的二次函数。由于自相关矩阵为正定的,故此超抛物面向上凹,表示均方误差函数有唯一

10、的最小值,该最小值所对应的权系数矢量为自适应滤波器的最佳权矢量,即等于维纳滤波器的权矢量。如果自适应滤波器的权系数个数大于2,其性能表面的超抛物面仍有唯一的全局最优点。在许多实际应用中,性能曲面的参数,甚至解析表示式都是未知的,因此,只能根据已知的测量数据,采用某种算法自动地对性能曲面进行搜索,寻找最低点,从而得到最佳矢量。最常见的搜索方法是最速下降法(Method of Steepest Descent),它在工程上比较容易实现,有很大的实用价值。下面进行简单讨论。均方误差性能曲面的梯度用表示,定义为       (7-31)将式(

11、7-31)代入上式,得到       (7-32)最小均方误差对应的权矢量称为最佳权矢量或维纳解,用表示。在性能曲面上,该点梯度等于零,即       (7-33)由此解出       (7-34)式(7-34)称为维纳霍夫方程。将上式代入式(7-31),即可得到自适应滤波器的最小均方误差为       (7-35)利用矩阵运算规则,可以将上式简化为

12、0;      (7-36)由式(7-17)可知,只要知道了输入信号的自相关矩阵R和期望响应与输入信号的互相关矢量P,就可以由该式直接得出最佳权矢量。但是在实际应用中,这种方法往往是难以实现的。一方面,我们通常很难得到有关信号和噪声的统计先验知识;另一方面,当R的阶数较高时,直接计算R的逆矩阵有一定的困难。因此,最佳权矢量的实现一般都采用迭代方法,一步一步地在性能表面上搜索,并最终达到最小均方值和实现最佳权矢量。最速下降法是一种古老而又非常有用的通过迭代寻找极值的方法。从几何意义上来说,迭代调整权矢量的结果是使系统的均方误差沿性能曲面最陡的方向

13、向下搜索曲面的最低点,曲面的最速下降方向是曲面的负梯度方向,或性能函数的梯度的反方向连续调整滤波器的权矢量w(n),梯度矢量可以表示为       (7-37)这样,最速下降法可以表示为       (7-38)式中,是正值常数,称为收敛因子,用于调整自适应迭代的步长。为了证明最速下降法满足,即在迭代的每一步都满足在性能表面上下降,将性能函数在处进行一阶泰勒展开,并利用式(7-38),得到       (7-39)由

14、于收敛因子是正值常数,因此,随着的增加,性能函数不断减小,当时,性能函数趋于最小值。最速下降法的自适应迭代公式可以通过把式(7-32)代入式(7-38)得到,即       (7-40)最速下降法的稳定性取决于两个因素,一是收敛因子的取值,二是自相关矩阵R的特性。定义权误差矢量v(n)为       (7-41)利用上式和,消去式(7-40)中的互相关矢量,有       (7-42)式中,为单位阵。式(7-42)再

15、次强调了最速下降法的稳定性是由和控制的。利用正交相似变换,可以将自相关阵表示为       (7-43)式中,Q为正交矩阵,矩阵Q的各个列矢量为自相关矩阵R的特征值相对应的特征矢量。为一对角阵,其对角元素为矩阵R的特征值。通常将这些特征值表示为,且均为正实值。每一个特征值对应矩阵Q中一列特征矢量。将式(7-43)代入式(7-42),有             (7-44)上式两边左乘,并利用正交矩阵的性质,有 

16、60;            (7-45)定义       (7-46)有       (7-47)设的初始值为       (7-48)再假定自适应滤波器权矢量的初始值为,则上式简化为       (7-49)考虑矢量的第个模式,则式(7-30)所示的最速下

17、降法的迭代公式变为       (7-50)式中,为自相关矩阵R的第个特征值,为矢量的第个元素。上式为的一阶齐次方程。若设的初始值为,则该差分方程的解为       (7-51)由于矩阵R为正定阵,其特征值均为正实值。这样, 构成了一个等比级数,其公比为。为了保证最速下降法稳定收敛,必须有       (7-52)即保证的幅值小于1。当迭代次数时,最速下降法的各个模式均趋于0,而与初始状态无关。这意味着当时,自适应滤

18、波器的权矢量趋于最佳权矢量。将式(7-51)写成矢量形式,有       (7-53)由式(7-52)可以得到最速下降法收敛因子的限制条件:       (7-54)式中,为自相关矩阵R的最大的特征值。最速下降法的主要优点是它的简单性,然而,这种方法需要大量的迭代,才能使算法收敛于充分接近最优解的点。这个性能是由于最速下降法是以围绕当前点的性能表面的一阶近似为基础的。在实际应用中,如果计算的简单性相对重要,则选择最速下降法是合适的。然而,如果收敛速度是更重要的,可以选用牛顿法

19、及其改进方法,这里就不再讨论了。【例7-2】均方误差性能函数为,初值权值为0,=0.05,给出最速下降法的学习曲线。已知                                        

20、                                                    

21、60;                                                 

22、60;                            即按式7-30的形式可得:                    &

23、#160;                                                 &

24、#160;                                            由式7-34可得:   

25、0;          由式7-36可得:                                        

26、;                                      由式7-41可知最速下降法学习曲线为:         

27、60;                                                  &#

28、160;                               由7-46式定义可知                 

29、60;                                                 

30、60;                                                 

31、60;            由7-41式权误差矢量定义知      可以解得自相关矩阵R的第m个特征值为:                            

32、60;                                                  &#

33、160;                                    自相关矩阵R的特征值对应特征矢量为列矢量构成的正交阵Q为:         &#

34、160;                                                   

35、                                                  

36、                   则    ,      ,                       

37、               所以                                   

38、60;                                                 

39、60;                在MATLAB中,计算方阵的特征值与特征向量可以使用如下函数:                             其

40、中矩阵D的主对角线由A的特征值构成,矩阵V的列矢量由对应的特征向量构成。本例的学习曲线如图7-7所示。图7-7  最速下降法学习曲线4. 最小均方(LMS)算法在最速下降法中,如果我们能够在迭代过程的每一步得到梯度的准确值,并且适当地选择了收敛因子,则最速下降法肯定会收敛于最佳维纳解。然而,在迭代的每一步准确地测量梯度矢量是难以做到的。因为这需要具有关于自相关矩阵R和互相关矢量P的先验知识。在实际应用中,梯度矢量需要在迭代的每一步依据数据进行估计。换句话说,自适应滤波器的权矢量是根据输入数据在最优准则的控制下不断更新的。Widrow等人提出的最小均方算法(LMS)就是一种以期望响应和

41、滤波器输出信号之间误差的均方值最小为准则,依据输入信号在迭代过程中估计梯度矢量,并更新权系数以达到最佳的自适应迭代算法。LMS算法是一种梯度最速下降算法,其显著特点简单性、计算量小、易于实现。这种算法不需要计算相关矩阵,也不需要进行矩阵运算。只要自适应线性组合器每次迭代运算时都知道输入信号和参考响应,选用LMS算法是很合适的。现在的任务是采用如何来估计均方误差函数的梯度,并以此梯度估值来替代最速下降法中理论情况下的梯度真值。LMS算法进行梯度估计的方法是以误差信号每一次迭代的瞬时平方值替代其均方值,这样,原来由式(7-14)定义的梯度可近似为    &#

42、160;  (7-55)根据上式并利用式(7-24),得到       (7-56)实际上,只是单个平方误差序列的梯度,而则是多个平方误差序列统计平均的梯度,所以LMS算法就是用前者作为后者的近似。用梯度估值替代最速下降法中的梯度真值,有       (7-57)式中,为自适应滤波器的收敛因子。式(7-57)即为著名的LMS算法的滤波器权矢量迭代公式。可以看出,自适应迭代下一时刻的权系数矢量可以由当前时刻的权系数矢量加上以误差函数为比例因子的输入矢量得到。【例7-3

43、】用MATLAB程序实现LMS算法。如果给定输入序列x(n),期望响应序列d(n),步长和要求的自适应FIR滤波器长度N,我们就能够利用LMS算法的迭代公式(7-57)来确定自适应滤波器的权系数,下面给出实现这种算法的MATLAB函数,函数名为lms。例程7-2  LMS算法Functionh,y=lms(x,d,u,N)%LMS算法的实现%h,y=lms(x,d,u,N)%h=估计的FIR滤波器%y=输出数组y(n)%x=输入数组x(n)%d=预期数组d(n),其长度应与x相同%u=步长%N=FIR滤波器的长度M=length(x);y=zeros(1,M);h=zeros(1,N

44、);for n=N:M      x1=x(n:-1:n-N+1);       y=h*x1'       e=d(n)-y;       h=h+u*e*x1;end   7.3.2  LMS算法性能分析1. LMS算法的收敛性收敛性是自适应滤波器的一个非常重要的指标。为了检验LMS算法的收敛性,首先需要证明式(7-56)所示

45、的梯度估计是无偏的。将式(7-56)的两边取数学期望,得到       (7-58)由此可见,LMS算法对性能函数梯度的估值是无偏的。这就是说,如果每次迭代调整权矢量前能够进行多次观测,获得多个x(n),并对按式(7-56)计算得到的多个梯度估计进行统计平均,然后依据梯度的统计平均值来调整权矢量,那么,迭代结果必能得到理想的最佳权矢量。但是,实际运用中每次调整权矢量前,通过观测只能得到一个x(n),再由式(7-56)得到一个,据此调整权矢量得到的w(n)必然是随机的。当迭代过程收敛后,权矢量将在最佳权矢量附近随机起伏,这等于在最佳权矢

46、量上叠加了一个噪声。 由式(7-57)可知,当前时刻权矢量w(n)只是过去输入矢量的函数,如果假设这些输入矢量相互独立,那么w(n)将与x(n)无关。为了研究方便起见,假设LMS算法的连续两次迭代时间足够长,以保证输入信号x(n)和x(n+1)互不相关,即满足了w(n)将与x(n)无关的要求。对式(7-57)两边取数学期望,有       (7-59)在前面我们讨论最速下降法时,得到的权矢量为       (7-60)将上面的两个式子相对照,可以看出,LMS算法得到

47、的权矢量,其期望值与最速下降法得到的权矢量本身都服从相同的迭代计算规律。因此,用相同的推导方法能够得出这样的结论:当式(7-60)的条件得到满足时,随着迭代次数趋近于无穷,权矢量的期望值将趋近于最佳权矢量。对于横向自适应滤波器来说,输入信号的自相关矩阵的迹可用输入信号功率表示为       (7-61)式中,是输入信号功率。因此,式(7-51)的收敛条件可表示为       (7-62)这是工程上用起来很方便的公式,因为输入信号功率很容易根据输入信号取样值来估计。最后需要说明

48、的是,前面所作的关于输入信号功率是平稳随机信号和输入信号相继矢量不相关的假设对于LMS算法的收敛不是必需的。因为这些假设仅仅简化了式(7-59)的推导,如果没有这些假设,仍可推导出类似于式(7-60)的结果,只是其中的不再是平稳随机信号的自相关矩阵。但这不影响算法的收敛条件。【例7-4】时域LMS算法收敛曲线的仿真。例程7-3  LMS算法收敛性%  该程序实现时域LMS算法,并用统计的方法仿真得出不同步长下的收敛曲线clear            &#

49、160;                %   清空变量空间g=100;                          %   统计仿真次数为gN=1024; 

50、60;                      %   输入信号抽样点数Nk=128;                         

51、%   时域抽头LMS算法滤波器阶数pp=zeros(g,N-k);                 %   将每次独立循环的误差结果存于矩阵pp中,以便后                     &

52、#160;         %   面对其平均u=0.001;                        %   收敛因子for q=1:g          

53、60;      t=1:N;    a=1;    s=a*sin(0.5*pi*t);            %   输入单频信号s     figure(1);    plot(t,real(s);         

54、;       %   信号s时域波形    title('信号s时域波形');    xlabel('n');    ylabel('s');    axis(0,N,-a-1,a+1);    xn=awgn(s,3);          

55、;     %   加入均值为零的高斯白噪声,信噪比为3dB        % 设置初值    y=zeros(1,N);                %    输出信号y    y(1:k)=xn(1:k);   &

56、#160;          %   将输入信号xn的前k个值作为输出y的前k个值    w=zeros(1,k);                %    设置抽头加权初值    e=zeros(1,N);     &

57、#160;          %    误差信号    % 用LMS算法迭代滤波    for i=(k+1):N               XN=xn(i-k+1):(i);            

58、;     y(i)=w*XN'               e(i)=s(i)-y(i);               w=w+u*e(i)*XN;         end     

59、;pp(q,:)=(e(k+1:N).2;     end  for b=1:N-k         bi(b)=sum(pp(:,b)/g;     %   求误差的统计平均  end  figure(2);                

60、0;   %   算法收敛曲线  t=1:N-k;  plot(t,bi);  hold off                     %   将每次循环的图形显示结果保存下来【程序运行结果】  图7-8  LMS算法收敛曲线2. 自适应时间常数与学习曲线在自适应调整权系数的过程中,均方误差是迭代次数的函数

61、,由该函数给出的曲线称为学习曲线。根据均方误差函数和最小均方误差表达式,可以得到均方误差函数的另一种表达形式       (7-63)再根据我们所定义的权误差矢量,代入上式,得到       (7-64)再经过正交相似变换,将坐标轴转至主轴坐标系,得到       (7-65)将式(7-53)代入式(7-65)中,有       (7-66)由于矩阵和矩阵均

62、为对角阵,因此有       (7-67)将该式展开后,得到       (7-68)式(7-68)即为LMS算法的自适应学习曲线,其中,为矢量的第k个分量,为对角阵中第k个对角元素。由此我们可以看出,均方误差函数是迭代次数n的指数函数,只要能够满足式(7-54)所规定的收敛条件,均方误差将随着迭代的进行呈现出指数下降的趋势,并最终趋近于维纳滤波所满足的最小均方误差。从式(7-68)还可以看出,学习曲线是M+1条指数曲线之和,每条指数曲线上的离散点的均方误差值按几何级数衰减,

63、若定义其等比级数的公比为       (7-69)再用一指数包络曲线来拟合这一等比级数,则可以得到       (7-70)如果取该式的前两项,就可以得到其近似值为       (7-71)比较式(7-69)和式(7-71),得到         (7-72)式(7-72)即为LMS算法的第k个权系数的衰减时间常数。由公比的定义式(7-52)及自适

64、应学习曲线式(7-51),可以得到均方误差时间常数与权系数时间常数的关系为       (7-73)这样,第k个的均方误差学习曲线时间常数的计算公式为       (7-74)学习曲线时间常数是用迭代次数来度量的,若用其取样间隔来度量,则称之为自适应时间常数,常用表示。在LMS算法中,每次梯度估计是基于一个输入数据样本进行的,这样,输入数据的时间常数就与均方误差学习曲线的时间常数相等,即       (7-75)学习

65、曲线时间常数的大小决定了自适应学习过程的长短及收敛的快慢,根据上面各式,时间常数是与收敛因子成反比的,即步长越小,学习曲线收敛越慢。3. 稳态误差及失调系数LMS算法之所以简单,主要是因为它对梯度矢量各分量的估计是根据单个数据取样值得到的,没有进行平均。也正是这个原因,才使梯度估计中存在噪声。并且由于LMS算法的加权矢量w(n)具有随机性,使得LMS算法的将高于最速下降法的。特别是,对于LMS算法来说,在收敛到最佳值后,由于加权矢量继续按公式       (7-76)变化,其校正值不为零而是继续随机起伏,从而使w(n)也继续随机起伏。

66、这就使得LMS算法的收敛到后,均方误差将大于维纳误差,其偏移量用表示,的期望值称为超量均方误差,或“超量MSE”,即       (7-77)梯度噪声的存在,使得收敛后的稳态权矢量在最佳权矢量附近随机起伏,这意味着稳态均方误差值总大于最小均方误差,且在附近随机地改变,如图7-9所示。图7-9  LMS算法的稳态误差Widrow引入失调系数       (7-78)来描述LMS算法(和其他算法)的稳态误差对维纳误差的相对偏差。下面对LMS算法的失调系数进行估计。首先对

67、权矢量噪声的方差的近似值进行估计,令第n次迭代中梯度估计的噪声矢量用N(n)表示,于是有       (7-79)若LMS算法已收敛到最佳权矢量附近,则这时上式中的真实梯度将趋近于零,于是得到       (7-80)而其协方差为       (7-81)由于与近似地不相关,故式可化简为        (7-82)经正交变换,将上式变换到主轴坐标系,令,得到

68、       (7-83)这是梯度估计噪声的方差的近似计算公式。用式(7-78)中的代替式(7-38)中的,得到       (7-84)将上式变换到平移坐标系,得       (7-85)进行正交变换后,可得到       (7-86)第二步,我们就可以对权噪声矢量v(n)的方差进行估计,推导过程用到了式(7-86),可得到  

69、0;    (7-87)式中是对角矩阵,交叉项之积的期望值等于零,则       (7-88)通过化简,可以得到           (7-89)该式建立了梯度估计噪声协方差与权矢量协方差之间的关系。将式(7-83)代入上式,得到       (7-90)若选取为很小的数值,则的值将远小于1,上式得到进一步近似    

70、   (7-91)现在来估计LMS算法的失调系数。将式(7-77)变换到主坐标系,得       (7-92)假定自适应过渡过程已经结束,平方误差已接近于性能曲面的最低点,这样,可认为是的协方差矩阵中的元素。于是,可将上式进一步近似为       (7-93)根据式(7-93),可得到LMS算法的失调系数的表达式为       (7-94)它正比于自适应增量常数。对照式(7-74),学习曲线的时间

71、常数为       (7-95)式中,下标k表示第k个学习曲线时间常数。根据上式可将相关矩阵R的迹写成       (7-96)式中,下标av表示“平均”。将式(7-95)代入式(7-94),得到       (7-97)在所有特征值相等的情况下,上式得到进一步的简化为       (7-98)上式说明了失调系数、学习曲线时间常数以及权系数的个数三者的关系。

72、由该表达式可以看出,选择大的自适应时间常数,可以使失调系数减小,而对于给定的时间常数,失调系数随加权数目成正比例增加。实验表明,这是一个很好的近似关系式。在特征值未知的情况下,这个近似式对于设计自适应系统是很有用的。【例7-5】如图7-10所示,自适应滤波器有两个实加权系数,输入随机信号的样本间隔相互独立,且他的平均功率为;信号周期为N=16个样点。求最佳权向量和使该系统收敛的自适应步长因子的取值范围。图 7-10  自适应线性滤波器 先求出输入信号的相关值。对单频正弦波信号求相关可等效为周期内在时间上求平均,即再计算期望响应和输入信号的互相关值:因此,输入信号的自相关矩阵为则均方误

73、差性能函数为:由正规方程可得最佳加权矢量:为求出的取值范围,可求出相关矩阵R的特征值:   而。有两种的取值方法: 和按第二种取法得:实际使用LMS算法,的取值约为上式给出的上界的1/10量级。7.3.3  LMS自适应滤波器的改进从基本的LMS算法出发,通过改进LMS算法的收敛特性,减小稳态均方误差和计算复杂度等基础上,相继提出了LMS自适应滤波器的一些改进形式,以下内容列举了其中的三种算法。1. 归一化LMS算法(NLMS)通过对前面两个小节对LMS算法的基本原理和性能的分析得知,LMS算法的收敛性和稳定性能均与自适应滤波器权系数矢量的系数数目和输入信号的功率

74、直接相关。为了确保自适应滤波器的稳定收敛,出现了对收敛因子进行归一化的NLMS算法,这种算法的归一化收敛因子表示为       (7-99)式中,为输入信号x(n)的方差。直接计算是很难求出结果的,通常的做法是用时间平均来代替上式中的统计方差,即       (7-100)式中,是对的近似估计。将归一化收敛因子代入LMS算法,得到        (7-101)通常我们还要在上式中的分母上加上一个小的正的常数

75、,这样可以避免0值的出现。于是,我们得到的NLMS算法迭代公式表示为       (7-102)由于式(7-101)中的归一化收敛因子是在迭代过程中随时间变化的,因此,实际上NLMS是一种归一化变步长算法。【例7-6】考虑一个线性自适应均衡器系统,用NLMS算法进行实现,画出一次实验的误差平方的收敛曲线,给出最后设计滤波器系数。一次实验的训练序列长度为500。进行20次独立实验,画出误差平方的收敛曲线。给出3个步长值的比较。假设随机数据产生双极性的随机序列xn,它随机地取+1和-1。随机信号通过一个信道传输,信道性质可由一个三系数FI

76、R滤波器刻画,滤波器系数分别是0.3,0.9,0.3。在信道输出加入方差为平方高斯白噪声,设计一个有11个权系数的FIR结构的自适应均衡器,令均衡器的期望响应为xn-7,选择几个合理的白噪声方差平方(不同信噪比),进行实验。例程7-4  归一化LMS算法MATLAB程序实现如下:1. NLMS算法1次实验%  N=训练序列长度 %  u=收敛因子clear; N=500;db=20;sh1=sqrt(10(-db/10);u=1; error_s=zeros(1,N); for  loop=1:1     

77、0;  w=0.05*ones(1,11)'        V=sh1*randn(1,N );         K=randn(1,N)-0.5;        x=sign(K);for n=3:N;            M(n)=0.3*x(n)+0.9

78、*x(n-1)+0.3*x(n-2);endz=M+V; for n=8:N;            d(n)=x(n-7);end        a(1)=z(1)2; for n=2:11;             a(n)=z(n).2+a(n-1);endfor n=12:N;    

79、60;       a(n)=z(n).2-z(n-11)2+a(n-1);end for n=11:N;             z1=z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8) z(n-9) z(n-10)'           

80、 y(n)=w'*z1;            e(n)=d(n)-y(n);                                 

81、;                                                   

82、60;   w=w+u./(eps+a(n).*z1.*conj(e(n);end                                        

83、0;                                                   &#

84、160;   error_s=error_s +e.2;end  w error_s=error_s./1; n=1:N;plot(n,error_s);xlabel('n (当u=1;DB=20时)');                            &

85、#160;                                                 &

86、#160; ylabel('e(n)2'); title('NLMS算法1次实验误差平方的均值曲线'); 2.NLMS算法20次实验clear; N=500;  db=20;sh1=sqrt(10(-db/10); u=1; error_s=zeros(1,N); for   loop=1:20        w=0.05*ones(1,11)'        V=sh1*randn(1

87、,N );         K=randn(1,N)-0.5;        x=sign(K);for  n=3:N;           M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2);end        z=M+V;for n=8:N; 

88、            d(n)=x(n-7); end        a(1)=z(1)2; for n=2:11;              a(n)=z(n).2+a(n-1);endfor n=12:N;         

89、    a(n)=z(n).2-z(n-11)2+a(n-1);end for n=11:N;             z1=z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8) z(n-9) z(n-10)'            y(n)=w'*z1;            e(n)=d(n)-y(n);                                 &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论