主要内容

检查适应信号金宝app模型

适应信号生成和操作

这个示例模型显示了如何创建一个适应从多个固定大小的信号和信号从一个数据信号。它还显示了一些操作可以应用来适应信号。

块的完整列表支持适应信号,明白了金宝app金宝app仿真软件块支持适应信号金宝app

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

    openExample (sldemo_varsize_basic) varSize = get_param (outPortHandle, CompiledPortDimensionsMode)

  2. 在仿真软件金宝app®编辑器,调试选项卡上,选择信息覆盖>信号的维度。运行一个仿真或新闻ctrl - d

    模型编辑金宝app器显示信号的维度和风格。看到信号基础知识信号线的解释风格。

  3. 这样你就可以看到模型中块的名称,在格式选项卡,明确汽车>隐藏自动闭塞的名字

创建一个适应信号从固定大小的信号

创建一个适应信号的一种方法是使用开关块。输入信号开关块可以有不同的数量的尺寸和大小。

的输出开关块是一个二维适应信号的最大大小3 x2。当您选择允许不同的数据输入大小的参数开关块,仿真软件不金宝app扩大Constant1块的标量值。

保存适应信号数据

你可以添加一个到工作空间块的输出开关块。因为已经有一个模型到工作空间块,第二到工作空间块将数据保存到一个数组名为信号simout2字段记录实际信号值。如果记录信号数据小于最大大小,与nan值填充或适当的值。获得这些信号值,类型:

simout2.signals。值ans(:,:,1) = 1 -1 -2 2 -3 3 ans(:,:,2) = 1 -1 -2 2 -3 3 ans(:,:,3) = 0 NaN NaN NaN NaN NaN

valueDimensions字段记录的尺寸适应信号。获取维度,类型:

simout2.signals.valueDimensions

前三次信号维度的步骤所示。

ans = 3 2 3 2 1 1

创建一个适应信号从一个数据信号

(Constant5)是一种数据信号3 x4矩阵。脉冲发生器代表一个控制信号,选择开始和结束索引值((1 2)3 [1])。的选择器块然后使用索引值选择不同部分的数据信号在每个时间步和输出一个适应可变的信号。

视图的变化信号的大小

的输出选择器块一个2 x23 x3矩阵。因为适应信号的最大尺寸3 x4矩阵的数据信号,记录的输出信号与nan垫。

使用探针宽度块检查当前的维度和宽度适应信号。此外,您可以显示适应信号范围块和保存工作区使用适应信号到工作空间块。

过程适应信号

其余的模型显示与适应的各种操作信号。操作包括使用获得,总和,数学函数,矩阵连接块。您可以连接与适应信号,转到,总线分配,总线的创造者,总线选择器块。

适应信号长度适应

这个示例模型对应于一个假设的系统模型适应信号随着时间的长度。长度适应基于控制信号的价值。当控制信号属于三种预定义的范围,固定大小的原始数据信号变化适应可变数据信号。

适应信号连接到一个处理的块,块支持适应信号操作。金宝appMATLAB函数块与变量的输入和输出信号大小比其他块支持适应信号允许更大的灵活性。金宝app看到金宝app仿真软件块支持适应信号金宝app

打开示例模型,在MATLAB命令窗口中,类型:

openExample (“sldemo_varsize_dataLengthAdapt”)

这样你就可以看到块的名称,在模型中,格式选项卡,明确汽车>隐藏自动闭塞的名字

创造一个适应信号通过调整的长度数据信号

这个模型生成一个数据信号并将信号转换成一个适应可变的信号。信号的大小取决于控制信号的价值。原始数据信号是一个列向量的值19

[1:9]。'答= 1 2 3 4 5 6 7 8 9
大小选择子系统决定的质量数据信号和输出质量值(1、2或3)。这个值有助于选择的长度数据信号长度适应子系统。

在长度适应子系统,子系统生成索引信号大小基于质量值的大小选择子系统(In2)。的数据选择器块使用的起始和结束指标适应数据信号的长度(in)和输出一个适应可变的信号。

