• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签: LMS  

资源简介

一种变步长LMS算法的matlab仿真,显示算法的收敛速度和抗干扰能力

资源截图

代码片段和文件信息

close  all
N=200;
mmse1=zeros(11000);mmse2=zeros(11000);mmse3=zeros(11000);
for j=1:N;
randn(‘state‘sum(1000*clock));
xs=randn(11000);
xn=0.2*randn(11000);
% 信号滤波
W4=[0.8 0.5];xin = xs‘;   % 输入信号序列
M  = 2   ;   % 滤波器的阶数
W1= zeros(Mlength(xn)); W2= zeros(Mlength(xn));W3= zeros(Mlength(xn));  % 每一行代表一个加权参量每一列代表-次迭代初始为0
en1 = zeros(length(xn)1); en2 = zeros(length(xn)1);en3 = zeros(length(xn)1); 
dn = zeros(length(xn)1);a = zeros(length(xn)1);b= zeros(length(xn)1); c= zeros(length(xn)1);
en1(1)=W4*xin(2:-1:1)+xn(1);en2(1)=W4*xin(2:-1:1)+xn(1);en3(1)=W4*xin(2:-1:1)+xn(1); % 误差序列
mse1=zeros(1length(xn));mse2=zeros(1length(xn));mse3=zeros(1length(xn));
mu1=zeros(length(xn)1);mu1(2)=0.2;mu2=zeros(length(xn)1);mu2(2)=0.2;mu3=zeros(length(xn)1);mu3(2)=0.2;
p1 = zeros(length(xn)1); p1(1)=0.2;p2= zeros(length(xn)1); p2(1)=0.2;p3= zeros(length(xn)1); p3(1)=0.2;
c1=0.98;c2=0.00048;d1=2;d2=2;d3=2;e1=2;e2=2;e3=2;%e大d小则收敛快,跟踪好,稳态误差小,但抗干扰差e的影响要大于d
% 迭代计算收敛特性d2=1;e1=4;抗噪声特性d2=2;e1=0.5;
for k = M:length(xn);                 % 第k次迭代
    x = xin(k:-1:k-M+1);        % 滤波器M个抽头的输入
    y1 = W1(:k).‘* x; y2 = W2(:k).‘* x;y3 = W3(:k).‘* x;        % 滤波器的输出,
    if k==500
       W4=[0.4 0.2];
    end
    dn(k)=W4*xin(k:-1:k-M+1)+xn(k);
    en1(k) = dn(k)- y1;en2(k) = dn(k) - y2;en3(k) = 

评论

共有 条评论