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

📄 ostbc.m

📁 几种准正交空时分组码的性能比较代码 已经调试过
💻 M
字号:
M=4;
SNR_db=0:3:30;                                                                %仿真信噪比范围
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);
z3=zeros(Ns,1);
z4=zeros(Ns,1);
format long,BER1=zeros(10,L);
format long,BER2=zeros(10,L);
format long,BER3=zeros(10,L);
format long,BER4=zeros(10,L);
for m=1:40
    for n=1:length(SNR)
        nstd=sqrt(1/(4*SNR(n)));
         bit_err1=0;
         bit_err2=0;
         bit_err3=0;
         bit_err4=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); 
            for q=1:Ns/4
               H1=Tran1(H(4*q-3:4*q));
               H2=Tran2(H(4*q-3:4*q));
               H3=Tran3(H(4*q-3:4*q));
               H4=Tran4(H(4*q-3:4*q));
               r1=H1*[s(4*q-3);s(4*q-2);s(4*q-1);s(4*q)]+noise(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);
               r3=H3*[s(4*q-3);s(4*q-2);s(4*q-1);s(4*q)]+noise(4*q-3:4*q);
               r4=H4*[s(4*q-3);s(4*q-2);s(4*q-1);s(4*q)]+noise(4*q-3:4*q);
               z1(4*(q-1)+1:4*q)=ddemodce(pinv(H1)*r1,1,1,'psk',M);
               z2(4*(q-1)+1:4*q)=ddemodce(pinv(H2)*r2,1,1,'psk',M);
               z3(4*(q-1)+1:4*q)=ddemodce(pinv(H3)*r3,1,1,'psk',M);
               z4(4*(q-1)+1:4*q)=ddemodce(pinv(H4)*r4,1,1,'psk',M);
            end;
            errors1 = biterr(A,z1);
            errors2 = biterr(A,z2);
            errors3 = biterr(A,z3);
            errors4 = biterr(A,z4);
            bit_err1 = bit_err1 + errors1;
            bit_err2 = bit_err2 + errors2;
            bit_err3 = bit_err3 + errors3;
            bit_err4 = bit_err4 + errors4;
         %end;
         BER1(m,n)= bit_err1/(N*Ns);
         BER2(m,n)= bit_err2/(N*Ns); %误码率计算
         BER3(m,n)= bit_err3/(N*Ns);
         BER4(m,n)= bit_err4/(N*Ns);
    end;
end
semilogy(SNR_db,mean(BER1,1),'k-.',SNR_db,mean(BER2,1),'b-o',SNR_db,mean(BER3,1),'r-+',SNR_db,mean(BER4,1),'g-*');
legend('Jafarkhani case','TBH case','Jafarkhani with TBH correlated position','TBH with Jafarkhani correlated position');
xlabel('SNR_db(dB)');
ylabel('BER'); 
grid on;

⌨️ 快捷键说明

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