包裹/饱和溢出

30次观看(最近30天)
你好呀,
我正在尝试使用固定点工具模拟控制算法。当我应用固定点数据类型并尝试模拟模型时,我会在溢出警告中获得许多包装/饱和。避免溢出并修复它们的正确方法是什么?
提前致谢
1条评论
沃尔特·罗伯森(Walter Roberson)
通常,有两种方法可以解决此问题:
  1. 增加固定点对象的允许范围,以免它们溢出;或者
  2. 重新检查方程式的数学,以找出为什么要溢出并修复算法
您需要做这两种事情并不少见 - 当您详细检查代码时发现一些错误时,您并不少见,但是您 找到一些理由,使控制值需要超出您允许的范围。

登录发表评论。

答案(1)

Mathworks定点团队
Mathworks定点团队 2020年1月3日
我认为重要的是要了解这些溢出是否是您控制算法的数值行为的关注点,即与浮点响应相比,固定点响应是否合理公差?
如果答案是否定的,您可以尝试两件事:
  1. 增加定点工具中的单词长度选择,以检查更高的精度是否改善了数值行为或
  2. 指定更大的安全保证金,该保证金将适应沃尔特建议的更大的操作范围(请参见下图)
Safety_margin.png
在定点工具上查看这些如何视频可能会有助于:
3条评论
沃尔特·罗伯森(Walter Roberson)
谢谢,Evangelos,这很有用。

登录发表评论。

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!