⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interference1.m

📁 在3G,CDMA系统下
💻 M
字号:
K=2;N=1;
numbit=10000;
code=[1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1 1 1 -1 1 -1 1 -1 -1 -1 1 ;...
1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 1 1 1 1 -1 -1 -1 1 -1 ;...
1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1 1 1 1 ;...
1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 ;...
1 1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1 1 1 ;...
1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 ;...
1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1 1 1 1 -1 1 -1 1 -1 1 ;...
1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1 ;...
1 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 ;...
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 ;...
1 1 1 -1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 ;...
1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1;...
1 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1 -1 1 -1 1 1 -1 -1 1 1 1 -1 ;...
1 -1 1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 -1 1 ;...
1 1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 ;...
1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1 1 -1 ;...
1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1 1 ;...
1 -1 1 -1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1;...
1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 ;...
1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 -1 ;...
1 1 -1 1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 ;...
1 -1 1 1 -1 1 -1 1 1 -1 1 1 1 1 -1 1 1 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 ;...
1 1 1 1 -1 1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 1 1 1 ;...
1 -1 -1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 ;...
1 1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 1 1 1 1 -1 ;...
1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 ;...
1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 ;...
1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1 -1 1 1 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1 ;...
1 1 -1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1 -1 -1 ;...
1 -1 1 1 1 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1 1 1 1 ;...
1 1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 1 1 -1 1 -1 ;...
1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 1 -1 1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 ];

EbN0=0:2:30;
snr_in_dB=EbN0-10*log10(31);
bits=sign(randn(K,numbit));
tran=bits'*code(1:K,:);
%--------------------------------------------------
for m=1:length(snr_in_dB)
    num_of_err=0;num_of_err1=0;num_of_err2=0;
    rec=awgn(tran,snr_in_dB(m),'measured');
%---------------------------------------------------NO_PIC方法检测
for i=1:numbit  
  for k=1:K
    decision_varian=rec(i,:)*code(k,:)';
    if(decision_varian<0)
        decision0=-1;
    else
        decision0=1;
    end    
    if(decision0~=bits(k,i))
        num_of_err=num_of_err+1; 
    end
 end
%--------------------------------------------------一级PIC方法检测
    for k=1:K
        decision_varian=rec(i,:)*code(k,:)';
        if(decision_varian<0)
            decision(k,i)=-1;
        else
            decision(k,i)=1;
        end 
    end
    for k=1:K
        decision_1=zeros(1,31);
        for j=1:K
           decision_1=decision_1+decision(j,i)*code(j,:);
        end
        decision_varian=(rec(i,:)-decision_1+decision(k,i)*code(k,:))*code(k,:)';
        if(decision_varian<0)
            decision(k,i)=-1;
        else
            decision(k,i)=1;
        end  
        if(decision(k,i)~=bits(k,i))
        num_of_err1=num_of_err1+1; 
        end
    end  
 %----------------------------------------------------N级PIC方法检测
    for k=1:K
        decision_varian=rec(i,:)*code(k,:)';
        if(decision_varian<0)
            decision1(k,i)=-1;
        else
            decision1(k,i)=1;
        end 
    end
 for  n=1:N
    for k=1:K
        decision_1=zeros(1,31);
        for j=1:K
           decision_1=decision_1+decision(j,i)*code(j,:);
        end
        decision_varian=(rec(i,:)-decision_1+decision(k,i)*code(k,:))*code(k,:)';
        if(decision_varian<0)
            decision1(k,i)=-1;
        else
            decision1(k,i)=1;
        end 
      if(n==N)
        if(decision1(k,i)~=bits(k,i))
        num_of_err2=num_of_err2+1; 
        end
      end
    end
 end
%------------------------------------------------
  end
 error0(m)=num_of_err/(K*numbit);
 error1(m)=num_of_err1/(K*numbit);
 error2(m)=num_of_err2/(K*numbit);
end
if (N==1)
    semilogy(EbN0,error0,'-b^',EbN0,error1,'-rd');
    grid on;
    xlabel('Eb/N0');
    ylabel('BER');
    title('NOPIC与一级PIC的性能比较');
    legend('NOPIC','一级PIC');
    axis([0 20 1e-5 1e0]);
else
semilogy(EbN0,error0,'-b^',EbN0,error1,'-rd',EbN0,error2,'--gv');
% semilogy(snr_in_dB,error);
grid on;
xlabel('Eb/N0');
ylabel('BER');
title('NOPIC/一级PIC/多级PIC的性能比较');
legend('NOPIC','一级PIC','多级PIC');
axis([0 20 1e-5 1e0]);
end

⌨️ 快捷键说明

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