主要内容

净斜率和净偏置精度

什么是净斜率和净偏差?

你可以用一般的斜率和偏置编码方案来表示一个定点数,

V V ˜ 年代 + B

地点:

  • V 是一个任意精确的真实世界值。

  • V ˜ 是真实世界的近似值。

  • ,是一个编码的整数V

  • 年代F2E是斜率。

  • B是偏差。

对于强制转换操作,

年代 一个 一个 + B 一个 年代 b b + B b

一个 年代 b b 年代 一个 + B b B 一个 年代 一个

地点:

  • 年代 b 年代 一个 是净斜率。

  • B b B 一个 年代 一个 是净偏差。

检测净斜率和净偏差精度问题

由于从浮点数转换为不动点时的量化误差,不动点常数、净斜率和净偏差可能会出现精度问题。这些定点不变的精度问题会导致模型的数值不准确。

您可以配置您的模型,以便在发生定点恒定精度问题时向您发出警报。

您可以配置您的模型,以便在发生定点恒定精度问题时向您发出警报。若要在发生定点恒定精度问题时接收警报,请使用Simulink中提供的这些选项万博1manbetx®对话框中的“配置参数”诊断>类型转换窗格。将参数设置为警告错误所以当精度出现问万博1manbetx题时,Simulink会提醒你。

配置参数 指定 默认的
检测下溢 模拟过程中发生定点恒定下溢时的诊断动作 不会产生警告或错误。
检测溢出 模拟过程中发生定点恒定溢出时的诊断动作 不会产生警告或错误。
检测精度损失 模拟过程中发生定点恒定精度损失时的诊断动作 不会产生警告或错误。

定点设计器™软件提供以下信息:

  • 精度问题的类型:下溢、溢出或精度损失。

  • 定点常数的原始值。

  • 定点常数的量子化值。

  • 定点常数值的误差。

  • 引入错误的块。

此信息警告您该块的输出不准确。如果可能,请更改模型中的数据类型以修复该问题。

定点恒定下溢

当定点设计器软件遇到一个定点常数,其数据类型没有足够的精度来表示该常数的理想值,因为理想值太接近于零时,就会发生定点常数下溢。将理想值转换为定点数据类型将导致定点常数的值变为零。因此不动点常数的值与其理想值不同。

定点常量溢出

当不动点设计器软件将不动点常数转换为范围不够大的数据类型时,就会发生不动点常数溢出。数据类型不能准确表示理想值,因为理想值太大或太小。将理想值转换为定点数据类型会导致溢出。例如,假设理想值为200转换后的数据类型是int8.在这种情况下会发生溢出,因为最大值int8可以表示为127

定点设计器软件报告溢出错误,如果量化值与理想值的差异超过数据类型的精度。数据类型的精度大致等于默认的缩放(有关更多信息,请参阅定点数据类型参数)。因此,对于正数值,定点设计器软件将大于斜率的误差视为溢出。对于负值,它将大于或等于斜率的误差视为溢出。

例如,最大值int8可以表示为127.精确度int81.0.的理想值127.3数字转换为127绝对误差为0.3.尽管理想值127.3的最大可表示值大于int8,量化误差相对于的精度较小int8.因此,定点设计器软件不会报告溢出。的理想值128.1是否因为量化误差而导致溢出1.1的精度大于int8

请注意

定点恒定溢流不同于定点恒定精度损失。当理想定点常数值在当前数据类型和伸缩范围内时,会发生精度损失,但软件无法准确表示该值。

定点恒定精度损失

当不动点设计器软件将不动点常数转换为数据类型时,没有足够的精度来表示该常数的确切值,就会发生不动点常数精度损失。因此,量子化值与理想值不同。有关此行为的示例,请参见定点恒定精度损失检测

请注意

定点恒定精度损耗不同于定点恒定溢流。当参数数据类型的范围,即它所能表示的最大值小于参数的理想值时,就会发生溢出。

相关的话题