您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 通信原理实验-QPSK通信系统设计MonteCarlo仿真
-.--QPSK通信系统的MonteCarlo仿真-.--一、实验目的1、提高独立学习的能力;2、培养发现问题、解决问题和分析问题的能力;3、学习Matlab的使用;4、掌握4PSK通信系统的MonteCarlo仿真方法;5、掌握4PSK通信系统的的组成原理;6、比较编码信号和为编码信号在随机信道中的传输,加深对纠错编码的理解;二、系统框图及编程原理实验原理PSK是利用载波的不同相位表示相应的数字信息。对于二进制相位调制(M=2)来说,两个载波相位是0和π。对于M相相位调制来说M=2k,这里k是每个传输符号的信息比特数。4PSK是M=4的载波相位调制。这里,将理论差错概率与仿真的差错概率比较,进一步观察仿真与理论值之间的差别。同时,用不同的判决准则对接受信号进行判决。并比较两种判别方法的差别。一.QPSK调制原理1.信号能量分析一组M载波相位调制信号波形的一般表示式为)22cos()()(MmtftAgtucTmm=[0,M-1]式中)(tgT是发送滤波器的脉冲形状,它决定了传输信号的频谱特性,A是信号的幅度。注意到,PSK信号对所有m都具有相等的能量,即sTmdttgA)(222s代表每个传输符号的能量。2.噪声分析传输信号的信道假设被加性噪声n(t)所污损,这样信号在接收端将产生误码。因为n(t)是功率谱为20N的白高斯过程的一个样本函数,所以噪声分量10nn和就是零均值高斯型的,即-.--3.信号判决分析最佳检测器将接收信号向量r投射到M个可能的传输信号向量{ms}之一上去,并选取对应于最大投影的向量。据此,得到相关准则为mmsrsrC),(m=[0,M-1]检测器观察到接收信号向量nsrm,并计算r在4种可能的信号向量ms上的投影。根据选取对应于最大投影的信号点作为判决,从而判决出信号。同时,检测器的判决准则也可采用最小距离法,即利用星座图上符号间的距离进行判决,从而得到判决结果。二.MonteCarlo仿真过程仿真框图如图(一)图(一)用于MonteCarlo仿真的4PSK系统的方框图-.--如图所示,利用一个随机数发生器,产生(0,1)范围内的随机数。再将这个范围分成四个相等的区间(0,0.25),(0.25,0.5),(0.5,0.75),(0.75,1.0),这些子区间分别对应于00,01,11,10信息比特对,再用这些比特对来选择信号相位向量ms。加性噪声的同相分量和正交分量,在上面讨论过,即为零均值,方差为的统计独立的高斯随机变量。在检测器观察到的接收信号向量,利用上面讨论的两种检测方法,得到判决结果,并与传输符号作比较,最后对符号差错和比特差错计数三、实验内容及程序分析(以下程序皆以N=1000为例)%映射比较子函数%函数分为四步第一步产生随机序列,进行4PSK映射。%第二步:调用高斯高斯噪声子函数,产生正交两路高斯噪声,与输出符号序列相加%第三步:检测接受信号%第四步:计算误码率和误比特率N=1000;%符号长度E=1;%计算噪声方差sgma=input('方差=');sgma=sqrt(sgma);%4PSK比特映射s00=[10];s01=[01];s11=[-10];s10=[0-1];%第一步产生随机序列,进行4PSK映射。生成随机信源fori=1:N,%生成随机信源temp=rand;if(temp0.25),%Withprobability1/4,sourceoutputis00.dsource1(i)=0;dsource2(i)=0;elseif(temp0.5),%Withprobability1/4,sourceoutputis01.dsource1(i)=0;dsource2(i)=1;elseif(temp0.75),%Withprobability1/4,sourceoutputis10.dsource1(i)=1;dsource2(i)=0;else%Withprobability1/4,sourceoutputis11.dsource1(i)=1;dsource2(i)=1;end;end;numofsymbolerror=0;%检测错误并计算错误率numofbiterror=0;-.--%第二步:调用高斯高斯噪声子函数,产生正交两路高斯噪声,与输出符号序列相加fori=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;elser=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([c00c01c10c11]);if(c00==c_min),decis1=0;decis2=0;elseif(c01==c_min),decis1=0;decis2=1;elseif(c10==c_min),decis1=1;decis2=0;elsedecis1=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.0ps=0.0最小距离判决:pb=0.0ps=0.0sgma=0.1最大投影准则:pb=5.0000e-004ps=1.0000e-003最小距离判决:pb=1.0000e-003ps=0.0020sgma=0.5最大投影准则:pb=0.0690ps=0.1320最小距离判决:pb=0.0690ps=0.1360sgma=1.0最大投影准则:pb=0.1345ps=0.2450最小距离判决:pb=0.1455ps=0.2680%j化星座图函数sgma=input('方差=');%输入方差sgma=sqrt(sgma);%求sgmaN=1000;%输入数据点数E=1;%单个符号能量%4PSK映射规则%s00=[10];s01=[01];s11=[-10];s10=[0-1];%化星座图%产生信源序列%fori=1:N,%auniformrandomvariablebetween0and1temp=rand;%随机序列if(temp0.25),%Withprobability1/4,sourceoutputis00.dsource1(i)=0;dsource2(i)=0;elseif(temp0.5),%Withprobability1/4,sourceoutputis01.dsource1(i)=0;dsource2(i)=1;elseif(temp0.75),%Withprobability1/4,sourceoutputis10.dsource1(i)=1;dsource2(i)=0;else%Withprobability1/4,sourceoutputis11.dsource1(i)=1;-.--dsource2(i)=1;end;end;fori=1:N,%Thereceivedsignalatthedetector,fortheithsymbol,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;elser10=s11+n;end;holdon;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;-.---.---.--主函数%对M=4的PSK通信系统进行蒙特卡罗仿真%echoonSNRindB1=0:2:10;SNRindB2=0:0.1:10;fori=1:length(SNRindB1),%计算信噪比区间大小[pb,ps]=cm_sm32(SNRindB1(i));%仿真比特和符号误码率smld_bit_err_prb(i)=pb;%将误比特率赋值smld_symbol_err_prb(i)=ps;%将误码率赋值end;fori=1:length(SNRindB2),%计算信噪比区间大小SNR=exp(SNRindB2(i)*log(10)/10);%信噪比theo_err_prb(i)=erfc(sqrt(2*SNR));%理论比特误码率end;%随后绘图曲线semilogy(SNRindB1,smld_bit_err_prb,'*');holdsemilogy(SNRindB1,smld_symbol_err_prb,'O');semilogy(SNRindB2,theo_err_prb);gridxlabel('Eb/NoindB')ylabel('errorprobability')title('4PSK通信系统的蒙特卡洛仿真')gtext('(注:“—”理论误码率;“*”误比特率;“o”误符号率)')左:最大投影点准则判决右:最小距离判决N=1000-.--N=5000N=10000-.--%函数分为七步%第一步:产生随机序列%第二步:实现4码到7码的变换%第三步:进行4PSK映射。%第四步:调用高斯高斯噪声子函数,产生正交两路高斯噪声,与输出符号序列相加%第五步:7码到4码的解码%第六步:进行码元检测%%第七步:计算误码率和误比特率sgma=input('噪声方差=');%输入噪声方差sgma=sqrt(sgma);%求sgmaEb=1;%每比特能量N=input('数据点数=');%输入数据点数%第一步产生随机序列fori=1:Ntemp=rand;%随机序列if(temp0.5)source(i)=1;elsesource(i)=0;endend%(7,4)汉明编码%第二步:实现4码到7码的变换fork=1:N/4out(7*k-6)=source(4*k-3);out(7*k-5)=source(4*k-2);out(7*k-4)=source(4*k-1);out(7*k-3)=source(4*k);-.--out(7*k-2)=xor(xor(out(7*k-6),out(7*k-5)),out(7*k-4));out(7*k-1)=xor(xor(out(7*k-6),out(7*k-5)),out(7*k
本文标题:通信原理实验-QPSK通信系统设计MonteCarlo仿真
链接地址:https://www.777doc.com/doc-4641559 .html