文档

数据类型转换

将输入信号转换为指定的数据类型

图书馆

信号的属性

描述

数据类型转换块转换任何Simulink的输入信号万博1manbetx®数据类型转换为您指定的数据类型。

输入可以是任何实值或复值信号。如果输入是实数,输出也是实数。如果输入是复数,输出也是复数。

请注意

控件可通过指定块参数来控制输出数据类型,或从下游块继承数据类型数据类型转换块。若要从模型中的不同信号继承数据类型,请使用继承的数据类型转换块。

转换定点信号

在定点数据类型之间转换时,输入和输出相等参数控制块行为。如果输入和输出都不使用定点缩放,因为它们不是定点数据类型或具有简单的定点缩放,则此参数不会改变块的行为。有关定点数的详细信息,请参见Simulink中的定点数万博1manbetx(定点设计师)。

若要将信号从一种数据类型转换为另一种数据类型,并试图保留输入信号的实际值,请选择真实价值(RWV),默认设置。该块负责输入和输出的缩放,并在指定的数据类型的限制内,尝试生成与实际世界值相等的输出。

若要通过对存储的整数值执行缩放重新解释来更改输入信号的实际值,请选择存储整数(SI)。在指定数据类型的限制范围内,该块在转换过程中尝试保存存储的信号整数值。最佳实践是使用相同的字长和符号指定输入和输出数据类型,以便块只改变信号的缩放。为输入和输出指定不同的符号或字长可能会产生意想不到的结果,例如范围丢失或意想不到的符号扩展。有关示例,请参见使用定点数据类型重新解释信号

如果您选择存储整数(SI),该块不会对浮点输入信号执行较低级别的位重解释。例如,如果输入是数据类型有价值5,在内存中存储输入的位以十六进制形式由以下命令给出。

num2hex(单(5))
40 a00000

然而,数据类型转换块不将存储的整数值视为40 a00000而是作为现实世界的价值,5。转换后,输出的存储整数值为5

施放枚举信号

使用数据类型转换块来强制转换枚举信号,如下所示:

  1. 将枚举类型的信号转换为任何数字类型的信号。

    输入到数据类型转换块的所有枚举值的基础整数必须在数值类型的范围内。否则,模拟时会出现错误。

  2. 将任何整数类型的信号强制转换为枚举类型的信号。

    数据类型转换块的输入值必须与枚举值的基础值匹配。否则,模拟时会出现错误。

    您可以启用块的饱和整数溢出参数,以便当输入到块的值与枚举值的底万博1manbetx层值不匹配时,Simulink使用枚举类型的默认值。看到枚举的类型强制转换(万博1manbetx仿真软件编码器)。

在以下情况下不能使用数据类型转换块:

  • 将非整数数字信号转换为枚举信号。

  • 将复杂信号强制转换为枚举信号,而不考虑复杂信号的实部和虚部的数据类型。

看到万博1manbetx仿真软件枚举有关使用枚举类型的信息。

数据类型支持万博1manbetx

数据类型转换块处理Simulink支持的任何数据类型,包括定点数据类型和枚举数据类型。万博1manbetx万博1manbetx

有关更多信息,请参见Simulink支持的万博1manbetx数据类型万博1manbetx

参数

显示数据类型助手

显示数据类型助手

设置

数据类型助手帮助您设置输出数据类型参数。

有关更多信息,请参见控制信号数据类型

锁定输出数据类型设置,防止由定点工具更改

选择以锁定此块的输出数据类型设置,防止由定点工具和定点顾问进行更改。

设置

默认值:

锁定此块的输出数据类型设置。

允许定点工具和定点建议器更改此块的输出数据类型设置。

命令行信息

参数:LockScale
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

另请参阅

有关更多信息,请参见使用锁输出数据类型设置(定点设计师)。

输入和输出相等

在定点数据表示的上下文中,指定哪种类型的输入和输出必须相等。

设置

默认值:真实价值(RWV)

真实价值(RWV)

对象的目标真实价值(RWV)输入等于真实价值(RWV)输出的。

存储整数(SI)

对象的目标存储整数(SI)的值存储整数(SI)输出的值。

命令行信息

有关命令行信息,请参见屏蔽一些参数

整数舍入模式

为定点操作指定舍入模式。

设置

默认值:地板上

天花板

将正数和负数四舍五入到正无穷。等价于MATLAB®装天花板函数。

收敛

将数字舍入到最接近的可表示值。如果出现平局,则舍入到最接近的偶数。相当于定点设计器™收敛函数。

地板上

将正数和负数四舍五入到负无穷。等价于MATLAB地板上函数。

最近的

