衰落信道中无线通信系统性能的分析与仿真.docx
《衰落信道中无线通信系统性能的分析与仿真.docx》由会员分享,可在线阅读,更多相关《衰落信道中无线通信系统性能的分析与仿真.docx(19页珍藏版)》请在冰豆网上搜索。
![衰落信道中无线通信系统性能的分析与仿真.docx](https://file1.bdocx.com/fileroot1/2022-12/13/43c35015-0e1c-4d8e-a92f-66bb935d4ea5/43c35015-0e1c-4d8e-a92f-66bb935d4ea51.gif)
衰落信道中无线通信系统性能的分析与仿真
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年秋季学期
通信系统综合训练
题目:
衰落信道中无线通信系统性能的分析与仿真
专业班级:
通信一班
姓名:
学号:
*******
成绩:
摘要
本文首先对64QAM调制解调系统的性能进行了简单的阐述和分析,再而对Simulink的概念及其功能做了一些讲解,同时也讲述了一些关于MATLAB7.9/Simulink4.0的工作原理。
最后利用Simulink对64QAM调制系统进行仿真,不但得到了信号在加噪前后的星座图、眼图,而且在加入高斯噪声条件下,得到了64QAM系统的误码率。
关键词:
64QAM;SIMULINK;仿真;误码率。
第一章 绪 论
1.164QAM的研究
随着世界通信产业的迅速发展,多媒体通信比传统的语音通信需要更大的信道容量。
高效、可靠、确定的数字传输系统对于数字多媒体通信的实现起着至关重要的作用。
在频谱资源越来越稀缺的今天,传统通信系统的容量已经不能满足当前用户的需求。
另外人们亦不能满足单一的语音通信业务,希望能利用移动电话进行各种各样多媒体信息的通信。
正交幅度调制QAM是数字通信系统中一种常用的调制技术。
尤其是多进制QAM,比如64QAM有着非常高的频谱利用率。
在使用同轴电缆的网络中,这种数字频率调制技术通常使用于发送下行数据。
64QAM在一个6MHz信道中,64QAM传输速率很高,最高可以支持28Mbps的峰值传输速率。
但是,对干扰信号很敏感,使得它很难适应嘈杂的上行传输(从电缆用户到因特网)。
它的调制效率高,对传输途径的信噪比要求高,具有带宽利用率高,抗噪声强等特点,适合有线电视电缆传输;我国有线电视网中广泛应用的DVB-C调制即QAM调制方式。
QAM是幅度和相位联合调制的技术,它同时利用了载波的幅度和相位来传递信息比特,不同的幅度和相位代表不同的编码符号。
因此,在最小距离相同的条件下,QAM星座图中可以容纳更多的星座点即可实现更高的频带利用率。
1.2SIMULINK
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可
以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果
1.3SIMULINK与通信仿真
仿真是衡量系统性能的工具,它通过仿真模型的仿真结果来推断原系统的性能,从而为新系统的建立或原系统的改造提供可靠的参考。
仿真是科学研究和工程建设中不可缺少的方法。
实际的通信系统是一个功能结构相当复杂的系统,对于这个系统作出的任何改变都可能影响到整个系统的性能和稳定。
而Simulink作为Matlab提供的用于对动态系统进行建模、仿真和分析的工具包,提供了仿真所需的信源编码、纠错编码、信道、调制解调以及其它所用的全部库函数和模块。
可见,不管对任何复杂的通信系统,用Simulink对其仿真都是一个不错的选择。
第二章64QAM通信系统
2.164QAM通信系统基本模型
64QAM通信系统基本模型介绍如下:
图2.164QAM通信系统基本模型
信号发生器:
随机信号发生器,进制数设为64。
信道编码:
选择(7,4)码。
调制:
采用64QAM调制方式。
信道:
信号经过调制以后,通过信道。
信道选择高斯加性白噪声信道、莱斯衰落信道。
设置不同的信道信噪比,对系统进行仿真,分析不同信噪比情况下的系统性能。
解调:
采用64QAM解调方式。
译码:
根据信道编码方式,选择对应的信道解码方式。
性能分析:
信号经过调制、信道、解调过程。
在接收端,将得到的数据与原始信号源数据比较,得到在特定信噪比下的误码率。
改变系统信噪比,从而得到系统的误码率曲线图,并给出各关健点信号眼图及星座图以及功率谱图。
2.264QAM通信系统的性能指标
64QAM是一种在6MHZ基带带宽内正交调幅的X进制的二维矢量数字调制技术(X=2,4,8,16),抑制的载波在离频道低端大约3MhZ处。
据奈奎斯特理论,一个6MHZ的带宽采用双边带最大可以传6Mbit/s的信号流,除去开销、升余弦滚降造成的波形延展等因素,大约只能传5.4Mbit/s的信号流。
由于X2QAM调制方式中,信号流以log2X为一组分为两路,每一路具有X电平,每一路电平表示的信号量是log2X(Mbit/s),所以两路信号正交调制后,能传的最大数字信号比特流为2×log2X×5.4=10.8log2X(Mbit/s)。
64QAM通信系统性能指标有:
传输速率、误码率、适应性、使用维修性、经济性、标准化程度和通信建立时间等。
64QAM可以充分利用带宽,并且抗噪声能力强。
本课程设计主要通过研究64QAM误码率与信噪比的关系来衡量该调制和解调的性能。
第三章64QAM通信系统主要模块
3.1信源及其编译码
信号源采用数字信号。
由于本课程设计是对64QAM调至解调通信系统的性能分析,所以讲二电平数字信号转换成多电平的数字信号,并在关键处设置示波器观察。
3.2基带信号处理
当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,因此定名为汉明码。
以典型的4位数据编码为例,汉明码将加入3个校验码,从而使实际传输的数据位达到7个(位)
3.3调制与解调
调制与解调是通信系统中非常重要的模块,在QAM中一般采用正交幅度调制,他是指QAM通过载波某些参数的变化传输信息。
在QAM中,数据信号由相互正交的两个载波的幅度变化表示。
3.4信道
本设计中采用了加性高斯白噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,所以r(t)与s(t)不会有任何失真。
在信道中加入高斯白噪声,可以观察信号经过信道的变化情况。
第四章SIMULINK概述
4.1SMULINK简介
Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。
4.1.1Simulink的启动
在MATLAB的命令窗口输入simulink或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。
Simulink启动后会显示Simulink模块库浏览器(SimulinkLibraryBrowser)窗口。
在MATLAB主窗口File菜单中选择New菜单项下的Model命令,在出现Simulink模块库浏览器的同时,还会出现一个名字为untitled的模型编辑窗口。
在启动Simulink模块库浏览器后再单击其工具栏中的Createanewmodel命令按钮,也会弹出模型编辑窗口。
利用模型编辑窗口,可以通过鼠标的拖放操作创建一个模型。
模型创建完成后,从模型编辑窗口的File菜单项中选择Save或SaveAs命令,可以将模型以模型文件的格式(扩展名为.mdl)存入磁盘。
如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名(不要加扩展名.mdl)。
在模块库浏览器窗口或模型编辑窗口的File菜单中选择Open命令,然后选择或输入欲编辑模型的名字,也能打开已经存在的模型文件。
另外,单击模块库浏览器窗口工具栏上的Openamodel命令按钮或模型编辑窗口工具栏上的Openmodel命令按钮,也能打开已经存在的模型文件。
4.1.2Simulink的退出
为了退出Simulink,只要关闭所有模型编辑窗口和Simulink模块库浏览器窗口即可。
4.1.3Simulink的基本模块
Simulink的模块库提供了大量模块。
单击模块库浏览器中Simulink前面的“+”号,将看到Simulink模块库中包含的子模块库,单击所需要的子模块库,在右边的窗口中将看到相应的基本模块,选择所需基本模块,可用鼠标将其拖到模型编辑窗口。
同样,在模块库浏览器左侧的Simulink栏上单击鼠标右键,在弹出的快捷菜单中单击Openthe‘Simulink’Libray命令,将打开Simulink基本模块库窗口。
单击其中的子模块库图标,打开子模块库,找到仿真所需要的基本模块。
4.2模块的参数和属性设置
4.2.1模块的参数设置
Simulink中几乎所有模块的参数都允许用户进行设置,只要双击要设置的模块或在模块上按鼠标右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。
该对话框分为两部分,上面一部分是模块功能说明,下面一部分用来进行模块参数设置。
同样,先选择要设置的模块,再在模型编辑窗口Edit菜单下选择相应模块的参数设置命令也可以打开模块参数对话框。
4.2.2模块的属性设置
选定要设置属性的模块,然后在模块上按鼠标右键并在弹出的快捷菜单中选择Blockproperties,或先选择要设置的模块,再在模型编辑窗口的Edit菜单下选择Blockproperties命令,将打开模块属性对话框。
该对话框包括General、Blockannotation和Callbacks3个可以相互切换的选项卡。
其中选项卡中可以设置3个基本属性:
Description(说明)、Priority(优先级)、Tag(标记)。
4.2.3系统的仿真
1.设置仿真参数
打开系统仿真模型,从模型编辑窗口的Simulation菜单中选择Simulationparameters命令,打开一个仿真参数对话框,在其中可以设置仿真参数。
仿真参数对话框包含5个可以相互切换的选项卡:
(1)Solver选项卡:
用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。
(2)WorkspaceI/O选项卡:
用于管理对MATLAB工作空间的输入和输出。
(3)Diagnostics选项卡:
用于设置在仿真过程中出现各类错误时发出警告的等级。
(4)Advanced选项卡:
用于设置一些高级仿真属性,更好地控制仿真过程。
(5)Real-timeWorkshop选项卡:
用于设置若干实时工具中的参数。
如果没有安装实时工具箱,则将不出现该选项卡。
2.启动系统仿真与仿真结果分析
设置完仿真参数之后,从Simulation中选择Start菜单项或单击模型编辑窗口中的StartSimulation命令按钮,便可启动对当前模型的仿真。
此时,Start菜单项变成不可选,而Stop菜单项变成可选,以供中途停止仿真使用。
从Simulation菜单中选择Stop项停止仿真后,Start项又变成可选。
为了观察仿真结果的变化轨迹可以采用3种方法:
(1)把输出结果送给Scope模块或者XYGraph模块。
(2)把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。
(3)把输出结果送到ToWorkspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。
第五章64QAM调制解调系统实现
前面两章简单介绍了64QAM的调制解调和SIMULINK的工作原理,下面本文将用MATLAB数学软件中的SIMULINK模块实现64QAM调制、解调通信系统,并进行仿真。
5.164QAM调制模块的模型建立与仿真
5.1.1信号源
本次仿真在信号源部分采用了伪随机序列发生器,由于系统要求基带信号码元速率19.2kbps,则本序列发生器的基本参数设置如下:
Generatorpolynomial:
[1000011]
Initialstates:
[000001]
Outputmaskvector:
0
Sampletime:
1/19200
Outputdatatype:
double
5.1.2Hamming(汉明)码
以典型的4位数据编码为例,汉明码将加入3个校验码,从而使实际传输的数据位达到7个(位),如表1。
表14位数据编码
数据位
1
2
3
4
5
6
7
代码
P1
P2
D8
P3
D4
D2
D1
说明
第1个汉明码
第2个汉明码
第1个数据码
第3个汉明码
第2个数据码
第3个数据码
第4个数据码
注:
Dx中的x是2的整数幂结果,多少幂取决于码位,D1是0次幂,D8是3次幂。
现以数据码1101为例,阐述汉明码的编码原理。
此时D8=1、D4=1、D2=0、D1=1。
在P1编码时,先将D8、D4、D1的二进制码相加,结果为奇数3,汉明码对奇数结果编码为1,偶数结果为0,因此P1值为1。
D8+D2+D1=2,为偶数,那么P2值为0。
D4+D2+D1=2,为偶数,P3值为0。
这样参照上文的位置表,汉明码处理的结果就是1010101。
在这个4位数据码的例子中,我们可以发现每个汉明码都是以三个数据码为基准进行编码。
它们的对应关系如表2所示。
表2对应关系
汉明码
编码用的数据码
P1
D8、D4、D1
P2
D8、D2、D1
P3
D4、D2、D1
从编码形式上,可以发现汉明码是一种校验很严谨的编码方式。
在这个例子中,通过对4个数据位的3个位的3次组合检测,来达到具体码位的校验与修正目的。
在校验时,则把每个汉明码与各自对应的数据位值相加,如果结果为偶数(纠错代码为0)就是正确,如果为奇数(纠错代码为1),则说明当前汉明码所对应的三个数据位中有错误,此时再通过其他两个汉明码各自的运算,来确定具体是哪个位出了问题。
还是刚才的1101的例子,正确的编码应该是1010101,如果第三个数据位在传输途中因干扰而变成了1,就成了1010111。
检测时,P1+D8+D4+D1的结果是偶数4,第一位纠错代码为0,正确。
P1+D8+D2+D1的结果是奇数3,第二位纠错代码为1,有错误。
P3+D4+D2+D1的结果是奇数3,第三位纠错代码代码为1,有错误。
那么具体是哪个位有错误呢?
三个纠错代码从高到低排列为二进制编码110,换算成十进制就是6,也就是说第6位数据错了,而数据第三位在汉明码编码后的位置正好是第6位。
那么汉明码的数量与数据位的数量之间有何比例呢?
上面的例子中数据位是4位,加上3位汉明码是7位,而2的3次幂是8。
这其中就存在一个规律,即2P≥P+D+1,其中P代表汉明码的个数,D代表数据位的个数,比如4位数据,加上1就是5,而能大于5的2的幂数就是3(23=8,22=4)。
这样,我们就能算出任何数据位时所需要的汉明码位数:
7位数据时需要4位汉明码(24>4+7+1),64位数据时就需要7位汉明码(27>64+7+1),可以依此推算。
另外,汉明码加插的位置也是有规律的。
以四位数据为例,第一个是汉明码是第一位,第二个是第二位,第三个是第四位,1、2、4都是2的整数幂结果,而这个幂次数是从0开始的整数。
这样可以推断出来,汉明码的插入位置为1(20)、2(21)、4(22)、8(23)、16(24)、32(25)……。
第六章MATLAB对64QAM通信系统的仿真
6.1MATLAB主要模块及参数设置
6.1.1信号源(如图4-1)
图6-1信号源仿真模块图
图6-2电源模块参数
6.1.2基带信号处理
其中输入端汉明编码和输出端汉明译码参数分别如图6-5,图6-6。
图6-5输入端汉明编码参数
图6-6输出端汉明译码参数
6.1.3调制/解调
调制/解调仿真模块如图6-7所示。
调制
解调
解调
图6-7调制、解调仿真模块图
其参数下图:
图6-1调制/解调仿真参数设置
6.1.4其他模块参数设置
显示仪器的主要参数设置如表6-2所示。
表6-2显示仪器仿真参数
星座图仪
眼图仪
频谱仪
示波器
每符号抽样:
100
每符号抽样:
4
缓存长度:
1024
输入信号数:
2
偏置:
0
预置:
0
缓存交叠:
512
Y轴最小:
-3
显示点数:
500
每迹符号数:
1
FFT长度:
512
Y轴最大:
3
每次显示新迹数:
300
每次显示新迹数:
4000
谱平均数:
2
时间范围:
0.0001
X轴最小:
-5
Y轴最小:
-5
Y轴最小:
-23
X轴最大:
5
Y轴最大:
5
Y轴最大:
10
Y轴最小:
-5
Y轴最大:
-5
误码率计算器及显示器参数设置如图6-8、图6-9所示。
图6-8误码率计算器参数
图6-9误码率显示器参数
6.1.5信噪比--误码曲线实现程序如下。
x=0:
0.9:
9;
y=x;
BitRate=100;
SimulationTime=10;
fori=1:
length(x)
SNR=x(i);
sim('QAM');
mean(XerrorRate)=y(i);
end
markerchoice='*';
plotsym=[markerchoice'-'];semilogy(x,y(:
),plotsym);
title('64QAM误码率');xlabel('SNR');
ylabel('ErrorRate');
6.264QAM通信系统的仿真图和结果分析
无噪声时系统的仿真框图如图6-10所示,星座图如图6-11所示,无噪声时通信系统的频谱图如图6-12所示,无噪声时通信系统的眼图如图6-13所示,无噪声时通信系统的信噪比-功率谱曲线如图6-14所示。
图6-10无噪声时的系统仿真框图
图6-11无噪声时的星座图
图6-12无噪声时的频谱图
图6-13无噪声时的信噪比-功率谱曲线
图6-14无噪声时的眼图
无噪声时调制解调前后的波形图如图6-15。
图6-15无噪声时调制解调前后的波形变化图
6.3加入噪声及干扰时系统性能指标的变化分析
6.3.1加入噪声及干扰时系统的仿真
加入高斯噪声时通信系统的仿真框图如图6-16所示。
图6-16加入高斯噪时通信系统的仿真框图
加入高斯噪声时通信系统的星座图如图6-17所示,加入高斯噪声、瑞利噪声和莱斯时通信系统的频谱图如图6-18所示,加入高斯噪声时通信系统的信噪比-功率谱曲线如图6-19所示,加入高斯噪声、瑞利噪声和莱斯时通信系统的眼图如图6-20所示。
图6-17加入高斯噪声时通信系统的星座图
图6-18加入高斯噪声时通信系统的频谱图
图6-19加入高斯噪声时通信系统的信噪比-功率谱曲线
图6-20加入高斯噪声时通信系统的眼图
加入高斯噪声时的调制解调前后波形图如图6-21。
6-21加入高斯噪声、瑞利噪声和莱斯时的调制解调前后波形图
图6-21加入高斯噪声时的调制解调前后波形
6.3.2结果分析
从整个Matlab仿真来看,在加入高斯白噪声与还未加入噪声、干扰前的星座图、眼图、功率谱和误码率曲线相比都造成了明显的影响——星座图发生偏移、眼图变得模糊、误码的可能性也大大增加。
表6-3加入噪声、干扰前后系统误码率
SBR(bit/dB)
3
5
9
原系统误码率
0.2081
0.1051
0.0021
加入高斯白噪声、瑞利噪声和莱斯后的系统误码率
0.2751
0.1917
0.0643
加入高斯白噪声后,从表6-3中看出系统误码率明显增高。
为了满足通信要求,需要调试系统使得误码率趋近于0以便达到更好的通信效果。
第七章结论与总结
7.1本文总结
1.对64QAM调制解调系统基本原理进行了较为深入地理解与分析,并且根据其原理构建了Simulink的仿真模型。
2.较为熟悉地掌握了Matlab/Simulink软件在通信系统设计与仿真的基本步骤与方法。
3.利用Matlab/Simulink实现了64QAM调制与解调系统的设计,实现与仿真,并得到相应的调制解调波形,发现解调信号波形与输入信号波形存在一定时延,所以该系统的实时性有不足,但并不影响对误码率的检测,以及系统能够的抗噪声性能。
4.对64QAM调制解调系统的抗噪声性能进行分析,通过仿真得到了64QAM系统的误码率曲线,曲线趋势与理论曲线基本一致。
7.2不足与展望
在本文所涉及的设计仿真工作存在一些不完善的地方,需要进行改进,完善,主要包括以下几个方面:
Matlab/Simulink软件虽然功能齐全,但不适用于对复杂通信系统的模块化设计,主要体现在仿真速度缓慢,对于一些通信专用模块并没有提供,使得设计模型的方式不够灵活。
在系统设计中存在解调输出波形与输入信号波形有较长时延,这对于通信的实时性是不利的。
需要进行改进模型,减小时延。
由于时间的原因,本次仿真并没有做载波恢复,希望自己在以后的学习实践中可以弥补这一遗憾。
第八章结束语
通过本次课程设计,我得到了大量的锻炼并受益匪浅,不但提高了自身对理论基础知识的掌握,同时还锻炼了自己的动手实践能力。
我想,这些不论是对我读研阶段的学习甚至是以后参加工作都是有很大帮助。
通过这次毕业设计,我更牢固地掌握了有关64QAM调制与解调的理论知识,并简单了解了系统仿真建模的基本步骤,同时还加深了我对Matlab/Simulink软件的理解与应用。
在做毕业设计的过程中,我深刻地体会到,对理论知识的掌握并不以意味着自己就能将理论知识转化为实际的系统。
但是,理论知识的认识深刻与否,对实践活动有着重要的作用,只有对理论基础知识有深入地了解,才能通过理论来指导实践,如果没有掌握理论知识,是不可能获得实践上的成功。
同时,通过此次毕业设计,充分调动了自身对知识的运用。
我在设计过程中遇到过许多困难,但通过查阅相关资料以及前人的结果,从而解决了许多问题,同时也提高了自己分析问题解决问题的能力。
在毕业设计即将结束的时候,我最想感谢的是我的导师王勇老师,从论文选题到理论知识把握,从系统模型建立到仿真结果分析,从论文的构架到格式规范,他都一一给与了指导与帮助,并对模型的改进及优化提出了宝贵的意见。
王老师是一个非常优秀的教师,我很感激他对我的严格要求与认真态度以及能力上的肯定与信任。
最后,还要感谢我的室友对我的帮助,在他们的帮助与关心下,我顺利地完成了论文格式的改动,并得以最终定稿。
再次感谢所有关心、帮助我的老师、同学和朋友们!
参考文献
[1]樊昌信等,《通信原理》国防工业出版社2001年
[2]张辉等,《现代通信原理与技术》西安电子科技大学出版社2002年
[