编辑: GXB156399820 2019-07-08
华中科技大学 研究生课程设计报告本 现代数字信号处理课程设计报告 Advanced Digital Signal Processing Report 学生姓名潘启俊 学生学号M200771472 系、 年级电信系07级研究生 类别硕士 课程科目现代数字信号处理 提交日期2007-12-6 HOMEWORK4 1.

LMS滤波器结构 根据序列模型易知,这里滤波器应该为单输入自适应线性组合器,且具有二阶FIR型结构,具体的结构如下面的框图所示: 2. LMS算法模型 LMS算法最核心的思想是用平方误差代替均方误差.这样原来的梯度现在用下式来近似,即 根据上式得到 将上式代入最陡下降法迭代计算权矢量公式得到 其中,为随时间变化大小可调的权系数矢量;

是控制搜索步长的参数,称为自适应增益常数,或收敛参数;

是性能曲面的梯度;

是当前时刻的误差;

是输入序列矢量. 3.LMS数据模型 输入序列x(n)由零均值、单位方差的白噪声w(n)通过如下自回归模型产生.其中,模型参数.这里我将画出权系数逐渐收敛于-1.6的过渡特性,采用LMS算法确定相应的模型参数,LMS自适应参数分别为0.02和0.06. 4.MATLAB仿真 4.1MATLAB源程序 function y=f() global mu w=lms_(0.02) plot(w(:,1),'--k');

hold on;

plot(w(:,2),'--k');

u=lms_(0.06) plot(u(:,1));

hold on;

plot(u(:,2));

function w=lms_(mu) N=150;

v=wgn(1,N,0.1);

x(1)=v(1);

x(2)=1.6*x(1)+v(2);

d(1)=0.2*x(1);

d(2)=0.2*x(2)+0.7*x(1);

w=zeros(N,2);

for i=3:N x(i)=1.6*x(i-1)-0.8*x(i-2)+v(i);

d(i)=0.2*x(i)+0.7*x(i-1);

end for i=2:N y(i)=x(i)*w(i,1)+x(i-1)*w(i,2);

e(i)=d(i)-y(i);

w(i+1,:)=w(i,:)+mu*e(i)*[x(i) x(i-1)];

end end 4.2MATLAB输出图形:如下图 图4自适应权系数a(n)的过渡过程 1.FTF算法模型 (1)产生噪声序列,取样序列和参考响应. (2)初始化 ,这里是一个小的正的常数. (3)迭代计算(按时间你=1,2…) a.前向预测误差滤波器参数 b.N+1阶角参量 c.N+1阶增益滤波器权矢量 d.后向预测误差滤波器参量、N阶角参量和N阶增益(滤波器权)矢量(注意,这些参量的计算是交叉进行的) e.最小二乘横向自适应滤波器参数 2.FTF数据模型 序列由零均值、单位方差的白噪声通过如下自回归模型 其中=1.558, =-0.81 3.MATLAB仿真 3.1.MATLAB源程序 %signal mode=step1 N=100;

i=1:N;

noise=wgn(1,N,0.1);

x(1)=noise(1);

x(2)=1.5*x(1)+noise(2);

for i=3:N x(i)=1.558*x(i-1)-0.81*x(i-2)+noise(i);

end %expective x d(1)=0.9*x(1);

for i=2:N d(i)=0.7*x(i)-0.2*x(i-1);

end %initialize all data=step2 a=[0 0];

b=[0 0];

weight=zeros(N,2)two parameters gain=[0 0];

angle=1.0;

two rank err_for_leavings=0.1;

err_bac_leavings=0.1;

%itrative computation according to time step3 for i=3:1:N err_for_leavings_last=err_for_leavings;

%forward prediction=a err_for_predict=x(i)-[x(i-1) x(i-2)]*a';

err_for=angle*err_for_predict;

err_for_leavings=err_for_leavings+err_for*err_for_predict;

%get foward error leavings a=a+err_for_predict*gain;

get a2 %three rank angle b angle_3=angle*err_for_leavings_last/err_for_leavings;

%three rank gain filter=c gain_3=[0 gain]+err_for/err_for_leavings*[1 -1*a];

gain_3_12=gain_3(1:2);

gain_3_3=gain_3(3);

%backward predict ,two rank angle,two rank gain=d err_bac_predict=x(i-2)-[x(i) x(i-1)]*b';

angle=angle_3/(1-gain_3_3*err_bac_predict);

err_bac=angle*err_bac_predict;

err_bac_leavings=err_bac_leavings+err_bac*err_bac_predict;

gain=(gain_3_12+gain_3_3*b)*angle/angle_3;

b=b+err_bac_predict*gain;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题