QPSK 16QAM 64QAM matlab仿真

  • 格式:pdf
  • 大小:680.20 KB
  • 文档页数:13

西安邮电学院 通信与信息工程学院 科研训练报告 专业班级: 通工1113班 学生姓名: 杨佳磊 学号(班内序号): 03111050(06号) 2014 年 4 月 10 日——————————————————————————装订线————————————————————————————————报告份数: 实验总成绩:LTE系统中调制技术研究摘要本文主要做了LTE中调制与解调技术的相关仿真,其中包括QPSK、16QAM、64QAM调制与解调制的matlab实现,其中包含了一些老前辈的经验以及在这基础之上我的一些相关创新,希望通过本次研究能够加深对LTE相关技术的深一步的了解,当然其中也有很多问题需要自己去解决,比如星座图的分析、比特数据的映射问题、解调制等等,这些问题及解决办法在文档中都会有所体现。

一、引言为了更好的进行大学实习教育的体制改革,更好的迎合当代企业对于毕业生的要求,实现大学与企业的更好的衔接。

让学生了解LTE当代的发展前景以及其中的一些关键技术,更好的让学生将所学知识应用到实际工作当中去,利用仿真工具对所遇到的问题进行深一步的研究并能够发现问题,自主的解决一些问题,因此进行这种开放性的实习是必要的。

特别是在这个信息膨胀的时代里,学会利用一些检索工具最快的发现与找到所需资料也显得尤为重要。

二、原理内容及研究现状在LTE中,调制和解调的方式包括QPSK、16QAM、64QAM,具体使用哪种调制方式,要看UE的能力和信道状况(UE即用户设备),一般来说根据具体的物理信道,在3GPP36.211,36.212标准中,PDCCH的调试方式是bpsk,qpsk,PDSCH是qpsk,16QAM,64QAM,剩下的广播信道等的调试方式为低阶的。

现阶段上述三种技术都已经很成熟,在这里我只做相关知识原理的一些阐述。

1.QPSK1)QPSK调制QPSK的产生方法有两种:第一种是用相乘电路,如下图1-1所示,图中输入信号A(t)是二进制双极性不归零码元,它被“串/并变换”电路变成两路码元a和b。

变成并行码元a和b后,其每个码元a和b。

变成并行码元a和b后,其每个码元的持续时间是输入码元的2倍。

这两路并行码元序列分别用以和两路正交载波相乘。

之后这两路信号在经过相加电路相加之后得到输出矢量s(t)。

这里主要进行的是单极性码元变换成双极性码元。

QPSK信号的解调原理框图如图所示,第一种,正交振幅法:用两路独立的正交的4ASK信号叠加,就可形成,因4ASK有四个振幅值和相位值,两路相乘即可得到所要的16QAM信号。

复合相移法图 1-5第二种,复合相移法,用两路独立的QPSK信号叠加,形成16QAM信号,其形成过程可用下图1-5说明2)QAM解调QAM的解调框图:中大量的采用这种调制方式不仅提高了频谱利用率而且能够更加高效快速的传递信息。

三、仿真及分析1.QPSK仿真与分析QPSK通过改变已调信号的相位信息进行对数字信号的调制。

设置不同的初相位来区别不同的数字码符,而其解调过程需要通过相位信息进行。

首先产生一系列随机的01码序列,之后每两个码字分为一组进行判别、映射画出星座图,使序列通过高斯噪声在进行解调制,画出星座图,从中观察信噪比对于码元传输的影响。

以下是QPSK的仿真和主要程序段(见附录)。

映射之后的星座图过噪声之后的星座图误码率和误比特率曲线图在途中可以看出来信噪比对于误码率的影响,信噪比越高误码率越低,因此在噪声很大的信道中适当的提高信噪比可以有效的提高通信的质量。

另外从QPSK的星座图可以看出其噪声容限值也很大,因此在解调制过程中其信息的错误率也会很低,但是其频谱的利用率却相对不高。

所以现阶段普遍偏好与QAM调制,更好的利用频谱资源,提高频谱利用率,下面开始对QAM调制进行简要的分析与仿真。

2.QAM仿真与分析一个正交幅度调制的信号采用两个正交载波,每一个载波被一个独立的信息比特序列所调制。

而其幅度可以看作是一系列电平集合,这些电平通过将比特序列映射为信号振幅获得,而我所做的仿真中采用了3个电平,并且映射的时候没有采用函数库里自带的modulate和demodulate函数进行调制与解调。

