通信原理QDPSK的系统仿真.docx
《通信原理QDPSK的系统仿真.docx》由会员分享,可在线阅读,更多相关《通信原理QDPSK的系统仿真.docx(29页珍藏版)》请在冰豆网上搜索。
通信原理QDPSK的系统仿真
成绩评定表
学生姓名
班级学号
专业
电子信息工程
课程设计题目
QDPSK系统仿真
评
语
组长签字:
成绩
日期
2014年3月19日
课程设计任务书
学院
信息科学与工程
专业
电子信息工程
学生姓名
班级学号
课程设计题目
QDPSK系统仿真
实践教学要求与任务:
利用MATLAB/Simulink进行编程和仿真,仿真的内容可以是关于信源、信源编码、模拟调制、数字调制、多元调制、差错控制、多址技术、信道仿真及具体通信电路的仿真实现。
也可以用MATLAB编程对通信的某一具体环节进行仿真。
工作计划与进度安排:
2014年03月8日选题目查阅资料
2014年03月9日编写软件源程序或建立仿真模块图
2014年03月10日调试程序或仿真模型
2014年03月11日性能分析及验收
2014年03月12日撰写课程设计报告、答辩
指导教师:
2014年3月8日
专业负责人:
2014年3月8日
学院教学副院长:
2014年3月8日
基于MATLAB的QDPSK系统仿真
TheSimulationofQDPSKSystemBasedonMATLAB
院(部)名称:
信息科学与工程学院
专业班级:
学号:
学生姓名:
指导教师姓名:
指导教师职称:
基于MATLAB的QDPSK系统仿真
摘要:
QDPSK是现代数字通信系统常用的两种调制方式。
QDPSK是一种宽带和功率相对高效率的信道调制技术,因此在自适应信道调制技术中得到了较多应用。
QDPSK意为四相相对移相键控,它是利用前后相邻码元之间的载波相对相位变化来表示数字信息。
本设计所用的仿真软件是Matlab自带的仿真软件Simulink。
利用Simulink搭建系统仿真模型,详细设置系统参数,对QDPSK系统的工作过程和性能进行仿真分析。
Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
利用Simulink搭建的仿真模型非常简单,并且仿真具有良好的演示效果,为数字通信系统提供了一个较为理想的软件仿真平台。
最终得出的仿真结果与理论结果一致,达到了预期的仿真效果。
TheSimulationofQDPSKSystemBasedonMATLAB
Abstract:
QDPSKaretwowaysofmodulationformoderndigitalcommunicationsystem.QDPSKisarelativelyhighpowerbroadbandandpowerchannelmodulationtechnique.Asaresult,ithasmanyapplicationsintheadaptivemodulations.ThemeaningofQPSKisquadraturephaseshiftkeying,whichmakesuseofthefourdifferentphasesofthecarriertotransmitinformation.ThemeaningofQDPSKisquadraturedifferentialphaseshiftkeying,whichmakesuseoftherelativephasechangesofthecarrieroftheadjacentcodeelementstotransmitinformation.
ThisdesignintroducesthesimulationsoftwarecalledSimulink,whichisincludedinMatlab.UseSimulinktobuildsimulationmodel.Setthesystemparametersindetail.ThenusetheSimulinkmakesystemsimulationontheworkingprocessandperformanceofQDPSK.SimulinkisoneoftheimportantcomponentsofMatlab.Itoffersanintegratedenvironmentofdynamicsystemformodeling,simulation,andcompositeanalysis.ThesimulationmodelwhichusesSimulinkisverysimpleandithasagooddemonstrationeffect.SotheSimulinkprovidesarelativelyidealsimulationmodelfordigitalcommunicationsystem.
引言
随着通信技术的飞速发展,数字信号处理在通信系统中的应用越来越重要。
数字信号传输系统分为基带传输系统和频带传输系统。
频带传输系统也叫数字调制系统,该系统对基带信号进行调制,使其频谱搬移到适合信道传输的频带上。
数字调制信号又称为键控信号,在调制的过程中可用键控的方法由基带信号对载频信号的振幅,频率及相位进行调制。
在技术和工艺进步的基础上,数字通信中调制解调算法的实现已不再是一件可望不可及的事情。
与此同时,人们对通信的要求越来越高,各种技术不断地应用于通信领域,各种新的通信业务将不断地被开发出来。
可以说,无论是通信系统的内在要求(算法复杂性决定接收的质量),还是外在条件(技术和工艺)都在促使通信系统的调制解调向数字化发展。
目前应用的主流技术为8PSK,16QAM和64QAM。
但在建筑物较多、地形复杂的地区就必须用QDPSK来确保信噪比从而确保通信的准确性和有效性。
QDPSK意为四相相对移相键控,它是利用前后相邻码元之间的载波相对相位变化来表示数字信息。
QDPSK可先将输入的双比特码经码型变换,再用码型变换器输出的双比特码进行四相绝对移相,则所得到的输出信号便是四相相对移相信号。
它通常采用的方法是码变换加调相法和码变换加相位选择法。
QDPSK是一种宽带和功率相对高效率的信道调制技术,因此在自适应信道调制技术中得到了较多应用。
目前这两种调制方式已经广泛用于无线通信中,成为现代通信中的十分重要的调制解调方式。
Matlab是由美国的MathWorks公司推出的一种科学计算和工程仿真软件,将高性能的科学计算、结果可视化和编程集中在一个易于操作的环境中。
目前,在世界范围内被科研工作者、工程技术人员、和院校师生应用,已经成为国际控制界公认的标准计算软件。
Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于动态系统和嵌入式系统的多领域仿真。
对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
本课题就是在理解QDPSK调制解调原理的基础之上,利用MATLAB7.0平台下的Simulink仿真软件搭建QDPSK调制解调仿真模型,实现其通信系统的仿真,并对其工作过程和性能进行仿真分析。
总体来说,与其他数字调制解调系统相比,QDPSK的工作性能是相当好的,它们的误码率都随着信噪比的增加而逐渐减小。
具体再来比较QDPSK的性能。
相同误信噪比情况下,要低于QDPSK,即抗噪声能力强于QDPSK,QDPSK的应用场合更为广泛。
第一章QDPSK的基本原理
QDPSK是现代数字通信系统中常用的两种调制方式,QDPSK则主要用于自适应信道调制技术。
本章主要就QDPSK的基本原理进行介绍,并简要讲述各自的几种常用的调制解调方法,为以后的系统仿真打下良好的理论基础。
1.2QDPSK的基本原理
四进制的DPSK通常记作QDPSK。
QDPSK信号的编码方式如表1.3和1.4所示。
表中的△
是相对于前一相邻码元的相位变化。
与QPSK相同,QDPSK也有A、B两种编码方式。
A方式中的△
分别取0°、90°、180°、270°;B方式中的△
分别取45°、135°、225°、315°。
A方式和B方式的区别在于两者的星座图上相差45°;并且两者和格雷码双比特组间的对应关系也不是唯一的,即A方式中的0°和B方式中的45°不用必须对应双比特组01,只要两星座图的相位不变,它们就依然属于A方式或者B方式。
表1.3QDPSK信号的编码A方式
a
B
△
a
b
△
0
0
90°
1
1
270°
0
1
0°
1
0
180°
表1.4QDPSK信号的编码B方式
a
B
△
a
b
△
0
0
135°
1
1
315°
0
1
45°
1
0
225°
1.2.1QDPSK调制
QDPSK信号的产生方法只是需要把输入的基带信号先经过码变换器把绝对码变成相对码,然后再去调制载波。
QDPSK的调制方法有两种。
第一种方法是相乘电路法,编码规则如表1.3和1.4所示,原理方框图如图1.9所示。
图1.9第一种方法产生A方式QDPSK信号的原理方框图
图中输入的基带信号是二进制不归零双极性码元,它被“串/并变换”电路变成两路码元a和b。
变成并行码a和b后,再经过码变换器将绝对码信号变成相对码信号c和d,然后再分别与载波相乘。
这里,码变换器的作用是使由cd产生的绝对相移符合由ab产生的相对相移的规则。
由于当前的一对码元ab产生的相移是附加在前一时刻已调载波相位基础之上的。
而前一时刻的相位有四种取值,故码变换器的输入ab和输出cd之间有十六种可能的关系,这十六种关系如表1.5所示。
c和d与载波的相乘实际上是完成绝对相移键控,这部分电路和图1.3中的QPSK的正交调制器的原理是一样的,只是这里采用了A方式进行编码,将图1.3中的л/2相移器换成了两个л/4相移器[3,5]。
例如,如果当前输入的一对码元为“10”,那么应该产生的相对相移为180°。
另一方面,前一时刻的载波相位有四种可能,即0°,90°,180°,270°,它们分别对应前一时刻变换后的一对码元的四对取值。
现在的相对相移是180°,假设前一时刻的载波相位为180°,那么当前时刻应该给出的变换后的相位应该为180°加上180°,即0°。
当前时刻应该给出的变换后的一对码元应该为“00”。
这也就是说码变换器将输入的一对码元“10”变换成了“00”。
码变换器的电路图如图1.10所示。
表1.5QDPSK码变换关系
当前输入的一对码元及
要求的相对相移
前一时刻经过码变换后的
一对码元及所产生的相位
当前时刻应当给出的变换后一对码元和相位
akbk
△
k
ck-1dk-1
△
k-1
ckdk
△
k
00
90°
00
01
11
10
0°
90°
180°
270°
01
11
10
00
90°
180°
270°
0°
01
0°
00
01
11
10
0°
90°
180°
270°
00
01
11
10
0°
90°
180°
270°
11
270°
00
01
11
10
0°
90°
180°
270°
10
00
01
11
270°
0°
90°
180°
10
180°
00
01
11
10
0°
90°
180°
270°
11
10
00
01
180°
270°
0°
90°
图1.10码变换器电路图
这里注意,上述二进制信号码元“0”和“1”与不归零双极性矩形脉冲振幅的关系如下:
二进制码元“1”→双极性脉冲“+1”;二进制码元“0”→双极性脉冲“-1”。
只有符合此关系才能得到A方式编码。
第二种QDPSK信号只是需要在串/并变换后需要增加一个码变换器,电路图如图1.11所示。
图1.11相位选择法产生QDPSK信号
1.2.2QDPSK解调
QDPSK的解调方法有两种,一种为极性比较法,另一种为相位比较法。
极性比较法的原理框图如图1.12所示。
这里为保证最佳接收,参考矢量的相位必须在取在正负л/4处。
此方法和QPSK的解调方法类似,只是多了一步逆码变换的过程,将相对码再变成绝对码。
逆码变换的关系如表1.6所示。
图1.12A方式QDPSK信号极性比较法解调原理框图
表1.6QDPSK逆码变换关系
前一时刻输入的一对码元
当前时刻输入的一对码元
当前时刻应当给出的逆码变换后的一对码元
ck-1
dk-1
ck
dk
ak
bk
0
0
0
0
1
1
0
1
1
0
0
0
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
1
0
0
1
1
0
0
0
1
1
QDPSK的另一种解调方法是相位比较法,即差分相干解调。
与2DPSK类似,QDPSK也可采用差分相干解调的方法进行解调。
只是现在的接收信号分为两路正交的已调载波信号,因此需要两个支路进行差分相干解调[3,6]。
相位比较法的原理框图如图1.13所示。
图1.13A方式QDPSK信号相位比较法解调原理框图
第二章Simulink仿真基础
2.1Simulink简介
Simulink是Matlab的重要组成部分之一,它是一种以框图为基础的控制系统仿真工具,并提供了控制系统中的常用模块库。
Simulink在Matlab环境下对动态系统进行建模、仿真和分析,支持线性系统、非线性系统、连续系统和离散系统等多种系统。
我们可以这样来理解它的名字,它的功能主要有两个,一个为Simulaion(仿真),另一个为Link(连接),组合在一起就是Simulink名字的由来了。
Simulink提供了一些按功能分类的系统模块,我们只要用箭头将我们所选取的模块连接起来就能够完成框图系统仿真的全部过程,然后利用Simulink提供的功能对系统进行仿真和仿真结果分析。
Simulink避免了M文件中需要编写的大量程序,它着重于系统模型的构建上。
因此,Simulink的一个非常突出的优点就在于不需要编写任何程序代码就可以完成一个复杂系统的仿真,应用十分广泛[7]。
2.1.1Simulink基本模块库
在Matlab7.0中包含的是Simulink6.0,在Matlab命令窗口中输入命令“Simulink”或点击Matlab工具栏上的Simulink的图标,即可进入Simulink窗口,如图2.2所示。
在这个窗口中我们可以对各个模块进行查找,并在查找栏下方窗口中对所选模块进行简单说明[8,9,10,15]。
Simulink基本模块库中共包含了一下十六个子库。
(1)Commonlyusedblocks模块库,为仿真提供常用的元模块。
(2)Continuous模块库,为仿真提供连续系统模块。
(3)Discontinuous模块库,为仿真提供非连续系统模块。
(4)Discrete模块库,为仿真提供离散模块。
(5)Logicandbitoperations模块库,为仿真提供逻辑运算和位运算模块。
(6)Lookuptables模块库,为仿真提供线形插值查询表模块。
(7)Mathoperations模块库,为仿真提供数学运算功能模块。
(8)Modelverifycation模块库,为仿真提供模型检测模块。
(9)Model-WideUtilities模块库,为仿真提供模型扩充模块。
(10)Portandsubsystems模块库,为仿真提供端口和子系统模块。
(11)Signalattributes模块库,为仿真提供信号属性模块。
(12)Signalrouting模块库,为仿真提供信号线路模块。
(13)Sinks模块库,为仿真提供接收模块。
(14)Sources模块库,为仿真提供输入信号源。
(15)Users.definedfunctions模块库,用户自定义函数元件模块。
(16)Additionalmath&discrete模块库,附加的数学函数和离散型系统模块。
图2.1Simulink模块库
2.1.2Simulink建模仿真的一般过程
Simulink建模仿真的一般过程如下。
(1)首先,单击工具栏上的“新建”图标,打开一个空白的编辑窗口,如图2.2所示。
(2)在Simulink模块库中选取所需要的模块,然后拖到编辑窗口里,将各个环节都布置好,并修改编辑窗口中模块的参数。
(3)然后用箭头将各个模块连接起来。
这里应该注意连接的方法:
从上一个模块的连线点开始,按住左键不放,拖到下一个连接模块的连线点为止,系统将自动生成箭头。
(4)设置仿真参数。
选择菜单命令SimulationConfigurationparameters,就会弹出一个仿真参数对话框,如图2.3所示。
可以在图2.3中进行设置仿真参数。
(5)单击“startsimulation”按钮进行系统仿真分析,在仿真的同时,可以观察仿真结果。
如果发现错误,可以立即单击“stop”按钮停止仿真,然后对参数进行修正,直到调整至满意为止。
最后将仿真模型保存为*.mdl文件[11]。
图2.2空白编辑窗口
图2.3仿真参数设置窗口
2.2Simulink在通信仿真中的应用
Simulink中提供了通信系统的建模、仿真和优化分析的专业库CommunicationBlockset。
在这个库中包含了十三个子库,大概有一百七十多个模块,如图2.4所示。
图2.4通信模块库窗口
该模块库中提供了完整的模拟/数字通信系统建模、仿真和分析优化图形所需的模块。
可用于通信系统中从信源到信道,包括编码、调制、发射、接收等各个部分的建模,仿真分析。
接下来对通信模块的常用子库进行介绍。
(1)Commsources模块库,为仿真提供各种信号源,这些模块分成三类:
随机数据源、序列生成模块、噪声产生模块。
(2)Commsinks模块库,为仿真提供了四个信宿模块,用于绘制信号的眼图,轨迹图和发散图,计算误码率。
(3)Sourcecoding模块库,为仿真提供信源量化、编码的模块,包括采样量化编/解码器,A律压缩/扩张器,U律压缩/扩张器。
(4)Errordetectionandcorrection模块库,为仿真提供信道编码的差错控制和纠错模块,包括hamming码、BCH码、循环码、卷积码。
(5)Interleaving模块库,为仿真提供各种实现信号交织功能的模块。
(6)Modulation模块库,为仿真提供实现信号调制解调的模块,可以分为模拟调制和数字调制两个子库,模拟调制包括“AM”、“CPM”、“FM”、“PM”、“TCM”五种调制模块。
(7)Commfilters模块库,为仿真提供发送/接收滤波器模块。
(8)Channels模块库,为仿真提供了四种常见的信道模块:
AWGN信道模块、二进制对称信道模块、多径瑞利衰落信道模块和伦琴衰落信道模块。
(9)RFimpairments模块库,这是Matlab新增加的模块库,用于对射频信号的各种衰落进行仿真。
(10)Synchronization模块库,为仿真提供四种锁相环模块,对信号同步功能进行仿真。
(11)Equalizers模块库,为仿真提供多种均衡器模块。
(12)Sequenceoperation模块库,为仿真提供顺序运行模块。
(13)Utilityblocks模块库,为仿真提供了十种常用的转换函数模块[12]。
第三章利用Simulink对QDPSK进行系统仿真
通过上一章的讲述可以了解到Simulink的一个非常突出的优点就在于不需要编写任何程序代码就可以完成一个复杂系统的仿真,应用十分广泛。
基于Simulink的种种优点,利用它来搭建QDPSK系统模型非常简便。
接下来我们将利用Simulink搭建QDPSK系统模型,分别对其工作过程和性能进行仿真和仿真结果分析,最后对QDPSK的性能进行比较。
3.1利用Simulink对QDPSK的系统仿真
3.1.1系统总体设计
利用Simulink搭建的系统模型如图3.29所示。
图3.29QDPSK仿真模型
从图中我们可以看出该模型主要有信源RandomIntegerGenerater、QDPSK调制器、AWGN信道、QDPSK解调器、信宿模块组成。
该模型用到的信宿模块又具体分为Scope—观察各个阶段信号的波形;ErrorRateCalculation—计算信号的误码率,并通过Display显示出来;EyeDiagramofnoisyQDPSKsignal—输出眼图;Discrete.TimeScope模块—输出调制信号和传输信号的星座图[13,14]。
3.1.2各个模块的具体设计
(1)信源模块
信源RandomIntegerGenerater模块产生随机整数序列0,1,2,3。
并将产生的随机整数信号传送至QDPSK调制器。
该模块如图3.30所示。
图3.30信源模块
这里要求产生的必须是四进制的随机整数,因此M.arynumber设置为4。
具体的参数设置如图3.31所示。
图3.31信源模块参数设置
(2)QDPSK调制模块
QDPSK调制器的主要作用是将信源产生的四进制随机序列进行QDPSK调制,使之产生QDPSK信号。
该模块如图3.32所示。
图3.32QDPSK调制模块
这里注意QDPSK调制模块的参数设置与解调模块的参数设置必须一致。
输入数据类型为整型,相位偏移设置为л/2。
具体的参数设置如图3.33所示。
图3.33QDPSK调制模块参数设置
(3)信道模块
这里信道采用的是AWGN信道模块,它是加性高斯白噪声信道,可以通过改变该信道的的信噪比,实现在不同的噪声条件下对解调性能的测试,从而得出信噪比与误码率的关系。
该模块如图3.34所示。
图3.34QDPSK信道模块
这里的参数设置应注意,系统的信噪比是可以改变的。
我们可以使信噪比逐渐增大,观察相对应的误码率、眼图、星座图,从而可以对QDPSK系统的性能进行分析。
具体的参数设置如图3.35所示。
图3.35信道模块参数设置
(4)Q