vblast.m

来自「v-blast4x4_dast程序」· M 代码 · 共 37 行

M
37
字号
function u=VBLAST(r_in,M_in,m,s)
%产生接收信号和信道矩阵;
y=[real(r_in);imag(r_in)];
M1=real(M_in);
M2=imag(M_in);
M=[M1,-M2;M2,M1];
n=2*m;
e=eye(n);
p=zeros(n,1);
H=M;
%u = zeros(1,4);
%G=inv(H);
G = pinv(H);
   for i=1:n
       x=G*y;
       k(i)=argmin(G);
       u(k(i))=zuijing(x(k(i)),s);
       e(k(i),k(i))=0;
       p(k(i))=1;
       y=y-H*p*u(k(i));
       p(k(i))=0;
       H=H*e;
       G=pinv(H);     
   end;
   %for i=1:n
    %   for p=1:n
     %      if k(p)==i
      %         v(i)=u(p);
       %        break;
       %   end;
       %end;
       %end;
   u=reshape(u,m,2);
   u=u(:,1)+j.*u(:,2);
   u=reshape(u,1,size(u,1)); 
 
       

⌨️ 快捷键说明

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