Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

Signal Specification

指定信号所需的维度、采样时间、数据类型、数值类型和其他属性

  • Signal Specification block

库:
Simulink / Signal Attributes
HDL Coder / Signal Attributes

描述

Signal Specification 模块允许您指定连接到其输入和输出端口上的信号的属性。如果指定的属性与其端口上连接的模块所指定的属性冲突,软件将在编译模型时显示错误消息。例如,在仿真开始时,如果不存在冲突,该软件将从已编译的模型中消除 Signal Specification 模块。换句话说,Signal Specification 模块是虚拟模块。它的存在只是为了指定信号的属性,在模型的仿真中不起任何作用。

您可以使用 Signal Specification 模块确保信号的实际属性满足所需的属性要求。例如,假设您和一位同事负责设计同一个模型的不同部分。您可以使用 Signal Specification 模块将您负责的那部分模型与您同事负责的那部分连接起来。如果您的同事更改了某个信号的属性而没有通知您,则输入对应 Signal Specification 模块的属性将不匹配。当您尝试对模型进行仿真时,您会看到错误消息。

您还可以使用 Signal Specification 模块确保信号属性在整个模型中的正确传播。但是,如果有些模块收到或输出的信号具有未指定的属性,模型将没有足够的信息进行正确的属性传播。在这些情况下,Signal Specification 模块可以提供软件需要的信息。使用 Signal Specification 模块,还可以在模块缺少信号属性时帮助您提高模型的编译速度。

Signal Specification 模块支持信号标签传播。有关详细信息,请参阅信号标签传播

端口

输入

全部展开

要检查其属性的输入信号,指定为标量、向量、矩阵或 N 维数组。模块根据您在模块对话框中指定的属性检查输入信号的属性。如果属性不匹配,则模块会生成错误。

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

输出

全部展开

当信号的所有属性与对话框中指定的属性都匹配时,输出信号就是输入信号。如果属性不匹配,则模块会生成错误。

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

参数

全部展开

将模块输出的最小值指定为有限双精度实数标量值。

软件使用此值执行:

依存关系

数据类型指定 Simulink.ValueTypeSimulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最小值。

编程用法

模块参数OutMin
类型:字符向量
:标量
默认值'[ ]'

将模块输出的最大值指定为有限双精度实数标量值。

软件使用此值执行:

依存关系

数据类型指定 Simulink.ValueTypeSimulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的最大值。

编程用法

模块参数OutMax
类型:字符向量
:标量
默认值'[ ]'

指定所需的输出数据类型。如果输入信号的数据类型与您指定的值不匹配,则模块会生成错误或警告。

数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 the Show data type assistant button。有关详细信息,请参阅使用数据类型助手指定数据类型

您可以指定以下任一选项:

  • 继承的数据类型

  • 内置 Simulink® 数据类型 - 例如,指定 singleuint8。请参阅 Simulink 支持的数据类型

  • 定点数据类型 - 使用 fixdt 函数。例如,指定 fixdt(1,16,0)

  • 枚举数据类型 - 使用以 Enum: 开头的类型名称。例如,指定 Enum: myEnumType

  • 总线数据类型 - 使用以 Bus: 开头的 Simulink.Bus 对象的名称。例如,指定 Bus: myBusObject

  • Simulink 图像数据类型 - 如果您有 Computer Vision Toolbox™,请使用 Simulink.ImageType (Computer Vision Toolbox) 对象的构造函数,并指定描述图像的属性。默认情况下,数据类型使用 Simulink.ImageType(480,640,3) 表达式,分别表示图像的行、列和通道。

  • 值类型 - 使用以 ValueType: 开头的 Simulink.ValueType 对象的名称。例如,指定 ValueType: windVelocity

  • 自定义数据类型 - 使用指定类型的 MATLAB® 表达式。例如,您可以指定一个 Simulink.NumericType 对象,其 DataTypeMode 属性设置为 'Fixed-point: unspecified scaling' 以外的值。

当您指定 Simulink.ValueTypeSimulink.Bus 对象作为数据类型时,会忽略 Signal Specification 模块的一些参数。例如,忽略 Signal Specification 模块的 MinMaxUnit 参数。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中 Simulink.BusElement 对象的对应属性。例如,假设一个模块将单位设置为 ft/s。当该模块的数据类型指定以 m/s 为单位的 ValueType 对象时,该模块会使用 m/s 而不是 ft/s 作为单位。

编程用法

模块参数OutDataTypeStr
类型:字符向量
值:'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'string' | 'Enum: <class name>' | 'Bus: <object name>' | 'ValueType: <object name>' | <data type expression> | Simulink.ImageType(480,640,3)
默认值:'Inherit: auto'

选择此参数可防止定点工具覆盖您在模块上指定的输出数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

依存关系

数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。

编程用法

模块参数LockScale
'off' | 'on'
默认值'off'

如果您指定总线对象作为数据类型,请使用此参数指定是否只接受非虚拟总线信号。

  • off - 指定信号必须来自虚拟总线。

  • on - 指定信号必须来自非虚拟总线。

依存关系

要启用此参数,数据类型模块参数必须解析为 Simulink.Bus 对象。