将数字舍入到最接近的可表示值。如果出现平局,则四舍五入为正无穷。相当于定点设计器最近的函数。

将数字舍入到最接近的可表示值。如果出现平局,则将正数四舍五入到正无穷,将负数四舍五入到负无穷。相当于定点设计器函数。

简单的

自动在朝向下限的四舍五入和朝向零的四舍五入之间进行选择,以生成尽可能高效的四舍五入代码。

把数字舍入到零。等价于MATLAB修复函数。

命令行信息

参数:RndMeth
类型:特征向量
值:“天花板”|“收敛”|“地板”|“最近的”|“圆”|“简单”|“零”
默认值:“地板”

另请参阅

有关更多信息,请参见舍入(定点设计师)

饱和整数溢出

指定溢出是否饱和。

设置

默认值:

溢出饱和到数据类型可以表示的最小值或最大值。

例如,与有符号8位整数相关的溢出可以饱和到-128或127。

溢出包装为数据类型可以表示的适当值。

例如,数字130不适合有符号的8位整数,它被换行为-126。

提示

  • 当您的模型有可能溢出,并且您想要在生成的代码中显式的饱和保护时,请考虑选择此复选框。

  • 当您希望优化生成代码的效率时,请考虑取消此复选框。

    清除此复选框还有助于避免过度指定块如何处理超出范围的信号。有关更多信息,请参见检查信号范围错误

  • 选中此复选框后,饱和将应用于块上的每个内部操作,而不仅仅是输出或结果。

  • 通常,代码生成过程可以检测不可能出现溢出的情况。在这种情况下,代码生成器不会产生饱和代码。

命令行信息

参数:SaturateOnIntegerOverflow
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

样品时间

请注意

此参数在块对话框中不可见,除非显式地将其设置为其他值1。要了解更多信息,请参见不建议采样时间的块

输出最小

Simulink检查的输出范围的较低值。万博1manbetx

设置

默认值:[](不明)

将此数字指定为有限、实、双精度标量值。

万博1manbetxSimulink使用最小值来执行:

请注意

输出最小不饱和或剪辑实际输出信号。使用饱和块来代替。

命令行信息

参数:OutMin
类型:特征向量
值:“[]”
默认值:“[]”

输出最大

Simulink检查的输出范围的最大值。万博1manbetx

设置

默认值:[](不明)

将此数字指定为有限、实、双精度标量值。

万博1manbetxSimulink使用最大值执行:

请注意

输出最大不饱和或剪辑实际输出信号。使用饱和块来代替。

命令行信息

参数:OutMax
类型:特征向量
值:“[]”
默认值:“[]”

输出数据类型

指定输出数据类型。

设置

默认值:继承:通过反向传播继承

继承:通过反向传播继承

使用驱动块的数据类型。

输出数据类型为

输出数据类型为

int8

输出数据类型为int8

uint8

输出数据类型为uint8

int16

输出数据类型为int16

uint16

输出数据类型为uint16

int32

输出数据类型为int32

uint32

输出数据类型为uint32

布尔

输出数据类型为布尔。数据类型转换块转换真实的、非零的数值(包括)布尔真正的1)。

fixdt (1 16 0)

输出数据类型为定点fixdt (1 16 0)

fixdt(1, 16日2 ^ 0,0)

输出数据类型为定点fixdt(1, 16日2 ^ 0,0)

Enum: <类名>

使用枚举数据类型,例如,枚举:BasicColors

<数据类型表达式>

使用数据类型对象,例如,万博1manbetx仿真软件。NumericType

命令行信息

看到屏蔽一些参数命令行信息。

另请参阅

有关更多信息,请参见控制信号数据类型

模式

选择要指定的数据类别。

设置

默认值:继承

继承

数据类型的继承规则。选择继承使通过反向传播继承

建在

内置数据类型。选择建在在右侧启用第二个菜单/文本框。选择以下选项之一:

  • (默认)

  • int8

  • uint8

  • int16

  • uint16

  • int32

  • uint32

  • 布尔

不动点

定点数据类型。

枚举

枚举数据类型。选择枚举启用右边的第二个菜单/文本框,您可以在其中输入类名。

表达式

求值为数据类型的表达式。选择表达式启用右边的第二个菜单/文本框,您可以在其中输入表达式。

依赖

单击显示数据类型助手按钮启用此参数。

命令行信息

看到屏蔽一些参数命令行信息。

数据类型覆盖

指定此信号的数据类型覆盖模式。

设置

默认值:继承

继承

从它的上下文继承数据类型重写设置,即从块继承,万博1manbetx仿真软件。信号对象或状态流®在Simulink万博1manbetx中使用信号的图表。

