移动通信仿真 QPSK系统的原理.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:57KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

移动通信仿真 QPSK系统的原理.doc

移动通信仿真QPSK系统的原理.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

QPSK系统的原理四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,275°,HYPERLINK"http://baike.baidu.com/view/1654807.htm"调制器输入的数据是二进制数字序列,为了能和四进制的载波HYPERLINK"http://baike.baidu.com/view/132570.htm"相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。在QPSK体制中,由其矢量图(图1)可以看出,错误判决是由于信号矢量的相位因噪声而发生偏离造成的。例如,设发送矢量的相位为45°,它代表基带信号码元“11”,若因噪声的影响使接收矢量的相位变成135°,则将错判为“01”。当不同发送矢量以等概率出现时,合理的判决门限应该设定在和相邻矢量等距离的位置。在图中对于矢量“11”来说,判决门限应该设在0°和90°。当发送“11”时,接收信号矢量的相位若超出这一范围(图中阴影区),则将发生错判。对实验结果的简单分析和说明,B点信号的星座图映射,00、01、10、11组合分别映射成-1-j,-1+j,1-j,1+j。C点信号的星座图映射,它是加入噪声后的映射结果,由图中可以看出加入噪声后大致以-1-j,-1+j,1-j,1+j为中心形成了近似圆的图像,少部分点偏离比较严重,产生了误差。由图可见QPSK仿真误码率曲线和理论误码率曲线重合在一起,QPSK仿真误比特率曲线和理论误比特率曲线也重合在一起,误码率约是误比特率的两倍,说明实验方法是正确可行的。结论本次实验研究了数字调制方式QPSK,对其误码率进行了考察。通过理论误码率和仿真误码的比较,了解了误码率的性能。本次实验还通过运用星座图来对实验结果进行仿真。本次实验得出结论如下:误码率是误比特率的两倍。程序:clearSNR_DB=[0:1:12];%Signal-to-noiseratiograduallyimprovesum=1000000;data=randsrc(sum,2,[01]);%generatea1000000*2randommatrix,using[01][a1,b1]=find(data(:,1)==0&data(:,2)==0);%returnstherowandcolumnindicesoftheevaluatedexpressionwhichareTRUE.message(a1)=-1-j;%map[00]to225°[a2,b2]=find(data(:,1)==0&data(:,2)==1);message(a2)=-1+j;%map[01]to135°[a3,b3]=find(data(:,1)==1&data(:,2)==0);message(a3)=1-j;%map[10]to275°[a4,b4]=find(data(:,1)==1&data(:,2)==1);message(a4)=1+j;%map[00]to45°scatterplot(message)title('B点信号的星座图')A=1;Tb=1;Eb=A*A*Tb;P_signal=Eb/Tb;NO=Eb./(10.^(SNR_DB/10));%SNR_DB=10.*log10(Eb./NO)P_noise=NO;%noisepower单边功率谱密度(N0)主要用在复数信号中,双边功率谱密度(N0/2)主要用在实信号中。sigma=sqrt(P_noise);forEb_NO_id=1:length(sigma)noise1=sigma(Eb_NO_id)*randn(1,sum);noise2=sigma(Eb_NO_id)*randn(1,sum);receive=message+noise1+noise2*j;%previouslyunconsidered:howtoaddgaussiannoisetotheoriginalsignalresum=0;total=0;m1=find(angle(receive)<=pi/2&angle(receive)>0);%demodulatethe[11]patternre