www.pudn.com > LMS_matlab.rar > LMS.m
function LMS()
%UNTITLED1 Summary of this function goes here
% Detailed explanation goes here
%%------------------------变量定义-----------------------
mu=0.002; %定义步长
n=3000; %矢量长度(叠代次数)
x=normrnd(0,1,1,n); %随机输入信号序列,零均值,单位方差
e=linspace(0,0,n); %误差序列
w=[linspace(0,0,n);linspace(0,0,n)] ; %权矢量序列
a1=-1.6;
a2=0.8;
%%------------------------初始化---------------------
e(3)=x(3)+a1*x(2)+a2*x(1);
%i=3;
%while i<600
%e(i+1)=x(i+1)+a1*x(i)+a2*x(i-1);
%end
%%-----------------------叠代处理---------------------
i=3;
while i<600
w(1,i+1)=w(1,i)+2*mu*e(i)*x(i);
w(2,i+1)=w(2,i)+2*mu*e(i)*x(i-1);
e(i+1)=x(i+1)+a1*x(i)+a2*x(i-1)-x(i)*w(1,i+1)-x(i-1)*w(2,i+1);
i=i+1;
end
%%----------------------画图-------------------------
k=1:600;
subplot(2,1,1)
hold on
grid on
plot(k,w(1,k));
subplot(2,1,2)
hold on
grid on
plot(k,w(2,k));