编程用法

模块参数BusOutputAsStruct
类型:字符向量
值:'off' | 'on'
默认值:'off'

指定模块的输入信号的物理单位。要指定单位,请在文本框中键入需要的值。随着您的键入,参数将显示可能匹配的单位。有关支持的单位列表,请参阅允许使用的单位制

要约束单位制,请点击参数右侧的链接:

  • 如果组件中存在 Unit System Configuration 模块,将打开其对话框。使用该对话框为组件指定允许和不允许使用的单位制。

  • 如果组件中不存在 Unit System Configuration 模块,将显示模型的“配置参数”对话框。使用该对话框为模型指定允许和不允许使用的单位制。

依存关系

数据类型指定 Simulink.ValueTypeSimulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的单位。

编程用法

模块参数Unit
类型:字符向量
'inherit' | '<Enter unit>'
默认值'inherit'

指定输入和输出信号的维度。

  • -1 - 指定信号继承维度。

  • n - 指定宽度为 n 的向量。

  • [m n] - 指定具有 mn 列的矩阵。

依存关系

数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象指定的维度。

编程用法

模块参数Dimensions
类型:字符向量
'-1' | n | [m n]
默认值:'-1'

将信号指定为可变大小、固定大小或两者皆可。

  • inherit - 允许可变大小和固定大小的信号。

  • - 不允许可变大小的信号。

  • - 仅允许可变大小的信号。

当信号为可变大小的信号时,维度参数指定信号的最大维度。

依存关系

  • 数据类型指定 Simulink.Bus 对象时,仿真只允许具有禁用的总线对象的可变大小信号。

  • 数据类型指定 Simulink.ValueType 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象指定的维度模式。

编程用法

模块参数VarSizeSig
类型:字符向量
'Inherit' | 'No' | 'Yes'
默认值:'Inherit'

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅 指定采样时间

编程用法

参数:SampleTime
类型:字符向量
值:任何有效的采样时间
默认值:'-1'

指定输入和输出信号的复/实性。

  • 自动 - 接受实部为数值类型。

  • 实部 - 指定数值类型为实数。

  • - 指定数值类型为复数。

依存关系

数据类型指定 Simulink.ValueTypeSimulink.Bus 对象时,软件会忽略此参数的值。软件改用 Simulink.ValueType 对象或 Simulink.Bus 对象中的 Simulink.BusElement 对象指定的复/实性。

编程用法

参数:SignalType
类型:字符向量
'auto' | 'real' | 'complex'
默认值:'auto'

选择要指定的数据类别。有关详细信息,请参阅使用数据类型助手指定数据类型

继承

数据类型的继承规则。选择 Inherit 将启用 auto

内置

内置的数据类型。选择 Built in 将启用一个可能值的列表:

  • double(默认值)

  • single

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • int64

  • uint64

  • boolean

定点

定点数据类型。

枚举

枚举数据类型。选择 Enumerated 将在右侧启用另一个文本框,您可以在其中输入类名称。

总线对象

总线对象。选择总线对象将在右侧启用一个文本框,您可以在此处输入要用来定义总线结构的总线对象的名称。要创建或更改总线对象,点击文本框右侧的编辑

值类型

值类型。选择值类型将在右侧启用一个文本框,您可在其中输入要用于定义信号属性的值类型的名称。要创建或更改值类型,请点击文本框右侧的编辑

表达式

计算结果为数据类型的表达式。选择表达式将在右侧启用一个文本框,您可以在其中输入表达式。

不要将总线对象指定为表达式。

依存关系

要启用此参数,请点击显示数据类型助手按钮

指定定点数据是有符号还是无符号。有符号数据可以表示正值和负值,无符号数据只表示正值。

  • 有符号,将定点数据指定为有符号数据。

  • 无符号,将定点数据指定为无符号数据。

有关详细信息,请参阅使用数据类型助手指定数据类型

依存关系

要启用此参数,请将模式设置为 Fixed point

为此信号选择数据类型覆盖模式。

  • 当您选择 inherit 时,Simulink 从信号的上下文(即:从 Simulink 中使用该信号的模块、Simulink.Signal 对象或 Stateflow® 图)中继承数据类型覆盖设置。

  • 当您选择 off 时,Simulink 忽略信号上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。

有关详细信息,请参阅 Simulink 文档中的使用数据类型助手指定数据类型

依存关系

要启用此参数,请将模式设置为内置定点

提示

由于能够关闭单个数据类型的数据类型覆盖,您可以在应用数据类型覆盖时更好地控制模型中的数据类型。例如,您可以使用此选项确保数据类型满足下游模块的要求,而忽略数据类型覆盖设置。

指定存储量化整数的字的位大小。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

指定定点数据的定标方法,以避免发生溢出情况并最大限度地减少量化错误。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将模式设置为定点

将定点数据类型的小数长度指定为正整数或负整数。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为二进制小数点

指定定点数据类型的斜率。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为斜率和偏置

将定点数据类型的偏置指定为任意实数。有关详细信息,请参阅指定定点数据类型

依存关系

要启用此参数,请将定标设置为斜率和偏置

模块特性

数据类型

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

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2006a 之前推出