ADSP课程实验报告.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADSP课程实验报告

实验一信号模型给定一个2阶自回归随机过程,信号模型为:(1-1)它是由单位方差的高斯白噪声激励一个线性移不变全极点系统产生的,该系统的两个极点为和,对应的滤波器参数和。现在分别用LSL自适应滤波器以及LMS自适应滤波器作为预测器,预测信号,从而得到对信号模型的两个参数的估计值和。算法模型2.1 LMS自适应算法LMS算法的最核心的思想是用平方误差代替均方误差,LMS算法的基本关系式为:(1-2)该式说明,LMS算法实际上是在每次迭代中使用粗略的梯度估计值来代替精确值。同时,有以下关系:(1-3)(1-4)其中为输出,为输入,为权系数,为误差信号。2.2 LSL自适应算法LSL自适应算法的计算流程总结如下:初始化(1-5)这里,是前向后向预测误差剩余的初始值。迭代计算(按时间n=1,2,…)(1-6)(1-7)(1-8)迭代计算(按阶m=0,1,2,…M-1)(1-9)(1-10)(1-11)(1-12)(1-13)(1-14)同阶的嵌套着按时间进行迭代计算。各阶前向和后向反射系数可以分别由以下二公式计算:(1-15)(1-16)M是给定滤波器的阶数。在本例中,可以推导出:(1-17)(1-18)仿真结果与分析在Matlab中将上一节信号模型及其参数估计计算过程转化为代码,仿真得出模型参数估计和在自适应过程中的收敛轨迹。仿真中迭代次数和滤波器阶数分别取为N=500、M=2。图1-1:2阶自回归随机过程的取样序列图1-2:LSL和LMS算法估计信号模型参数的性能比较图1-2是LSL和LMS算法估计信号模型参数的性能比较(,,)。当阶数增大时,LSL和LMS算法计算得到的和相当逼近和。但从图中可以看出,LSL算法比LMS算法收敛得更快。图1-3:初始预测误差剩余对LSL收敛性能的影响图1-3是初始预测误差剩余对LSL收敛性能的影响,画的是对参数估计的收敛轨迹。可以看出,在=0.1和1时,收敛较快。不过,=0.1和1时收敛轨迹开始时有一个冲击。当=10时,收敛稍慢,但是冲击大大消弱。程序源码%% LSL自适应算法clear all;%% 初始设定M = 2; %阶数N = 500; %迭代次数delt =0.01; %前向和后向预测误差剩余的初始值a1=1.558;a2=-0.81; %信号模型系数w=randn(1,N+2);color=rgb;x(1)=0;x(2)=0.1;for n=3:N+2 x(n)=a1*x(n-1)+a2*x(n-2)+w(n); %信号模型end%% 初始化for i=1:1:3 delt=10*delt; Ef = zeros(N,M); Delta = zeros(N,M+1); e0b(1,1) = x(1); e0f(1,1) = x(1); Eb(1,1) = delt; Ef(1,1) = delt; gama(1,1) = 1; for n = 2:N %按时间迭代 e0b(n,1) = x(n); e0f(n,1) = x(n); Eb(n,1) = Ef(n-1,1) + x(n)*x(n); Ef(n,1) = Ef(n-1,1) + x(n)*x(n); gama(n,1) = 1; for m = 1:M %按阶数迭代 e0b(1,m) = 0; Delta(1,m) = 0; gama(1,m) = 1; Ef(1,m) = delt; Eb(1,m) = delt; Delta(n,m+1) = Delta(n-1,m+1) + e0f(n,m)*e0b(n-1,m)/gama(n-1,m); e0f(n,m+1) = e0f(n,m) - Delta(n,m+1)*e0b(n-1,m)/Eb(n-1,m); e0b(n,m+1) = e0b(n-1,m) - Delta(n,m+1)*e0f(n,m)/Ef(n,m); Ef(n,m+1) = Ef(n,m) - Delta(n,m+1)*Delta(n,m+1)/Eb(n-1,m); Eb(n,m+1) = Eb(n-1,m) - Delta(n,m+1)*Delta(n,m+1)/Ef(n,m); gama(n-1,m+1) = gama(n-1,m) - e0b(n-1,m)*e0b(n-1,m)/Eb(n-1,m); end %参数计算 Kb(n,1) = (e0f(n,2) - e0f(n,1))/e0b(n-1,1); Kf(n,1) = (e0b(n,2) - e0b(n-1,1))/e0f(n,1); Kb(n,2) = (e0f(n,3) - e0f(n,2))/e0b(n-1,2); am1(n) = -Kf(n,1)*Kb(n,2) - Kb(n,1); am2(n) = -Kb(n

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档