1、自适应信号处理算法(LMS算法)近来有许多同学想我询问LMS算法的仿真程序,这里提供一个从别处下载下来的,要验证。%自适应信号处理算法clear all;hold off;sysorder=5; %抽头数N=1000; %总采样次数n1=randn(N,1);%产生高斯随机系列n2=randn(N,1);b,a=butter(2,0.25);Gz=tf(b,a,-1); %逆变换函数h=0.0976;0.2873;0.3360;0.2210;0.0964; %信道特性向量y = lsim(Gz,n1);%加入噪声noise = n2 * std(y)/(10*std(n2);%噪声信号d =
2、y + noise;%期望输出信号totallength=size(d,1);%步长N=60 ; %60节点作为训练序列%算法的开始w = zeros ( sysorder , 1 ) ;%初始化for n = sysorder : Nu = inp(n:-1:n-sysorder+1) ;% u的矩阵y(n)= w * u;%系统输出e(n) = d(n) - y(n) ;%误差if n 20mu=0.32;elsemu=0.15;endw = w + mu * u * e(n) ;%迭代方程end%检验结果for n = N+1 : totallengthu = inp(n:-1:n-sysorder+1) ;y(n) = w * u ;e(n) = d(n) - y(n) ;%误差endhold onplot(d)plot(y,r);title(系统输出) ;xlabel(样本)ylabel(实际输出)figuresemilogy(abs(e) ;% e的绝对值坐标title(误差曲线) ;xlabel(样本)ylabel(误差矢量)figure%作图plot(h, k+)hold onplot(w, r*)legend(实际权矢量,估计权矢量)title(比较实际和估计权矢量) ;