忽略其上下文的数据类型覆盖设置,并使用为信号指定的定点数据类型。

提示

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

依赖

时才会出现此参数模式建在不动点

Signedness

指定定点数据是有符号的还是无符号的。

设置

默认值:签署

签署

指定带符号的定点数据。

无符号

将定点数据指定为unsigned。

依赖关系

选择模式>不动点启用此参数。

另请参阅

有关更多信息,请参见指定定点数据类型

字长

指定保存量化整数的字的位大小。

设置

默认值:16

最低:0

最大:32

依赖关系

选择模式>不动点启用此参数。

另请参阅

有关更多信息,请参见指定定点数据类型

扩展

指定缩放定点数据的方法,以避免溢出条件和最小化量化误差。

设置

默认值:最好的精度

二点

指定二进制点位置。

斜率和偏置

进入斜率和偏置。

最好的精度

指定最佳精度值。

依赖关系

选择模式>不动点启用此参数。

选择二点使:

  • 部分长度

  • 计算最佳精度缩放

选择斜率和偏置使:

  • 偏见

  • 计算最佳精度缩放

另请参阅

有关更多信息,请参见指定定点数据类型

部分长度

指定定点数据类型的分数长度。

设置

默认值:0

二进制点可以是正整数也可以是负整数。

依赖关系

选择扩展>二点启用此参数。

另请参阅

有关更多信息,请参见指定定点数据类型

指定定点数据类型的斜率。

设置

默认值:2 ^ 0

指定任意正实数。

依赖关系

选择扩展>斜率和偏置启用此参数。

另请参阅

有关更多信息,请参见指定定点数据类型

偏见

指定定点数据类型的偏置。

设置

默认值:0

指定任意实数。

依赖关系

选择扩展>斜率和偏置启用此参数。

另请参阅

有关更多信息,请参见指定定点数据类型

例子

真实世界的值和存储的整数

示例模型ex_data_type_conversion_rwv_si使用数据类型转换块,以显示实际值的含义和信号的存储整数。有关定点缩放的基本信息,请参见扩展(定点设计师)。

定点数据类型之间的转换

Fixed-Point Constant块表示真实世界的值15通过使用带有二进制点缩放的定点数据类型25。由于缩放,输出信号使用存储的整数值480

该模型使用数据类型转换块,将信号转换为具有二进制点缩放的定点数据类型2-2

  • Fixed to Fixed: Preserve RWV块通过保留实际值来转换输入信号,15。的参数输入和输出相等设置为真实价值(RWV)

    输出信号具有与输入相同的真实世界值,即,15。由于是定点缩放,输出使用存储的整数值60

  • 固定到固定:保存SI块通过保存存储的整数值来转换输入信号,480。的参数输入和输出相等设置为存储整数(SI)

    输出信号使用与输入相同的存储整数值,即480。由于是定点缩放,输出的实际值为120

图中显示了这两个块的转换机制。

浮点和定点数据类型之间的转换

Double Constant块表示真实世界的值15通过使用浮点数据类型。输出信号不使用定点缩放。

该模型使用数据类型转换块来转换向具有二进制点缩放2的定点数据类型发送信号-2

  • Float to Fixed: Preserve RWV块通过保留实际值来转换输入信号,15。输出信号具有相同的实际值。由于是定点缩放,输出使用存储的整数值60

  • Float to Fixed: Preserve SI块通过尝试保存存储的整数值来转换输入信号。但是,该块不使用内存中存储浮点信号的底层位。相反,该块使用输入的真实值,15,作为输出信号的存储整数。由于定点缩放,输出的实际值为3.75

图中显示了这两个块的转换机制。如果输入使用浮点数据类型,块也使用这些机制

使用定点数据类型重新解释信号

假设您的硬件使用该数据类型uint8存储温度传感器的数据。还假定存储的最小整数值0代表-20年℃时达到最大值255代表60度。下面的模型使用数据类型转换块将传感器数据的存储整数值转换为摄氏度。

数据类型转换块参数输入和输出相等设置为存储整数(SI)。块输出信号是具有字长的定点数据类型8、边坡80/255,以及偏见-20年

数据类型转换块重新解释整数输入,127,作为摄氏度输出,19.84度。块输出使用指定的斜率和偏置来缩放输入的存储整数。

特征

数据类型

Double | Single | Boolean | Base Integer | Fixed-Point |枚举值

样品时间

继承自驱动块

直接引线

是的

多维信号

是的

适应信号

是的

讨论二阶导数过零检测

没有

代码生成

是的

R2006a之前介绍

这个话题有用吗?