检查可变大小的信号万博1manbetx楷模

可变大小的信号生成及操作

此示例示出了模型如何建立从多个固定大小的信号,并从单个数据信号的可变大小的信号。这也显示了一些可以适用于可变大小的信号操作。

对于块的支持可变大小的信号,看到的完整列表万博1manbetx万博1manbetxSimul万博1manbetxink模块支持可变大小的信号

  1. 在MATLAB®命令行窗口,键入

    sldemo_varsize_basic

  2. 在Simuli万博1manbetxnk®编辑器,在调试选项卡,选中信息覆盖>信号维度。运行模拟或按按Ctrl-d

    在Sim万博1manbetxulink的编辑器显示的信号维度和线型。看到信号基础对于信号线风格的诠释。

  3. 所以,你可以看到在模型中块的名称,在格式选项卡,清除汽车>隐藏自动闭塞名

创建一个从固定大小的信号可变大小的信号

创建一个可变大小的信号的一个方法是使用交换机块。的输入信号的开关块可以以它们的维数,并在其尺寸不同。

从开关块输出是具有的最大尺寸的2-d可变大小的信号3×2。当您选择允许不同的数据输入大小交换机块参数,Simulink的不扩展从CONSTANT1块的万博1manbetx标量值。

保存可变大小数据信号

你可以一到工作区块添加到从交换机模块的输出。由于该模型已经具有要工作区块中,第二到工作区块将数据保存到命名的信号阵列simout2字段记录的实际信号值。如果登录信号数据是比最大尺寸更小,值填充为NaN的或适当的值。为了获得这些信号值,输入:

simout2.signals.values ANS(:,:,1)= 1 -1 -2 -3 2 3 ANS(:,:,2)= 1个-1 -2 -3 2 3 ANS(:,:,3)=0为NaN楠楠楠楠

valueDimensions字段记录可变尺寸信号的尺寸。为了获得尺寸,输入:

simout2.signals.valueDimensions

前三个时间步长的信号维度被示出。

ANS = 3 2 3 2 1 1

从单个数据信号创建可变大小信号

数据信号(Constant5)是3×4矩阵。脉冲发生器表示的控制信号,用于选择一个开始和结束索引值([1 2]要么[1 3])。选择器块然后使用索引值在每个时间步骤并输出一个可变尺寸的信号选择数据信号的不同部分。

查看变化信号的大小

从选择器块的输出可以是一个2×2要么3×3矩阵。因为对于一个可变大小的信号的最大尺寸是3×4从数据信号矩阵,记录的输出信号填充为NaN的。

使用探头或宽度块检查可变大小的信号的当前尺寸和宽度。此外,可以在范围块和节省可变尺寸的信号,以使用所述要工作区块在工作区显示可变尺寸的信号。

处理可变尺寸的信号

该模型示出了各种操作是可能的可变大小的信号的余数。操作包括使用获得数学函数矩阵拼接块。您可以连接与可变大小信号总线分配公交车造物主总线选择块。

可变大小的信号长度适应

此示例模型对应于一个假设的系统,其中所述模型适应的信号的长度随着时间的推移。长度适配基于控制信号的值。当控制信号的三个预定义范围之一内时,固定大小的原始数据信号改变为可变大小的数据信号。

可变尺寸信号连接到一个处理块,其中块的支持可变大小的信号在其上进行操作。万博1manbetx具有可变大小的输入和输出信号A MATLAB功能块允许比支撑可变大小的信号的其它块更大的灵活性。万博1manbetx看到万博1manbetxSimul万博1manbetxink模块支持可变大小的信号

要打开示例模型,在MATLAB命令窗口中,键入:

sldemo_varsize_dataLengthAdapt

所以,你可以看到块的名称,在该模型中,对格式选项卡,清除汽车>隐藏自动闭塞名

通过采用数据信号的长度创建可变大小信号

该模型产生数据信号并将该信号到可变大小的信号转换。的信号的大小取决于控制信号的值。原始数据信号是与来自值的列矢量19

[1:9]“。ANS = 1 2 3 4 5 6 7 8 9
的尺寸选择子系统确定所述数据信号的质量,并输出的质量值(1,2或3)。该值有助于选择在Length适应子系统的数据信号的长度。

在Length适应子系统,信号的大小子系统产生基于从尺寸选择子系统(IN2)的质量值的索引。数据选择器块使用的开始和结束索引以适应所述数据信号(IN1)和输出的可变大小的信号的长度。

处理可变大小的信号

