1、 基于 LMS 算法自适应滤波器的 Matlab 仿真分析 1摘要:利用 Matlab:(1)给出 X(n)的图形(2)分别给出 W(0)=0,0,u=0.1 及 W(0)=4,-10,u=0.05 时, a、LMS 算法的权值随时间 n 变换的轨迹:W1(n)n ;W2(n)n b、误差 e(n)随时间变化的关系曲线:e(n)n 点击此处阅读全文自适应横向滤波器有 2 个权值,输入随机信号 v(n),样本间相互独立,一般用高斯白噪声代替,且功率为 0.02,即 E(r(n)2)=0.02,信号周期 N16 个样点,试利用 Matlab:(1 )给出 X(n )的图形(2)编程,分别给出 W(
2、0)=0,0,u=0.1 及 W(0)=4,-10,u=0.05 时,a、LMS 算法的权值随时间 n 变换的轨迹:W1(n)n;W2(n) n b、误差 e(n)随时间变化的关系曲线:e(n)n源程序:%Author:Jeffrey%My blog: http:/ W(0)=0,0,u=0.1 时候,把 w1 和 w2 以及 u 的值替换%DATE: 2007 年 03 月 31 日 星期六 15 时 45 分 49 秒 %Eviroment :kernel:2.6.15-28-686% Matlab6.5clear;close all;tic;w1=4*ones(1,1024); %w1=
3、zeros(1,1024);w2=(-10)*ones(1,1024); %w2=zeros(1,1024);u=0.05; %u=0.1;for n=2:1024xn=sin(2*pi*n/16)+0.02*randn(1,1024);x1(n)=w1(n)*xn(n)+w2(n)*xn(n-1);e(n)=xn(n)-x1(n);w1(n+1)=w1(n)+2*u*e(n)*xn(n);w2(n+1)=w2(n)+2*u*e(n)*xn(n-1); endfigure(1)subplot(1,3,1);plot(xn);subplot(1,3,2);plot(w1,r)hold onplo
4、t(w2,k)hold offsubplot(1,3,3)plot(e)toc基于 LMS 算法自适应滤波器的 Matlab 仿真分析 2摘要:利用 Matlab 实现:(1)给出单次运算和 200 次运算的 LMS 算法学习曲线(2)给出单次运算和200 次运算的权值随 n 变换曲线 点击此处阅读全文Author :Jeffrey Signal a1=1.558;a2=-0.81;b=1;e2=zeros(201,2048);w11=zeros(201,2048);w21=zeros(201,2048);u=zeros(201,2048);for k=1:200v=randn(1,2048)
5、;w1=zeros(1,2049);w2=zeros(1,2049);k1=0.002;for n=3:2048u(n)=v(n)+a1*u(n-1)+a2*u(n-2);y(n)=w1(n)*u(n-1)+w2(n)*u(n-2);e(n)=u(n)-y(n);e1(n)=e(n)*e(n);w1(n+1)=w1(n)+2*k1*e(n)*u(n-1);w2(n+1)=w2(n)+2*k1*e(n)*u(n-2);end;e2(k+1,:)=e1(1:2048)+e2(k,:);w11(k+1,:)=w1(1:2048)+w11(k,:);w21(k+1,:)=w2(1:2048)+w21(k,:);end;e3=e2(201,:)/200;w13=w11(201,:)/200;w22=w21(201,:)/200;figure(1)subplot(1,2,1)plot(e1,r)hold onplot(e3,k);hold off subplot(1,2,2)plot(w1,m);hold onplot(w2,y)plot(w13,k);plot(w22,r);hold offtoc 仿真图片