adaptive-equlization(rls).m

来自「自己编写的MATLAB自适应均衡,采用基本的RLS算法 可直接运行.」· M 代码 · 共 36 行

M
36
字号
%自适应均衡RLS
 clear all
 clear
 Tw=2.9;
 isi=[1/2*(1+cos(2*pi*(-1)/Tw)) 1 1/2*(1+cos(2*pi/Tw))];
 len=1000;
 order=11;
 k1=0.9;
 snr=30;
 
 M=(order-1)/2;
 N=len+length(isi)-1;
 e=zeros(1,N);
 e1=e;
 e2=e;
 C=0.2*eye(11,11);

 for k=1:100
   I=sign(rand(1,len)-0.5);%?产生伯努力分布
   v=rand(1,N)/10.^(snr/10);
   x=conv(isi,I)+v;%注意保持信道卷积后和v的阶数一致
   w=zeros(1,order);
   for n=order:N-M+1
      x1=x(n+M-1:-1:n-M-1);
      d =w*x1';
      e(n)=I(n-7)-d;
      u(n)=x1*C*x1';
      g=C*x1'/(k1+u(n));
      w=w+g'*e(n);
      C=(1/k1)*(C-g*x1*C);
      e1(n)=e(n)*e(n);
    end;
      e2=e2+e1;
  end;
     e2=e2(order:N-M+1)/100;
     plot(e2,'k');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?