
通信原理实验二QPSK通信系统的-Monte-Carlo-仿真.doc
24页通信原理实验二 QPSK通信系统的 MonteCarlo 仿真 一、实验目的1、提高独立学习的能力;2、培养发现问题、解决问题和分析问题的能力;3、学习Matlab 的使用;4、掌握4PSK通信系统的Monte Carlo仿真方法;5、掌握4PSK通信系统的的组成原理;6、比较编码信号和为编码信号在随机信道中的传输,加深对纠错编码的理解;二、系统框图及编程原理实验原理 PSK是利用载波的不同相位表示相应的数字信息对于二进制相位调制(M=2)来说,两个载波相位是0和π对于M相相位调制来说M=2k,这里k是每个传输符号的信息比特数4PSK是M=4的载波相位调制这里,将理论差错概率与仿真的差错概率比较,进一步观察仿真与理论值之间的差别同时,用不同的判决准则对接受信号进行判决并比较两种判别方法的差别一.QPSK调制原理1.信号能量分析一组M载波相位调制信号波形的一般表示式为 m=[0,M-1]式中是发送滤波器的脉冲形状,它决定了传输信号的频谱特性,A是信号的幅度注意到,PSK信号对所有m都具有相等的能量,即代表每个传输符号的能量2.噪声分析传输信号的信道假设被加性噪声n(t)所污损,这样信号在接收端将产生误码。
因为n(t)是功率谱为的白高斯过程的一个样本函数,所以噪声分量就是零均值高斯型的,即3.信号判决分析最佳检测器将接收信号向量r投射到M个可能的传输信号向量{}之一上去,并选取对应于最大投影的向量据此,得到相关准则为 m=[0,M-1]检测器观察到接收信号向量,并计算r在4种可能的信号向量上的投影根据选取对应于最大投影的信号点作为判决,从而判决出信号同时,检测器的判决准则也可采用最小距离法,即利用星座图上符号间的距离进行判决,从而得到判决结果二.Monte Carlo 仿真过程仿真框图如图(一)图(一) 用于 Monte Carlo仿真的4PSK系统的方框图如图所示,利用一个随机数发生器,产生(0,1)范围内的随机数再将这个范围分成四个相等的区间(0,0.25),(0.25,0.5),(0.5,0.75),(0.75,1.0),这些子区间分别对应于00,01,11,10信息比特对,再用这些比特对来选择信号相位向量加性噪声的同相分量和正交分量 ,在上面讨论过,即为零均值,方差为 的统计独立的高斯随机变量在检测器观察到的接收信号向量 ,利用上面讨论的两种检测方法,得到判决结果,并与传输符号作比较,最后对符号差错和比特差错计数三、实验内容及程序分析(以下程序皆以N=1000为例)%映射比较子函数%函数分为四步第一步产生随机序列,进行4PSK映射。
第二步:调用高斯高斯噪声子函数,产生正交两路高斯噪声,与输出符号序列相加%第三步:检测接受信号%第四步:计算误码率和误比特率N=1000; %符号长度E=1; %计算噪声方差 sgma=input('方差=');sgma=sqrt(sgma);% 4PSK比特映射 s00=[1 0]; s01=[0 1];s11=[-1 0];s10=[0 -1]; %第一步产生随机序列,进行4PSK映射生成随机信源 for i=1:N, %生成随机信源 temp=rand; if (temp<0.25), % With probability 1/4, source output is "00." dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5), % With probability 1/4, source output is "01." dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75), % With probability 1/4, source output is "10." dsource1(i)=1; dsource2(i)=0; else % With probability 1/4, source output is "11." dsource1(i)=1; dsource2(i)=1; end;end;numofsymbolerror=0; %检测错误并计算错误率 numofbiterror=0;%第二步:调用高斯高斯噪声子函数,产生正交两路高斯噪声,与输出符号序列相加for i=1:N, [gsrv1,gsrv2]=gnguass(0,sgma); %调用高斯噪声子函数 n(1)=gsrv1; n(2)=gsrv2; if ((dsource1(i)==0) & (dsource2(i)==0)), r=s00+n; elseif ((dsource1(i)==0) & (dsource2(i)==1)), r=s01+n; elseif ((dsource1(i)==1) & (dsource2(i)==0)), r=s10+n; else r=s11+n; end; %第三步:检测接受信号 c00=sqrt((r(1)-s00(1))^2+(r(2)-s00(2))^2); %最小距离判决 c01=sqrt((r(1)-s01(1))^2+(r(2)-s01(2))^2); c10=sqrt((r(1)-s10(1))^2+(r(2)-s10(2))^2); c11=sqrt((r(1)-s11(1))^2+(r(2)-s11(2))^2); c_min=min([c00 c01 c10 c11]); if (c00==c_min), decis1=0; decis2=0; elseif (c01==c_min), decis1=0; decis2=1; elseif (c10==c_min), decis1=1; decis2=0; else decis1=1; decis2=1; end; %第四步:计算误码率和误比特率 symbolerror=0; %设置符号错误标志,以统计错误个数 if (decis1~=dsource1(i)), numofbiterror=numofbiterror+1; symbolerror=1; end; if (decis2~=dsource2(i)), numofbiterror=numofbiterror+1; symbolerror=1; end; if (symbolerror==1), numofsymbolerror = numofsymbolerror+1; end;end;ps=numofsymbolerror/N; % 错误率计算pb=numofbiterror/(2*N); pbps结果统计如下:sgma=0 最大投影准则: pb =0.0 ps=0.0 最小距离判决: pb =0.0 ps=0.0 sgma=0.1 最大投影准则: pb =5.0000e-004 ps=1.0000e-003 最小距离判决: pb =1.0000e-003 ps=0.0020 sgma=0.5 最大投影准则: pb =0.0690 ps=0.1320 最小距离判决: pb =0.0690 ps=0.1360 sgma=1.0 最大投影准则: pb =0.1345 ps=0.2450 最小距离判决: pb =0.1455 ps=0.2680>> %j化星座图函数sgma=input('方差=');%输入方差sgma=sqrt(sgma);%求sgmaN=1000;%输入数据点数E=1;% 单个符号能量%4PSK映射规则%s00=[1 0];s01=[0 1];s11=[-1 0];s10=[0 -1];% 化星座图 %产生信源序列% for i=1:N,% a uniform random variable between 0 and 1 temp=rand;%随机序列if (temp<0.25), % With probability 1/4, source output is "00." dsource1(i)=0; dsource2(i)=0; elseif (temp<0.5), % With probability 1/4, source output is "01." dsource1(i)=0; dsource2(i)=1; elseif (temp<0.75), % With probability 1/4, source output is "10." dsource1(i)=1; dsource2(i)=0; else % With probability 1/4, source output is "11." dsource1(i)=1; dsource2(i)=1; end;end;for i=1:N, % The received signal at the detector, for the ith symbol, is: [gsrv1,gsrv2]=gnguass(0,sgma); n(1)=gsrv1; n(2)=gsrv2; if ((dsource1(i)==0) & (dsource2(i)==0)), r00=s00+n; elseif ((dsource1(i)==0) & (dsource2(i)==1)), r01=s01+n; elseif ((dsource1(i)==1) & (dsource2(i)==0)), r11=s10+n; else r10=s11+n; end; hold on; plot(r00(1),r00(2),'*g',r01(1),r01(2),'*r',r11(1),r11(2),'*y',r10(1),r10(2),'*b'); title('sgma^2=');end;。
