数字传输系统误码率测试器的MATLAB实现及性能分析通信原理课程设计报告 精品Word格式文档下载.docx
《数字传输系统误码率测试器的MATLAB实现及性能分析通信原理课程设计报告 精品Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字传输系统误码率测试器的MATLAB实现及性能分析通信原理课程设计报告 精品Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
日期:
导师签名:
日期:
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
1引言
本次课程设计主要运用MATLAB软件,在Simulink平台下建立仿真模型。
通过m序列进行加解密过程,改变信道抗噪声性能,测试收信号与发送信号之间的误码率,从而分析加密传输系统的抗噪声性能和对误码率有影响的因素。
观察输入与输出的数字信号波形并对其进行分析总结。
1.1课程设计的目的
通信原理是通信工程专业的一门骨干的专业课,是通信工程专业后续专业课的基础。
掌握通信原理课程的知识可使学生打下一个坚实的专业基础,可提高处理通信系统问题能力和素质。
由于通信工程专业理论深、实践性强,做好课程设计,对学生掌握本专业的知识、提高其基本能力是非常重要的。
通信课程设计的目的是为了学生加深对所学的通信原理知识理解,培养学生专业素质,提高利用通信原理知识处理通信系统问题的能力,为今后的专业课程的学习、毕业设计和工作打下良好的基础。
使学生能比较扎实地掌握本专业的基础知识和基本理论,掌握数字通信系统及有关设备的分析、开发等基本技能,受到必要工程训练和初步的科学研究方法和实践训练,增强分析和解决问题的能力,了解本通信专业的新发展。
1.2课程设计的基本任务和要求
本次课程设计的基本任务:
(1)本设计开发平台为MATLAB中的Simulink。
(2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。
(3)处理结果和分析结论应该一致,而且应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告书。
课程设计中必须遵循下列要求:
(1)利用通信原理中学习的理论知识,在Simulik仿真平台中设计出15级m序列,并实现加密、解密、送入含噪信道、误码率测试,并按题目要求运行、检测系统仿真结果。
(2)通过对各个模块参数的设置来改变信道的抗噪声性能,从而改变误码率。
(3)通过调节噪声的幅度来控制噪声对数字信号的影响,从而改变信道误码率的大小。
(4)要求编写课程设计论文,正确阐述和分析设计和实验结果。
1.3设计平台
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulik是MATLAB软件的扩展,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
所谓模型化图形输入是指Simulik提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型,进而进行仿真与分析。
2设计原理
2.1Simulink工作环境
(1)模型库
打开MATLAB软件,单击工具栏上的
按钮,就可进入Simulink模型库,或者在MATLAB命令窗口输入“simulink”并回车,也可进入。
Simulik模块库如图2-1所示,它按功能进行分为以下8类子库:
Continuous(连续模块)Discrete(离散模块)Function&
Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&
Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)用户可以根据需要混合使用歌库中的模块来组合系统,也可以封装自己的模块,自定义模块库、从而实现全图形化仿真。
Simulink模型库中的仿真模块组织成三级树结构Simulink子模型库中包含了Continous、Discontinus等下一级模型库Continous模型库中又包含了若干模块,可直接加入仿真模型。
图2-1Simulink工具箱
(2)设计仿真模型
在MATLAB子窗口或Simulink模型库的菜单栏依次选择“File”|“New”|“Model”,即可生成空白仿真模型窗口,如图2-2所示:
图2-2新建仿真模型窗口
(3)运行仿真
两种方式分别是菜单方式和命令行方式,菜单方式:
在菜单栏中依次选择"
Simulation"
|"
Start"
或在工具栏上单击
。
命令行方式:
输入“sim”启动仿真进程
比较这两种不同的运行方式:
菜单方式的优点在于交互性,通过设置示波器或显示模块即可在仿真过程中观察输出信号。
命令行方式启动模型后,不能观察仿真进程,但仍可通过显示模块观察输出,适用于批处理方式[3]。
2.2数字传输系统误码率测试器原理
(1)m序列产生原理
伪随机序列可由线性移位寄存器网络产生,如图2-3所示。
该网络由r级串联的双态器件,移位脉冲产生器和模2加法器组成,下面以4级移位寄存器为例,说明伪随机序列的产生。
规定移位寄存器的状态是各级从右至左的顺序排列而成的序列,这样的状态叫正状态或简称状态。
反之,称移位寄存器状态是各级从左至右的次序排列而成的序列叫反状态。
例如,初始状态是0001,那么an-4=0,an-3=0,an-2=0,an-1=1。
如果反馈逻辑为an=an-3⊕an-4,对于初始状态为0001,经过一个时钟节拍后,各级状态自左向右移到下一级,未级输出一位数,与此同时模2加法器输出值加到移位寄存器第一级,从而形成移位寄存器的新状态,下一个时钟节拍到来又继续上述过程。
未级输出序列就是伪随机序列。
其产生的伪随机序列为an=100110101111000100110101111000…,这是一个周期为15的周期序列,如图2-4所示。
改变反馈逻辑的位置及数量还可以得到更多不同的序列输出。
从上述例子可以得到下列结论:
1、线性移位寄存器的输出序列是一个周期序列。
2、当初始状态是0状态时,线性移位寄存器的输出全0序列。
3、级数相同的线性移位寄存器的输出序列和反馈逻辑有关。
4、同一个线性移位寄存器的输出序列还和起始状态有关。
5、对于级数为r的线性移位寄存器,当周期p=2r-1时,改变移位寄存器初始状态只改变序列的初相。
这样的序列称为最大长度序列或m序列。
图2-3线性移位寄存器
图2-415级的m序列
(2)加密、解密原理
数字通信的一个重要优点是容易做到高度保密性的加密。
在这方面伪随机序列起到了很大的作用。
数字信号的加解密原理可用图2-5表示。
将信源产生的二进制数字消息和一个周期很长的伪随机序列模2相加,这样就将原消息变成不可理解的另一个序列。
将这种加密序列在信道中传输,被他人窃听后也不可理解其内容。
在接收端必须再加上一同样的伪随机序列,就能恢复为原发送消息。
图2-5数字信号加解密原理
(3)数字信号误码率测量原理
在数字通信中误码率是一项主要的质量指标。
在实际测量数字通信系统的误码率时,一般说来,测量结果与信源送出信号的统计特性有关。
通常认为二进制信号中“0”和“1”是以等概率随机出现的。
所以测量误码率时最理想的信源应是随机序列产生器。
用真正随机序列产生器进行测量时,只适用于闭环线路测试。
但是闭环测试法所用的信道不符合情况。
因此,在实际过程中采用单程测试法。
在测量单程数字通信误码率时,就不能利用随机序列,而只好利用相近的伪随机序列代替它。
图2-6示出这种情况。
这时,发送设备和接收设备分出两地。
由于发送端用的是伪随机序列,而且通常是m序列,接收端可以用同样的m序列产生器,由同步信号控制,产生出相同的本地序列。
本地序列和接收序列相比较,就可检测误码。
图2-6单程测试法
ITU建议用于数字传输系统测量的m序列周期是215-1=32767,其特征多项式建议采用x15+x14+1。
因此,本课程设计采用15级的m序列。
(4)时延测量原理
有时我们需要测量信号经过某一传输路径所受到的时间延迟。
由于模型框图的最后,需要接一个误码率测试模块,而送入其中的是通过信道加解密出来的信号和原输入信号,它们是一个个码元进行比较检测出误码率的。
如果有信号经过此路径产生了延迟则会使误码率大大增加,因此要在误码率测试模块输入端加一个延时测量模块,改变参数使其延时为零后再读出误码率。
3设计步骤
3.1熟悉MATLAB系统中Simulink模型库
按钮,即可进入斯simulink工具箱,查看simulink模块库中的每个模块,通过查阅资料弄清楚每个模块的功能和用法。
用同样的方法熟悉communication模块库中的常用模块。
3.2基本设计思路
首先产生一个15级的m序列,输入一个随机数字信号,令它与15级m序列进行异或运算以实现信号加密,然后送入含噪信道(可通过加上一个噪声来实现),通过抽样判决,在接收端输出的信号与加入的相同15级m序列再进行异或运算以解密,把解密后的数字信号与原来输入的数字信号进行波形比较,并且送入误码率测试模块计算信道的误码率(注意延时问题)。
设置各模块参数,改变信道误码率大小,测试接收信号与发送信号之间的误码率,分析该种加密传输系统的抗噪声性能。
3.3绘制电路级框图
(1)15级m序列的绘制
按钮,打开simulink工具箱,点击file图标,选择新建中的model,新建一个仿真空白模型,将m序列所需要的模块:
延时模块和异或模块拖入空白模型中,也可点击鼠标左键单击“addtountitled”
分别对每一级的m序列首尾相连。
由于15级m序列的特征多项式为x15+x14+1,因此把第14和第15个延时单元的输出端进行模二和,然后送入第一个延时单元。
如图3-1所示。
图3-115级m序列的绘制
(2)在含噪信道中传输过程的绘制
选出此过程称所要用到的模块,包括:
异或运算模块、二进制随机数字信号、高斯噪声模块、抽样判决器、示波器。
如图3-2所示。
图3-2信号在含噪信道传输过程中需要用到的模块
首先,对随机数字信号进行加密,如图3-3所示。
把输入的随机数字信号与15级m序列的输出端进行模二和(即异或运算),得到加密后的信号。
然后,把加密后的信号与高斯噪声相加,表示送入含噪信道。
从加法器输出的信号由于加入了噪声,因此会存在一定程度的干扰,这时为了最大程度的减小噪声的干扰,应在加法器后加一个抽样判决器,用中间电平值代替实际电平。
图3-3信号加密在含噪信道中传输
接着,对输出的信号进行解密如图3-4所示,与加密类似,把抽样判决后的信号与同样的15级m序列(与加密所用的m序列初值应相同)进行模二和运算,所输出的即是解密后的数字信号。
图3-4绘制解密模块
(3)误码率测量和控制部分的绘制
选出此过程称所要用到的模块,包括:
数据类型转换器、误码率测试器模块、显示器、时延测量模块,如图3-5所示。
其中,数据类型转换模块是把数据类型由boolean转换成double型;
finddelay模块是用来计算两个输入端之间的延时,从而防止误码率计算出错;
显示模块是用来显示延时个数和误码率大小;
误码率计算模块即是计算出输入两端的数字信号的误码率。
图3-5误码率测试部分用到的模块
误码率计算部分的模型图如图3-6所示。
首先,进行数据类型转换。
由于原输入的随机数字信号和解密后输出的数字信号的数据类型都是boolean,而误码率计算模块的输入应是double型的,所以需要加入一个数据类型转换器,通过它输出的数据类型就是double型的。
然后便把转换过数据类型的两路数字信号分别与误码率计算器模块的两个输入端相连,再把计算出的误码率输出到一个显示器上。
最后,由于信号在经过传输以后有可能出现延时现象,而误码率计算器是一对对码元分别输入进行比较的,那么若有延时,则误码率增大很多,因此查看系统是否有延时必不可少。
在经过finddelay模块后同样接一个显示模块,把延时个数显示出来,再作为依据设置误码率计算模块的延时接收参数。
图3-6误码率测量部分绘制
(4)电路级框图总体整合
把三个部分的电路级框图按顺序连好,在需要观察数字信号波形的地方加上示波器以观察波形变化和误码变化,得到图3-7。
图3-7总电路级框图
3.4模块参数设置
电路级框图完成后,需要对每个模块的参数进行合理的设置,这样仿真出的结果才更加正确、合理。
(1)m序列参数设置
延时单元的设置如图3-8所示,所有延时单元的sampletime都取“1”,表示延时一个时间间隔,而instialconditions表示所给的初值,此项设置为:
从第一到第十三个延时单元初值都为“0”。
而第十四和第十五个延时单元初值为“1”
图3-8延时单元参数
第一路为基带信号波形,第二路为调制后波形,第三路为解调后输出波形。
如图所示,解调波形与基带波形基本相同,只有系统误差而产生的些延迟,所以解调成功。
3.5仿真结果
高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。
在理想信道调制与解调的基础上,在调制信号上加入高斯噪声,把Simulink噪声源下的高斯噪声模块(GaussianNoiseGenerator)加入到模型中。
噪声参数设置、模型与波形图如下
图3-9高斯噪声参数设置
图3-10DSB加入高斯噪声模型
图3-11调制信号加入高斯噪声波形图
如图所示,第一路为理想信道解调波形,第二路和第三路均为加入高斯噪声的波形,可通过修改参数表中的方差来改变加入噪声的大小,把噪声的方差分别设为50和1000,与理想信道的输出波形相比较可以看出,波形均出现不同程度的失真,并且失真是随着噪声方差的变化而发生改变,方差越小,通过加入噪声信道的波形就越接近理想信道的波形。
3.4加入瑞利噪声的DSB相干解调
在噪声模块中选择瑞利噪声模块(RayleighNoiseGenerator)替换原高斯噪声的位置,设置好参数,连线完毕后即可运行。
截图如下:
图3-12瑞利噪声参数设置表
图3-13DSB加入瑞利噪声的模型
图3-14调制信号加瑞利噪声的波形图
如图所示,第一路为理想信道解调波形,第二路和第三路均为加入瑞利噪声的波形,修改图中Sigma的参数,Simga的大小与方差成正比,将其分别设为10和100,再同理想信道的输出波形相比较可以看出,与高斯噪声类似,方差越大,波形失真越厉害,Simga等于10时,波形接近于理想波形,当Simga等于100时,已出现了严重失真。
3.5加入莱斯噪声的DSB相干解调
在噪声模块中选择莱斯噪声模块(RicianNoiseGenerator)替换原噪声的位置,设置好参数,连线完毕后即可运行。
图3-15莱斯噪声参数设置表
图3-16DSB加入莱斯噪声模型
图3-17调制信号加莱斯噪声的波形图
如图所示,第一路为理想信道解调波形,第二路和第三路均为加入莱斯噪声的波形,修改图中Sigma的参数,将其分别设为8和15,再同理想信道的输出波形相比较,方差越大,波形失真越厉害,Simga等于8时,波形接近于理想波形,当Simga等于15时,已出现了严重失真。
综上所述,噪声能对信道产生不同程度的影响,不同的噪声使信号发生失真的参数各不相同。
在现实生活中,无处不存在着噪声,因此研究如何减小噪声对信道的影响有着重大意义。
3.6各路噪声功率谱密度分析
DSB信号的功率定义为已调信号的均方值,即
=
(3-1)
(3-2)
显然,DSB信号的功率仅由边带功率构成,
为边带功率,
为调制信号功率。
这样其调制效率为100%。
由于双边带信号的频谱不存在载波分量,所有的功率都集中在两个边带中,因此它的调制效率为百分之百,这是它的最大优点。
(1)基带信号在理想信道下的功率谱如下所示。
图3-18基带信号功率谱
图3-19DSB调制后波形功率谱
图3-20相干解调后的波形功率谱
由图3-18和图3-19可以看出通过双边带调制后将原来基带信号(设置为2)以载波(设置为20)为中心进行频谱的搬移,且调制后信号的带宽是原信号的两倍,相位发生了移位,波形表现为基带与载波的乘积。
如图3.6.3所示经相干解调后,除由于系统误差而产生的延时外,解调后信号功率谱与原信号功率谱是能一一对应的。
(2)在理想信道中加入高斯、瑞利和莱斯噪声对解调结果的影响如下:
图3-21加入高