数据传输系统误码率资料.docx
《数据传输系统误码率资料.docx》由会员分享,可在线阅读,更多相关《数据传输系统误码率资料.docx(24页珍藏版)》请在冰豆网上搜索。
数据传输系统误码率资料
长沙理工大学
《通信原理》课程设计报告
数据传输系统误码率测试器的MATLAB实现及性能分析
123
学院计算机与通信工程专业通信工程
班级学号
学生姓名指导教师
课程成绩完成日期201
课程设计成绩评定
学院计算机与通信工程专业通信工程
班级学号
学生姓名指导教师
课程成绩完成日期
指导教师对学生在课程设计中的评价
评分项目
优
良
中
及格
不及格
课程设计中的创造性成果
学生掌握课程内容的程度
课程设计完成情况
课程设计动手能力
文字表达
学习态度
规范要求
课程设计论文的质量
指导教师对课程设计的评定意见
综合成绩指导教师签字2017年1月15日
课程设计任务书
计算机与通信工程学院通信工程专业
课程名称
通信原理课程设计
时间
2016~2017学年第一学期18~20周
学生姓名
指导老师
曹敦
题目
数字传输系统误码率测试器的MATLAB实现及性能分析
主要内容:
本课程设计的目的主要是仿真通信加密系统。
对输入随机数字信号与m序列异或运算以实现信号加密,送入含噪信道,在接收端与相同序列再进行异或运算以解密,改变信道误码率大小,测试接收信号与发送信号之间的误码率,分析该种加密传输系统的抗噪声性能。
要求:
(1)本设计开发平台为MATLAB中的Simulink。
(2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。
(3)处理结果和分析结论应该一致,而且应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告书。
应当提交的文件:
(1)课程设计学年论文。
(2)课程设计附件(主要是模型文件和源程序)。
数据传输误码率的MATLAB实现性能分析
学生姓名:
席广然指导老师:
曹敦
摘要本课程设计主要运用MATLAB集成环境下的Simulink仿真平台设计进行数据传输系统误码率测试器的仿真。
在本次课程设计中先根据9级m序列发生器的结构,从Simulink工具箱中找所需元件,送入含噪信道,改变信道误码率大小,测试发送信号与接收信号的误码率大小,其中可以通过不断的修改优化得到需要信号,最后通过对输出波形的分析得出仿真是否成功。
关键词Simulink;数据系统;m序列;误码率
1引言
本次课程设计主要运用MATLAB软件,在Simulink平台下建立仿真模型。
实现数据传输系统的的误码率计算的过程,通过比较发送信号与接收信号之间产生的误码率大小,分析比较,改变参数设置,观察波形变化及误码率大小的变化,并对其进行分析总结。
1.1课程设计的目的
通信原理是通信工程专业的一门骨干的专业课,是通信工程专业后续专业课的基础。
掌握通信原理课程的知识可使学生打下一个坚实的专业基础,可提高处理通信系统问题能力和素质。
由于通信工程专业理论深、实践性强,做好课程设计,对学生掌握本专业的知识、提高其基本能力是非常重要的。
本次的课程设计研究的是数据传输的误码率,通过改变噪声方差的大小,测试发送信号与接收信号的误码率大小,用来理解实际生活的数据传输之间误码率大小的决定条件,从而在实际中尽量减少误码率的大小。
1.2课程设计的基本任务和要求
本次课程设计的基本任务:
(1)使学生通过专业课程设计掌握通信中常用的信号处理方法,能够分析简单通信系统的性能。
(2)使学生掌握通信电路的设计方法,能够进行设计简单的通信电路系统。
(3)了解通信工程专业的发展现状及发展方向。
(4)与运用学过的MATLAB基本知识,熟悉MATLAB集成环境下的Simulink仿真平台的使用
课程设计中必须遵循下列要求:
(1)9级m序列发生器,送入含噪信道,改变信道误码率大小,测试接收信号与发送信号之间的误码率,分析该种系统的抗噪声性能
(2)要求编写课程设计论文,正确阐述和分析设计和实验结果。
1.3设计平台
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulik是MATLAB软件的扩展,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
所谓模型化图形输入是指Simulik提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型,进而进行仿真与分析。
2设计原理
2.1Simulink工作环境
(1)模型库
在MATLAB命令窗口输入“simulink”并回车,就可进入Simulink模型库
单击工具栏上的
按钮也可进入
Simulik模块库按功能进行分为以下8类子库:
Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)用户可以根据需要混合使用歌库中的模块来组合系统,也可以封装自己的模块,自定义模块库、从而实现全图形化仿真。
Simulink模型库中的仿真模块组织成三级树结构Simulink子模型库中包含了Continous、Discontinus等下一级模型库Continous模型库中又包含了若干模块,可直接加入仿真模型。
图2.1-1Simulink工具箱
(2)设计仿真模型
在MATLAB子窗口或Simulink模型库的菜单栏依次选择“File”|“New”|“Model”,即可生成空白仿真模型窗口
图2.1-2新建仿真模型窗口
(3)运行仿真
两种方式分别是菜单方式和命令行方式,菜单方式:
在菜单栏中依次选择"Simulation"|"Start"或在工具栏上单击
。
命令行方式:
输入“sim”启动仿真进程
比较这两种不同的运行方式:
菜单方式的优点在于交互性,通过设置示波器或显示模块即可在仿真过程中观察输出信号。
命令行方式启动模型后,不能观察仿真进程,但仍可通过显示模块观察输出,适用于批处理方式。
2.2m序列产生器
(1)m序列产生器的结构
m序列是最长线性反馈移位寄存器序列的简称,m序列是带线性反馈的移位寄存器产生的。
由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑电路只由模2和构成,则称为线性反馈移位寄存器。
带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
n级线性移位寄存器如图所示:
图2.2n级线性移位寄存器
(2)m序列产生器的性质
均衡性:
在m序列中一个周期内“1”的数目比“0”的数目多1,这表明,序列平均值很小。
m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已。
m序列发生器中移位寄存器的各种状态,除全0状态外,其他状态只在m序列中出现1次。
m序列发生器中,并不是任何抽头组合都能产生m序列。
m序列具有良好的自相关特性,其自相关系数:
当j等于0时,p(j)=1;当j不等于0时,p(j)=1/N,从m序列的自相关系数可以看出m序列是一个狭义伪随机码。
2.3误码率测量
在数字通信中误码率是一项主要的质量指标。
在实际测量数字通信系统的误码率时,一般来说,测量结果与信源送出信号的统计特性有关。
通常认为二进制信号中“0”和“1”是以等概率随机出现的。
所以测量误码率时最理想的信源是随机序列发生器,在实际通信中一般都是单程传输信息的,在测量单程数字通信的误码率时,就不能用随机序列,而是用性能相近的伪随机序列代替它,如下图所示:
图2.3单程测试法
3设计步骤
3.1噪声信号
加入噪声信号模块为:
3.1-1噪声信号模块
其参数设置为:
3.1-2噪声信号参数设置
示波器产生的图形为:
3.1-2噪声信号波形图
改变参数设置Variance为0.01,其噪声波形变为
3.1-4改变噪声信号参数后波形图
(1)
改变参数设置Variance为1,其噪声波形变为
3.1-5改变噪声信号参数后波形图
(2)
3.2m序列产生器
m序列产生器模块图形:
3.2-1m序列产生器模型图
其参数设置为:
UnitDelay4和UnitDelay8设置相同:
3.2-2参数设置
(1)
其余UnitDelay单元设置相同,为:
3.2-3参数设置
(2)
示波器产生的图形为:
3.2-4m序列产生器波形图
3.3抽样判决器
3.3-1抽样判决器
其参数设置为:
3.3-2抽样判决器参数设置
3.4误码率计算比较
实现误码计算比较所需要的模块有:
3.4-1误码率计算所需要的模块
参数设置为:
3.4-2各模块参数设置
将之前的模块连线之后,检查线路连接,整个模块框图为:
3.6-3误码率测试器整体框图
运行该模块,Display显示为:
3.6-4第一次运行Display显示
说明:
Display1显示的是误码率的大小;
示波器显示为:
3.6-5示波器显示
说明:
第一幅图表示的是经过抽样判决之后的信号波形图;
第二幅图表示的是伪随机序列的波形图;
第三幅图表示的是伪随机序列加入噪声信道的波形;
改变噪声参数设置,设置Variance为0.2,再次运行,结果为:
3.6-6改变噪声设置后运行结果Display显示
说明:
Display1显示的是误码率的大小,为0.1881;
示波器显示为:
3.6-7改变噪声参数设置后运行结果示波器显示
说明:
第一幅图表示的是经过抽样判决之后的信号波形图;
第二幅图表示的是伪随机序列的波形图;
第三幅图表示的是伪随机序列加入噪声信道的波形;
3.7误码率曲线生成
(1)在MATLAB界面下新建窗口:
图3.7-1新建Editor窗口
输入以下程序:
fori=1:
100
power=0.001*i;
sim('untitledkeyi.mdl');
error(i)=ErrorVec
(1);
end
k=[1:
100].*0.001;
plot(k,error);
xlabel('噪声功率'),ylabel('误码率');
title('误码率变化曲线图');
grid;
此时相应的在整体框图中作以下改变:
输入噪声信号模块,Variance设置为power
3.7-2噪声信号模块参数改变设置
误码率计算ErrorRataCalulation1中OutputData设置为Workspace:
3.7-3ErrorRataCalulation1模块参数改变设置
(2)运行文件,生成的图:
3.7-4MATLAB运行程序后显示的误码率曲线示意图
说明:
当噪声功率小于等于0.01时,发送信号与接收信号之间的误码率大小为0;当噪声功率大于0.01时,发送信号与接收信号之间的误码率大小随着噪声功率的增大而增大,呈阶梯形改变。
(3)上述图形只显示了100个数据,为了更明显的表示其变化曲线,取600个数据,相应的进行修改:
程序的修改:
fori=1:
600
power=0.001*i;
sim('untitledkeyi.mdl');
error(i)=ErrorVec
(1);
end
k=[1:
600].*0.001;
plot(k,error);
xlabel('噪声功率'),ylabel('误码率');
title('误码率变化曲线图');
grid;
SimulationStopTime修改
3.7-5SimulationStopTime修改为600.0
运行文件,得到的图形为:
3.7-6改变取值范围后得出的误码率变化曲线图
4出现的问题及解决方法
在本次课程设计运用了MATLAB软件建立工作模型,在仿真的过程中遇到了各种不同的问题,通过自己的探索和在同学的帮助下都一一解决,总结分析分析如下:
(1)运行后如没有出现波形、出现多路波形的混合或是出现波形的幅度过小或过大,可以点击scope菜单栏的
或者点击鼠标右键,选择autoscale即可出现清晰波形。
(2)若出现波形很差,可以把修正因子(默认为1)加大,具体步骤为选择模型菜单中的“Simulink|configurationparameters|Dataimport/export”修改Decimation中数据(默认为1),可加大为50或100。
(3)m序列产生器的设计,严格按照其原理和本原多项式连接线路图,进行加密和解密时采用的m序列均为同一序列,其参数设置要一致,否则加密和解密之后的波形不一致;
(4)若波形出错或者波形变换不够明显,可以把模块参数适当减小或增大,得到适合的波形,允许误差变大,便于波形的输出和分析。
(5)在整个仿真过程中,各模块的参数设置十分重要,一定要设置合适的参数,才会得出所需要的信号。
(6)各模块的连线要到位,深刻理解课程设计任务,发送信号和接收信号之间如何进行比较分析
解决了上述问题后,就能顺利完成设计任务了。
5结束语
信息作为人类社会赖以生存和发展的重要资源和财富,其安全可能会受到种种认为的和自然的威胁,信息的完整性、保密性和可用性可能遭到破坏。
因此在信息的传输、交换、存储和处理过程中,必须采取相应的技术防范措施,保护信息的完整性、保密性、和可用性,必须研究如何避免人为的和自然的对信息安全的威胁,如何保护信息不被他人篡改,如何保证收到的信息不时伪造的,自己发送出去的信息不被未授权的人截收。
本次课程设计我的设计任务是数据传输系统误码率测试器的MATLAB实现及性能分析,设计的内容包括信息的加密和解密,以及误码率的测试等等,经过为期两周的课程设计,我顺利的完成了任务。
不同于在教室里上的理论课,本次课程设计需要我们运用到课本中学到的理论知识,和自己的实际操作来完成。
因为是以所学理论为基础,所以在课程设计的过程中,我又重温了m序列产生器和通信加密解密、误码率测量等知识,更加熟悉了MATLAB里的Simulink工具箱,学会了独立建立模型,分析结果,通过自己不断的修改参数值,更好的理解加入噪声对信道的影响。
在设计的过程中遇到不少问题,在自己的努力和与同学的交流中一一解决。
通过这次课程设计,我拓宽了知识面,锻炼了实际操作能力,综合素质也得到了提高。
我觉得安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。
尤其是观察、分析和解决问题的实际工作能力,并学会理论结合实际来分析结果。
检验学习成果:
看一看课堂学习与实际到底有多大距离,并通过这次课程设计,找出学习中存在的不足,完善所学知识。
在做课程设计的过程中,我也认识到实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
这一次的学习也是为以后的毕业设计工作打下基础,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
参考文献
[1]樊昌信,曹丽娜.通信原理.北京:
国防工业出版社,2006
[2]达新宇.通信原理实验与课程设计.北京:
北京邮电大学出版社,2003
[3]徐远明.MATLAB仿真在通信与电子工程中的应用.西安:
西安电子科技大学出版社,2005
[4]丁桂春,邹慧娜;伪随机信号(序列)及其在仿真试验中的应用[J];计算机工程与设计;1982年01期
[5]《Simulink通信仿真开发手册》,孙屹,国防工业出版社
[6]《通信原理》(第六版),樊昌信等,国防工业出版社