首先将产生的一系列01比特流进行进制的划分,其划分根据log2M其中M是调制的数,如16、64、128等等。

这里再将分好组的比特数据进行坐标映射,画出星座图。

在解调的过程中采用区域判别的方法,首先进行判决门限的划定,之后进行比较画出星座图。

这种方法只做了16QAM,64QAM与此相同就不做陈述,对64QAM采用内部函数的调用方式。

下面对16和64QAM的调制与解调和信噪比对误码率的影响进行分析。

16QAM星座图 16QAM加噪后的星座图16QAM误码率曲线图64QAM映射星座图 64QAM加噪后的星座图64QAM误码率曲线图图上可以看出来,64QAM调制出来的星座点更多因此其信息的容量更多,在带宽资源一样的情况之下其容纳的信息量将会更多,其传输的信息比特速率会更高,但是其代价是可以容易看到的,其解调的错误率会更高而且设备的复杂度也会相应的更加的高。

因此16和64QAM还有QPSK在实际的应用中需要根据具体的情况而定,根据我个人的理解,我们传输中当只有语音业务的时候我们可以采用最传统的调制与解调就可以满足,但是现今社会数据量的迅速膨胀,人们对多媒体以及数据业务的需求很高,因此采用更高的QAM调制技术是必要的,而且随着用户的数量日益增加,对于频谱资源极其有限的今天,跟好的利用频谱,提高频谱利用率是所用的商家都在考虑的一个难题,因此在LTE中广泛的应用QAM调制就是这个原因。

四、结论通过本次的科研训练,我更加熟练的能够操作matlab,并且通过两个星期来对于LTE中调制与解调的研究中发现了QPSK、QAM调制的优点,并且通过仿真的观察更加直观的理解书本上的一些相关知识。

在这两个星期中首先是加深了对一些知识的了解,并且学会如何去搜索资源,利用网络以及书籍来学到相关知识。

当然在与同学的讨论中也发现了自己的许多不足之处。

希望在今后的学习工作中能够虚心学习,踏实创新。

五、致谢在这里还要感谢姜静、畅智贤两位老师这两周来的悉心指导还有院里领导给我们提供这个环境和这个机会,还要感谢许多书籍的作者,给我很多启迪与鼓舞。

