目录题目一.............................................................................................................................-1-1.1自适应算法的基本原理...............................................................................-1-1.2LMS算法简介..............................................................................................-1-1.3RLS算法简介...............................................................................................-1-1.4仿真过程简介...............................................................................................-2-1.5结果分析.......................................................................................................-5-题目二.............................................................................................................................-5-2.1L_D算法简介和计算量分析:...................................................................-5-2.2L_D算法编程过程简介,以及程序若干说明...........................................-6-2.3信号生成和处理...........................................................................................-6-2.4程序解释.......................................................................................................-6-2.5结果分析.......................................................................................................-7-2.6若干疑问.......................................................................................................-8-现代数字信号处理课程仿真作业-1-题目一题目:按照课本第三章63页的要求,仿真实现LMS算法和RLS算法,比较两种算法的权值收敛速度,并对比不同λ值对RLS算法的影响。解答:1.1自适应算法的基本原理自适应算法的基本信号关系如下图所示:Σ自适应算法参数可调数字滤波器x(n)d(n)y(n)e(n)-+图1自适应滤波器框图输入信号x(n)通过参数可调的数字滤波器后产生输出信号y(n),将其与参考信号d(n)进行比较,形成误差信号e(n)。e(n)通过某种自适应算法对滤波器参数进行调整,最终是e(n)的均方值最小。当误差信号e(n)的均方误差达到最小的时候,可以证明信号y(n)是信号d(n)的最佳估计。1.2LMS算法简介LMS算法采用平方误差最小的原则代替最小均方误差最小的原则,信号基本关系10()()()()()()(1)()2()()(0,1,2,....1)NiiiynwnxniendnynwnwnenxniiN写成矩阵型式为:()()()()()()(1)()2()()TynWnXnendnynWnWnenXn式中,W(n)为n时刻自适应滤波器的权矢量,011()[(),(),....()]TNWnwnwnwn,N为自适应滤波器的阶数;X(n)为n时刻自适应滤波器的参考输入矢量,由最近N个信号采样值构成,()[(),(1),....(1)]TXnxnxnxnN;d(n)是期望的输出值;e(n)为自适应滤波器的输出误差调节信号(简称失调信号);μ是控制自适应速度与稳定性的增益常数,又叫收敛因子或步长因子。1.3RLS算法简介RLS算法是用二乘方的时间平均的最小化准则取代最小均方准则,并按时间进行迭代计算。其基本原理如下所示:称为遗忘因子,它是小于等于1的正数。现代数字信号处理课程仿真作业-2-:dn参考信号或期望信号。():nw第n次迭代的权值。:n均方误差。按照如下准则:20minnnkknek(0.1)即越旧的数据对n的影响越小。对滤波器系数w求偏导数,并令结果等于零知02()0nnkknekkxw(0.2)整理得到标准方程00()()nnnkTnkkkkkdkkxxwx(0.3)定义0()()nnkTknkkRxx(0.4)0()()nnkkndkkPx(0.5)标准方程可以化简成形式:()()nnRwP(0.6)经求解可以得到迭代形式(1)()(1)(1)TnnnnRRxx(0.7)(1)()(1)(1)nndnnPPx(0.8)定义:1()()nnTR,则可知T的迭代方程为11()[(1)()()]TnnnnTTxx(0.9)系数的迭代方程为()(1)()(|1)nnnennwwk(0.10)其中增益()nk和误差(|1)enn的定义分别为(|1)()(1)()Tenndnnnwx(0.11)(1)()()()(1)()TnnnnnnTxkxTx(0.12)由上边分析可知,RLS算法递推的步骤如下:1.在时刻n,已经知道(1),(1)nnwT和(),()dnnx也已经存储在录波器的实验部件中2.利用公式(1.9)、(1.10)、(1.11)和(1.12)计算(),(),(),(|1)nnnennTwk,并得到滤波器的输出相应()yn和误差()en即:()()()Tynnnwx()()()endnyn3.进入第1n次迭代优点--其优点是收敛速度快,而且适用于非平稳信号的自适应处理。条件--:是每次迭代时都知道输入信号和参考信号,计算量比较大1.4仿真过程简介仿真过程按照如下过程进行现代数字信号处理课程仿真作业-3-1.信号产生:首先产生高斯白噪声序列()kn,然后将此通过一个简单的二阶自回归滤波器生成信号()xn,该滤波器的参数为121.6,0.8aa2.将步骤一生成的信号通过LMS和RLS自适应滤波器进行处理3.绘制各种图形曲线按照步骤一,生成信号的程序如下所示,生成的信号包含n个点%信号生成n=600;%信号点数a1=-1.6;%生成信号所用AR(2)滤波器的参数a2=0.8;x=zeros(1,n)';k=randn(1,n)';x(1)=k(1);x(2)=k(2)-a1*x(1);fori=3:%迭代生成信号x(i)=k(i)-a1*x(i-1)-a2*x(i-2);end;信号和高斯白噪声的波形如(图1)所示50100150200250300350400450500550600-10-8-6-4-20246810nx(n)数据x和高斯白噪声s噪声s数据x图2数据和高斯白噪声波形生成信号之后,将信号输入LMS和RLS滤波器进行处理,其matlab程序如下:L=2;%滤波器长度%LMS滤波u=0.002;w=zeros(L,n);%LMS滤波器的系数fori=(L+1):nX=x(i-1:-1:(i-L));y(i)=X'*w(:,i);e(i)=x(i)-y(i);w(:,(i+1))=w(:,i)+2*u*e(i)*X;end;a1=-w(1,:);nn=1:n;figure(1);plot(nn,a1(nn),'b--');holdon;%RLS滤波L=2;lam=1;%lamda取值现代数字信号处理课程仿真作业-4-w=zeros(L,n);%权系数,初值为0T=eye(L,L)*10;%T初始值为10fori=(L+1):nX=x(i-1:-1:(i-L));K=(T*X)/(lam+X'*T*X);e1=x(i)-w(:,i-1)'*X;w(:,i)=w(:,i-1)+K*e1;y(i)=w(:,i)'*X;e(i)=x(i)-y(i);T=(T-K*X'*T)/lam;end;a1=-w(1,:);plot(nn,a1(nn),'r');holdon;dr=-1.6*ones(1,n);%系数收敛到-1.6plot(nn,dr(nn),'g:');%绘制收敛参考线axis([1,n,-2,0]);gridon;title('LMS&RLS算法对比')xlabel('n');ylabel('a1(n)');legend('LMS算法收敛曲线','RLS算法收敛曲线');迭代之后生成的图形,如(图3)(图4)所示。50100150200250300350400450500550600-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20LMS&RLS算法对比na1(n)LMS算法收敛曲线RLS算法收敛曲线图3LMS算法和RLS算法收敛曲线对比现代数字信号处理课程仿真作业-5-50100150200250300350400450500550600-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20lambda对RLS算法的影响na1(n)lambda=1lambda=0.98图4λ对RLS收敛速度的影响1.5结果分析由(图3)可以看到RLS算法系数在1的时候可以很快的收到最佳值,而LMS算法则需要花费更多的时间。由(图4)可知越小,RLS算法的收敛速度越慢。题目二题目:用matlab编程实现p阶的Levinson-Durbin算法。并对算法进行验证。验证可以采用AR(2)过程(0121,0,0.81baa)和MR(2)过程(1,1,1nb)大约1000个点进行验证。对于AR信号采p=2的L_D算法验证,对于MR采用p=10的算法进行验证。绘制出两种情况AR功率谱并将反射系数列表。简单描述L_D算法(一个p阶L_D算法总共需要的计算次数)。解答:2.1L_D算法简介和计算量分析:Levinson-Durbin算法是一种利用迭代的方法计算Yule-walker方程,从而得到AR模型参数的方法。其迭代的过程如下所示。Youk阶模型参数求k+1阶模型参数的计算公式:2,1,,00(0)()(1),1kkkiikkkikiRaRiDaRkia(2.1)12kkkD(2.2)22211(1)kkk(2.3)1,,1,11,11,1,2,...,;kikikkkikkkaaaika(2.4)上述方程中间,方程(2.1)需要的计算次数为2k+1次乘法和2k次加法;方程(2.2)现代数字信号处理课程仿真作业-6-需要一次除法;方程(2.3)需要一次加法一次乘