Data Type Conversion
将输入信号转换为指定的数据类型
库:
Simulink /
Commonly Used Blocks
Simulink /
Signal Attributes
HDL Coder /
Commonly Used Blocks
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Signal Attributes
描述
Data Type Conversion 模块可将任何 Simulink® 数据类型的输入信号转换为您指定的数据类型。
注意
要通过指定模块参数来控制输出数据类型,或者要从下游模块继承数据类型,请使用 Data Type Conversion 模块。要从模型中的不同信号继承数据类型,请使用 Data Type Conversion Inherited 模块。
转换定点信号
在定点数据类型之间转换时,可以通过输入和输出具有相等的参数来控制模块的行为。在以下情况下,此参数不会更改模块的行为:
输入和输出没有定点数据类型。
输入或输出使用具有平凡定标的定点数据类型。
有关定点数的详细信息,请参阅 Simulink 中的定点数 (Fixed-Point Designer)。
要通过保留输入信号的真实值,将信号从一种数据类型转换为另一种数据类型,请选择默认值真实值(RWV)。模块会解释由输入和输出的定标施加的限制,并尝试生成具有相等真实值的输出。
要通过对存储的整数值执行定标重新解释来更改输入信号的真实值,请选择存储的整数(SI)。在转换过程中,模块将尝试在指定的数据类型范围内保留为信号存储的整数值。最佳做法是使用相同的字长和符号指定输入和输出数据类型。这样做可确保模块仅更改信号的定标。为输入和输出指定不同的符号或字长可能会产生意外的结果,例如范围丢失或意外的符号扩展。有关示例,请参阅转换 Simulink 模型中的数据类型。
如果选择存储的整数(SI),则模块不会对浮点输入信号执行较低级别的位重新解释。例如,如果输入为 single
且值为 5
,则内存中存储该输入的位将通过下列命令以十六进制方式给出。
num2hex(single(5))
40a00000
但是,Data Type Conversion 模块不会将存储的整数值视为 40a00000
,而是视为真实值 5
。转换后,输出的存储的整数值为 5
。
转换枚举信号
使用 Data Type Conversion 模块按如下所示转换枚举信号:
将枚举类型的信号转换为任意数值类型的信号。
Data Type Conversion 模块的所有枚举值输入的基础整数都必须在该数值类型的范围内。否则,仿真过程中将发生错误。
将任意整数类型的信号转换为枚举类型的信号。
Data Type Conversion 模块的值输入必须与枚举值的基础值匹配。否则,仿真过程中将发生错误。
您可以启用对整数溢出进行饱和处理参数,这样当模块的值输入与枚举值的基础值不匹配时,Simulink 将使用枚举类型的默认值。请参阅枚举的类型转换 (Simulink Coder)。
在下列情况下,您不能使用 Data Type Conversion 模块:
将非整数数值信号转换为枚举信号。
将复信号转换为枚举信号,而不管复信号的实部和虚部的数据类型如何。
有关使用枚举类型的信息,请参阅Simulink 枚举。
示例
端口
输入
输出
参数
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
详细信息
扩展功能
版本历史记录
在 R2006a 之前推出