数字频带传输的可靠性比较
设信道加性高斯白噪声的双边功率谱密度为N0 / 2,发送信号平均每符号能量
Es,计算:
1) MPSK 系统在AWGN 信道下的性能(理论值);
2) 用蒙特卡罗仿真的方式进行误码率仿真,并与理论值相比较。
代码:
EsN0dB = 3:0.5:10;
EsN0 = 10.^( EsN0dB/10 );
Es = 1;
N0 = 10.^( -EsN0dB/10 );
sigma = sqrt(N0/2);
error = zeros(1,length(EsN0dB));
s_data = zeros(1,length(EsN0dB));
M=4;
for k=1:length(EsN0dB)
error(k)=0;
s_data(k) = 0;
while error(k)<1000
d = ceil( rand(1,10000)*M );
s = sqrt(Es)*exp(j*2*pi/M*(d-1));
%加入信道噪声(复噪声)
r = s + sigma(k)*( randn(1,length(d)) + j*randn(1,length(d)) );
for m=1:M %计算距离
rd(m,:) = abs( r - sqrt(Es)*exp(j*2*pi/M*(m-1)) );
end
for m=1:length(s) %判决距离最近的点
dd(m) = find( rd(:,m) == min(rd(:,m)) );
if dd(m)~=d(m)
error(k) = error(k)+1;
end
end
s_data(k) = s_data(k)+10000;
end
end
Pe = error./s_data;
%理论计算的误码率结果
Ps = erfc( sqrt(EsN0)*sin(pi/M) );
semilogy(EsN0dB,Pe,'b*-'); hold on;
semilogy(EsN0dB,Ps,'yd-');
xlabel('Es/N0(dB)'); ylabel('误码率');
legend('仿真结果','理论计算结果');
运行结果:
100 仿真结果理论计算结果10-1误码率10-210 3-34567Es/N0(dB)8910
因篇幅问题不能全部显示,请点此查看更多更全内容