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

📄 a_j.m

📁 著名的Alamouti码与Jafarkhani码的性能比较
💻 M
字号:
M=4;
SNR_db=0:2:20;                                                                %仿真信噪比范围
L=length(SNR_db);
BER=zeros(10,L);
SNR=10.^(SNR_db/10);
Fd=1;                                                                      %消息序列的采样速率
Fs=1;                                                                    %已调信号的采样速率
N=500;
Ns=200;
z1=zeros(Ns,1);
z2=zeros(Ns,1);
format long;
BER1=zeros(10,L);
format long;
BER2=zeros(10,L);
for m=1:10
    for n=1:length(SNR)
        nstd=sqrt(1/(4*SNR(n))); 
        bit_err1=0;
        bit_err2=0;
       for p=1:N
            noise=nstd*(randn(Ns,1)+i*randn(Ns,1));          %产生噪声序列
            H=sqrt(0.5)*(randn(Ns,1)+i*randn(Ns,1));        %产生信道矩阵系数
            A= randint(Ns,1,M);
            s =dmodce(A,Fd,Fs,'psk',M);            %  对A进行调制
            for q=1:Ns/4
                H2=Tran1(H(4*q-3:4*q));            %生成准正交传输矩阵
                r2=H2*[s(4*q-3);s(4*q-2);s(4*q-1);s(4*q)]+noise(4*q-3:4*q);     %接收的信号
                z2(4*(q-1)+1:4*q)=ddemodce(inv(H2)*r2,1,1,'psk',M);         %解调
            end;
          for q=1:Ns/2
                H1=Trans_2Tx(H(2*q-1:2*q));        %Alamouti的传输矩阵
                r1=H1*[s(2*q-1);s(2*q)]+noise(2*q-1:2*q);
                z1(2*q-1:2*q)=ddemodce(inv(H1)*r1,1,1,'psk',M);
           end;
            errors1 = biterr(A,z1);
            errors2 = biterr(A,z2);
            bit_err1 = bit_err1 + errors1;
            bit_err2 = bit_err2 + errors2;
        end;
        BER1(m,n)= bit_err1/(N*Ns);
        BER2(m,n)= bit_err2/(N*Ns);   %误码率计算
    end;
end
semilogy(SNR_db, mean(BER1,1),'b-',SNR_db, mean(BER2,1),'r:');
legend('Alamouti code(2Tx 1Rx)','Jafarkhani code');
xlabel('SNR_db(dB)');
ylabel('BER'); 
grid on;

⌨️ 快捷键说明

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