MATLAB环境下多幅度电平信号仿真程序说明_第1页
MATLAB环境下多幅度电平信号仿真程序说明_第2页
MATLAB环境下多幅度电平信号仿真程序说明_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB环境下多幅度电平信号仿真程序说明一、多幅度信号仿真系统模型二、系统中涉及的公式1、平均比特SNR定义为:SNR a NoavN0 log2 M:s2(t)dtM2 2log2M即可得:电平时平均比特SNR 为:SNR四电平时平均比特SNR 为:八电平时平均比特SNR 为:SNR225 d24221d2SNR1 d26 22、M电平PAM系统最正确检测器的过失概率为:其中:Q(x)2(M 1)Q6(log2M)Mavb2(M21)No三、仿真结果图附源程序代码:main_plot.m%主程序源代码,调用其他5个函数得出仿真结果图clear;clc;echo off;close all

2、;%二电平单极性SNR_in_dB1=0:1:17;SNR_in_dB2=0:0.1:16;for i=1:le ngth(SNR_in_dB1) smld_err_prb21(i)=smldPe21(SNR_in_dB1(i);% 实测过失概率en d;for i=1:le ngth(SNR_in_dB2)SNR=exp(SNR_in_dB2(i)*log(10)/10);% 信噪比换算成真值theo_err_prb21(i)=1/2*erfc(sqrt(SNR/4);% 理论过失概率计算en d;semilogy(SNR_in_dB1,smld_err_prb21,'o')

3、;% 实测过失概率结果图hold on;semilogy(SNR_in_dB2,theo_err_prb21);% 理论过失概率结果图hold on;% 二电平双极性 SNR_in_dB3=0:1:11;SNR_in_dB4=0:0.1:10;for i=1:length(SNR_in_dB3) smld_err_prb22(i)=smldPe22(SNR_in_dB3(i);%实测过失概率end;for i=1:length(SNR_in_dB4) SNR=exp(SNR_in_dB4(i)*log(10)/10);% 信噪比换算成真值theo_err_prb22(i)=1/2*erfc(s

4、qrt(SNR); %理论过失概率计算 end;semilogy(SNR_in_dB3,smld_err_prb22,'black.'); % 实测过失概率结果图 hold on;semilogy(SNR_in_dB4,theo_err_prb22,'black'); %理论过失概率结果图 hold on;% 四电平双极性 SNR_in_dB5=0:1:16;SNR_in_dB6=0:0.1:14;for i=1:length(SNR_in_dB5) smld_err_prb42(i)=smldPe42(SNR_in_dB5(i);%实测过失概率end;for

5、i=1:length(SNR_in_dB6) SNR_per_bit=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+');hold on; semilogy(SNR_in_dB6,theo_err_prb42,'red');hold on;% 八电平双极性 SNR_in_dB7=0:1:19;SNR_in_dB8=0:0.1:19;for i=1

6、:length(SNR_in_dB7) smld_err_prb82(i)=smldPe82(SNR_in_dB7(i); %实测过失概率 end;for i=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*');hold on;semilogy(SNR_in_dB8,theo_err_prb

7、82,'green');hold on;xlabel('SNR in dB');ylabel('Pe');title(' 多幅度电平信号仿真结果与理论值比拟 ');lege nd('二电平单极性实测值','二电平单极性理论值','二电平双极性实测值','二电平双极性理论值 '四电平实测值 ','四电平理论值 ','八电平实测值 ','八电平理论值 ');gngauss.m%产生高斯白噪声function gsrv

8、1,gsrv2=gngauss(m,sgma)if nargin = 0,%如果没有输入实参,那么均方为0,标准差为 1m=0; sgma=1;elseif nargin = 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*u);gsrv2=m+z*sin(2*pi*u);smldPe21.m% 通过的信噪比求出二电平单极性映射下的实测过失概率 function p=smldPe21(snr_in_dB)E=1;SNR=e

9、xp(snr_in_dB*log(10)/10); sgma=E/sqrt(2*SNR);N=10000;% 生成二进制数据for i=1:N,temp=rand;if (temp<0.5),dsource(i)=0;else%信噪比单位换算% sigma, 噪声的标准差% 生成在 0-1 之间的独立随机数% 1/2 的概率输出为 0dsource(i)=1;endend;% 判决及过失概率的计算numoferr=0;for i=1:N, % 映射到电平 if (dsource(i)=0),% 1/2 的概率输出为 1r=gngauss(sgma);% 输出为 0% 输出为 1判决为 0

10、判决为 1% 如果误判计数器加 1% 过失概率估计elser=E+gngauss(sgma);end;% 判决if (r<E/2),decis=0;elsedecis=1;end;if (decis=dsource(i), numoferr=numoferr+1;end;end; p=numoferr/N;smldPe22.m% 通过的信噪比求出二电平双极性映射下的实测过失概率function p=smldPe22(snr_in_dB)E=1;SNR=exp(snr_in_dB*log(10)/10);sgma=E/sqrt(2*SNR); % sigma, 噪声的标准差 N=10000

11、;% 1/2 的概率输出为 -1% 1/2 的概率输出为 1for i=1:N, temp=rand; if (temp<0.5), dsource(i)=-1; else dsource(i)=1; end end;% 判决及过失概率的计算numoferr=0;for i=1:N,if (dsource(i)=-1), r=-E+gngauss(sgma);elser=E+gngauss(sgma);end;if (r<0),decis=-1;elsedecis=1;end;if (decis=dsource(i), numoferr=numoferr+1;end;end;p=n

12、umoferr/N; % 过失概率估计smldPe42.m% 通过的信噪比求出四电平双极性映射下的实测过失概率 function p=smldPe42(snr_in_dB)d=1;SNR=exp(snr_in_dB*log(10)/10);sgma=sqrt(5*dA2)/(4*SNR);N=10000;for i=1:N, temp=rand;if (temp<0.25),dsource(i)=-3;%1/4 的概率输出为00elseif (temp<0.5),dsource(i)=-1;%1/4 的概率输出为01elseif (temp<0.75),dsource(i)=

13、1;%1/4 的概率输出为10elsedsource(i)=3;%1/4 的概率输出为11endend;numoferr=0;for i=1:N,if (dsource(i)=-3),r=-3+gngauss(sgma);%信源输出为00elseif(dsource(i)=-1),r=-1+gngauss(sgma);%信源输出为01elseif(dsource(i)=1),r=1+gngauss(sgma);%信源输出为10elseif(dsource(i)=3),r=3+gngauss(sgma);%信源输出为11end;% 判决if (r<-2*d),decis=-3;elseif

14、 (r<-0), decis=-1;elseif (r<2*d), decis=1;else decis=3;end;if (decis=dsource(i),% 误码检测numoferr=numoferr+1;end;end;p=numoferr/N; % 过失概率估计计算smldPe82.m% 通过的信噪比求出八电平双极性映射下的实测过失概率 function p=smldPe82(snr_in_dB)d=1;SNR=exp(snr_in_dB*log(10)/10);sgma=sqrt(21*dA2)/(6*SNR);N=10000;for i=1:N,temp=rand;i

15、f (temp<0.125),dsource(i)=-7;elseif (temp<0.25),dsource(i)=-5;elseif (temp<0.375),dsource(i)=-3;elseif (temp<0.5),dsource(i)=-1;elseif (temp<0.625),dsource(i)=1;elseif (temp<0.75),dsource(i)=3;elseif (temp<0.875),dsource(i)=5;elsedsource(i)=7;%1/8 的概率输出为 000%1/8 的概率输出为 001%1/8 的

16、概率输出为 010%1/8 的概率输出为 011%1/8 的概率输出为 100%1/8 的概率输出为 101%1/8 的概率输出为 110%1/8 的概率输出为 111endend;numoferr=0;for i=1:N,if (dsource(i)=-7),r=-7+gngauss(sgma);elseif(dsource(i)=-5), r=-5+gngauss(sgma);elseif(dsource(i)=-3),r=-3+gngauss(sgma);elseif(dsource(i)=-1),r=-1+gngauss(sgma); elseif(dsource(i)=1),r=1+gngauss(sgma); elseif(dsource(i)=3),r=3+gngauss(sgma); elseif(dsource(i)=5),r=5+gngauss(sgma);elseif(dsource(i)=7),r=7+gngauss(sgma); end;% 判决if (r<-6*d),decis=-7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论