LMS 算法
close all
M=10 ; %抽头数
N=1000; %样本点数
inp=randn(N,1); %产生高斯随机系列
u=randn(N,1);
[b,a]=butter(2,0.25);
Gz=tf(b,a,-1); %逆变换函数
y=lsim(Gz,inp);
u=u*std(y)/(10*std(u)); %噪声信号
d=y+u; %期望输出信号
%算法的开始
w=zeros(M,1); %初始化
for n=M:N
x=inp(n:-1:n-M+1); % x(n)的矩阵
y(n)=w'*x;
e(n)=d(n)-y(n); %误差
mu=0.02;
w=w+mu*x*e(n); %迭代方程
end
hold on
plot((abs(e))) ; % e 的绝对值坐标
title('误差曲线(mu=0.01)') ;
xlabel('样本')
ylabel('误差矢量')
axis([0 500 0 1])