基于MATLAB的差错控制技术仿真毕业论文 - 图文 联系客服

发布时间 : 星期四 文章基于MATLAB的差错控制技术仿真毕业论文 - 图文更新完毕开始阅读d36ab3c06137ee06eff9186e

西安工业大学北方信息工程学院毕业设计(论文)

统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的仿真系统。在其下提供了丰富的仿真模块。其主要功能是实现动态系统建模、方针与分析,可以预先对系统进行仿真分析,按仿真的最佳效果来调试及整定控制系统的参数。Simulink的出现,给控制系统分析与设计带来了福音。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与Matlab;紧密集成,可以直接访问Matlab大量的工具来进行算法研发、仿真的分析和可视化、处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。顾名思义,名称表明该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用系统提供的各种功能模块并通过信号线连接各个模块从而创建出所需要的控制系统模型,然后利用Simulink提供的功能来对系统进行仿真和分析。

Simulink是Matlab中的一种可视化仿真工具,是基于Matlab的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink模块库提供了丰富的描述系统特性的典型环节,有信号源模块库(Source) ,接收模块库(Sinks),连续系统模块库(Continuous),离散系统模块库(Discrete),非连续系统模块库(Signal Routing),信号属性模块库(Signal Attributes),数学运算模块库(Math Operations),逻辑和位操作库(Logic and Bit Operations)等等,此外还有一些特定学科仿真的工具箱。

Simulink为用户提供了一个图形化的用户界面(GUI)。对于用方框图表示的系统,通过图形界面,利用鼠标单击和拖拉方式,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点。不但实现了可视化的动态仿真,也实现了与Matlab、C或者Fortran语言,甚至和硬件之间的数据传递,大大扩展了它的功能[14]。 3.2.2Simulink模块

在这里我主要介绍在本仿真工程中将会使用到的模块。

14

西安工业大学北方信息工程学院毕业设计(论文)

a. Mux混路器。将多路信号依照向量的形式混合成一路信号。例如,可以将要观察的多路信号合并成一路,连接到示波器上显示,这样就可以将这些信号同时显示出来。

b. Demux分路器。将混路器组成的信号依照原来的构成方法分解成多路。 c. Display数字显示器。将输入信号用数字形式显示出来。

d. Bernoulli Binary Generator伯努利随机码发生器。伯努利二进制的发生器使用伯努利分布生成随机二进制数,发生器会随机的产生0到1之间的任何实数,其间设置概率P,则剩余的概率生成(1-P),由此以来随机产生的实数都可以生为二进制数的0和1,分别对应概率P和(1-P),其中P=0.5为模块默认设置参数。

e. Binary Cyclic Encoder二进制循环码编码器。用于将伯努利二进制发生器产生的码元进行线性循环编码以通过模拟信道。

f. Binary Symmetric Channel二进制均衡信道。用来模拟信息传输的通道。在实际传输过程中由于各种原因而产生噪声干扰,在这里模拟信道会自我生成固有的持续性的热噪声,其中可以设置在模拟信道传输时的差错概率。 g. Binary Cyclic Decoder二进制循环码解码器。将通过模拟均衡信道的信号进行相关解码。

h. Error Rate Calculation误码率计算器。其运算是比较接收的数据跟输出的数据,它是一个实时流动统计,以这种方式来计算其中误码率。通过对出现同位相异的码字总数的统计作为分子,分母则是通过的码元数据元素的总数,其中它不考虑输入元素之间的差异幅度。如果输入的是位数,则计算出来的是误码率,如果输入的是符号,则计算出来的是符号差错率。

i. Binary Linear Encoder二进制线性编码器。用于将伯努利二进制发生器产生的码元进行线性循环编码以通过模拟信道。其使用点阵式产生器产生一个二进位的线区段编码。

j. Binary Linear Decoder二进制线性解码器。将通过模拟均衡信道的信号进行相关解码。

k. To Workspaces工作空间写入器。可以将系统的仿真结果、系统仿真时刻、系统中的状态或指定的信号输出到MATLAB的工作空间中,以便进行定量分析。该模块可以保存任何实数或复数类型的数据到MATLAB工作空间。

15

4 基于Matlab差错控制技术仿真及结果分析

4 基于Matlab差错控制技术仿真及结果分析

4.1线性分组码差错控制仿真

4.1.1线性分组码仿真步骤

在实现线性分组码差错控制编码技术仿真时,其可以分为以下几个大步骤: a. 产生二进制码元; b. 进行线性分组编码; c. 经过模拟信道; d. 进行译码;

e. 进行对原码与经过模拟信道的码进行差错率运算;

f. 得到线性码的信号误码率与信道差错率之间的曲线图,仿真完成并对得到了结果进行分析。

4.1.2线性分组码差错控制仿真系统模型

线性码差错控制编码技术的仿真框图由信号发生器,线性编码器,模拟信道,线性解码器,差错率运算器,结果显示器这六大模块组成,除此以外还有运算结果存储模块,在建模时,此模块属于附加模块。下面对这七个模块功能进行简单介绍:

信号发生器模块:用来产生随机二进制码元。

线性编码器模块:将产生的随机二进制码元进行线性分组编码,即差错控制编码。

模拟信道模块:用来模拟信号传输通道,为二进制均衡信道,其中生成可控噪声干扰。

线性解码器模块:将经过模拟信道的信号进行相干解码。

差错率运算器模块:将未进过差错控制编码和经过差错控制编码的信号进行码字差错运算,经过计算得到其实时传输误码率。

运算结果存储模块:在数学建模中,此模块是可以无需存在的,故此我用虚线箭头来绘制,在Simulink仿真中,最终得到的仿真结果是以Display模块进行数字显示的,而为了方便观看结果,我将最终仿真结果以曲线图直观的表示出来。而在此期间需要调用M函数,所以需要将运算结果提前存储起来以供后用。

结果显示器模块:显示仿真结果。

16

西安工业大学北方信息工程学院毕业设计(论文) 实现线性码差错控制编码技术的仿真系统程图见附录1。 4.1.3线性分组码仿真流程及结果分析

基于Simulink平台的系统仿真的步骤(此处进行仿真步骤述说后将在“4.2循环码差错控制仿真”中不再说明。)为:

a. 建立数学模型。根据通信系统的基本原理,将整个系统简化到源系统,确定总的系统功能,并将各部分功能模块化,找出各部分之间的关系,画出系统流程框图模型;

b. 仿真系统。根据建立的模型,从Simulink通信模型库的各个子库中,将所需要的单元功能模块拷贝到Untitled窗口,按系统流程框图模型连接,组建要仿真的通信系统模型;

c. 设置、调整参数。参数设置包括运行系统参数设置(如系统运行时间、采样速率等)和功能模块运行参数设置;

d. 运行且分析结果。保存且运行仿真,得到仿真数据及波形,并对仿真结果进行分析。

其中步骤a已在之前完成,故现在需要根据已建立好的仿真流程框图在Simulink模块库中选取相应的模块进行Simulink建模,完成建模。

线性分组码差错控制仿真系统如图4.1所示。

图4.1 线性分组码差错控制仿真系统

由于伯努利随机信号发生器[15]的产生信号是以概率来执行的,则所生成的

17