基于LMS的MATLAB大作业任思佳.docx

上传人:b****6 文档编号:7784574 上传时间:2023-01-26 格式:DOCX 页数:8 大小:248.84KB
下载 相关 举报
基于LMS的MATLAB大作业任思佳.docx_第1页
第1页 / 共8页
基于LMS的MATLAB大作业任思佳.docx_第2页
第2页 / 共8页
基于LMS的MATLAB大作业任思佳.docx_第3页
第3页 / 共8页
基于LMS的MATLAB大作业任思佳.docx_第4页
第4页 / 共8页
基于LMS的MATLAB大作业任思佳.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于LMS的MATLAB大作业任思佳.docx

《基于LMS的MATLAB大作业任思佳.docx》由会员分享,可在线阅读,更多相关《基于LMS的MATLAB大作业任思佳.docx(8页珍藏版)》请在冰豆网上搜索。

基于LMS的MATLAB大作业任思佳.docx

基于LMS的MATLAB大作业任思佳

Matlab大作业

基于LMS算法的自适应滤波

 

 

姓名:

任思佳

学院:

信息学院

学号:

2011124064

时间:

2011/11/25

 

2011/11/25

 

基于LMS算法的自适应滤波

作业要求:

能掌握LMS算法的基本原理和自适应滤波器的基础知识。

这次作业需要用到,最小均方算法,和自适应滤波器原理。

我好好复习了本科教材中的随机过程的基本知识。

以及学习了Matlab的基本编程知识。

维纳滤波

²设计维纳滤波器的过程就是寻求在最小均方误差下滤波器的单位样本响应或传递函数的表达式,其实质是解维纳-霍夫(Wiener-Hopf)方程——

²维纳滤波的实际用途有限

²它需要已知自相关矩阵R和互相关矢量P,这两个量通常是未知的。

²它包含了矩阵的求逆,非常的耗时。

²若信号为非平稳的,则R和P是时变的,导致必需重复计算。

²维纳滤波器是最佳滤波器,最有准则是最小均方误差准则。

但它不是自适应滤波器。

²自适应滤波的滤波系数时变。

而维纳滤波系数固定。

自适应滤波

²利用前一时刻已获得的滤波器参数,自动地调节现时刻的滤波器参数,实现最优滤波———自适应滤波。

²常用的两种准则是MMSE(minimummeansquareerror)准则和LS(leastsquare)准则。

²自适应滤波滤波系数时变,而维纳滤波参数恒定。

随机信号的统计特性是未知的,或者信号的统计特性是缓慢的变化着的(非平稳信号),这就促使人们去研究一类特殊的滤波器,这类滤波器具有以下特点:

当输入过程的统计特性未知时,或者输入过程的统计特性变化时,能够相应的调整自身的参数,以满足某种准则的要求,由于这类滤波器能变动自身的参数以“适应”输入过程统计特性的估计或变化,因此,就把这类滤波器称为自适应滤波器。

自适应滤波器通常由两部分构成,其一是滤波子系统,根据它所要处理的功能而往往有不同的结构形式。

另一是自适应算法部分,用来调整滤波子系统结构的参数,或滤波系数。

在自适应调整滤波系数的过程中,有不同的准则和算法。

算法是指调整自适应滤波系数的步骤,以达到在所描述的准则下的误差最小化。

自适应滤波器含有两个过程,即自适应过程和滤波过程。

 

由最陡下降法来引出LMS算法

²最陡下降法就是实现搜索最佳值的一种优化技术,它利用梯度信息分析自适应滤波性能和追踪最佳滤波状态。

梯度矢量是由均方误差的梯度来定义的,在多维超抛物面上任意一点的梯度矢量是对应于均方误差对滤波系数的一阶倒数,由起始点变化到下一点的滤波系数变化量正好是梯度矢量的负数。

自适应过程是在梯度矢量的负方向接连的校正滤波系数的,即在误差性能曲面的最陡下降方向移动和逐步校正滤波系数,最终到达均方误差为最小的碗底最小点,获得最佳滤波或准优工作状态。

²最陡下降算法不需要知道误差特性曲面的先验知识,其算法就可以收敛到最佳维纳解,且与起始条件无关。

但是最陡下降算法的主要限制是它需要准确测得每次迭代的梯度矢量,这妨碍了它的应用。

为了减少计算复杂度和缩短自适应收敛时间。

1960年,美国斯坦福大学的Widrow等提出了最小均方(LMS)算法,这是一种用瞬时值估计梯度矢量的方法。

这就是LMS算法的公式。

μ是提干给出的。

X(K)为输入信号,d(k)为参考信号

如图所示LMS算法的流程图

²LMS算法具有简洁和易于实现地特点使它成为许多实时系统的首选算法,LMS算法对每组输入和输出抽样大约需2N-1次乘法和2N-1次加法。

太多数信号处理器陡适宜进行乘法和累加运算,使直接实现LMS算法更具有吸引力。

练习题:

通过一个二阶自回归过程来研究实时数据集平均对LMS算法的影响,AR模型的差分方程为:

v(n)+a1x(n-1)+a2x(n-2)=x(n)

其中a1=0.2;a2=0.7;

v(n)是零均值白噪声;

该算法的matlab程序如下:

clear

closeall

clc

a1=0.2;

a2=0.7;

u=0.001;

N=1000;

G=100;

e=zeros(1,N);

w1=zeros(1,N+1);

w2=zeros(1,N+1);

y=zeros(1,N);

ee=zeros(1,N);%每个点的误差平方

ep=zeros(1,N);%每个点的误差平方累积

eq=zeros(1,N);%每个点的100次误差平方均值

w11=zeros(1,N+1);%w1权值的累积

w22=zeros(1,N+1);%w2权值的累积

forg=1:

G

v=randn(1,N);

x

(1)=v

(1);

x

(2)=x

(1)*a1+v

(2);

forn=3:

N

x(n)=a1*x(n-1)+a2*x(n-2)+v(n);

end

figure

(1)

plot(x)

title('输入信号x')

forn=3:

N

y(n)=w1(n)*x(n-1)+w2(n)*x(n-2);

e(n)=x(n)-y(n);

w1(n+1)=w1(n)+2*u*e(n)*x(n-1);

w2(n+1)=w2(n)+2*u*e(n)*x(n-2);

ee(n)=e(n)^2;

end

w11=w1+w11;

w22=w2+w22;

ep=ep+ee;

end

eq=ep/G;

W1=w11/G;

W2=w22/G;

figure

(2)

subplot(2,1,1)

plot(w1)

holdon

subplot(2,1,2)

plot(W1)

holdon

subplot(2,1,1)

plot(w2,'r')

title('w1与w2的收敛曲线,u=0.004')

holdon

subplot(2,1,2)

plot(W2,'r');

title('100次平均后w1与w2的收敛曲线,u=0.004')

figure(3)

subplot(2,1,1)

plot(e)

title('误差曲线(学习曲线)u=0.004')

subplot(2,1,2)

plot(eq)

title('100次平均误差曲线(学习曲线)u=0.004')

结果:

总结:

在此次作业完成过程中,我遇到种种问题,也意识到自己在学习中的薄弱环节。

勤动手,多动脑是我总结出来的经验。

也应该多谢我的学长,谢谢他们的耐心讲解。

使我对Matlab基础知识有了充分的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1