相同传输速率下SM,alamouti,VBLAST误码率比较matlab程序

急求相同传输速率下SM,alamouti,VBLAST误码率比较matlab程序!!!

h0=sqrt(0.5).*(randn(1,k/2)+j.*randn(1,k/2)); 
h1=sqrt(0.5).*(randn(1,k/2)+j.*randn(1,k/2)); 
% 以上两行:h0和h1为信道参数,是个瑞利衰落.
s0=(pskmod(S0,2))/sqrt(2); 
s1=(pskmod(S1,2))/sqrt(2);
% 以上两行:对基带信号进行BPSK调制
R0=h0.*s0+h1.*s1;
% MIMO发送端发出信号,发送天线0发出的信号
R1=-conj(s1).*h0+h1.*conj(s0); 
% MIMO发送端发出信号,发送天线1发出的信号
for i=1:length(SNRindB) 
i
snr=10^(SNRindB(i)/10);
sgma=sqrt(1/snr/2); 
% 计算噪声的标准差 
r0=(R0+sgma.*(randn(1,k/2)+j*randn(1,k/2))); 
r1=(R1+sgma.*(randn(1,k/2)+j*randn(1,k/2)));
% r0 和 r1 为接收端接收加性白噪声的信号.
s_0=conj(h0).*r0+h1.*conj(r1); 
s_1=conj(h1).*r0-h0.*conj(r1);
% 恢复出两个发送天线的发送信号
m0=pskdemod(s_0,2);
m1=pskdemod(s_1,2);
% 对两路信号进行BPSK解调
er0(i)=nnz(S0-m0); 
er1(i)=nnz(S1-m1);
err(i)=er0(i)+er1(i);
% 求误码个数
end
semilogy(SNRindB,err/k,'-r+');
% 半对数轴画出误码率
grid on
xlabel('SNR,dB');
ylabel('BER');
hold on

温馨提示:答案为网友推荐,仅供参考
相似回答