您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > simulink动态系统建模仿真 第3章
第3章Simulink信号操作第3章Simulink信号操作3.1信号基础3.2信号及示波器管理器3.3显示信号3.4多维数组信号的连接3.5信号组操作3.6复合信号第3章Simulink信号操作3.1信号基础3.1.1信号属性及分类信号是模型仿真时出现在Simulink模块输出端的数值流。理解模型图中连接模块之间沿着示意线传输的信号是非常有用的,但需注意的是,Simulink模型中用来连接模块的线只具有逻辑意义,而没有任何物理含义。因此,把Simulink中的信号类比成电子信号也是不完全正确的。例如,电子信号在电缆中传输时是需要时间的,相比之下,Simulink模块的输出是同时出现在它所连接模块的输入端的。第3章Simulink信号操作1.信号维数Simulink模块可以输出一维或二维信号。一维(1-D)信号是由一维数组输出流组成的,这个数组流在每个仿真时间步上以一个数组(向量)的频率进行输出;二维(2-D)信号是由一个二维数组流组成的,这个二维数组流在每个模块采样时间内以一个二维数组(矩阵)的频率产生。第3章Simulink信号操作多维信号则是由多维数组流(二维或二维以上)组成的,在每个模块采样时间上以某一个数组的频率进行输出。MATLAB最多支持32维数组,Simulink中的每个模块在可以接收或输出的信号维数上是不同的,有些模块可以接收或输出任意维信号,而有的模块只接收或输出向量或标量信号。Simulink6.6中增加了支持多维信号的模块数目,多达75个模块都支持多维信号。为了确定模块是否支持多维信号,可以参看模块帮助中的特性说明,若说明中的Multidimensionalized属性标识为Yes,则表示该模块支持多维数组。第3章Simulink信号操作Simulink的用户接口和文档通常把一维信号描述为向量(vectors),把二维信号描述为矩阵(matrices),而一元素数组常常是指标量(scalar),行向量(rowvector)是只有一行的二维数组,列向量(columnvector)是只有一列的二维数组。本章3.1.3节中的内容“确定输出信号的维数”讨论了对于可输出非标量信号的模块,如何确定这些模块的输出信号维数。第3章Simulink信号操作2.信号数据类型数据类型是指用来在Simulink内部表示信号值的格式。缺省时,Simulink信号的数据类型是double(双精度)。用户也可以创建其他数据类型的信号。Simulink支持与MATLAB相同的数据类型。第3章Simulink信号操作3.复信号缺省时,Simulink的信号值是实数,但Simulink模型也可以创建和管理复信号。信号值为复数的信号称为复信号。用户可以用下面的方法把复信号引入到Simulink模型中:从MATLAB工作区将复值信号数据通过模型最顶层的输入端口(即Inport端口)装载到模型中;在模型中建立一个Constant模块,并将其值设置为复数;建立对应于复信号实部和虚部的实值信号,然后利用Real-ImagtoComplex转换模块将这两部分组合成复信号。第3章Simulink信号操作4.纯虚信号纯虚信号(virtualsignal)是用图示方式表示另一个信号的信号。事实上,纯虚信号纯粹就是一组信号示意图,它没有任何数学或物理意义,当对模型进行仿真时,Simulink会忽略这些信号。Simulink中的纯虚模块如BusCreator模块或Subsystem模块可以产生纯虚信号。同纯虚模块一样,纯虚信号也允许用户以图示方式简化模型。例如,利用BusCreator模块,用户可以将大量的非纯虚信号(也就是由非纯虚模块产生的信号)简化为单个的纯虚信号,从而使整个用户模型更简洁,更便于理解。在这里,用户可以将纯虚信号看成是捆绑在一起的一组信号。第3章Simulink信号操作无论用户何时运行或更改系统模型,Simulink都会自动确定由模型纯虚信号所表示的非纯虚信号,这个过程可用一个“术语”表示,Simulink将其称为信号传递(SignalPropagation)。当运行模型时,Simulink会使用由信号传递所确定的相应的非纯虚信号来驱动由纯虚信号所连接的模块。第3章Simulink信号操作例如,以图3-1所示模型为例。模型中用BusCreator模块和BusSelector模块传递纯虚信号,这两个模块均是纯虚模块,驱动Gain模块G1和G2的信号是分别对应于s2和s1的纯虚信号。BusSelector模块对话框可以设置从输入总线(这里是标签为s3的信号)中传递过来的信号,用户可以选择信号的排列顺序。当更新或仿真模型时,Simulink会自动确定模型中的信号。首先选中模型中标识为s3的纯虚信号线,然后选择Edit菜单下的Signalproperties命令,打开信号属性对话框,将对话框中的ShowPropagatedSignals选项设置为on,此时模型中的纯虚信号标签显示了由纯虚信号表示的非纯虚信号,如图3-2所示。第3章Simulink信号操作图3-1第3章Simulink信号操作图3-2第3章Simulink信号操作5.控制信号控制信号(ControlSignal)也是Simulink中的一种信号,当仿真执行某一模块时,另一模块利用控制信号对这个模块进行初始化,例如,函数调用或动作子系统模块。当用户更新系统方块图的仿真条件或者开始仿真时,Simulink会使用点画线重新绘制用来表示方块图控制信号的线,如图3-3所示。第3章Simulink信号操作图3-3第3章Simulink信号操作6.信号总线信号总线是用来表示一组信号的纯虚信号,用来模拟捆绑在一起的电缆信号,没有实际的数学或物理含义,Simulink使用特定的线型来表示信号总线。如果用户在Format菜单下选择SignalDimensions命令,则Simulink会显示总线中信号分量的数目,如图3-4所示。第3章Simulink信号操作图3-4第3章Simulink信号操作7.复合信号Simulink可以把一组多个信号组合到一个复合信号中,而且复合信号可以在模块之间进行传递,如果需要的话,用户可以从复合信号中提取组成信号。信号总线是复合信号的一种,复合信号没有什么实际的功能,当有多个并行的信号存在时,使用复合信号可以简化模型的外观,增强模型的可读性。第3章Simulink信号操作8.信号术语汇编表3-1概述了Simulink用户接口和文档中用来描述信号的术语。第3章Simulink信号操作表3-1信号术语术语含义复信号信号值是复数的信号数据类型用来在Simulink内部表示信号值的格式矩阵二维信号数组实信号信号值是实数(对应于复数)的信号标量含有一个元素的数组,也就是有一个元素的一维或二维数组信号总线由Mux模块或Demux模块创建的信号信号传递Simulink用来确定信号和模块属性的过程,这些属性包括数据类型、信号标签、采样时间、信号维数等信号尺寸信号所包含的元素个数,二维信号的大小通常表示为M×N,M是组成信号的列数,N是组成信号的行数测试点只有在仿真期间才可访问的信号向量一维信号数组纯虚信号表示其他信号或信号组的信号宽度向量信号的大小第3章Simulink信号操作3.1.2信号的线型Simulink使用各种不同的线型表示模型窗口中的信号类型。因此,了解各种线型有助于读者区分模型图中各种不同类型的信号。信号的类型及对应的线型如表3-2所示。第3章Simulink信号操作表3-2不同信号类型的信号线型信号类型线型说明标量和非标量信号Simulink用细实线表示模型图中的标量和非标量信号非标量信号当选择Widenonscalarlines选项时,Simulink用粗实线表示模型图中的非标量信号控制信号Simulink用细的点画线表示模型图中的控制信号纯虚信号Simulink用带箭头的三条细实线表示模型图中的纯虚信号总线非纯虚信号Simulink用带箭头的细实线与虚线表示模型图中的非纯虚信号总线第3章Simulink信号操作只有选择Widenonscalarlines选项时,用户才可以控制非标量信号的线宽,除此之外,用户不能改变其他信号线的线型。在用户刚开始建立模型方块图时,Simulink用细实线表示模型图中的所有信号,只有当用户更新模型图或者开始仿真时,不同类型的信号才会用指定的线型表示。第3章Simulink信号操作3.1.3确定输出信号的维数1.确定Sources模块的输出维数Sources库中的模块是没有输入的模块,如Constant模块和SineWave模块等。如果用户在模块的参数对话框内没有选择InterpretVectorParametersas1-D参数项,那么一个Sources模块输出的维数与其输出值参数的维数是相同的;如果选择了模块参数对话框内的InterpretVectorParametersas1-D参数项,那么在输出参数值的维数不是N × 1或1 × N的情况下,模块输出的维数才等于输出值参数的维数,若输出参数值的维数是N × 1或1 × N,则模块输出一个宽度为N的向量信号。第3章Simulink信号操作以Sources模块库中的Constant模块为例,这个模块输出一个等于其Constantvalue参数值的常值信号,表3-3说明了Constantvalue参数的维数和InterpretVectorParametersas1-D参数的设置值如何确定了Constant模块输出的维数。第3章Simulink信号操作表3-3确定Constant模块输出的维数常值InterpretVectorParametersas1-D参数输出标量off一维数组标量on一维数组1×N矩阵off1×N矩阵1×N矩阵onN元素向量N×1矩阵offN×1矩阵N×1矩阵onN元素向量M×N矩阵offM×N矩阵M×N矩阵onM×N矩阵2.确定非Sources模块的输出维数如果一个模块有输入,那么该模块的输出在经过标量扩展之后与其输入有相同的维数(所有的输入也必须有相同的维数)。第3章Simulink信号操作3.1.4确定信号及参数维数的准则当创建一个Simulink模型时,用户必须遵守Simulink中信号和参数维数的确定准则。1.输入信号维数准则输入信号维数准则:一个模块的所有非标量输入必须有相同的维数。一个模块可以混合有标量输入和非标量输入,但所有的非标量输入都必须有相同的维数,Simulink会扩展标量输入,以使其与非标量输入具有相同的维数,这样就遵守了上述规则。第3章Simulink信号操作2.模块参数维数准则模块参数维数准则:通常,模块的参数必须与所对应的输入具有相同的维数。这个规则包括下面两种情况:(1)模块可以有对应于非标量输入的标量参数。在这种情况下,Simulink会扩展标量参数,以使其与对应的输入具有相同的维数,这样就遵守了这个规则。(2)如果输入是向量,对应的参数可以是N × 1或1 × N矩阵,在这种情况下,Simulink会将N个矩阵元素应用到输入向量的对应元素。这个特例允许用MATLAB行向量或列向量指定应用到向量输入中的参数,这样的向量实际上分别是1 × N矩阵或N × 1矩阵。第3章Simulink信号操作3.向量或矩阵输入转换规则在下列情况下,Simulink会将向量转换为行矩阵或列矩阵,或者将行矩阵或列矩阵转换为向量:(1)如果一个向量信号被连接到要求矩阵的输入上,则Simulink会将向量转换为一行矩阵或一列矩阵。(2)如果一列矩阵或一行矩阵被连接到要求向量的输入上,则Simulink会将矩阵转换为向量。(3)如果一个模块的输入是由向量和矩阵混合组成的,而且所有的矩阵输入都只有一列或一行,那么Simulink会将向量分别转换为只有一列或一行的矩阵。第3章Simulink信号操作3.1.5输入和参数的标量扩展1.输入的标量扩展输入的标量扩展是指扩展标量输入,以使其与其他非标量输入或非标量参数具有相同的维数。当模块的输入是由标量信号
本文标题:simulink动态系统建模仿真 第3章
链接地址:https://www.777doc.com/doc-3194662 .html