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

📄 af2.m

📁 合作通信放大前向协议误码率的MATLAB仿真及其曲线
💻 M
字号:
Dsd=5;%db数
Dsr=4;

Drd=1;
Qsd=sqrt(10^(Dsd/10));
Qsr=sqrt(10^(Dsr/10));

Qrd=sqrt(10^(Drd/10)); 
N=10000;
max_snr=25;
%snr=0:0.5:max_snr;
BER=zeros(1,max_snr);
ber=zeros(1,max_snr);
%m=0;
for SNR=0:max_snr
   % m=m+1;
    %噪声归一化
    N0=1/(10^(SNR/10)); %N0为方差
    x=rand(1,N)>0.5;
    X=QpskMapping(x);
    Xd=[];
    
    M=length(X);
    for i=1:M
        %产生高斯白噪声
        Nsd=sqrt(N0)*(randn+j*randn);
        Nsr=sqrt(N0)*(randn+j*randn);
        Nrd=sqrt(N0)*(randn+j*randn);
        %信道增益
        Hsd=Qsd*(randn+j*randn);
        Hsr=Qsr*(randn+j*randn);
        Hrd=Qrd*(randn+j*randn);
        %=============================
        Es=1;
        Er=1;
        %===============================
        %协作节点的放大增益
        %===============================
        B=sqrt(Es/(abs(Qsr)^2*Es+Nsr));
        %===============================
        %最大合并比加权因子计算(第i个支路的可变增益加权系数为该分集之路的信号幅度与噪声功率之比)
        A0=sqrt(Es)*conj(Hsd)/N0;
        A1=sqrt(Es)*B*conj(Hsr)*conj(Hrd)/...
           ((B^2*(abs(Hsr))^2+1)*N0);
         
        %接收信号
       Ysr=sqrt(Es)*Hsr*X(i)+Nsr;
       Yrd=sqrt(Er)*Hrd*Ysr*B+Nrd;
       Ysd=sqrt(Es)*Hsd*X(i)+Nsd;
       Y=A0*Ysd+A1*Yrd;
       
        %解调
        dh = [1+j -1+j -1-j 1-j]/sqrt(2);
        D1=abs(Y*[1 1 1 1]-dh).^2;
        [minScale1 positionmin1]=min(D1);
        Xd=[Xd dh(positionmin1)];
       
    end
    xd=QpskInverseMapping(Xd);
    err1=(x==xd);
    tot_err1=0;
     for i=1:N
        if err1(i)==0
           tot_err1=tot_err1+1;
        end
     end
     BER(SNR+1)=tot_err1/N;
%理论值
%ber(SNR+1)=(3/8)*N0^2*(1/(Es^2*Qsd^2*Qs1^2)+1/(Es*E1*Qsd^2*Q12^2)+1/(Es*E2*Qsd^2*Q2d^2));
end
semilogy(0:max_snr,BER,'b:h');
hold on;
grid on;
%semilogy(0:max_snr,ber,'r-o');

⌨️ 快捷键说明

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