作业帮 > 综合 > 作业

英语翻译h0=sqrt(0.5).*(randn(1,k/2)+j.*randn(1,k/2)); h1=sqrt(0.

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 08:27:53
英语翻译
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));
s0=(pskmod(S0,2))/sqrt(2);
s1=(pskmod(S1,2))/sqrt(2);
R0=h0.*s0+h1.*s1;
R1=-conj(s1).*h0+h1.*conj(s0);
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)));
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);
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
% toc;
英语翻译h0=sqrt(0.5).*(randn(1,k/2)+j.*randn(1,k/2)); h1=sqrt(0.
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
再问: 麻烦再问下sgma=sqrt(1/snr/2); 这里为什么要除2呢? 还有程序中取了k=1000000;(我忘了贴上去)这个k是什么意思呀? 万分感谢!!!
再答: 1.如果不加系数复基带信号功率是实信号功率的两倍,所以除以一个根2。 2.k应该就是表示码元个数。因为你要做蒙特卡洛实验,所以选择这么多码元,最后统计误码率用的。