simulink是Matlab提供的用于对动态系统进行建模、仿真和分析的工具包。simulink提供了专门用于显示输出信号的模块,可以在仿真过程中随时观察仿真结果。同时,通过simulink的存储模块,仿真数据可以方便地以各种形式保存到工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外,simulink把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。基于上述优点,simulink称为一种通用的仿真建模工具,广泛应用于通信仿真、数字信号处理、模糊逻辑、神经网络、机械控制和虚拟现实等领域。
根据输出信号与输入信号的关系,simulink提供3种类型的模块:连续模块、离散模块和混合模块。连续模块是指输出信号随着输入信号发生连续变化的模块,离散模块则是输出信号以固定间隔变化的模块。对于连续模块,simulink采用积分方式计算输出信号的数值,因此,连续模块主要涉及导数的计算及其积分。离散模块的输出信号在下一个抽样时刻到来之前保持恒定,这时simulink只需以一定的间隔计算输出信号的数值。混合模块是根据输入信号的类型来确定输出信号类型的,它既能够产生连续输出信号,也能够产生离散输出信号。
当采用simulink进行建模和仿真时,一般是从simulink模型库中提供的模块出发,通过组合各种模块来完成模块的设计。simulink模型库提供了一种模块的集成环境,通过它可以快速地开发各种仿真模型。
在matlab的工作区中输入“simulink”或是单击matlab工具栏上的 ,就进入如2.1图所示的模型库界面
图2.1 simulink 模型库
simulink模型库中的仿真模块组织成—个三级树型结构,例如,图2—1所示:Smulink于模型库包含了Continuous、Discontinuities、Discrete等下一级的模型库,其中Continuous模型库中包含了若干个模块,这些模块可以直接加入到自己的仿真模型中。
在matlab或simulink窗口的工具栏中依次选择“file”/“new”/“model”,自动生成一个空白的仿真模型模型窗口,如图2.2所示
图2.2 空白仿真模型
在设计仿真模型的过程中,如果在simulink模型库中包含了仿真模型所需的模块,则在simulink模型库中选中这个模块,单击鼠标右键,从浮动菜单中选择“Add to untitled”(或直接把模块拖到仿真模型中),这时候就把这个选中的模块加入到仿真模型中了。
simulink模型库窗口提供了模块查找功能。在simulink模型库窗口的工具栏上单击 按钮,弹出如图2—3所示的模块查找对话框。输入所需查找的模块名称的关键字,单击“find Next”按钮,则simulink自动搜索整个模型库。
图2.3 simulink搜索模型
simulink模型库中的模块一般具有各种参数设置。在仿真模型窗口中双击模块,弹出该模块的参数设置对话框,这时候可以修改模块中各个参数的数值。通常情况下,仿真模块的设计过程就是对simulink模型库中各个模块的一种组合。如果simulink模型库中没有所需的模块,这时候可以通过s—函数构造自己的模块,并且把这个模块与其他simulink模块合起来,实现相应的仿真功能。关于S—函数的内容,将在后面进行详细论述。
仿真模型有两种运行方式:菜单方式和命令行方式。在simulink中打开仿真模型,然后在菜单栏中依次选择“simulation”“start”,或者在工具栏上单击 缺钮,则仿真模型将以菜单方式运行。菜单方式的优点在于它的交互性,通过在仿真模型中设置示波器模块(Scope)或显示模块(Display)可以在仿真过程中观察输出信号的数值。同时,有些仿真模块还允许用户在不中断仿真进程的条件下随时更改模块的参数设置。 MATLAB的通信系统仿真+文献综述+BFSK源程序(6):http://www.751com.cn/tongxin/lunwen_2860.html