版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、引言近年来,软件无线电作为解决通信体制兼容性问题的重要方法受到各方面的注意。它的中心思想是在通用的硬件平台上,用软件来实现各种功能,包括调制解调类型、数据格式、 通信协议等。通过软件的增加、修改或升级就可以实现新的功能,充分体现了体制的灵活性、 可扩展性等。其中软件的增加、高频谱效率的调制解调模块是移动通信系统的关键技术,它的软件化也是实现软件无线电的重要环节。QPSK1英文 Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在 19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技 术的优点是已调信号具有相对窄的功率谱和对放
2、大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干 扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。通过完成设计内容,复习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解 QPSK的实现方法及数学原理。并对 “通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声
3、的表示方法,以便在编程中使用。理解 QPSK调制解调的基 本原理,并使用 MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该 方式的误码率测试。复习 MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。在完成要求任务的条件下,尝试优化程序。本课设是基于 Matlab的软件仿真,只需 PC机上安装MATLAB 6.0或者以上版本即可。 课设的要求是1.构建一个理想信道基本 QPS颌真系统,要求仿真结果有:基带输入波形及 其功率谱;QPSK信号及其功率谱
4、;QPSKW号星座图。2.构建一个在AWGN高斯白噪声)信 道条件下的QPS颌真系统,得出高斯白噪声信道条件下的误码性能以及高斯白噪声的理论 曲线,要求所有误码性能曲线在同一坐标比例下绘制。通过本次实验,除了和队友培养了默契学到了知识之外,还可以将次实验作为一种推 广,让更多的学生来深入一层的了解 QPSKA至其他调制方式的原理和实现方法。可以方便学生进行测试和对比。足不出户便可以做实验。1方案论证本次课设是基于MATLA并境下对QPS领制解调系统进行仿真。在Matlab环境下有两 种仿真方案,一种是基于simulink对QPSKS行模块化的仿真, 要求是不能直接调用软件里 面的集成模块,以此
5、来实现QPS掾统的仿真。另一种方案是在Matlab环境下,用软件编程 的方法来实现调制解调系统的仿真,并且得出不同信道的误码率,并作以比较。1.1 方案一在Matlab环境下,用软件编程的方法来实现QPS领制解调系统的仿真。Matlab是一款由美国Math Works公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视 化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包才C, C+和FORTRAN)!写的程序。我们此次可以应用它的这种功能,在熟练掌握语言编程以及深刻 理解QPS
6、K勺基础上,严格按照程序仿真的流程图对各部分进行程序编写并仿真。应用理论 知识来验证最终的仿真结果是否正确。1.2 方案二在Matlab环境下的Simulink模块库中应用*II块来搭建QPS领制解调系统的仿真电路模块。在深入了解 QPSKM制解调系统理论知识的情况下,根据理论知识构建调制解调的系 统框图。在此基础上选择合适的电路器件以及设置合理的参数,构成调制解调的总体电路框图。Simulink是MATLAB1重要的组件之一,它提供一个动态系统建模、仿真和综合分析的 集成环境。在该环境中只要通过简单的鼠标操作,就可以构造出复杂的系统。Simulink 提供了一个建立模型方块图的图形用户接口,
7、这个创建过程只需单击和拖动鼠标操作就能完 成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。在此基础上完成电路图的搭建,得出仿真结果,并与实际的理论结果相比较。1.3 方案确立在经过详细的考虑和比较之后,我确立了方案一为本次课程设计的最终方案。QPSK的调制方法有两种,分别是相乘电路法和选择法,结合本次设计的实际情况,最终选择用程序 方式实现相乘电路的调制方式。因为在Matlab中应用程序对QPSK调制解调系统进行仿真, 一方面降低了系统设计的复杂性,并且有效的克服了电子瓶颈的问题。因为在电子电路中, 总体电路对参数设置是非常敏感的,一旦参数设置出现小的偏差,将会影响
8、到整个电路的结果。另一方面程序的仿真过程中可以将主程序分为很多个子程序,将它们逐个进行仿真,这样不会影响到整体结果,可以逐步进行调试。结合以上的比较论证以及自身的能力,最终我决定用程序法来完成此次对 QPSK调制解调系统的仿真。2仿真原理四相相位调制解调是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。QPSK是在M =4时的调相技术,它规定了四种载波相位,分别为45° ,135 ° ,225。,275。,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,
9、共有四种组合,即00, 01, 10, 11,其中每一组称为双比特码元。每一个双比 特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK中每次调制可传输 2个信息比特,这些信息比特是通过载波的四种相位来传递的。解调器 根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。数字调制用“星座 图”来描述,星座图中定义了一种调制技术的两个基本参数:(1)信号分布;(2) 与调制数字比特之间的映射关系。星座图中规定了星座点与传输比特间的对应关系,这种关系称为“映射”,一种调制技术的特性可由信号分布和映射完全定义,即可由星座图来完全定义3 。在QPSK调制中,QPS
10、K信号可以看作两个载波正交的2PSK调制器构成。串/并变换器将输入的二进制序列分为速率减半的两个并行的双极性序列,然后分别对sin 3 ct和cos CO ct调制,相加后得到QPS耐制信号。QPS洞相支路和正交支路可分别采用相干解调 方式解调,得到I( t) 和Q ( t)。经抽样判决和并/串变换器,将上、下支路得到的并行 数据恢复成串行数据。2. 1 QPSK调制原理在QPSK调制中,QPSK信号可以看作两个载波正交的2PSK调制器构成。串/并变换器将输入的二进制序列分为速率减半的两个并行的双极性序列,然后分别对sin 3 ct和coscoct调制,相加后得到QPS领制彳t号。QPSKW相
11、支路和正交支路可分别采用相干解调方式 解调,得到I( t) 和Q ( t)。经抽样判决和并/串变换器,将上、下支路得到的并行数据 恢复成串行数据。调制原理框图如图 2.1所示原理分析:基本原理及系统结构 QPSKW二进制PSK一样,传输信号包含的信息都存在于相位中。的别的载波相位取四个等间隔值之一,如ji/4, 35/4,5 ji/4,和75/4。相应的,可将发射信号定义为J2 E / t cos2 ft (2 i 1)/ 40 <t<T(2.1.1 )其中,i =1, 2, 2, 4; E为发射信号的每个符号的能量,T为符号持续时间,载波频率f等于nc/T , nc为固定整数。每
12、一个可能的相位值对应于一个特定的二位组。例如,可用 前述的一组相位值来表示格雷码的一组二位组:10, 00, 01, 11。下面介绍QPSK言号的产生和检测。如果a为典型的QPS侬射机框图。输入的二进制数据序列首先被不归零(NRZ电平编码转换器转换为极性形式,即负号 1和0分别用JEb和-.Eb表示。接着,该二进制波形被分接器分成两个分别由输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用a1 (t),和a2 (t)表示。容易注意到,在任何一信号时间间隔内 a1 (t),和a2 (t)的幅度恰好分别等于 Si1和Si2 ,即由发送的 二位组决定。这两个二进制波形a1 (t
13、),和a2 (t)被用来调制一对正交载波或者说正交基本函数:1 (t) = J笄cos(2 fct) ,2 (t) = J2Tsin(2 忖)。这样就得到一对二进制PSK信号。1 (t)和 2 (t)的正交性使这两个信号可以被独立地检测。最后,将这两个二进制PSK信号相加,从而得期望的 QPSK2.2 QPSK解调原理在QPSK解调中,正交支路和同相支路分别设置两个相关器(或匹配滤波器),得到I( t)和Q ( t),经电平判决和并/串变换后即可恢复原始信息从发射机发射的已调信号经 过传输媒质传播到接收端,接收机接收到的己调信号为:SQPSK(t) = I( t) cos co ct +Q (
14、 t) sincoct(2.2.1)I( t) 、Q ( t)分别为同相和正交支路,co c为载波频率,那么相干解调后,同相支路相乘可得:Ii( t) = SQPSK( t) cos w ct = I( t) cos w ct +Q ( t) sin w ctcos w ct=I( t) cos2wct +Q ( t) sin wct /2=I( t)/2- I( t) cos 23ct + Q( t) sin 23ct(2.2.2 )正交支路相乘可得:Qq( t) = SQPSK( t) sin w ct = I( t) cos w ct + Q ( t) sin w ctsin w ct=
15、I( t) sin c ct x cos c ct +Q (t) sin 2 3 ct=I(t) sin 23 ct /2 +Q ( t)-Q ( t) cos 2 3 ct(2.2.3 )经过低通滤波器可得:Ii( t) =0.5I( t), Qq( t) =0.5Q ( t)(2.2.4 )原理框图如图2.2所示:接收信 号x (t)同相信道门限=0低通filrer复接器J发送二进制序列的估计上 低通 filrer能判决门限门限=02 (t ) 正交信道图2.2 QPSK解调原理框图原理分析:QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号 1 (t )和
16、2 (t)。相关器接收信号 x (t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号 1;如果x1<0,则判决同相信道的输出 为符号0。;类似地。如果正交通道也是如此判决输出。最后同相信道和正交信道输出这两AWG借道中,判决结果个二进制数据序列被复加器合并,重新得到原始的二进制序列。在 具有最小的负号差错概率。2.3 调制解调系统总框图图2.3 QPSK调制与解调系统总框图3仿真与分析3.1 程序仿真流程图程序仿真流程图是程序仿真的步骤及大体框架,基于流程图,我们可以有效的避免程序次序的先后问题,将主程序分割成很多个子程序来逐一实现,严格
17、按照流程图的次序进行编程仿真。最终将各个子程序综合起来实现最终的程序仿真。流程图如图3.1所示图3.1程序仿真流程图3.2 QPSK调制方式的Matlab仿真I路信号是用余弦载波,由 2进制数据流的奇数序列组成;Q路信号用正弦载波,由 2进制数据流的偶数序列组成。下面的a是Idata , b就是Qdata,它们分布与各自的载波相乘分别输出I路信号和Q路信号。I路信号加上Q路信号就是QPSK俞出信号。当I路载 波信号是0相位时为1,是180°相位时为0;当Q路载波彳t号是0相位时为1,是180°相 位时为0。调制仿真图如图3.2所示:101234567y7nL耳XIf1Li
18、1 L/ / f 1 其7rV /rr . F .ir.rrr图3.2 matlab 调制仿真图3.3 QPSK解调方式Matlab仿真正交支路和同相支路分别设置两个相关器(或匹配滤波器),得到巾)和Q(t),经电平判决和并/串变换后即可恢复原始信息。I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1);解调(相干解调,与载波相乘Q_demo=QPSK_rc_n0.*sin(2*pi*f1*t1);I_recover=conv(I_demo,xrc);低通滤波Q_recover=conv(Q_demo,xrc);-2原序列102030405060708090100I支路解调-2
19、 0102030405060708090100Q支路解调-2 1111111110102030405060708090100解调后序列-2102030405060708090100根据图2.1和图2.2的流程框图设计仿真程序,得出结果并且分析如下:3.4 理想信道下的仿真仿真结果出现的波形依次是基带信号,基带信号的功率谱密度,调制信号,调制信号的功率谱密度,解调输出,解调输出功率谱密度。实验结果如图3.4所示晶不后号0.511£2.D*调制信号1D020030040050c解调输出,51152遥带信号功率谱密度2D 403080100Freqi)2n:y 蠲制信号功率谱密爱I . h
20、 , O o o o o o o O胃 02 T 电 由甫h'ldpAuunnb-ol/aMoIZL.M工zgp) AnuonboJ/leM£2D 405080100Freq 喇叫(Hz)解词输出功率谱密固2D 4030 8c 100Fr?uj3n?y (Hz)图3.4理想信道下的QPS的真结果图3.4结果显示,完成了 QPSK言号在理想信道上的调制,传输,解调的过程,由于调 制过程中加进了载波,因此调制信号的功率谱密度会发生变化。并且可以看出调制解调的结果没有误码。3.5 高斯信道下的仿真在高斯信道下的仿真结果出现的波形依次是调制信号,调制信号功率谱密度,高斯噪 声曲线,Q
21、PSK信号星座图(Awgn)。结果如图3.4所示:七 ICO 200 在 *C04调制信号内rflE2040 印 BD IX-u&hcy (Hz)谛制信号功至询巴尹(.内间 0250昌斯喔声由残S3 10301500后号星座图Ln) 2-睦论造:发纪端)+ 式总值f接收端1050 51-1 5图3.5高斯信道下的QPS的真结果由图3.5可以得到高斯信道下的调制信号,高斯噪声,调制输出功率谱密度曲线和 QPSK信号的星座图。在高斯噪声的影响下,调制信号的波形发生了明显的变化,其功率谱密度函数相对于图3.4中的调制信号的功率谱密度只发生了微小的变化,原因在于高斯噪声是一个均值为0的白噪声,
22、在各个频率上其功率是均匀的,因此此结果是真确的。 星座图反映可接收信号早高 斯噪声的影响下发生了误码,但是大部分还是保持了原来的特性。3.6先通过瑞利衰落信道再通过高斯信道的仿真信号先通过瑞丽衰落信道再通过高斯信道的仿真后出现的波形依次是调制信号(Ray+Awgn ),调试信号功率谱密度(Ray) ,QPSK信号星座图(Awgn+Ray ),误码率曲线。仿真结果如图3.6所示:调制信号(RayMwgn调制信青功里诺空度行间E M6 口02100二厘妙如中(H?)口 右1 01620若 - * J J 个工再二百_ 1二 AW-fAOLLP 2 k信号里至图f Aac n+R av J误码率悔统
23、+手目论值c粕射端)+ 实际值度收端林Lt 十理论AWGM* 仿真AWGM理论用了伯叼卜+ 伉友EhjI网h23456二 b/1do二 2-101图3.6先通过瑞利衰落信道再通过高斯信道的仿真结果由图3.6可以得到瑞利衰落信道前后的星座图,调制信号的曲线图及其功率谱密度。最后显示的是高斯信道和瑞利衰落信道的误码率对比。由图可知瑞利衰落信道下的误码率比高斯信道下的误码率高。至此,仿真实验就全部完成。4结束语本次试验是基于matlab环境下的QPS耐制解调系统的仿真。由此次仿真实验可知,由 于高斯信道和瑞利信道的影响, 波形发生了明显的变化, 功率谱密度也发生变化, 星座图可 反映在噪声影响下产生
24、的误码。从仿真解调前与调制后的图对比可知仿真正确。通过图3.3可知瑞利信道下的误码率和误比特率明显高于高斯信道,并与理论值基本符合。随着通信事业的发展,通信系统的设计也会越来越复杂, 通过计算机的仿真,可以大大 地降低通信过程实验成本。本文设计出一个QPS的真模型,以衡量QPSKE理想信道,高斯 白噪声信道,以及先通过瑞利再通过高斯信道的性能,通过仿真,可以更好地了解QPS保统的工作原理,而且为硬件的研制提供一定的参考作用。这次的通信专业方向设计让我把通信原理的一些内容又重新复习了 一遍,中间出了很多问题,比如用 matlab7.0版本就不能把几个图整合到一起,也就是不能使用subplot函数
25、,会出现 Undefined function or variable "hanalysisparammenu"的错误.而我后来又换成了 matlab7.8就可以实现该功能。我把程序发给老师后老师细心的帮我进行了排错,我错误的以为依靠高版本的优化功能把在低版本不能实现的功能强制执行,所以我还有很多地方需要学习,包括对误码率进行计算的两个函数我也是借鉴的网上的程序。这次方向设计让我学会了很多,也认识到了自己还有很多方面的欠缺,希望在今后的学习和工作中好好努力,尽快的弥补自己的不足。致谢一个月的课程设计很快就过去了,在这期间我学习和掌握了使用MATLAB的工具箱simulink
26、 对数字通信系统的仿真。回想起这期间的经历,感慨万千。课程设计是对大学四 年所学的知识的一次总结、一次检验。同时也是锻炼和进一步提高自己自学能力的一次宝贵机会。在做本次设计的初期阶段,由于自己在很的多知识点上有所遗忘,因此设计的进度相当缓慢,特别是在原理分析和simulink仿真上更是裹足不前。我重点复习并新学习了相关章节的知识,并很快理解了要点, 进度由此快速展开。 设计后期阶段,在设计思路上卡了壳。 此时,查阅了很多资料并多次请教老师,使我得以进行软件调试从而验证了设计的正确可行性并按时完成设计,在此特别感谢魏瑞老师的指导,此外还要感谢学校教研室给我们这次宝贵而难得的机会,也感谢帮助和支持
27、我的同学。在此表示衷心的感谢!。由于理论知识有限、 文中难免出现不足之处,敬请各位老师批评指正。参考文献1张志勇等.精通matlab6.5 » J,北京:北京航空航天大学出版社,2003.3.2 John G.Proakis Masoud Salehi Gerhard Bauch. 著 刘树棠译 comtemporary communication systems using matlab and simulink.北京:电子工业出版社 ,2005.4.3樊昌信,张甫翔、徐炳祥、吴成柯 .通信原理M.北京:国防工业出版社,2001.5.4王立宁,乐光新,詹菲等.MATLA的通信仿真M
28、.北京:人民邮电出版社,19995 陈怀琛,吴大正,高西金 matlab及在信息课程中的应用J北京:电子工业出 版社,20066楼天顺、刘晓东、李博涵基于 matlab7.x的系统分析与设计M.西安:西安电子 科技大学出版社,2005.57张肃文主编.高频电子线路M.北京:高等教育出版社,2004.118程佩青编著.数字信号处理教程M.北京:清华大学出版社,2006.39张辉、曹丽娜、王勇 编著.通信原理辅导M西安.西安电子科技大学出版社2004.1110徐明远.MATLA昉真在通信工程中的应用J.西安.西安电子科技大学出版社2005.611田丽华等.编码理论J.西安西安电子科技大学出版社,2
29、003.8附录%fc文件%基于 matlab环境下的 QPS的真% 杨遇春% 期:2015-01-14%! %clear;%U始化参数%T=1;%基带信号宽度,也就是频率fc=10/T;%载波频率ml=2;%调制信号类型的一个标志位(选取2的原因见23行)nb=100;%传输的比特数delta_T=T/200;%采样间隔fs=1/delta_T;%采样频率SNR=0;%信噪比t=0:delta_T:nb*T-delta_T; %限定t的取值范围N=length(t);%采样数%倜% %调用一个随机函数(0 or 1 ),输出到一个1*100的矩变成极性码创建一个1*nb/delta_T的零矩阵
30、%基带信号的产生data=randn(1,nb)>0.5; %阵datanrz=data.*2-1; %data1=zeros(1,nb/delta_T); % for q=1:nbdata1(q-1)/delta_T+1:q/delta_T)=datanrz(q); %将极性码变成对应的波形信号end%将基带信号变换成对应波形信号data0=zeros(1,nb/delta_T); %创建一个 1*nb/delta_T的零矩阵for q=1:nbdata0(q-1)/delta_T+1:q/delta_T)=data(q); %将极性码变成对应的波形信号end%发射的信号data2=a
31、bs(fft(data1);%串并转换,将奇偶位数据分开idata=datanrz(1:ml:(nb-1); %将奇偶位分开,因此间隔 ml为2qdata=datanrz(2:ml:nb);% QPSK言号的调制ich=zeros(1,nb/delta_T/2); %创建一个 1*nb/delta_T/2 的零矩阵,以便后面存放奇偶位数据for i=1:nb/2ich(i-1)/delta_T+1:i/delta_T)=idata(i);endfor ii=1:N/2a(ii)=sqrt(2/T)*cos(2*pi*fc*t(ii);endidata1=ich.*a;%奇数位数据与余弦函数相乘
32、,得到一路的调制信号qch=zeros(1,nb/2/delta_T);for j1=1:nb/2qch(j1-1)/delta_T+1:j1/delta_T)=qdata(j1);endfor jj=1:N/2b(jj)=sqrt(2/T)*sin(2*pi*fc*t(jj);end将奇偶位数据合并,s即为QPS嘲制信号 快速傅里叶变换得到频谱qdata1=qch.*b; %偶数位数据与余弦函数相乘,得到另一路的调制信号s=idata1+qdata1; %ss=abs(fft(s); % % %逋和高斯信道% %瑞利衰落信道ray_ich=raylrnd(0.8,1,nb/2/delta_T
33、);ray_qch=raylrnd(0.8,1,nb/2/delta_T);Ray_idata=idata1.*ray_ich;Ray_qdata=qdata1.*ray_qch;Ray_s=Ray_idata+Ray_qdata;%高斯信道s1=awgn(s,SNR); %通过高斯信道之后的信号s11=abs(fft(s1);%快速傅里叶变换得到频谱s111=s1-s;%高斯噪声曲线%Awgn_s=awgn(Ray_s,SNR); %通过高斯信道再通过瑞利衰落信道%«% QPSK% %这里面其实隐藏了一个串并转换的过程 对应的信号与正余弦信号相乘%解调部分(高斯信道)idata2=
34、s1.*a;%qdata2=s1.*b;%idata3=zeros(1,nb/2); %建立1*nb数组,以存放解调之后的信号qdata3=zeros(1,nb/2); %抽样判决的过程,与 0作比较,data>=0,则置1,否则置0 for n=1:nb/2% A1(n)=sum(idata2(n-1)/delta_T+1:n/delta_T);if sum(idata2(n-1)/delta_T+1:n/delta_T)>=0 idata3(n)=1;else idata3(n)=0; end% A2(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T
35、);if sum(qdata2(n-1)/delta_T+1:n/delta_T)>=0 qdata3(n)=1;else qdata3(n)=0; endend%为了显示星座图,将信号进行处理idata4=zeros(1,nb/2);qdata4=zeros(1,nb/2);for n=1:nb/2Awgn_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*delta_T;if Awgn_ichsum(n)>=0idata4(n)=1;else idata4(n)=0;endAwgn_qchsum(n)=sum(qdata2(n-1)/
36、delta_T+1:n/delta_T)*delta_T;if Awgn_qchsum(n)>=0qdata4(n)=1;else qdata4(n)=0; endend%将判决之后的数据存放进数组demodata=zeros(1,nb);demodata(1:ml:(nb-1)=idata3; %存放奇数位demodata(2:ml:nb)=qdata3; %存放偶数位私了显示,将它变成波形信号(即传输一个1代表单位宽度的高电平)demodata1=zeros(1,nb/delta_T); %创建一个 1*nb/delta_T的零矩阵for q=1:nbdemodata1(q-1)/d
37、elta_T+1:q/delta_T)=demodata(q); %将极性码变成对应的波形信号end%累计误码数% abs(demodata-data) 求接收端和发射端%数据差的绝对值,累计之后就是误码个数Awgn_num_BER=sum(abs(demodata-data)%解调部分(瑞利+高斯)Ray_idata2=Ray_s.*a;%Ray_qdata2=Ray_s.*b;%这里面其实隐藏了一个串并转换的过程 对应的信号与正余弦信号相乘% Ray_idata3=zeros(1,nb/2); %建立1*nb数组,以存放解调之后的信号% Ray_qdata3=zeros(1,nb/2);%
38、抽样判决的过程,与0作比较,data>=0,则置1,否则置0% for n=1:nb/2% if Ray_sum(Ray_idata2(n-1)/delta_T+1:n/delta_T)>=0% Ray_idata3(n)=1;% else Ray_idata3(n)=0;% end% if Ray_sum(Ray_qdata2(n-1)/delta_T+1:n/delta_T)>=0% Ray_qdata3(n)=1;% else Ray_qdata3(n)=0;% end% end%为了显示星座图,将信号进行处理Ray_idata4=zeros(1,nb/2);Ray_q
39、data4=zeros(1,nb/2);for n=1:nb/2Ray_ichsum(n)=sum(idata2(n-1)/delta_T+1:n/delta_T)*delta_T;if Ray_ichsum(n)>=0Ray_idata4(n)=1;else Ray_idata4(n)=0;endRay_qchsum(n)=sum(qdata2(n-1)/delta_T+1:n/delta_T)*delta_T;if Ray_qchsum(n)>=0Ray_qdata4(n)=1;else Ray_qdata4(n)=0;endend%将判决之后的数据存放进数组存放奇数位存放偶数
40、位1代表单位宽度的高电平)创建一个1*nb/delta T的零矩阵Ray_demodata=zeros(1,nb);Ray_demodata(1:ml:(nb-1)=Ray_idata4; %Ray_demodata(2:ml:nb)=Ray_qdata4; %私了显示,将它变成波形信号(即传输一个Ray_demodata1=zeros(1,nb/delta_T); %将极性码变成对for q=1:nbRay_demodata1(q-1)/delta_T+1:q/delta_T)=Ray_demodata(q); %应的波形信号end%累计误码数% abs(demodata-data) 求接收
41、端和发射端%数据差的绝对值,累计之后就是误码个数Ray_num_BER=sum(abs(Ray_demodata-data) %误码率计算% 调用了 cm_sm32();和 cm_sm33()函数%喔明:函数声明在另外俩个M文件中%麻用:cm_sm32()用于瑞利信道误码率的计算%cm_sm33()用于高斯信道误码率的计算% ecoh on/off 作用在于决定是否显示指令内容%SNRindB1=0:1:6;SNRindB2=0:0.1:6;%瑞利衰落信道for i=1:length(SNRindB1),pb,ps=cm_sm32(SNRindB1(i); %比特误码率smld_bit_ray
42、_err_prb(i)=pb;smld_symbol_ray_err_prb(i)=ps;disp(ps,pb);echo off;end;%高斯信道echo on;for i=1:length(SNRindB1),pb1,ps1=cm_sm33(SNRindB1(i);smld_bit_awgn_err_prb(i)=pb1;smld_symbol_awgn_err_prb(i)=ps1;disp(ps1,pb1);echo off;end;%理论曲线echo on;for i=1:length(SNRindB2),SNR=exp(SNRindB2(i)*10g(10)/10);%信噪比th
43、eo_err_awgn_prb(i)=0.5*erfc(sqrt(SNR);%高斯噪声理论误码率theo_err_ray_prb(i)=0.5*(1-1/sqrt(1+1/SNR);%瑞利衰落信道理论误码率echo off; end; % h = spectrum.welch; % 类似于C语言的宏定义,方便以下的调用 % % %输出显示部分% % %第一部分(理想) figure(1) subp1ot(3,2,1); p1ot(data0),tit1e(' 基带信号'); axis(0 20000 -2 2); subp1ot(3,2,2); psd(h,data1,'
44、;fs',fs),tit1e(,基带信号功率谱密度,);subp1ot(3,2,3); p1ot(s),tit1e(' 调制信号'); axis(0 500 -3 3); subp1ot(3,2,4); psd(h,s,'fs',fs),tit1e('调制信号功率谱密度,);subp1ot(3,2,5); p1ot(demodata1),tit1e('解调输出');axis(0 20000 -2 2); subp1ot(3,2,6); psd(h,demodata1,'fs',fs),tit1e('解调输出
45、功率谱密度,);% %通过高斯信道 figure(2) subp1ot(2,2,1); p1ot(s1),tit1e(' 调制信号(Awgn)'); axis(0 500 -5 5); subp1ot(2,2,2); psd(h,s1,'fs',fs),tit1e('调制信号功率谱密度(Awgn)');subp1ot(2,2,3); p1ot(s111),tit1e('高斯噪声曲线');axis(0 2000 -5 5); subp1ot(2,2,4); for i=1:nb/2 p1ot(idata(i),qdata(i),
46、39;r+'),tit1e('QPSK信号星座图(Awgn) ');ho1d on;axis(-2 2 -2 2);plot(Awgn_ichsum(i),Awgn_qchsum(i),'*');hold on;legend('理论值(发射端)',实际值(接收端),);end%!过高斯信道再通过瑞利衰落信道figure(3)subplot(2,2,1)plot(Ray_s),title('调制信号(Ray+Awgn)');axis(0 500 -5 5);subplot(2,2,2);psd(h,Ray_s,'fs
47、',fs),title('调制信号功率谱密度(Ray),);subplot(2,2,3);for i=1:nb/2plot(idata(i),qdata(i),'r+'),title('QPSK信号星座图(Awgn+Ray ');hold on;axis(-2 2 -2 2);plot(Ray_ichsum(i),Ray_qchsum(i),'*');hold on;legend('理论值(发射端)',实际值(接收端),);endsubplot(2,2,4)semilogy(SNRindB2,theo_err_aw
48、gn_prb,'r'),title('误码率曲线');hold on;semilogy(SNRindB1,smld_bit_awgn_err_prb,'r*');hold on;semilogy(SNRindB2,theo_err_ray_prb);hold on;semilogy(SNRindB1,smld_bit_ray_err_prb,'*');xlabel('Eb/No');ylabel('BER');legend(' 理论 AWGN','仿真 AWGN',&
49、#39;理论 Rayleigh',' 仿真 Rayleigh');%d2function pb,ps=cm_sm32(snr_in_dB)% pb,ps=cm_sm32(snr_in_dB)%CM_SM3 finds the probability of bit error and symbol error for%the given value of snr_in_dB, signal to noise ratio in dB.% energy per symbol% signal to noise ratio% noise varianceN=100;E=1;num
50、ofsymbolerror=0;numofbiterror=0;counter=0;snr=10A(snr_in_dB/10);sgma=sqrt(E/snr)/2;s00=1 0; s01=0 1; s11=-1 0; s10=0 -1; % signal mapping % generation of the data sourcewhile(numofbiterror<100)for i=1:N, temp=rand;% a uniform random variablebetween 0 and 1if (temp<0.25),% with probability 1/4,
51、 sourceoutput is "00"dsource1(i)=0; dsource2(i)=0;elseif (temp<0.5),% with probability 1/4, sourceoutput is "01"dsource1(i)=0; dsource2(i)=1;elseif (temp<0.75),% with probability 1/4, sourceoutput is "10"dsource1(i)=1; dsource2(i)=0;else% with probability 1/4, sou
52、rceoutput is "11"dsource1(i)=1; dsource2(i)=1;end;end;% detection and the probability of error calculationfor i=1:N,ray=raylrnd(0.8);n=sgma*randn(1,2);%2 normal distributed r.v with 0,variance sgmaif (dsource1(i)=0) & (dsource2(i)=0), r=ray*s00+n;elseif (dsource1(i)=0) & (dsource2(i)=1), r=ray*s01+n;elseif (dsource1(i)=1) & (dsource2(i)=0), r=s10*ray+n;elser=s11*ray+n;end;% The correlation metrics are computed belowc00=do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川宜宾珙县总工会第一次招聘社会化工会工作者1人备考题库【巩固】附答案详解
- 2026湖南怀化市芷江侗族自治县安置政策城镇退役士兵竞聘招录5人备考题库及参考答案详解(精练)
- 2026广东清远市阳山县融媒体中心招聘新闻人员4人备考题库含完整答案详解(考点梳理)
- 2026广东岭南国防教育基地仓库管理员招聘备考题库(夺分金卷)附答案详解
- GB/T 47125-2026连续流动分析光电比色法分析通则
- 口腔科医疗废物处理流程
- 文化展览活动临时展台设计指南
- 商场消防安全管理与紧急疏散方案
- 财务成本控制与预算管理讲座精粹
- 绿色食品生产与消费市场分析
- 建筑防水工程技术规程DBJ-T 15-19-2020
- 《创新创业基础》课件-模块四 创新成果保护与转化
- 燃料检修潜在风险与预控措施
- 中学生防震减灾知识
- 劳务合同模板电子下载
- 新安全生产法全文-安全生产法全文
- 初中体育-篮球绕杆运球教学课件设计
- 《物理(下册)》教学课件-第六章-光现象及其应用
- 麦积山石窟课件
- 分数百分数应用题的复习课件
- 开复工安全检查表
评论
0/150
提交评论