官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > awgn信道产生的疑问

awgn信道产生的疑问

12-16
已知EbN0,不考虑采样的影响
EsN0=EbN0*k (k=coding rate * log2(M), M为modulation order)
sigma^2=N0/2=1/2*EsN0
则noise=sigma*(randn(1,length)+j*randn(1,length))
如果是实信号,
noise=sigma*randn(1,length)
请问这样做对吗?
我看了matlab awgn和wgn文件,
对于实信号,
sigma^2=N0
noise=sigma*randn(1,length)
是N0还是N0/2这让我很迷惑,请各位帮助,谢谢。
附wgn.m最后几行,
if(strcmp(cplxMode,'complex'))
   z = randn(2*row,col);
   y = (sqrt(imp*noisePower/2))*(z(1:row,:)+j*z(row+1:end,:));
else
   y = (sqrt(imp*noisePower))*randn(row,col);
end;

复信号要计算实部和虚部平方和是N0,因此单路是N0/2

这个N0和N0/2的定义实际上在数字通讯的教材里都没有确定的规范,不同的教材不一样。
如果是复数信号,N0是白噪声的功率,实部功率和虚部功率各为N0/2。如果信号功率是P,SNR就是P/N0。如果是实信号,信号功率全部集中在实部。如果定义实部噪声功率为N0/2的话,SNR就成了2P/N0。很多教材里确实是这样定义的,而不是把实部噪声功率定义为N0。但是如果你从头到尾都只是在讨论实信号,定义实部噪声功率为N0更加直观一些。在相关的论文中,如果作者比较谨慎的话,会尽量避免去涉及这个定义。但是实际上教科书和论文中,两种定义都出现得很多。
使用MATLAB程序时确实需要小心检查。

那么对于BPSK,如果输入信号0,1 映射为实信号(1,-1),那么加的噪声为N0/2*W
             如果输入信号0, 1 映射为复信号(1/sqrt(2)+j/sqrt(2), -1/sqrt(2)-j/sqrt(2)),那么加的噪声为N0*W
那么复信号所加噪声功率是实信号噪声的两倍,所得结果有3dB的差别。
而大多数资料里给的都是实信号的仿真结果,为了与他们匹配,则复信号所加噪声功率应为N0/2*W
请问这样对吗?

你这两种调制和噪声的方式,得到的ber是一样的。没有3db损失的。

Top