净斜率和净偏置精度
什么是净斜率和净偏差?
你可以用一般的斜率和偏置编码方案来表示一个定点数,
地点:
是一个任意精确的真实世界值。
是真实世界的近似值。
问,是一个编码的整数V.
年代=F2E是斜率。
B是偏差。
对于强制转换操作,
或
地点:
是净斜率。
是净偏差。
检测净斜率和净偏差精度问题
由于从浮点数转换为不动点时的量化误差,不动点常数、净斜率和净偏差可能会出现精度问题。这些定点不变的精度问题会导致模型的数值不准确。
您可以配置您的模型,以便在发生定点恒定精度问题时向您发出警报。
您可以配置您的模型,以便在发生定点恒定精度问题时向您发出警报。若要在发生定点恒定精度问题时接收警报,请使用Simulink中提供的这些选项万博1manbetx®对话框中的“配置参数”诊断>类型转换窗格。将参数设置为警告
或错误
所以当精度出现问万博1manbetx题时,Simulink会提醒你。
配置参数 | 指定 | 默认的 |
---|---|---|
检测下溢 | 模拟过程中发生定点恒定下溢时的诊断动作 | 不会产生警告或错误。 |
检测溢出 | 模拟过程中发生定点恒定溢出时的诊断动作 | 不会产生警告或错误。 |
检测精度损失 | 模拟过程中发生定点恒定精度损失时的诊断动作 | 不会产生警告或错误。 |
定点设计器™软件提供以下信息:
精度问题的类型:下溢、溢出或精度损失。
定点常数的原始值。
定点常数的量子化值。
定点常数值的误差。
引入错误的块。
此信息警告您该块的输出不准确。如果可能,请更改模型中的数据类型以修复该问题。
定点恒定下溢
当定点设计器软件遇到一个定点常数,其数据类型没有足够的精度来表示该常数的理想值,因为理想值太接近于零时,就会发生定点常数下溢。将理想值转换为定点数据类型将导致定点常数的值变为零。因此不动点常数的值与其理想值不同。
定点常量溢出
当不动点设计器软件将不动点常数转换为范围不够大的数据类型时,就会发生不动点常数溢出。数据类型不能准确表示理想值,因为理想值太大或太小。将理想值转换为定点数据类型会导致溢出。例如,假设理想值为200
转换后的数据类型是int8
.在这种情况下会发生溢出,因为最大值int8
可以表示为127
.
定点设计器软件报告溢出错误,如果量化值与理想值的差异超过数据类型的精度。数据类型的精度大致等于默认的缩放(有关更多信息,请参阅定点数据类型参数)。因此,对于正数值,定点设计器软件将大于斜率的误差视为溢出。对于负值,它将大于或等于斜率的误差视为溢出。
例如,最大值int8
可以表示为127
.精确度int8
是1.0
.的理想值127.3
数字转换为127
绝对误差为0.3
.尽管理想值127.3
的最大可表示值大于int8
,量化误差相对于的精度较小int8
.因此,定点设计器软件不会报告溢出。的理想值128.1
是否因为量化误差而导致溢出1.1
的精度大于int8
.
请注意
定点恒定溢流不同于定点恒定精度损失。当理想定点常数值在当前数据类型和伸缩范围内时,会发生精度损失,但软件无法准确表示该值。
定点恒定精度损失
当不动点设计器软件将不动点常数转换为数据类型时,没有足够的精度来表示该常数的确切值,就会发生不动点常数精度损失。因此,量子化值与理想值不同。有关此行为的示例,请参见定点恒定精度损失检测.
请注意
定点恒定精度损耗不同于定点恒定溢流。当参数数据类型的范围,即它所能表示的最大值小于参数的理想值时,就会发生溢出。