通信系统仿真(第四次课)幻灯片.ppt
通信系通信系统仿真仿真(第四第四次次课)第1页,共30页,编辑于2022年,星期三内容内容Simulink简介简介1Simulink功能模块的处理功能模块的处理23连续时间系统的建模与仿真连续时间系统的建模与仿真第2页,共30页,编辑于2022年,星期三SIMULINK仿真基础仿真基础 1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为SIMULINK。SIMULINK的出现,给控制系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。第3页,共30页,编辑于2022年,星期三第一节 SIMULINK简介vSIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。v所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。一、什么是SIMULINK第4页,共30页,编辑于2022年,星期三2、在MATLAB命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library:simulink3的Simulink模块库窗口。SIMULINK的启的启动1、在MATLAB命令窗口中输入simulink结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口。两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。第5页,共30页,编辑于2022年,星期三第6页,共30页,编辑于2022年,星期三第7页,共30页,编辑于2022年,星期三 SIMULINK的模的模块库介介绍SIMILINK模块库按功能进行分类,包括以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)第8页,共30页,编辑于2022年,星期三1、连续模块(Continuous)continuous.mdlIntegrator:输入信号积分Derivative:输入信号微分State-Space:线性状态空间系统模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个固定时间再输出Variable Transport Delay:输入信号延时一个可变时间再输出第9页,共30页,编辑于2022年,星期三2、离散模块(Discrete)discrete.mdlDiscrete-time Integrator:离散时间积分器Discrete Filter:IIR与FIR滤波器Discrete State-Space:离散状态空间系统模型Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样和保持器Zero-Order Hold:零阶采样和保持器Unit Delay:一个采样周期的延时第10页,共30页,编辑于2022年,星期三3、Function&Tables(函数和表格模块)function.mdlFcn:用自定义的函数(表达式)进行运算MATLAB Fcn:利用matlab的现有函数进行运算S-Function:调用自编的S函数的程序进行运算Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)第11页,共30页,编辑于2022年,星期三Sum:加减运算Product:乘运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方、开根号等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最值运算Abs:取绝对值Sign:符号函数4、Math(数学模块)math.mdl第12页,共30页,编辑于2022年,星期三Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Complex to Real-Imag:由复数输入转为实部和虚部输出Real-Imag to Complex:由实部和虚部输入合成复数输出第13页,共30页,编辑于2022年,星期三5、Nonlinear(非线性模块)nonlinear.mdlSaturation:饱和输出,让输出超过某一值时能够饱和。Relay:滞环比较器,限制输出值在某一范围内变化。Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端而来,否则输出由第三个输入端而来。Manual Switch:手动选择开关第14页,共30页,编辑于2022年,星期三6、Signal&Systems(信号和系统模块)sigsys.mdlMux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。Selector:从多路输入中按希望的顺序输出所需路数的信号Model Info:显示模型的有关信息矩阵基本运算:读矩阵From,数据结构自动转换data type conversion,矩阵重新定维reshape第15页,共30页,编辑于2022年,星期三7、Sinks(接收器模块)sinks.mdlScope:示波器。XY Graph:显示二维图形。To Workspace:将输出写入MATLAB的工作空间。To File(.mat):将输出写入数据文件。Out1:输出端。Terminator:连接到没有连接到的输出端。Stop simulation:若输入信号为非零,则强行终止仿真Display:数字显示第16页,共30页,编辑于2022年,星期三8、Sources(输入源模块)sources.mdlConstant:常数信号。Clock:时钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。Pulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:正弦波信号。Step:阶跃波信号。In1:输入端。Ground:连接到没有连接到的输入端。第17页,共30页,编辑于2022年,星期三SIMULINK建模仿真的一般建模仿真的一般过程程1、简单模型的建立(1)建立模型窗口:Library窗口中File|new|model(2)在模块库中选取需要的模块,并拖到到编辑窗口 里。(3)对模块进行连接,从而构成需要的系统模型。(4)按数学模型进行参数修改。(5)单击开始按钮进行仿真分析,在仿真的同时,可以观察仿真结果。如果发现错误,可以立即单击停止按钮停止仿真。第18页,共30页,编辑于2022年,星期三SIMULINK简单模型的建立及模型特点模型的建立及模型特点2、模型的特点v在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。vSIMULINK的模型具有层次性,通过底层子系统可以构建上层母系统。vSIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。第19页,共30页,编辑于2022年,星期三SIMULINK在通信仿真中的在通信仿真中的应用用Simulink中提供了通信系统的建模、仿真和分析优化的专业库 communication blockset。库中包含了15个字库,近200个模块。该模块库提供了完整的模拟/数字通信系统建模、仿真和分析优化图形所需的模块。第20页,共30页,编辑于2022年,星期三 SIMULINK功能模功能模块的的处理理v模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。v在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。第21页,共30页,编辑于2022年,星期三SIMULINK功能模功能模块的的处理理1)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。2)复制:选中模块,然后按住鼠标右键或ctrl进行拖曳即可复制同样的一个功能模块。3)删除:选中模块,按Delete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。第22页,共30页,编辑于2022年,星期三4)转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单Format中选择Flip Block旋转180度,选择Rotate Block顺时针旋转90度。或者直接按Ctrl+F键执行Flip Block,按Ctrl+R键执行Rotate Block。5)改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。SIMULINK功能模功能模块的的处理理第23页,共30页,编辑于2022年,星期三6)模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用Format菜单中的Flip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。7)颜色设定:Format菜单中的Foreground Color可以改变模块的前景颜色,Background Color可以改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。SIMULINK功能模功能模块的的处理理第24页,共30页,编辑于2022年,星期三8)参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。9)属性设定:选中模块,打开Edit菜单的Block Properties可以对模块进行属性设定。包括Description属性、Priority优先级属性、Tag属性、Open function属性、Attributes format string属性。其中Open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用该函数执行,这种函数在MATLAB中称为回调函数。SIMULINK功能模功能模块的的处理理第25页,共30页,编辑于2022年,星期三10)模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。SIMULINK功能模功能模块的的处理理第26页,共30页,编辑于2022年,星期三模模块间信号信号线的的连接接起始端位于模块输出口的信号线生成法。起始端位于其他信号线上的信号线生成法。第27页,共30页,编辑于2022年,星期三连续时间系统的建模与仿真连续时间系统的建模与仿真 创建建动态系系统simulink模型的模型的步步骤:(1)建立物理系建立物理系统的数学模型(的数学模型(微分方程微分方程)(2)打开打开SIMULINK并并新建模型窗新建模型窗(3)从模从模块库复制所需模复制所需模块到新建模型窗到新建模型窗(4)模模块结构参数构参数设置(置(如如 输入入输出口的数目出口的数目)(5)模模块间信号信号线的的连接接(6)系系统参数参数设置置(如系如系统初始条件初始条件)(7)仿真运行参数仿真运行参数设置。置。(如解算器如解算器“ode45”、仿真、仿真终止止时间)(8)把新建模型保存把新建模型保存为*.mdl。(9)试运行,运行,发现问题加以改善。加以改善。第28页,共30页,编辑于2022年,星期三(1)根据牛根据牛顿定律可以写出定律可以写出数学模型数学模型:(微分方程微分方程)按按步步骤(2)(9)建立仿真模型并建立仿真模型并执行。行。例例:右右图所所示示的的系系统中中,已已知知质量量m=1kg,阻阻尼尼b=N.sec/m,弹簧簧系系数数k=100N/m,且且质量量块的的初初始始位位移移x(0)=0.05m,其其初初始始速速度度x(0)=0m/s,要要求求创建建该系系统的的SIMULINK模型,并模型,并进行仿真运行行仿真运行(忽略重力忽略重力)。)。第29页,共30页,编辑于2022年,星期三思考:思考:若建立若建立该方程的方程的simulink仿真模型需要一些什么仿真模型需要一些什么实际模模块?(1)积分模分模块或微分模或微分模块(一般不用微分模一般不用微分模块)(2)加法模加法模块 (加减法器)(加减法器)(3)增益模增益模块 (放大器)(放大器)(4)示波器模示波器模块-显示仿真示仿真结果果仿真模型如下:仿真模型如下:按步按步骤演示演示和和执行!行!第30页,共30页,编辑于2022年,星期三