六、参考文献1 MA TLAB通信仿真与应用刘敏魏玲国防工业出版社2樊昌信,曹丽娜.通信原理.第六版[M].北京:国防工业出版社,2008.4-5.3 (美)S. Lin and D. J. Costello 著. 晏坚,何元智,潘亚汉等译. 差错控制编码.4 张忠培,史治平,王传丹编著. 现代编码理论与应用. 北京:人民邮电出版社.20075 蔡涛等译.无线通信原理与应用[M].北京:电子工业出版社,1999:174-179.6 仇佩亮.《信息论与编码》高等教育出版社.7 徐文燕.通信原理[M].北京:北京邮电学院出版社,20088 王新梅,肖国镇.纠错码原理与方法[M].西安:西安电子科技大学出版社,2001.9 Matlab通信仿真及应用实例详解邓华人民邮电出版社10 Bertsekas D,Gallager R.Data Network.Prentice Hall,NJ,USA,199211 Kleinrock L. Quenuing System Theory. Chichester: John Wiley & Sons,197512 Kleinrock munication Nets: Stochastic Message Flow and Delay.Dover,A.196413 Garey M R ,Johnson D S Witesnhausen H S. the Complexity of the Generalized Lloyd-Max problemS14 J un Tan. Gordon L. Stüber. New SISO decoding algo2 rithms[J ] . IEEE Trans. Commun , 2003 , 51 (6) : 845~84815 孟夏, 申敏, 王飞.TD-SCDMA中(2,1,9)卷积编码及其VITERBI译码算法的S IMULINK S-FUNCTION实现[J].通信技术,2008,41(8):26-30.16 Viterbi A J.Error bounds for convolutional codes and an asymptotically optimum decoding algorithm[J].IEEE rm Theory,1967,IT-IS(2):260-26917 王新梅,肖国镇.纠错码一原理与方法.西安,西安电子科技大学出版社,2001, 4.18 邓华.Matlab通信仿真及应用[M].北京:人民邮电出版社,200019H Jin, A Khandekar, R McEliece. “Irregular repeat-accumulate codes”. Proc. 2ndInt. Symp. Turbo Codes and Related Topics, 2000 - .20 S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara. “A Soft-Input Soft-Output APP Module for Iterative Decoding of Concat enated Codes”. IEEE附录:主要程序代码1.QPSK星座图映射程序段:sum=1000000;data= randsrc(sum,2,[0 1]); %generate a 1000000*2 random matrix, using [0 1][a1,b1]=find(data(:,1)==0&data(:,2)==0); %returns the row and column indices of the evaluated expression which are TRUE.message(a1)=-1-j; % map [ 1 1] to 225¡ã[a2,b2]=find(data(:,1)==0&data(:,2)==1);message(a2)=-1+j; % map [ 0 1] to 135¡ã[a3,b3]=find(data(:,1)==1&data(:,2)==0);message(a3)=1-j; % map [ 1 0] to 275¡ã[a4,b4]=find(data(:,1)==1&data(:,2)==1);message(a4)=1+j;% map [ 0 0] to 45¡ãscatterplot(message)title('映射后的信号的星座图')解调制后过噪声后的星座图:for Eb_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; %previously unconsidered: how to add gaussian noise to the original signal%receive=message;resum=0;total=0;m1=find(angle(receive)<=pi/2&angle(receive)>0); %demodulate the [ 1 1] patternremessage(1,m1)=1+j;redata(m1,1)=1;redata(m1,2)=1;m2= find( angle(receive)>pi/2&angle(receive)<=pi); %demodulate the [ 0 1] patternremessage(1,m2)=-1+j;redata(m2,1)=0;redata(m2,2)=1;m3=find( angle(receive)>-pi&angle(receive)<=-pi/2); %demodulate the [ 0 0] patternremessage(1,m3)=-1-j;redata(m3,1)=0;redata(m3,2)=0;m4=find( angle(receive)>-pi/2&angle(receive)<=0); %demodulate the [ 1 0] patternremessage(1,m4)=1-j;redata(m4,1)=1;redata(m4,2)=0;[resum,ratio1]=symerr(data,redata); % 'symerr' Compute number of symbol errors and symbol error rate pbit(Eb_NO_id)=resum/(sum*2); %1000000 symbols -->2000000 bits QPSK: 2bits per symbol [total,ratio2]=symerr(message,remessage); %Compute number of symbol errors and symbol error rate pe(Eb_NO_id)=total/sum; % Calculated according to the definitionendscatterplot(receive)title('¹加噪声的星座图')2.16QAM和64QAMM=16或者64;k=log2(M);n=120000; %比特序列长度samp=1; %过采样率x=randint(n,1); %生成随机二进制比特流stem(x(1:50),'filled'); %画出相应的二进制比特流信号title('二进制随机比特流');xlabel('比特序列');ylabel('信号幅度');x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每四个一组分组,并排列成k行length(x)/k 列的矩阵xsym=bi2de(x4.','left-msb'); %将矩阵转化为相应的16进制信号序列figure;stem(xsym(1:50)); %画出相应的16进制信号序列title('64进制随机信号');xlabel('信号序列');ylabel('信号幅度');y=modulate(modem.qammod(M),xsym); %用16QAM调制器对信号进行scatterplot(y); %画出16QAM信号的星座图text(real(y),imag(y),dec2bin(xsym));axis([-5 5 -5 5]);EbNo=-5:1:20;for n=1:length(EbNo);snr(n)=EbNo(n)+10*log10(k)-10*log10(samp); %信噪比yn=awgn(y,snr(n),'measured'); %加入高斯白噪声yd=demodulate(modem.qamdemod(M),yn); %此时解调出来的是16进制信号z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流z=reshape(z.',numel(z),1');[number_of_errors(n),bit_error_rate(n)]=biterr(x,z)theoryPe(n)=(1/k)*3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10))));endsemilogy(EbNo,bit_error_rate,'b-',EbNo,theoryPe,'r*');legend('64QAM实际误码率','64QAM理论误码率');xlabel('EbNo/dB');ylabel('误比特率');h=scatterplot(yn(1:1*5e3),samp,0,'g.'); %经过信道后接收到的含白噪声的信号星座图hold on;scatterplot(y(1:1*5e3),1,0,'k+',h); %加入不含白噪声的信号星座图title('接收信号星座图');legend('含噪声接收信号','不含噪声信号');axis([-8 8 -8 8]);hold off指导教师评语:实 验 成 绩:指导(辅导)教师 :—————————————————————————装订 线————————————————————————————————。