全文预览

自适应滤波器的lms算法的仿真

上传者:梦溪 |  格式:doc  |  页数:22 |  大小:406KB

文档介绍
2(b))Р为了使式1.22变成可以递推计算形式,假设收敛步长非常小,递归和滑动阶次M,N比较低,并使下式近似成立:Р (1.23(a))Р (1.23(b))Р将以上两式代入1.22中得到:Р y(n-i)+ (1.24(a))Р x(n-j)+ (1.24(b))Р设偏导数矢量(n)= (1.25)Р则1.24式可以以下矢量形式:Рz(n)+ (1.26)Р利用1.14和1.25式可以得出:Рw(n+1)=w(n)+e(n) (1.27)Р以上就是IIR自适应算法的基本公式。Р2 基于MATLAB的自适应滤波器的LMS算法的仿真实现Р如果给定输入序列x(n),期望响应序列d(n),步长μ和要求的自适应FIR滤波器长度N,我们就能利用LMS算法的迭代公式1.12来确定自适应滤波器的权系数,给出实现这种算法的MATLAB函数,函数名为lms[11]。РFunction[h,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);Рfor n=N:MР      x1=x(n:-1:n-N+1);Р       y(n)=h*x1';Р       e(n)=d(n)-y;Р       h=h+u*e*x1;Рend Р以上是FIR自适应滤波器的MATLAB编程简单说明。下面我们就一个具体的例子进行仿真。对经过加性高斯白噪声信号干扰的正弦信号进行滤波。已知正弦信号s(n)=sin(2*pi*t)。由LMS算法的性质进行MATLAB编程设计自适应滤波器,滤除高斯白噪声。其仿真结果如图2.1所示,源代码在附录一中。

收藏

分享

举报
下载此文档