该模型的中心部分处理可变尺寸的信号。MATLAB函数块增加了数据值之间的零的方式,类似于上采样的信号。从信号变化的尺寸918。数学运算功能块显示各种操作,您可以使用可变大小的信号做。

可视化可变大小的信号

该模型的右部分确定信号宽度(尺寸),并使用范围以可视化的宽度和经处理的数据信号。

依赖于模式的可变大小信号

此示例模型表示具有三个操作模式的系统。对于每个模式中,数据信号以处理具有不同的大小。

在该模型的过程子系统接收一个可变尺寸的信号,其中信号的大小取决于系统的操作模式。对于每种模式改变时,状态流®图表,模式控制逻辑,检测数据信号大小的变化时。然后,它产生一个函数调用以在过程子系统块复位。

要打开模型,在MATLAB命令窗口中,键入:

sldemo_varsize_multimode

所以,你可以看到块的名称,在该模型中,对格式选项卡,清除汽车>隐藏自动闭塞名

创建于模式可变大小的基于信号

模式选择子系统确定模式用于处理数据信号,并输出一个模式值(1,2或3)。该值有助于选择使用尺寸选择和数据的子系统中的数据信号的长度。

大小选择子系统创建一个从模式的索引值。在该示例中,索引值是[1 3][1 2][1 1]

数据子系统需要的数据信号(恒块),并且选择的数据的一部分的信号依赖于模式。输出是具有一个矩阵大小可变大小的信号3×32×21x1的

原始数据信号(恒块)的尺寸是3×3。一个为了工作区块连接到信号线后,您可以通过键入查看MATLAB命令窗口的信号:

simout.signals.values ANS(:,:,1)= 1 4 7 2 5 8 3 6 9

从数据子系统产生的可变大小的信号也是3×3矩阵。对于更短的信号,所述基质被填充用的NaN。

simout.signals.values ANS(:,:,1)= 1楠楠楠楠楠楠楠楠ANS(:,:,2)= 1 4的NaN 2 5楠楠楠楠ANS(:,:,3)=1 4 7 2 5 8 3 6 9

处理可变大小的信号与一个有条件地执行的子系统

因为该过程子系统包含一个延迟块,子系统复位并repropagates在每个时间步骤中的信号。该模型使用一个状态流图表来检测信号的大小变化和重置过程子系统。

在功能块对话框,并从传播尺寸大小可变的信号的列表中,选择只有当启用。当模型使该子系统,选择此选项指示的Simulink软件传播尺寸为有条件地执行子系统内的可变大小的信号。万博1manbetx为启用时,他们从禁用转换信号的大小只能改变。为了处理与含有状态块信号大小的变化的说明,请参见如何可变大小的信号传播

的状态流图表确定是否存在在该信号的大小的变化。功能size_detect计算在每个时间步骤中的可变大小的信号的宽度,并且电流宽度进行比较,以之前的宽度。如果在信号大小的变化,图表输出函数调用输出事件复位和repropagates过程子系统内的信号的大小。

数据可视化

使用探头块可视化信号的大小和信号维度。

由于信号N×N的矩阵,信号尺寸线在适用范围显示重叠。

你可以使用一个显示块和Simulink的调试器在每个时间步骤来可视化的信万博1manbetx号值。

S-功能使用可变大小信号

2级MATLABS-功能的可变大小信号

两个2级MATLAB S-功能和C S-功能支持可变大小的信号,当您设置万博1manbetxDimensionMode为输出端口变量。您还需要考虑在输入和输出更新方法的输入和输出信号的电流大小。

要打开这个示例模型,在MATLAB命令窗口中,键入:

msfcndemo_varsize

启用的子系统包括Level-2的MATLAB S-功能,显示如何实现保持其状态,直到复位块。因为该块包含状态和延迟输入信号,该输入大小可以发生复位时只改变。

展开块为Level-2 MATLAB S-功能,需要一个标量输入,并输出长度的矢量表示通过其输入值。输出是由1:N哪里ñ是输入值。

(C S) - 功能与可变大小的信号

要打开这个示例模型,在MATLAB命令窗口中,键入:

sfcndemo_varsize

启用的子系统有两个S-功能:

  • sfun_varsize_holdStatesUntilReset是C S-功能具有状态,并且需要其DWORKS向量复位每当的输入信号变化的大小。

  • sfun_varsize_concat1D是C S函数实现两个非取向矢量的串联。您可以通过自身启用的子系统中使用此功能。

相关话题