衰落信道中无线通信系统性能的分析与仿真课程设计.docx
《衰落信道中无线通信系统性能的分析与仿真课程设计.docx》由会员分享,可在线阅读,更多相关《衰落信道中无线通信系统性能的分析与仿真课程设计.docx(31页珍藏版)》请在冰豆网上搜索。
![衰落信道中无线通信系统性能的分析与仿真课程设计.docx](https://file1.bdocx.com/fileroot1/2023-2/3/2545d218-03cd-4fcf-a82d-23ff68d24677/2545d218-03cd-4fcf-a82d-23ff68d246771.gif)
衰落信道中无线通信系统性能的分析与仿真课程设计
******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2012年秋季学期
通信系统综合训练
题目:
衰落信道中无线通信系统性能的
分析与仿真
专业班级:
姓名:
学号:
指导教师:
成绩:
摘要
以多进制正交幅度调制技术(MQAM)为代表的多载波传输技术已经成为第四代移动通信系统中的关键技术。
MQAM能够有效抵抗多径衰落,并且频谱利用率高,适用于无线环境下的高速数据传输。
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它的模块库包含了许多实现不同功能的模块,使得研究者可以方便地构建功能清晰、结构合理的仿真系统。
本文设计了基于SIMULINK的无线通信系统的仿真平台,分析过程中采用64QAM调制方式,信道编码采用(7,4)线性分组码。
在完成衰落信道的性能分析之后,并与高斯信道下的性能进行对比并在此平台上对比。
本文是对QAM通信系统的研究。
叙述了适用于数字微波系统的QAM调制解调方式,通过系统实验对正交幅度调制解调的过程、原理及性能进行了论证、分析,理论上讨论和说明了数字调制解调技术中影响系统性能的条件和因素。
最后利用通信系统仿真软件MATLAB对64QAM数字调制与解调过程进行了仿真,并给出了64QAM在加性高斯白噪声条件下的误码率。
实验及仿真的结果证明,多进制正交幅度调制解调易于实现,且性能良好,是未来通信技术的主要研究方向之一,并有广阔的应用前景
关键词:
SIMULINK;64QAM;衰落信道;编码
第1章前言
无线通信越来越广泛地渗透到每个人的日常生活中。
成为世界各国最主要的高新技术支柱产业之一;同时人们对无线通信的各种需求与日剧增,也推动了无线通信的飞速发展。
从20世纪80年代中期第一代模拟无线通信系统(1G)商用开始至今,短短的大约二十年间经历了第二代数字无线通信系统(2G)从萌芽到完善的整个发展过程。
根据无线通信每10年发展一代的特点,20世纪90年代末自ITU-R推出3G移动通信的标准之后,各个国家和地区为了在下一代无线通信系统的标准中占有一席之地,纷纷启动了新一代无线通信系统的技术和标准化研究工作。
但是在无线信道中存在着衰落现象,这将严重影响通信系统的性能。
所以了解和掌握衰落信道中无线通信系统的性能成为一个关键问题。
由于信道资源越来越紧张,许多数据传输场合二进制数字调制已无法满足需要。
为了在有限信道带宽中高速率地传输数据,可以采用多进制(M进制,M>2)调制方式,MPSK则是经常使用的调制方式,由于MPSK的信号点分布在圆周上,没有最充分地利用信号平面,随着M值的增大,信号最小距离急剧减小,影响了信号的抗干扰能力。
MQAM称为多进制正交幅度调制,它是一种信号幅度与相位结合的数字调制方式,信号点不是限制在圆周上,而是均匀地分布在信号平面上,是一种最小信号距离最大化原则的典型运用,从而使得在同样M值和信号功率条件下,具有比MPSK更高的抗干扰能力,因此采用64QAM来调整。
通过比较在无噪声时和加入高斯噪声、瑞利噪声和莱斯噪声时衰落信道的各种仿真图来分析衰落信道的性能。
第2章总体设计方案
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误码率与信噪比的关系来衡量该调制和解调的性能。
2.364QAM的误码率性能
矩形QAM信号星座最突出的优点就是容易产生PAM信号可直接加到两个正交载波相位上,此外它们还便于解调。
对于
下的矩形信号星座图(K为偶数),QAM信号星座图与正交载波上的两个PAM信号是等价的,这两个信号中的每一个上都有
个信号点。
因为相位正交分量上的信号能被相干判决极好的分离,所以易于通过PAM的误码率确定QAM的误码率。
第3章64QAM调制解调原理
3.1MQAM调制
正交正交幅度调制QAM是数字通信中一种经常利用的数字调制技术,尤其是多进制QAM具有很高的频带利用率,在通信业务日益增多使得频带利用率成为主要矛盾的情况下,正交幅度调制方式是一种比较好的选择。
正交幅度调制(QAM)信号采用了两个正交载波
,每一个载波都被一个独立的信息比特序列所调制。
3.264MQAM调制及相干解调原理框图
在发送端调制器中串/并变换使得信息速率为Rb的输入二进制信号分成两个速率为Rb/2的二进制信号,2/L电平转换将每个速率为Rb/2的二进制信号变为速率为Rb/(2lbL)的电平信号,然后分别与两个正交载波相乘,再相加后即得MQAM信号。
在接收端解调器中可以采用正交的相干解调方法。
接受到的信号分两路进入两个正交的载波的相干解调器,再分别进入判决器形成L进制信号并输出二进制信号,最后经并/串变换后得到基带信号。
图3.1正交调制原理框图
图3.2相干解调原理框图
第4章(7,4)循环码编码和译码
4.1循环码概念
循环码是线性分组码中一个重要的分支。
它的检、纠错能力较强,编码和译码设备并不复杂,而且性能较好,不仅能纠随机错误,也能纠突发错误。
循环码是目前研究得最成熟的一类码,并且有严密的代数理论基础,故有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现,所以循环码受到人们的高度重视,在FEC系统中得到了广泛应用。
码组
信息位
监督位
码组
信息位
监督位
编号
a6
A5
a4
a3
a2
a1
a0
编号
a6
a5
a4
a3
a2
a1
a0
1
0
0
0
0
0
0
0
9
1
0
0
0
1
1
0
2
0
0
0
1
1
0
1
10
1
0
0
1
0
1
1
3
0
0
1
0
1
1
1
11
1
0
1
0
0
0
1
4
0
0
1
1
1
0
1
12
1
0
1
1
1
0
0
5
0
1
0
0
0
1
1
13
1
1
0
0
1
0
1
6
0
1
0
1
1
1
0
14
1
1
0
1
0
0
0
7
0
1
1
0
1
0
0
15
1
1
1
0
0
1
0
8
0
1
1
1
0
0
1
16
1
1
1
1
1
1
1
图4.1某(7,4)循环码的全部码组
4.2生成多项式
(n,k)循环码码组集合中(全“0”码除外)幂次最低的多项式(n-k)阶称为生成多项式g(x)。
它是能整除xn+1且常数项为1的多项式,具有唯一性。
假设信息码多项式为m(x),则对应的循环码多项式为
A(x)=m(x)g(x)(4-1)
式中,m(x)为次数不大于k-1的多项式,共有2k个(n,k)循环码组。
考查图4.1,其中n-k=4阶的多项式只有编号为2的码组(0011101),所以表中所示(7,4)循环码组的生成多项式g(x)=x4+x3+x2+1,并且该码组集合中的任何码多项式A(x)都可由信息位乘以生成多项式得到
A(x)=(mk-1+mk-2+…+m1+m0)g(x)mod(xn+1)(4-2)
式中,(mk-1mk-2…m1m0)为信息码元。
4.3循环码的编码及实现
设汉明码(n,k)中k=4,为了纠正一位错码,由式
(1)可知,要求监督位数r≥3。
若取r=3,则n=k+r=7。
我们用
来表示这7个码元,用
的值表示3个监督关系式中的校正子,则
的值与错误码元位置的对应关系可以规定如表1所列。
表1校正子和错码位置的关系
错码位置
错码位置
001
101
010
110
100
111
011
000
无错码
利用生成多项式g(x)实现编码:
如上所述,一但循环码的生成多项式g(x)确定时,码就完全确定了。
现在讨论生成多项式g(x)给定以后,如何实现循环码的编码问题。
若已知
(4-11)
并设信息元多项式
(4-12)
要编码成系统循环码形式,即码字的最左边k位是信息元,其余n-k位是校验元,则要用
乘以m(x),再加上校验元多项式r(x),这样得到的码字多项式c(x)为
(4-13)
其中
由于循环码属于线性分组码C(x)一定是g(x)的倍式,即有
(4-14)
(4-15)
注意到g(x)为n-k次多项式,而r(x)最多为n-k-1次多项式,必有
(4-16)
即r(x)必是xn-km(x)除以g(x)的余式。
上述过程指出了系统循环码的编码方法:
首先将信息元多项式m(x)乘以xn-k成为xn-km(x),然后将xn-km(x)除以生成多项式g(x)得到余式r(x),该余式就是校验元多项式,从而得到式(4-5)所示的码字多项式
综上所述,系统循环码的编码问题,可以归结为两个多项式的除法运算,即将xn-km(x)除以生成多项式g(x)得到余式r(x)的运算。
首先根据给定的(n,k)值来选定生成多项式g(x)。
即从(xn+1)的因子中选定一个(n-k)次多项式作为g(x)。
所有多项式T(x)都能被g(x)整除。
根据这条原则可以对给定的信息位进行编码。
设m(x)为信息码多项式,其次数小于k。
用xn-k乘m(x),得到的xn-km(x)次数必定小于n。
用g(x)除xn-km(x),得到余式r(x),r(x)的次数必定小于g(x)的次数,即小于(n-k)。
将此余式r(x)加在信息位后作为监督为,即将r(x)和xn-km(x)相加,得到的多项式必定是一个码多项式。
m(x)
确定余式r(x):
m(x)/g(x)的余式
确定c(x),c(x)=m(x)+r(x)
图4.2循环码编码过程
(7,4)码编码过程演示:
(1)确定g(x)。
由x7+1=(x+1)(x3+x2+1)(x3+x+1)所以g(x)=x3+x2+1或g(x)=x3+x+1;这里选择g(x)=x3+x2+1
(2)用xn-k乘m(x),该运算实际上是在信息码后附加上(n-k)个“0”,例如,信息码为1100,它写成多项式为m(x)=x3+x2。
当n-k=7-4=3时,xn-km(x)=x6+x5
它表示码组1100000。
(3)用g(x)除xn-km(x),得到商Q(x)和余式r(x)即[xn-km(x)]/[g(x)]=Q(x)+r(x)/g(x)
例如[xn-km(x)]/[g(x)]=(x6+x5)/(x3+x2+1)=(x3+1)+(x2+1)/(x3+x2+1)
上式是用码多项式表示的运算。
它和下式等效:
1100000/1101=1001+101/1101
(4)编出码组为T(x)=xn-km(x)+r(x)即T(x)=1100000+101=1100101
由以上方法可以算出(7,4)码表:
序号
输入序列
输出序列
序号
输入序列
输出序列
1
0000
0000000
9
1000
1000110
2
0001
0001101
10
1001
1001011
3
0010
0010111
11
1010
1010001
4
0011
0011010
12
1011
1011100
5
0100
0100011
13
1100
1100101
6
0101
0101110
14
1101
1101000
7
0110
0110100
15
1110
1110010
8
0111
0111001
16
1111
1111111
图4.3(7,4)码表
4.4循环码的译码及实现
设发送的码字为C(x),接收到的码字为R(x),如果C(x)=R(x),则说明收到的码字正确;如果C(x)≠R(x),则说明收到的码字出现错误,则有:
(4-17)
=
=
(4-18)因为C(x)是由g(x)生成的,故C(x)必能为g(x)除尽,显然R(x)与E(x)同余式(R(x)≡E(x)modg(x)),以g(x)除E(x)所得余式称为伴随式S(x)。
由于g(x)的次数为n-k次,g(x)除E(x)后得到余式(即伴随式S(x))的次数为n-k-1次,故S(x)共有
个表达式,每个可能的表达式对应一个错误格式,可以知道(7,4)循环码的S(x)共有
=8个表达式,可以根据错误图样表来纠正(7,4)循环码的一位错误。
综上所述循环码的译码可按以下三个步骤进行:
1.接收到的y(x)计算伴随式式s(x);
2.根据伴随式s(x)找到对应的估值错误图样
(x);
3.计算
=y(x)+
(x),得到估值码字
(x)。
若
(x)=c(x),则译码正确,否则,若
(x)≠c(x),则译码错误。
由上述方法可计算出(7,4)码译码码表:
序号
输入序列
输出序列
1
0000000及其1位出错码组
0000
2
0001101及其1位出错码组
0001
3
0010111及其1位出错码组
0010
4
0011010及其1位出错码组
0011
5
0100011及其1位出错码组
0100
6
0101110及其1位出错码组
0101
7
0110100及其1位出错码组
0110
8
0111001及其1位出错码组
0111
9
1000110及其1位出错码组
1000
10
1001011及其1位出错码组
1001
11
1010001及其1位出错码组
1010
12
1011100及其1位出错码组
1011
13
1100101及其1位出错码组
1100
14
1101000及其1位出错码组
1101
15
1110010及其1位出错码组
1110
16
1111111及其1位出错码组
1111
图4.4(7,4)码译码表
第5章SIMULINK与通信仿真
仿真是衡量系统性能的工具,它通过仿真模型的仿真结果来推断原系统的性能,从而为新系统的建立或原系统的改造提供可靠的参考。
仿真是科学研究和工程建设中不可缺少的方法。
实际的通信系统是一个功能结构相当复杂的系统,对于这个系统作出的任何改变都可能影响到整个系统的性能和稳定。
而Simulink作为Matlab提供的用于对动态系统进行建模、仿真和分析的工具包,提供了仿真所需的信源编码、纠错编码、信道、调制解调以及其它所用的全部库函数和模块。
可见,不管对任何复杂的通信系统,用Simulink对其仿真都是一个不错的选择。
5.1SIMULINK简介
Simulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建。
所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的。
使用Simulink来建模、分析和仿真各种动态系统,将是一件非常轻松的事情。
它提供的图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。
利用Simulink进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。
Simulink具有以下功能:
交互式、图形化的建模环境:
Simulink提供了丰富的模块库以帮助用户快速地建立动态系统模型。
建模时只需使用鼠标拖放不同模块库中的系统模块并将它们连接起来;交互式的仿真环境:
Simulink框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令行进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真如蒙特卡罗仿真非常有用;专用模块库(Blocksets):
作为Simulink建模系统的补充,MathWorks公司还开发了专用功能块程序包,如DSPBlockset和CommunicationBlockset等。
通过使用这些程序包用户可以迅速地对系统进行建模、仿真与分析。
更重要的是用户还可以对系统模型进行代码生成,并将生成的代码下载到不同的目标机上;提供了仿真库的扩充和定制机制:
Simulink的开放式结构允许用户扩展仿真环境的功能:
采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。
因此用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析;与MATLAB工具箱的集成:
由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。
工具箱提供的高级的设计和分析能力可以融入仿真过程。
5.2SIMULINK操作
1.在MATLAB命令窗口(CommandWindow)中输入simulink,结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。
也可以通过MATLAB主窗口的快捷按钮
来打开SimulinkLibraryBrowser窗口。
图5.1simulink库浏览器
2.点击Source字库前的“+”号(或双击字库名),便可以得到各种信源模块。
图5.2信源子库的模块
3)点击“新建”图标
,打开一个名为untitled的空白模型窗口。
图5.3SIMULINK的新建模型窗口
4)用鼠标指向所需的信号源(如阶跃信号Step),按下鼠标左键,把它拖至untitled窗,就生成一个阶跃信号的复制品。
图5.4模型创建中的模型窗口
5)采用上述方法,将信宿库Sink中的示波器scope拷贝到模型窗口,把鼠标指向信源右侧的输出端,当光标变成十字符时,按住鼠标任意键,移向示波器的输入端,就完成了两个模块间的信号连接。
图5.4创建模型完毕中的模型窗口
6)进行仿真,双击示波器,打开示波器显示屏,如图1-7。
点击模型窗口中的“仿真启动”图标
或点击simulink菜单下的start,仿真就开始了,就可以观测到阶跃信号的波形了。
图5.5仿真结果波形
第6章SIMULINK对64QAM的仿真
6.1SIMULINK对主要模块及参数设置
6.1.1信号源
图6.1信号源仿真模块图
其参数如图6.2
图6.2电源模块参数
6.1.2基带信号处理
输出端汉明编码和输入端汉明编码分别如图6.3,图6.4。
图6..3输出端汉明仿真模块图图6.4输入端汉明仿真模块图
其中输入端汉明编码和输出端汉明编码参数分别如图6.5,图6.6。
图6.5输入端汉明编码参数
图6.6输出端汉明编码参数
6.1.3调制/解调
调制/解调仿真模块如图6.7所示。
调制
解调
图6.7调制、解调仿真模块图
其参数如下:
矩形分布基带QAM调制
单极性双极性变换器
双极性单极性变换器
单极性双极性变换器
双极性单极性变换器
元数:
64
元数:
64
元数:
64
元数:
64
元数:
64
最小距离:
0.5
图6.8调制/解调仿真参数设
6.1.4其他模块参数设置
显示仪器的主要参数设置如下所示:
星座图仪
眼图仪
频谱仪
示波器
每符号抽样:
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.9显示仪器仿真参数
误码率计算器及显示器参数设置如图6.10、图6.11所示:
图6.10误码率计算器参数
图6.11误码率显示器参数
6.1.5信噪比--误码曲线实现程序如下。
x=0:
0.9:
9;
y=x;
BitRate=10000;
SimulationTime=10;
fori=1:
length(x)
SNR=x(i);
sim('liu');
y(i)=mean(output);
end
markerchoice='*';
plotsym=[markerchoice'-'];semilogy(x,y(:
),plotsym);
title('64QAM误码率');xlabel('SNR');
ylabel('ErrorRate');
6.264QAM通信系统的仿真图和结果分析
无噪声时系统的仿真框图如图6.12所示。
图6.12无噪声时的系统仿真框图
无噪声时通信系统的星座图如图6.13所示,无噪声时通信系统的频谱图如图6.14所示,无噪声时通信系统的眼图如图6.15所示,无噪声时通信系统的信噪比-功率谱曲线如图6.16所示。
图6.13无噪声时的星座图
图6.14无噪声时的频谱图