已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录引言 2 一、相关知识介绍 2(1)QAM调制解调原理 3(2)QAM的解调和判决 4二、设计内容及要求 5(1)设计内容. 5(2)技术要求. 5(3)设计步骤及要求. 5三、程序流程图及设计方案. 5(1)程序流程图. 5(2)设计方案 5四、仿真结果及分析. 7(1)信号接收图. 8(2)误码率曲线图. 8五、课程设计总结. 8六、参考文献. 9附录 10引言本次课程设的代码编写和仿真均基于Matlab仿真软件。Matlab是矩阵实验室(Matrix Laboratory)的简称,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。介绍了高斯信道下的16QAM误码率分析的设计方案,并着重介绍了各部分的设计思路及仿真。整个设计配以误码率和信噪比的性能曲线图和信号接受图加以辅助说明。设计共有三大组成部分:一是代码的编写及设计思路,本部分详细讲解了本次设计的理论实现,是关键部分;二是仿真结果及分析,这部分是为了分析设计是否合理,便于理;最后是对本次课程设计的总结。一、相关知识介绍QAM是一种矢量调制,将输入比特先映射(一般采用格雷码)到一个复平面(星座)上,形成复数调制符号,然后将符号的I、Q分量(对应复平面的实部和虚部,也就是水平和垂直方向)采用幅度调制,分别对应调制在相互正交(时域正交)的两个载波(cos wt和sin wt)上。这样与幅度调制(AM)相比,其频谱利用率将提高1倍。QAM是幅度、相位联合调制的技术,它同时利用了载波的幅度和相位来传递信息比特,因此在最小距离相同的条件下可实现更高的频带利用率,目前QAM最高已达到1 024-QAM(1 024个样点)。样点数目越多,其传输效率越高,例如具有16个样点的16-QAM信号,每个样点表示一种矢量状态,16-QAM有16态,每4位二进制数规定了16态中的一态,16-QAM中规定了16种载波和相位的组合,16-QAM的每个符号和周期传送4比特。QAM调制器的原理是发送数据在比特/符号编码器(也就是串并转换器)内被分成两路,各为原来两路信号的1/2,然后分别与一对正交调制分量相乘,求和后输出。接收端完成相反过程,正交解调出两个相反码流,均衡器补偿由信道引起的失真,判决器识别复数信号并映射回原来的二进制信号。如图4-2所示的是16-QAM的调制原理图。作为调制信号的输入二进制数据流经过串并变换后变成四路并行数据流。这四路数据两两结合,分别进入两个电平转换器,转换成两路4电平数据。例如,00转换成-3,01转换成-1,10转换成1,11转换成3。这两路4电平数据g1(t)和g2(t)分别对载波cos2fct和sin2fct进行调制,然后相加,即可得到16-QAM信号。(1)QAM调制解调原理QAM(Quadrature Amplitude Modulation)就是用两个调制信号对频率相同、相位正交的两个载波进行调幅,然后将已调信号加在一起进行传输或发射。在NTSC制和PAL制中形成色度信号时,用的就是正交调幅方式将两个色差信号调制到色度副载波上。 QAM也可用于数字调制。数字QAM有4QAM、8QAM、16QAM、32QAM等调制方式。其中,16QAM和32QAM广泛用于数字有线电视系统。下面以16QAM为例介绍其原理。正交幅度调制(QAM)信号采用了两个正交载波,每一个载波都被一个独立的信息比特序列所调制。发送信号波形如下图所示 式中和是电平集合,这些电平是通过将k比特序列映射为信号振幅而获得的。例如一个16位正交幅度调制信号的星座图如下图所示,该星座是通过用M4PAM信号对每个正交载波进行振幅调制得到的。利用PAM分别调制两个正交载波可得到矩形信号星座。QAM 可以看成是振幅调制和相位调制的结合。因此发送的QAM信号波形可表示为 如果那么QAM方法就可以达到以符号速率同时发送个二进制数据。下图给出了QAM调制器的框图。(2)QAM的解调和判决假设在信号传输中存在载波相位偏移和加性高斯噪声。因此r(t)可以表示为其中是载波相位偏移,且将接收信号与下述两个相移函数进行相关 如图2.2.1所示,相关器的输出抽样后输入判决器。使用下图中所示的锁相环估算接收信号的载波相位偏移,相移和对该相位偏移进行补偿。假设图中所示的时钟与接收信号同步,以使相关器的输出在适当的时刻及时被抽样。在这些条件下两个相关器的输出分别为其中 噪声分量是均值为0,方差为的互不相关的高斯随机变量。最佳判决器计算距离量度 二、设计内容及要求(1)设计内容利用Matlab函数或者模块产生随机数据,经过16QAM数字调制,送入高斯白噪声信道;在接收端使用16QAM解调数据后,与信源数据进行误码率统计;分析误码率与信噪比的关系。(2)技术要求信源为二进制随机数据;高斯白噪声中设置信噪比范围:-510dB;得到误码率和信噪比的性能曲线图(本设计用Eb/N0取代信噪比)。(3)设计步骤及要求拟定程序设计流程图,编写各部分代码,并用matlab仿真;检验设计是否合理;拟写设计报告。三、程序流程图及设计方案(1)程序流程图(2)设计方案1、产生二进制随机数据源 在MATLAB中表示信号的常规格式是向量或者矩阵。本示例中利用randint函数来产生一个表示二进制数据序列连续值的列向量。其中二进制数据序列的长度(即为列向量中的行数)设置为30,000。% 定义参数M = 16;k = log2(M); % 产生信源x = randint(30000,1);2、16QAM调制modem.qammod函数实现M-QAM调制,本示例中M为16。由于该函数默认的输入是十进制数据,而产生的信源为二进制,故须修改默认函数参数为输入数据类型是二进制。% 调制,设置输入为二进制数据y = modulate(modem.qammod(M,16,InputType,Bit),x);3、信道加高斯白噪声对已调制信号可采用awgn函数添加加性高斯白噪声。其中比特能量与噪声功率谱密度的比值,Eb/N0,设置为-5-10dB。 将上述Eb/N0值转换为相应的信噪比(SNR),需要考虑每一符号包含的比特数k(16-QAM中为4)以及过采样率因子nsamp(本本次设计中为1)。其中因子k是用来将Eb/N0转换为等价的Es/N0(符号能量与噪声功率谱密度的比值)。% 设置Eb/N0为-5-10dB。EbNo = -5:1:10;% for循环计算snr值和误码率(见5、误码率计算)for n=1:length(EbNo)% EbNo值转换为相应的snr(信噪比)snr(n) = EbNo(n) + 10*log10(k);% 加高斯白噪声ynoisy = awgn(y,snr(n),measured);4、16QAM解调modem.qamdemod函数实现M-QAM解调。由于该函数默认的输出也是十进制数据,而之后要计算误码率时要求是二进制,故须修改默认函数参数为输出数据类型是二进制。% 解调,设置输出二进制数据z = demodulate(modem.qamdemod(M,16,OutputType,Bit),ynoisy);5、计算误码率对原始二进制向量和上述步骤解调得到二进制向量利用biterr函数即可得到误比特数和误码率。% 计算仿真误码率nErrors(n), BITBER(n) = biterr(x,z);% 计算理论误码率theo_err_prb(n)=(1/k)*3/2*erfc(sqrt(k*0.1*(10.(EbNo(n)/10);% 结束for循环End6、绘制误码率曲线图和信号接收图 对误码率与输入Eb/N0的关系可以利用semilogy绘制一条曲线图。对发射和接收信号利用scatterplot函数可显示信号星座图的样子及噪声对信号造成的失真程度。在该图中,横轴代表了信号的同相分量而纵轴代表了正交分量。下面的代码还利用了MATLAB中的title、legend以及axis函数来绘制特定的图像。% 画仿真和理论误码率与Eb/N0的关系曲线图semilogy(EbNo,BITBER,r*,EbNo,theo_err_prb,b-);title(误比特率性能);xlabel(Eb/N0(dB);ylabel(误比特率);legend(仿真比特误码率,理论比特误码率);% 画出加噪后信号接收图h = scatterplot(ynoisy(1:1*5e3),1,0,g.);hold on;% 将刚调制后星座点和加噪后接收信号画在一个图表上scatterplot(y(1:1*5e3),1,0,r*,h);title(Received Signal);legend(Received Signal,Signal Constellation);axis(-5 5 -5 5);hold off;四、仿真结果及分析(1)信号接收图红色*为调制后标准的星座点,绿色散点为加噪后信号点。(2)误码率曲线图红色*为仿真的误码率,蓝色线条表示理论误码率。注意图示横坐标为Eb/N0,不是snr(信噪比)。本曲线图较为接近地反映了误码率与EbN0的关系,故本设计方案合理。五、课程设计总结课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程,本次课程设计从开始到验收检查花费了大概一周时间,查阅了很多相关资料和书籍,结合课本知识,在老师的指导下,获得圆满成功。回顾起此次课程设计,我感慨颇多,从拿到题目到完成设计,学到了很多很多的东西,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。在设计的过程中遇到不少问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我把前面所学过的知识又重新温故了一遍,而且理解更加深刻。我做的是高斯信道下的16QAM误码率分析,虽然原理很简单,由于对Matlab的生疏,起步较难。第一天拿到题目后,我熟悉了一下Matlab软件的操作,发现很生疏,于是用了一个晚上的时间来提高操作水平,经过不懈努力,终于正式开始进行设计。接下来我根据老师提供的资料以及我所找的相关资料开始将分部分地设计,这就需要在Matlab软件上查找相应函数,然而并不是找到就几个函数那么简单,这要求把英文的函数进行理解,花了很久的时间,比如在查找16QAM调制函数时,我在help里面查找modem找到16QAM的调至和解调函数,利用翻译把函数阅读一遍,发现modem.qammod和modem.qamdemod这两个函数默认的输入和输出都是十进制,而信源和最终计算误码率都用的是二进制,如果不能理解和加以更改默认参数的话必将导致仿真失败,这个过程让我明白:细节决定成败!在整个仿真设计过程中还遇到过其他问题,但同时我总结出,只要能认真阅函数定义和参数设置就能用正确的函数进行设计。 在此次课程设计过程中,我收获知识,提高能力的同时,也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!六、参考文献1、MATLAB仿真技术与应用 张葛祥 李娜 主编2、MATLAB通信仿真及应用实例详解 邓华 主编3、MATLAB程序设计与实例应用 张铮 主编附录代码:M = 16;k = log2(M); x = randint(30000,1);y = modulate(modem.qammod(M,16,InputType,Bit),x); EbNo = -5:1:10;for n=1:length(EbNo)snr(n) = EbNo(n) + 10*log10(k);ynoisy = awgn(y,snr(n),measured);z = demodulate(modem.qamdemod(M,16,OutputType,Bit),ynoisy);nErrors(n), BITBER(n) = biterr(x,z);theo_err_prb(n)=(1/k)*3/2*erfc(sqrt(k*0.1*(10.(EbNo(n)/10);enddisp (nErrors);disp (B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利工程施工考试题库含答案
- 文创产品经理资格考试试题及答案解析
- 施工合同考试题库及答案
- 民警 校园安全教育课件
- 服务社区真题及答案
- 机械基础试题及答案参考
- 株洲市石峰区工会系统招聘考试题库及答案解析
- 层流手术感染应急预案(3篇)
- 浙江省计算机二级MS高级Office理论题
- 教育管理考研时间轴
- 国际货运报关、装卸、搬运、包装要求
- 食材配送投标方案(技术方案)
- 冷却塔填料更换施工方案
- 中风病人的中医护理查房脑出血的中医护理查房课件
- 摄影测量学-中国矿业大学中国大学mooc课后章节答案期末考试题库2023年
- 励盈港式茶餐厅员工手册
- GB/T 6478-2015冷镦和冷挤压用钢
- 冶金物理化学期末辅导(北科考研)课件
- 协调制度与归类总规则课件
- 定量药理学发展及其在新药研制与临床合理用药中应用课件
- DB32/T 4400-2022《饮用水次氯酸钠消毒技术规程》-(高清正版)
评论
0/150
提交评论