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

📄 af.m

📁 协作通信的两种协作方式AF、DF的相关文档和独立编写的仿真程序
💻 M
字号:
function  BerSnrTable1=AF(maxsnr)
fprintf( 'AF仿真\n') ;
%产生随机序列
N=5000;
BerSnrTable1 = zeros(maxsnr+1,3);
for SNR=0:maxsnr
    BerSnrTable1(SNR+1,1) = SNR;
    BitTx=floor(rand(1,N)*2);
    %星座图映射,QPSK
    SymQpsk=QpskMapping(BitTx);
    SymQpskd=[];
    M=length(SymQpsk);
    %噪声能量(已归一化)
    zsnl=sqrt(1/(10^((SNR)/10)));
    %==========================================
    for i=1:M
        %生成服从高斯分布的信道系数
        H0=randn+j*randn;
        H2=randn+j*randn;
        %生成加性高斯白噪声
        N0=zsnl*(randn+j*randn);
        N2=zsnl*(randn+j*randn);
        N1=zsnl*(randn+j*randn);
        G=sqrt(0.5/(0.5+zsnl*zsnl));
        %接收信号
        R1=H0*SymQpsk(i)+N0;
        R2=H2*G*(SymQpsk(i)+N1)+N2;
        %信号合成
        S1=conj(H0)*R1/(zsnl*zsnl);
        S2=conj(H2)*R2/(zsnl*zsnl);
        SS=S1+S2;
        %解调
        dh = [1+j -1+j -1-j 1-j]/sqrt(2);
        D1=abs(SS*[1 1 1 1]-dh).^2;
        [minScale1 positionmin1]=min(D1);
        SymQpskd=[SymQpskd dh(positionmin1)];
    end
    BitRx=QpskInverseMapping(SymQpskd);
    [Num,Ber]=symerr(BitTx,BitRx);
    BerSnrTable1(SNR+1,2) = Num ;
    BerSnrTable1(SNR+1,3) = Ber ;
end
     figure(1);
     semilogy(BerSnrTable1(1:4:maxsnr+1,1),BerSnrTable1(1:4:maxsnr+1,3),'g*-');
  

    

⌨️ 快捷键说明

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