《通信原理课程设计报告数字传输系统误码率测试器matlab实现与性能分析》由会员分享,可在线阅读,更多相关《通信原理课程设计报告数字传输系统误码率测试器matlab实现与性能分析(22页珍藏版)》请在金锄头文库上搜索。
1、肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第1页 共22页 数字传输系统误码率测试器数字传输系统误码率测试器的的MATLAMATLAB B实实 现及性能分析现及性能分析 学生姓名:学生姓名:肖晓慧肖晓慧指导老师:指导老师:曹敦曹敦 摘摘 要要 本课程设计主要运用 MATLAB 集成环境下的 Simulink 仿真平台设计进数字传输 系统误码率测试器的实现及性能分析。其主要目的是仿真通信加密系统。从 Simulink 工 具箱中找所各元件, 对输入随机数字信号与 m 序列异或运算以实现信号加密, 送入含噪 信道,在接收端与相同序列再进行异或运算以解密,改变信道误码率大小,测试
2、接收信 号与发送信号之间的误码率,合理设置好参数可改变误码率与系统的抗噪声性能,分析 该种加密传输系统的抗噪声性能。 关键词关键词 Simulink;误码率;加密;解密;m 序列 1 引言引言 本次课程设计主要运用 MATLAB 软件,在 Simulink 平台下建立仿真模型。通过 m 序列进行加解密过程,改变信道抗噪声性能,测试收信号与发送信号之间的误码率,从 而分析加密传输系统的抗噪声性能和对误码率有影响的因素。 观察输入与输出的数字信 号波形并对其进行分析总结。 1.1 课程设计的目的课程设计的目的 通信原理是通信工程专业的一门骨干的专业课,是通信工程专业后续专业课的基 础。掌握通信原理
3、课程的知识可使学生打下一个坚实的专业基础,可提高处理通信系统 问题能力和素质。由于通信工程专业理论深、实践性强,做好课程设计,对学生掌握本 专业的知识、提高其基本能力是非常重要的。 通信课程设计的目的是为了学生加深对所学的通信原理知识理解,培养学生专业素 质,提高利用通信原理知识处理通信系统问题的能力,为今后的专业课程的学习、毕业 肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第2页 共22页 设计和工作打下良好的基础。使学生能比较扎实地掌握本专业的基础知识和基本理论, 掌握数字通信系统及有关设备的分析、开发等基本技能,受到必要工程训练和初步的科 学研究方法和实践训练,增强分析
4、和解决问题的能力,了解本通信专业的新发展。 1.2 课程设计的基本任务和要求课程设计的基本任务和要求 本次课程设计的基本任务: (1)本设计开发平台为 MATLAB 中的 Simulink。 (2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。 课程设计中必须遵循下列要求: (1)利用通信原理中学习的理论知识,在 Simulik 仿真平台中设计出 15 级 m 序列,并 实现加密、解密、送入含噪信道、误码率测试,并按题目要求运行、检测系统仿真结果。 (2)通过对各个模块参数的设置来
5、改变信道的抗噪声性能,从而改变误码率。 (3)通过调节噪声的幅度来控制噪声对数字信号的影响,从而改变信道误码率的大小。 (4)要求编写课程设计论文,正确阐述和分析设计和实验结果。 1.3 设计平台设计平台 Simulink 是 MATLAB 最重要的组件之一,它提供一个动态系统建模、仿真和综合分 析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作, 就可构造出复杂的系统。Simulink 具有适应面广、结构和流程清晰及仿真精细、贴近实 际、效率高、灵活等优点,并基于以上优点 Simulink 已被广泛应用于控制理论和数字信 号处理的复杂仿真和设计。同时有大量的第三方软件
6、和硬件可应用于或被要求应用于 Simulink。 Simulink 是 MATLAB 中的一种可视化仿真工具, 是一种基于 MATLAB 的框图设 计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非 线性系统、数字控制及数字信号处理的建模和仿真中。Simulink 可以用连续采样时间、 离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的 不同部分具有不同的采样速率。为了创建动态系统模型,Simulink 提供了一个建立模型 方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提 肖晓慧数字传输系统误码率测试器的 M
7、ATLAB 实现及性能分析第3页 共22页 供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulik 是 MATLAB 软件的扩展,它与 MATLAB 语言的主要区别在于,其与用户交 互接口是基于 Windows 的模型化图形输入, 其结果是使得用户可以把更多的精力投入到 系统模型的构建,而非语言的编程上。 所谓模型化图形输入是指 Simulik 提供了一些按功能分类的基本的系统模块,用户 只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通 过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型,进而进行 仿真与分析。 2 设计
8、原理设计原理 2.1 Simulink 工作环境工作环境 (1)模型库 打开 MATLAB 软件,单击工具栏上的按钮,就可进入 Simulink 模型库,或者 在 MATLAB 命令窗口输入“simulink”并回车,也可进入。 Simulik 模块库如图 2-1 所示,它按功能进行分为以下 8 类子库:Continuous(连续 模块) Discrete (离散模块) Function&Tables (函数和平台模块) Math (数学模块) Nonlinear (非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输 入源模块)用户可以根据需
9、要混合使用歌库中的模块来组合系统,也可以封装自己的模 块,自定义模块库、从而实现全图形化仿真。 Simulink 模型库中的仿真模块组织成三级树结构 Simulink 子模型库中包含了 Continous、Discontinus 等下一级模型库 Continous 模型库中又包含了若干模块,可直接 加入仿真模型。 肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第4页 共22页 图图 2-1 Simulink 工具箱工具箱 (2)设计仿真模型 在 MATLAB 子窗口或 Simulink 模型库的菜单栏依次选择“File” | “New” | “Model”, 即可生成空白仿真模
10、型窗口,如图 2-2 所示: 图图 2-2 新建仿真模型窗口新建仿真模型窗口 (3)运行仿真 两种方式分别是菜单方式和命令行方式,菜单方式:在菜单栏中依次选择 “Simulation“ | “Start“ 或在工具栏上单击。命令行方式:输入“sim”启动仿真进程 比较这两种不同的运行方式:菜单方式的优点在于交互性,通过设置示波器或显示 模块即可在仿真过程中观察输出信号。命令行方式启动模型后,不能观察仿真进程,但 仍可通过显示模块观察输出,适用于批处理方式3。 肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第5页 共22页 2.2 数字传输系统误码率测试器原数字传输系统误码率测试
11、器原理理 (1)m 序列产生原理 伪随机序列可由线性移位寄存器网络产生,如图 2-3 所示。该网络由 r 级串联的双 态器件,移位脉冲产生器和模 2 加法器组成,下面以 4 级移位寄存器为例,说明伪随机 序列的产生。规定移位寄存器的状态是各级从右至左的顺序排列而成的序列,这样的状 态叫正状态或简称状态。反之,称移位寄存器状态是各级从左至右的次序排列而成的序 列叫反状态。例如,初始状态是 0001,那么 an-4=0,an-3=0,an-2=0,an-1=1。如果 反馈逻辑为 an= an-3an-4,对于初始状态为 0001,经过一个时钟节拍后,各级状态 自左向右移到下一级,未级输出一位数,与
12、此同时模 2 加法器输出值加到移位寄存器第 一级,从而形成移位寄存器的新状态,下一个时钟节拍到来又继续上述过程。未级输出 序列就是伪随机序列。 其产生的伪随机序列为 an=100110101111000100110101111000, 这是一个周期为 15 的周期序列,如图 2-4 所示。改变反馈逻辑的位置及数量还可以得 到更多不同的序列输出。 从上述例子可以得到下列结论: 1、线性移位寄存器的输出序列是一个周期序列。 2、当初始状态是 0 状态时,线性移位寄存器的输出全 0 序列。 3、级数相同的线性移位寄存器的输出序列和反馈逻辑有关。 4、同一个线性移位寄存器的输出序列还和起始状态有关。
13、5、对于级数为 r 的线性移位寄存器,当周期 p2r1 时,改变移位寄存器初始状态只 改变序列的初相。这样的序列称为最大长度序列或 m 序列。 图图 2-3 线性移位寄存器线性移位寄存器 肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第6页 共22页 图图 2-4 15 级的级的 m 序列序列 (2)加密、解密原理 数字通信的一个重要优点是容易做到高度保密性的加密。在这方面伪随机序列起 到了很大的作用。数字信号的加解密原理可用图 2-5 表示。将信源产生的二进制数字消 息和一个周期很长的伪随机序列模2相加, 这样就将原消息变成不可理解的另一个序列。 将这种加密序列在信道中传输,
14、被他人窃听后也不可理解其内容。在接收端必须再加上 一同样的伪随机序列,就能恢复为原发送消息。 信源发送信道接收用户 伪随机序列发生器伪随机序列发生器 图图 2-5 数字数字信号信号加解密原理加解密原理 (3)数字信号误码率测量原理 在数字通信中误码率是一项主要的质量指标。在实际测量数字通信系统的误码率 时,一般说来,测量结果与信源送出信号的统计特性有关。通常认为二进制信号中“0” 和“1”是以等概率随机出现的。所以测量误码率时最理想的信源应是随机序列产生器。 用真正随机序列产生器进行测量时,只适用于闭环线路测试。但是闭环测试法所用 的信道不符合情况。因此,在实际过程中采用单程测试法。在测量单程
15、数字通信误码率 时,就不能利用随机序列,而只好利用相近的伪随机序列代替它。图 2-6 示出这种情况。 这时,发送设备和接收设备分出两地。由于发送端用的是伪随机序列,而且通常是 m 序 列,接收端可以用同样的 m 序列产生器,由同步信号控制,产生出相同的本地序列。本 地序列和接收序列相比较,就可检测误码。 肖晓慧数字传输系统误码率测试器的 MATLAB 实现及性能分析第7页 共22页 信源发送信道接收记录 伪随机序列 比较 同步信号 图图 2-6 单程测试法单程测试法 ITU 建议用于数字传输系统测量的 m 序列周期是 215-1=32767,其特征多项式建议 采用 x15+x14+1。因此,本
16、课程设计采用 15 级的 m 序列。 (4)时延测量原理 有时我们需要测量信号经过某一传输路径所受到的时间延迟。由于模型框图的最 后,需要接一个误码率测试模块,而送入其中的是通过信道加解密出来的信号和原输入 信号,它们是一个个码元进行比较检测出误码率的。如果有信号经过此路径产生了延迟 则会使误码率大大增加,因此要在误码率测试模块输入端加一个延时测量模块,改变参 数使其延时为零后再读出误码率。 3 设计步骤设计步骤 3.1 熟悉熟悉 MATLABMATLAB 系统中系统中 SimulinkSimulink 模型库模型库 打开 MATLAB 软件,单击工具栏上的按钮,即可进入斯 simulink 工具箱,查 看 simulink 模块库中的每个模块,通过查阅资料弄清楚每个模块的功能和用法。用同样 的方法熟悉 communication 模块库中的常用模块。 3.2 基本设计思路基本设计思路 首先产生一个 15 级的 m 序列,输入一个随机数字信号,令它与 15 级 m 序列进行异 或运算以实现信号加密,然后送入含噪信道(可通过加上一个噪声来实现) ,