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

📄 af3.asv

📁 AF上跳协作分集的实现
💻 ASV
字号:
%29/8/2008 ZHANGSONG%根据论文《AF三跳协作分集...》编写仿真程序%===========================================function BER=vzQsd=sqrt(10^(Dsd/10));Qs1=sqrt(10^(Ds1/10));Q12=sqrt(10^(D12/10));Q2d=sqrt(10^(D2d/10)); N=10240;max_snr=25;BER=zeros(1,max_snr);ber=zeros(1,max_snr);for SNR=0:max_snr    %噪声归一化    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);        Ns1=sqrt(N0)*(randn+j*randn);        N12=sqrt(N0)*(randn+j*randn);        N2d=sqrt(N0)*(randn+j*randn);        %信道增益        Hsd=Qsd*(randn+j*randn);        Hs1=Qs1*(randn+j*randn);        H12=Q12*(randn+j*randn);        H2d=Q2d*(randn+j*randn);        %优化功率分配算法        %=============================        A=(Q2d+Q12)^2*Q12*Qs1^2;        B=Q2d^2*Q12^3;        if A~=B            Es=(A-4*B+sqrt(A^2+8*A*B))/(4*(A-B));        else            Es=2/3;        end        E1=Q2d/(Q2d+Q12)*(1-Es);        E2=1-E1-Es;        %===============================        %协作节点的放大增益        %===============================        B1=sqrt(E1/(Es*Hs1^2+N0));        B2=sqrt(E2/(E1*H12^2+N0));        %===============================        %最大合并比加权因子计算        A0=sqrt(Es)*conj(Hsd)/N0;        A1=sqrt(Es)*B1*B1*conj(Hs1)*conj(H12)*conj(H2d)/...            (B1^2*B2^2*abs(H12)^2*abs(H2d)^2+B2^2*abs(H2d)^2+1)/N0;        %接收信号        Y1=sqrt(Es)*X(i)*Hs1+Ns1;        Y2=B1*Y1*H12+N12;       % Y=A0*(sqrt(Es)*X(i)*Hsd+Nsd)+A1*(B2*Y2*H2d+N2d);        Y=A0*(sqrt(Es)*X(i)*Hsd+Nsd)+A1*(B2*Y2*H2d+N2d);        %解调        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,'r');%hold onsemilogy(0:max_snr,ber);                        

⌨️ 快捷键说明

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