版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第iv页共31页QAM调制解调原理及MATLAB仿真分析案例目录TOC\o"1-3"\h\u4803QAM调制解调原理及MATLAB仿真分析案例 192651绪论 1279142QAM调制解调原理 2177282.1QAM调制原理 2260572.2QAM解调原理 311172.3QAM调制性能 3299582.3.1最小欧几里得距离 459012.3.2误码率 424002.4本章小结 5194213MATLAB实现 540883.1MATLAB简介 5228203.2仿真流程 5216513.3仿真结果及分析 7223023.3.1二进制信号 7173813.3.2调制解调及星座图 8265043.3.3误码率曲线 121绪论在这个大量产出高质量多媒体内容的今天,如何高效的利用频谱是一大研究热点。QAM调制就是将两路相互正交的信号进行调制,因其在同一带宽内存在同相分量和正交分量,传输的数据也就比其他调制方式传输的数据多,很好的利用了频谱,所以欧洲、美国和日本均将其作为有线数字电视标准[1]。继欧洲、美国、日本之后,我国的地面数字电视广播标准也采用了MQAM调制方式。现在宣传的5G移动通信中,终端与基站间的数据调制均已支持64QAM调制,然而在现实生活中,我们的终端设备不可能一直以相同的调制解调和基站进行通讯,而且QAM调制也可以根据信道的噪声比和信号源的强弱自适应的调整调制速率。随着蜂窝网络和5G的微基站的出现,信道衰落的影响也有所下降,所以高进制的QAM调制技术越来越多的出现,像现在的WIFI6E路由器就支持1024QAM调制技术,因此在相同时间内传输的内容更多更快。随着多进制正交幅度调制中M的增加,调制信号的同相和正交加起来所携带的bit个数会增多,例如当M=256时,一个码元携带8bit信息,增加了频谱资源的利用率。因此QAM调制技术成为了通信领域的研究热点。除此之外,MQAM的码间距相比与其他多进制数字调制要大,这样子的话QAM在解调时可以减小采样的误判,也就是我们所说的误码率。2QAM调制解调原理2.1QAM调制原理QAM调制是将两路分开的基带信号分别对两个相互正交的同频载波进行调幅,因其满足在同一频谱内正交,所以其可以传输两路数据。因此其是一种可极大提高频谱资源利用率的数字调制。其基带信号电平数m和信号状态M之间的关系为m=log2M,所以MQAM调制信号可以表示为:(2-1)MQAM调制信号还可以这样表示:(2-2)上式中,,所以MQAM信号是由振幅和相位联合调制产生的。QAM信号的调制原理如图2.1所示。图2.1QAM信号调制原理图中串/并转换将输入的二进制比特序列变成两路信号,以256QAM为例,由前面可知256QAM对应电平数为8,输入的比特流进过串并转换后,每一路为4个比特分别和同相载波和正交载波相乘后再相加就得到已调的256QAM信号。2.2QAM解调原理QAM解调即是调制的逆过程,目前解调QAM的方法很多,但本文采用相干解调法。在理想的情况下利用率为。QAM解调原理如图2.2所示。图2.2QAM解调原理MQAM信号分别与两路相互正交的载波相乘,经过低通滤波器滤除高频分量后,两路信号进行抽样判决[5],再进行串并转换,即可恢复原始二进制比特流。2.3QAM调制性能对于QAM调制解调系统,频谱利用率这个指标是一定能达到要求,而且越高的QAM调制频谱利用率就越高。误码率与频谱利用率是互相制约的关系,越高阶的QAM调制,会导致星座点之间的欧几里得距离减小,从而导致解调时的误码率增加[15]。因此,除开误码率这一要素,星座点间最小欧几里得距离dmin[16],也是影响QAM解调性能的一大关键。2.3.1最小欧几里得距离将(2-1)式变形,令(2-3)其中(2-4)(2-5)(2-6)脉冲信号的能量为,由此可得任意两个信号间的欧氏距离是: (2-7)当信号幅值取时,两点间欧几里得距离最小为:(2-8)2.3.2误码率M进制QAM的误码率公式[17](2-9)在高信噪比(SNR)下的误码率为[17](2-10)2.4本章小结本章通过对QAM调制解调原理的介绍,给出QAM调制解调框图。在此基础上,又根据数学表达式计算出MQAM的调制性能。这些都为后面的MATLAB仿真和FPGA实现提供了理论依据。3MATLAB实现3.1MATLAB简介MATLAB是美国MathWorks公司推出的商业数学软件,中文名称为矩阵工厂。MATLAB可以说是稳居全球仿真软件领域第一的位置,其主要用于数字信号处理、数字图像处理等方面。但是其在最近比较火热自动驾驶、机器学习和自然语言处理方面也表现的异常优异。MATLAB的优秀离不开其将矩阵计算,数据可视化及各领域不同方向的系统建模和仿真集成在一个软件(窗口)当中,而且MATLAB的开发人员也不断的开发出对新技术领域的支持。3.2仿真流程用MATLAB实现256QAM调制解调可以有两种方法实现:MATLAB语言。这是一种高级的编程语言,其语法特性基本上与C++语言一致。其通常将变量数据以矩阵方式存储,而每个变量也都可以将其转化为图形,可以很好的观察变量的变化。Simulink。Simulink是MATLAB里面的一个可视化仿真工具,提供一个模块图的环境且提供可自定义的模块库。而DSPBuilder就是Quartus提供给Simulink的一个第三方库。DSPBuilder可完成图形化的系统建模、设计及仿真。DSPBuilder是一个工具箱提供设计工具,它构建在多个软件工具之上,并把系统级(算法仿真模块)和RTL级(硬件实现)的设计工具连接起来,发挥两种工具的优势[8][18]。DSPBuilder可以在MATLAB中建立好Simulink的仿真模型,然后转化为Verilog硬件描述语言文件,并在Quartus中验证[9][10]。在本文中选择直接使用MATLAB语言进行256QAM调制解调系统的编写,详细代码见附录1。仿真过程中需要通过产生随机二进制码、将其重新排序成8bit一组、调制、进过加性噪声信道、解调、输出解调后信号这几个部分代码。256QAM仿真流程如图3.1所示。图3.1256QAM仿真流程图仿真流程图说明:生成一个随机且长度足够长的二进制比特流。在此仿真实验中,比特序列的长度,并画出前64个比特流的信号图,也可使用bi2de函数将二进制转换成十进制,以便于与解调后的信号图做比对。仿真256QAM时,使用reshape函数将随机的二进制比特流重新按照8bit分组,因为其电平数为8。编写256QAM调制函数,其作用是对信号进行格雷码映射并画出映射后信号的星座图。通过awgn信道在256QAM信号中加入噪声。编写解映射和解调函数,将经过映射和调制的信号恢复出来。利用scatterplot函数画出调制后信号的星座图,还有通过信道后信号的星座图。画出误码率曲线。3.3仿真结果及分析3.3.1二进制信号利用函数randi([0,1],1,num)来生成一个随机且长度为80000的二进制比特流。stem(inbits(1:64),’filled’)画出调制和解调后的前64个比特信号图。调制前比特流如图3.2所示,解调后比特流如图3.3所示。num=80000;%仿真的01比特数量inbits=randi([0,1],1,num);%生成随机二进制比特流figure,stem(inbits(1:64),'filled');figure,stem(result(1:64),'filled');图3.2调制前的二进制比特流图3.3解调后的二进制比特流从图3.2和图3.3中可以看出调制前和解调后的二进制比特流的前64个比特序列完全一致,说明了在进过编写的256QAM调制解调系统后,解调和判决比较准确。3.3.2调制解调及星座图256QAM星座图根据格雷映射,每个点由4bit实部和4bit虚部组成,x轴由实部4bit控制,y轴由虚部4bit控制,分别从负到正以此为0000、0001、0011、0010、0110、0111、0101、0100、1100、1101、1111、1110、1010、1011、1001、1000(格雷码),这样每个相邻点均有4bit是相同的(在同一轴),而另外4bit是格雷编码的相邻点,因为按照格雷编码每相邻两个码组之间均差1个bit,所以在星座图中每相邻的点都是只差1个bit。调制映射函数有两种写法:采用2个256位的map向量。根据二进制星座图可知,每个map含有256个坐标分量,map1对应同相分量,map2对应正交分量,两者对应位置构成一个完整坐标,与其二进制数的映射关系通过数组下标完成。采用两个16位的map向量。映射表:mapping1=[-15-13-9-11-1-3-7-515139111375];%同相分量mapping2=[-15-13-9-11-1-3-7-515139111375];%正交分量通过循环将实部4bit,虚部4bit通过bi2de函数将二进制转换成对应的十进制数。查找映射表,最后组合成复数形式。forN=1:num/8Dec_ac(N,:)=bi2de(tx_bits(N,1:4),'left-msb');Dec_as(N,:)=bi2de(tx_bits(N,5:8),'left-msb');ac(N)=mapping1(Dec_ac(N,:)+1);as(N)=mapping2(Dec_as(N,:)+1);tx_256QAM(N,1)=ac(N)+i*as(N);end其中ac表示的为实部分量(也叫同相分量),as表示虚部(也叫正交分量),在通过tx_256QAM(N,1)=ac(N)+i*as(N)将其组合成复数形式,如图3.4所示。图3.4调制后得到的合成复信号因其数据量比较大,只截取前17个复信号来证明是正确的采用复数形式保存。通过scatterplot(tx_256QAM)函数来生成调制后的256QAM星座图,如图3.5所示。图3.5调制后的256QAM星座图利用awgn()函数来模拟信道,并添加噪声,在通过scatterplot(rx_256QAM)生成经过信道接收后的含噪声的信号星座图,如图3.6所示。图3.6加噪声后的星座图加入噪声后的复数信号如图3.7所示。图3.7加入噪声后的复数信号经过图3.5和图3.6的比较,不难看出经过加噪声处理后的信号星座图明显变差。从图3.4和图3.7可以看出每一个复数信号都存在部分的误差,偏移了原来的坐标。解映射函数也对应有两种写法:采用ifelse解映射,不过这样需要写256个ifelse分支,不利于代码的阅读理解。采用映射的方法。编写一个包含16个状态的demap矩阵,分别对其实部和虚部进行解调。demapping=[0000;0001;0011;0010;0110;0111;0101;0100;1100;1101;1111;1110;1010;1011;1001;1000];判决采用似然判决,比如说这个数的实部大于14,那么就认为这个数的真实为15,其他的数也依次类推yc=real(rx_256QAM);%实部ys=imag(rx_256QAM);%虚部将十进制数转换为在demapping对应的位置,并从demapping的相应位置取出4个bit,实部虚部合起来即8bit。bin(N,:)=[demapping((yc(N)+15)/2+1,:)demapping((ys(N)+15)/2+1,:)];图3.3就是解映射之后的二进制序列。3.3.3误码率曲线计算误码率采用的是比较产生的随机比特流和解调后比特流相减后取其绝对值,其中有多少个1就有多少个比特出错,并生成误码率曲线,如图3.8所示。[result]=Demapping_256QAM(rx_256QAM);%判决子函数E=[Eabs(inbits-result)];%得出出错的数量:1表示出现错误pe=[pemean(E)];%mean(E)%计算平均值,就是误码率figure,semilogy(Eb_ratio_N0_indB,pe,'^-r')%画格雷映射256QAM仿真的BE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026赣州市纺织服装行业协会招聘工作人员1人笔试备考试题及答案解析
- 2026山东淄博市博山区卫生健康系统事业单位招聘卫生类专业技术人员48人考试备考题库及答案解析
- 广东省茂名市五校联考2026届高一数学第二学期期末经典模拟试题含解析
- 2026年哈尔滨五常市第二中学校高中招聘教师考试参考试题及答案解析
- 工厂考勤制度通知范本
- 大学生班级活动考勤制度
- xx镇中心小学坐班及考勤制度
- 工作日报与电子考勤制度
- 山东街道刷脸考勤制度
- 2026年客运驾驶员安全生产考核试题及答案
- 旅游景区环境资源管理
- 自然科学研究方法
- 2025年汽车质押行业分析报告及未来发展趋势预测
- 中建钢筋工程优化技术策划指导手册2022
- 面部轮廓美学课件
- 湘南学院临床免疫学试题及答案2025年版
- 2025年同等学力申硕英语真题及参考答案A卷
- 2025年甘肃高考物理试题+答案
- 汽轮机组启停操作相关试验
- 2025年中医新专长考试题库
- 三年级数学下册口算练习题(每日一练共12份)
评论
0/150
提交评论