请教各位高手帮忙翻译一下matlab程序!!!关于alamouti仿真的

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... 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;
展开
百度网友a536a36
2013-03-21 · TA获得超过4482个赞
知道小有建树答主
回答量:534
采纳率:100%
帮助的人:345万
展开全部
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应该就是表示码元个数。因为你要做蒙特卡洛实验,所以选择这么多码元,最后统计误码率用的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式