Main Content

Demux

提取并输出虚拟向量信号的元素

  • Demux block

库:
Simulink / Commonly Used Blocks
Simulink / Signal Routing
HDL Coder / Commonly Used Blocks
HDL Coder / Signal Routing

描述

Demux 模块提取输入向量信号的分量,再将它们输出为单独的信号。输出信号端口从上到下排列。

示例

全部展开

您可以使用 Demux 模块将输入信号均匀分布在所需数量的输出上。对于长度为 6 的输入向量,当您将输出数目参数设置为 3 时,Demux 模块会创建三个输出信号,每个信号的大小为 2。

当使用 Demux 模块从向量输入中提取和输出元素时,可以在向量表达式中使用 -1 来指示该模块动态调整对应端口的大小。当向量表达式同时包含正值和 -1 值时,该模块会根据需要将尽可能多的元素分配给具有正值的端口。该模块会尽可能将其余元素均匀地分布在值为 -1 的端口上。

在此示例中,Demux 模块的输出的数目参数设置为 [-1, 3, -1]。因此,该模块输出三个信号,其中第二个信号始终具有三个元素。第一和第三个信号的大小取决于输入信号的大小。对于具有七个元素的输入向量,Demux 模块在第一个端口输出两个元素,在第二个端口输出三个元素,在第三个端口输出两个元素。

端口

输入

全部展开

Demux 模块从中选择标量信号或更小向量的向量输入信号。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image

输出

全部展开

输出从输入向量中提取的信号。输出信号端口从上到下排列。有关各种模块方向的端口顺序的描述,请参阅标识旋转或翻转模块上的端口位置

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image

参数

全部展开

指定输出的数量以及每个输出端口的维度(可选)。

值可以是指定输出数量的标量,也可以是通过元素指定模块输出端口宽度的向量。模块根据输入信号的大小以及输出的数目参数的值来确定输出的大小。

如果您为输出数目参数指定了标量,而所有输出端口都已连接,则当您在靠近 Demux 模块输出端的位置绘制新的信号线时,软件会添加一个端口并更新输出数目参数。

对于宽度为 n 的输入向量,下表描述模块输出的内容。

参数值模块输出示例和注释

p = n

p 个标量信号

如果输入是一个三元素向量,而您指定了三个输出,则模块将输出三个标量信号。

p > n

错误

不支持此值。

p < n

n mod p = 0

p 个向量信号,每个信号具有 n/p 个元素

如果输入是一个六元素向量,而您指定了三个输出,则模块将输出三个二元素向量。

p < n

n mod p = m

m 个向量信号,每个信号具有 (n/p)+1 个元素;以及 p-m 个信号,具有 n/p 个元素

如果输入是一个五元素向量,而您指定了三个输出,则模块将输出两个二元素向量信号和一个标量信号。

[p1 p2 ... pm]

p1+p2+...+pm=n

pi > 0

m 个向量信号,宽度分别为 p1p2... pm

如果输入是一个五元素向量,而您指定了 [3, 2] 作为输出,则模块将在一个端口输出三个输入元素,在另一个端口输出另外两个元素。

一个数组,其中的一个或多个 m 元素的值为 -1,该数组指定由该软件推断元素的大小。

例如,假设您有一个四元素数组,总宽度为 14,您将参数指定为 [p1 p2 -1 p4]

那么第三个元素(-1 元素)的值为 14 - (p1 + p2 + p4)

m 个向量信号

如果 pi 大于零,对应的输出宽度为 pi。如果 pi 为 -1,则会动态计算对应的输出宽度。

[p1 p2 ... pm]

p1+p2+...+pm!=n

pi = > 0

错误

不支持此值。

如果您指定的输出数目少于输入元素的数目,则模块会尽可能将这些元素均匀地分配给各个输出。

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: Outputs
值: '2' (默认) | scalar in quotes | vector in quotes
数据类型: char | string

示例: set_param(gcb,'Outputs','4')

默认情况下,模块图标是一个填充了模块前景颜色的实心条形。要将图标显示为一个包含模块类型名称的框,请选择

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: DisplayOption
值: 'bar' (默认) | 'none'

示例: set_param(gcb,'DisplayOption','none')

模块特性

数据类型

Boolean | double | enumerated | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

版本历史记录

在 R2006a 之前推出