资源描述:
《matlab环境下多幅度电平信号仿真程序说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB环境下多幅度电平信号仿真程序说明一、多幅度信号仿真系统模型二、系统中涉及的公式1、平均比特SNR定义为:即可得:二电平时平均比特SNR为:四电平时平均比特SNR为:八电平时平均比特SNR为:2、M电平PAM系统最佳检测器的差错概率为:其中:三、仿真结果图附源程序代码:main_plot.m%主程序源代码,调用其他5个函数得出仿真结果图clear;clc;echooff;closeall;%二电平单极性SNR_in_dB1=0:1:17;SNR_in_dB2=0:0.1:16;fori=1:length(SNR_in_dB1
2、)smld_err_prb21(i)=smldPe21(SNR_in_dB1(i));%实测差错概率end;fori=1:length(SNR_in_dB2)SNR=exp(SNR_in_dB2(i)*log(10)/10);%信噪比换算成真值theo_err_prb21(i)=1/2*erfc(sqrt(SNR/4));%理论差错概率计算end;semilogy(SNR_in_dB1,smld_err_prb21,'o');%实测差错概率结果图holdon;semilogy(SNR_in_dB2,theo_err_prb21);%理
3、论差错概率结果图holdon;%二电平双极性SNR_in_dB3=0:1:11;SNR_in_dB4=0:0.1:10;fori=1:length(SNR_in_dB3)smld_err_prb22(i)=smldPe22(SNR_in_dB3(i));%实测差错概率end;fori=1:length(SNR_in_dB4)SNR=exp(SNR_in_dB4(i)*log(10)/10);%信噪比换算成真值theo_err_prb22(i)=1/2*erfc(sqrt(SNR));%理论差错概率计算end;semilogy(SNR_
4、in_dB3,smld_err_prb22,'black.');%实测差错概率结果图holdon;semilogy(SNR_in_dB4,theo_err_prb22,'black');%理论差错概率结果图holdon;%四电平双极性SNR_in_dB5=0:1:16;SNR_in_dB6=0:0.1:14;fori=1:length(SNR_in_dB5)smld_err_prb42(i)=smldPe42(SNR_in_dB5(i));%实测差错概率end;fori=1:length(SNR_in_dB6)SNR_per_bit=
5、exp(SNR_in_dB6(i)*log(10)/10);theo_err_prb42(i)=3/4*erfc(sqrt(2/5*SNR_per_bit));%理论差错概率计算end;semilogy(SNR_in_dB5,smld_err_prb42,'red+');holdon;semilogy(SNR_in_dB6,theo_err_prb42,'red');holdon;%八电平双极性SNR_in_dB7=0:1:19;SNR_in_dB8=0:0.1:19;fori=1:length(SNR_in_dB7)smld_err
6、_prb82(i)=smldPe82(SNR_in_dB7(i));%实测差错概率end;fori=1:length(SNR_in_dB8)SNR_per_bit=exp(SNR_in_dB8(i)*log(10)/10);theo_err_prb82(i)=7/8*erfc(sqrt(9/63*SNR_per_bit));%理论差错概率计算end;semilogy(SNR_in_dB7,smld_err_prb82,'green*');holdon;semilogy(SNR_in_dB8,theo_err_prb82,'green'
7、);holdon;xlabel('SNRindB');ylabel('Pe');title('多幅度电平信号仿真结果与理论值比较');legend('二电平单极性实测值','二电平单极性理论值','二电平双极性实测值','二电平双极性理论值',...'四电平实测值','四电平理论值','八电平实测值','八电平理论值');gngauss.m%产生高斯白噪声function[gsrv1,gsrv2]=gngauss(m,sgma)ifnargin==0,%如果没有输入实参,则均方为0,标准差为1m=0;sgma=1;elseifnarg
8、in==1,%如果输入实参为1个参数,则标准差为输入实参,均值为0sgma=m;m=0;end;u=rand;z=sgma*(sqrt(2*log(1/(1-u))));u=rand;gsrv1=m+z*cos(2*pi