simulink教程前言 (3)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1.2 确定输出信号的维数
如果一个模块可以产生非标量信号,那么模块输出的信号的维数取决于模块参数;如 果模块是 Sources 库中的模块,那么模块输出的信号的维数取决于模块输入和模块参数的 维数。
确定 Sources 模块的输出维数 Sources 库中的模块是没有输入的模块,如 Constant 模块和 Sine Wave 模块等。如果用 户在模块的参数对话框内没有选择 Interpret Vector Parameters as 1-D 参数项,那么一个 Sources 模块输出的维数与其输出值参数的维数是相同的;如果选择了模块参数对话框内的 Interpret Vector Parameters as 1-D 参数项,那么在输出参数值的维数不是 N×1 或 1×N 的 情况下,模块输出的维数才等于输出值参数的维数,若输出参数值的维数是 N×1 或 1×N, 模块输出一个宽度为 N 的向量信号。 以 Sources 模块库中的 Constant 模块为例,这个模块输出一个等于其 Constant value 参 数 值 的 常 值 信 号 , 表 3-2 说 明 了 Constant value 参 数 的 维 数 和 Interpret Vector Parameters as 1-D 参数的设置值如何确定了 Constant 模块输出的维数。
信号维数 Simulink 模块可以输出一维或二维信号。一维(1-D)信号是由一维数组输出流组成,这 个数组流在每个仿真时间步上以一个数组(向量)的频率进行输出;二维(2-D)信号是由一个 二维数组流组成,这个二维数组在每个模块采样时间内以一个二维数组(矩阵)的频率产生。 Simulink 的用户接口和文档通常把一维信号描述为向量(vectors),把二维信号描述为 矩阵(matrices),而一元素数组常常是指标量(scalar),行向量(row vector)是只有一行的二维 数组,列向量(column vector)是只有一列的二维数组。 在仿真过程中,对 Simulink 中的各个模块来说,每个模块可接受或可输出的信号维数 是各不相同的,有些模块可以接受或输出任意维数的信号,而有些模块则只能接受或输出 标量信号或向量信号。本章 3.1.2 节中的内容“确定输出信号的维数”讨论了对于可输出 非标量信号的模块,如何确定这些模块的输出信号维数。 信号数据类型 数据类型是指用来在 Simulink 内部表示信号值的格式,缺省时,Simulink 信号的数据 类型是 double(双精度),但是,用户也可以创建其它数据类型的信号。Simulink 支持与 MATLAB 相同的数据类型。 复信号 缺省时,Simulink 的信号值是实数,但 Simulink 模型也可以创建和管理复信号,信号 值为复数的信号称为复信号。用户可以用下面的方法把复信号引入到 Simulink 模型中: -- 从 MATLAB 工作区将复值信号数据通过模型最顶层的输入端口(即 Inport 端口)装载
号组进行仿真等
38
第 3 章 Simulink 信号操作
3.1 信号基础
本节介绍 Simulink 信号的概念,并给出范例说明 Simulink 中信号的种类,以及如何指 定、显示和验证信号连接的有效性。
3.1.1 信号属性及分类
信号是模型仿真时出现在 Simulink 模块输出端的数值流。理解模型图中连接模块之间 沿着示意线传输的信号是非常有用的,但需要注意的是,Simulink 模型中用来连接模块的 线只具有逻辑意义,而没有任何物理含义。因此,把 Simulink 中的信号类比成电子信号也 是不完全正确的。例如,电子信号在电缆中传输时是需要时间的,相比之下,Simulink 模 块的输出是同时出现在它所连接模块的输入端的。
42
第 3 章 Simulink 信号操作
M×N 矩阵 M×N 矩阵
off
M×N 矩阵
on
M×N 矩阵
Simulink 中 Source 模块库中的模块允许用户指定这些模块输出的信号的维数,因此可 以利用这些模块将不同维数的信号引入到用户模型中。
确定非 Sources 模块的输出维数 如果一个模块有输入,那么该模块的输出在经过标量扩展之后与其输入有相同的维数 (所有的输入也必须有相同的维数)。
表 3-2 确定 Constant 模块输出的维数
常值 2-D 标量 2-D 标量 1×N 矩阵 1×N 矩阵 N×1 矩阵 N×1 矩阵
Interpret Vector Parameters as 1-D 参数 off on off on off on
输出 2-D 标量 1-D 标量 1×N 矩阵 N 元素向量 N×1 矩阵 N 元素向量
模块参数维数准则
通常,模块的参数必须与所对应的输入具有相同的维数,这个规则也包括下面两种情 况:
a. 模块可以有对应于非标量输入的标量参数,在这种情况下,Simulink 会扩展标量 参数,以使其与对应的输入具有相同的维数,这样就遵守了这个规则;
b. 如果输入是向量,对应的参数可以是 N×1 或 1×N 矩阵,在这种情况下,Simulink 会将 N 个矩阵元素应用到输入向量的对应元素,这个特例允许用 MATLAB 行向量 或列向量指定应用到向量输入中的参数,这样的向量实际上分别是 1×N 矩阵或 N ×1 矩阵。
第 3 章 Simulink 信号操作
信号操作是 Simulink 模型中的一个重要内容,正确处理模型信号对于仿真结果的准确
性和模型的可读性具有重要的意义,本章的内容向读者介绍如何创建和使用 Simulink 信号。
本章的主要内容包括:
信号基础
介绍关键的信号概念,包括 Simulink 中的信号分
类、信号数据类型、信号总线、纯虚信号、信号
41
二维信号数组 信号值是实数(对应于复数)的信号 含有一个元素的数组,也就是,有一个元素的一维或二维数组 由 Mux 模块或 Demux 模块创建的信号 Simulink 用来确定信号和模块属性的过程,这些属性包括数据类型、信号 标签、采样时间、信号维数等。 信号所包含的元素个数,二维信号的大小通常表示为 M×N,M 是组成信 号的列数,N 是组成信号的行数。 一维信号数组 表示其它信号或信号组的信号 向量信号的大小
信号总线
图 3-4 信号术语汇编 表 3-1 概述了 Simulink 用户接口和文档中用来描述信号的术语。
表 3-1 信号术语
术语
含义
复信号 数据类型
信号值是复数的信号 用来在 Simulink 内部表示信号值的格式
矩阵 实信号 标量 信号总线 信号传递
信号尺寸
向量 纯虚信号 宽度
第 3 章 Simulink 信号操作
图 3-1 例如,以图 3-1 所示模型为例。模型中用 Bus Creator 模块和 Bus Selector 模块传递纯 虚信号,这两个模块均是纯虚模块,驱动 Gain 模块 G1 和 G2 的信号是分别对应于 s2 和 s1 的纯虚Hale Waihona Puke Baidu号,Bus Selector 模块对话框可以设置从输入总线(这里是标签为 s3 的信号)中传递 过来的信号,用户可以选择信号排列的顺序。当更新或仿真模型时,Simulink 会自动确定 模型中的信号。首先选中模型中标识为 s3 的纯虚信号线,然后选择 Edit 菜单下的 Signal properties 命令,打开信号属性对话框,将对话框中的 Show Propagated Signals 选项设置 为 on,此时模型中的纯虚信号标签显示了由纯虚信号表示的非纯虚信号,如图 3-2 所示。
第 3 章 Simulink 信号操作
43
3.1.4 输入和参数的标量扩展
标量扩展(Scalar expansion)是将标量值转换为相同维数的非标量数组的过程。许多 Simulink 模块都支持输入和参数的标量扩展。
维数和信号属性
信号属性
如何利用信号属性对话框设置信号属性,包括如
何显示纯虚信号
检验信号连接
如何检验模型中的模块是否能接受用户所创建的
信号,也就是判断信号是否被正确传递
显示信号
如何在模型方块图中设置信号标签,以及如何显
示信号特性
信号组操作
如何创建和使用可互换的信号组,包括如何编辑
信号组,如何编辑信号和波形,以及如何利用信
控制信号
图 3-3 信号总线 信号总线是用来表示一组信号的纯虚信号,它是用来模拟捆绑在一起的电缆信号,没 有实际的数学或物理含义,Simulink 使用特定的线型来表示信号总线。如果用户在 Format 菜单下选择 Signal Dimensions 命令,Simulink 会显示总线中信号分量的数目,如图 3-4 所 示。
40
第 3 章 Simulink 信号操作
去,直到 Simulink 确定出纯虚信号的所有非纯虚分量。
控制信号
控制信号(Control Signal)也是 Simulink 中的一种信号,当仿真执行某一模块时,另一 模块利用控制信号对这个模块进行初始化,例如,函数调用或动作子系统模块。当用户更 新系统方块图的仿真条件或者开始仿真时,Simulink 会使用点划线重新绘制用来表示方块 图控制信号的线,如图 3-3 所示。
到模型中; -- 在模型中建立一个 Constant 模块,并将其值设置为复数; -- 建立对应于复信号实部和虚部的实值信号,然后利用 Real-Imag to Complex 转换模
块将这两部分组合成复信号。 纯虚信号 纯虚信号(virtual signal)是用图示方式表示另一个信号的信号。事实上,纯虚信号纯粹
图 3-2
注意:纯虚信号可以用来表示纯虚信号及非纯虚信号。例如,用户可以用 Bus Creator 模块将多个纯虚信号和非纯虚信号组合成一个纯虚信号。在信号传 递过程中,如果 Simulink 发现纯虚信号的一个分量是它自身的纯虚,那么 Simulink 会利用信号传递来确定它的非纯虚分量,这个过程会一直继续下
无论用户何时运行或更改系统模型,Simulink 都会自动确定由模型纯虚信号所表示的 非纯虚信号,这个过程用一个“术语”表示,Simulink 将其称为信号传递(Signal Propagation)。 当运行模型时,Simulink 会使用由信号传递所确定的相应的非纯虚信号来驱动由纯虚信号 所连接的模块。
第 3 章 Simulink 信号操作
39
就是一组信号示意图,它没有任何数学或物理意义,当对模型进行仿真时,Simulink 会忽 略这些信号。
Simulink 中的纯虚模块,如 Bus Creator 模块或 Subsystem 模块可以产生纯虚信号。同 纯虚模块一样,纯虚信号也允许用户以图示方式简化模型。例如,利用 Bus Creator 模块, 用户可以将大量的非纯虚信号(也就是由非纯虚模块产生的信号)减化为单个的纯虚信号, 因此也就使整个用户模型更简洁,更便于理解,在这里,用户可以将纯虚信号看成是捆绑 在一起的一组信号。
向量或矩阵输入转换规则
在下列情况下,Simulink 会将向量转换为行矩阵或列矩阵,或者将行矩阵或列矩阵转 换为向量:
a. 如果一个向量信号被连接到要求矩阵的输入上,Simulink 会将向量转换为一行矩 阵或一列矩阵;
b. 如果一列矩阵或一行矩阵被连接到要求向量的输入上,Simulink 会将矩阵转换为 向量;
3.1.3 确定信号及参数维数准则
当创建一个 Simulink 模型时,用户必须遵守 Simulink 中信号和参数维数的确定准则。 输入信号维数准则
一个模块的所有非标量输入必须有相同的维数。 一个模块可以混合有标量输入和非标量输入,但所有的非标量输入都必须有相同的维 数,Simulink 会扩展标量输入,以使其与非标量输入具有相同的维数,这样就遵守了上述 规则。
c. 如果一个模块的输入是由向量和矩阵混合组成的,而且所有的矩阵输入都只有一 列或一行,那么 Simulink 会将向量分别转换为只有一列或一行的矩阵。
说明:如果在仿真过程中出现向量转换或矩阵转换,用户可以在仿真参数对话框 中的 Diagnostic 选项页内配置 Simulink,以显示警告消息或错误消息,关 于详细内容,读者可以参看第 7 章。
相关文档
最新文档