处理一个适应信号

模型的中心部分流程适应信号。的MATLAB函数块添加0之间的数据值的方式类似于upsampling信号。从信号的维数变化918。的数学函数块可以与适应的各种操作信号。

想象一个适应可变的信号

正确的部分模型决定了信号的宽度(大小),并使用一个范围宽度和形象化的数据信号处理。

Mode-Dependent适应信号

这个示例模型表示一个系统,有三种操作模式。对于每个模式,数据信号过程有不同的大小。

过程子系统在这个模型中收到一个适应信号,信号的大小取决于系统的操作模式。对于每个模式更改,Stateflow®控制逻辑图,模式,检测数据信号大小变化。然后生成一个函数调用重置流程子系统的模块。

打开模型,在MATLAB命令窗口中,类型:

openExample (“sldemo_varsize_multimode”)

这样你就可以看到块的名称,在模型中,格式选项卡,明确汽车>隐藏自动闭塞的名字

创建一个基于模式的适应信号

模式选择子系统决定模式处理一个数据信号和输出模式值(1、2或3)。这个值有助于选择数据信号使用的长度大小的选择和数据子系统。

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

数据子系统需要数据信号(常数块)并选择数据信号依赖于模式的一部分。输出是一个适应信号矩阵的大小3 x3,2 x2,1 x1

原始数据信号的尺寸(常数块)是一个3 x3。连接后到工作空间块信号线路,您可以查看在MATLAB命令窗口输入信号:

simout.signals。值ans(:,:,1) = 1 4 7 2 5 8 3 6 9

适应信号也是一个从数据生成子系统3 x3矩阵。短信号,矩阵填充和nan。

simout.signals。值ans(:,:,1) = 1 NaN NaN NaN NaN NaN NaN NaN NaN ans(:,:,2) = 1 4 NaN 2 5 NaN NaN NaN NaN ans(:,:,3) = 1 4 7 2 5 8 3 6 9

处理一个适应可变的信号,有条件地执行子系统

因为过程子系统包含的延迟块,子系统重置和repropagates信号在每个时间步。这个模型使用Stateflow图来检测信号大小变化和重置流程子系统。

在功能块对话框中,从传播适应信号的大小列表中,选择只有当使。模型支持这个子系统时,选择这个选项将仿真软件软件内部为适应信号传播大小有条件地执行子系统。金宝app信号的大小可以改变只有当他们从残疾人过渡到启用。的解释处理signal-size块包含状态的更改,明白了如何适应信号传播

Stateflow图表决定如果有信号的大小的变化。这个函数size_detect计算的宽度适应信号在每个时间步长,并比较当前宽度前面的宽度。如果有信号的变化大小、图表输出函数调用的输出事件重置流程子系统和repropagates信号大小。

可视化数据

使用探针块来可视化信号大小和信号维度。

由于信号n * n矩阵,尺寸线信号的重叠范围内显示。

您可以使用一个显示块和可视化仿真软件调试器信号值在每个时间步。金宝app

S-Functions使用适应信号

2级MATLAB功能与适应信号

2级MATLAB S-Functions和C S-Functions支持当你设置适应信号金宝appDimensionMode为输出端口变量。您还需要考虑当前尺寸输入和输出信号的输入和输出更新方法。

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

msfcndemo_varsize

启用子系统包括一个2级MATLAB函数展示了如何实现一个块,其状态直到重置。因为这个块包含州和延迟输入信号,输入的大小可以改变只有当发生复位。

扩大块是一个2级MATLAB函数接受一个标量输入和输出向量的长度由其输入值表示。输出是由1:n在哪里n是输入值。

C s函数与适应的信号

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

sfcndemo_varsize

启用子系统有两个S-Functions:

  • sfun_varsize_holdStatesUntilReset是C s函数状态和要求其dwork向量重置只要输入信号的大小发生变化。

  • sfun_varsize_concat1D C s函数,实现了连接两个非取向的向量。您可以使用此函数在一个子系统单独启用。

相关的话题