基于整数的传感器融合/卡尔曼滤波器

时间:2015-11-05 17:41:35

标签: c embedded microcontroller kalman-filter sensor-fusion

在大多数开源实现中,是否有人知道传感器融合实现只使用整数运算而不是所有浮点累加/除/乘?

在我的处理器上执行重复的浮点计算是很昂贵的,我想尽可能地减少它们。我可能会失去一些精确度,但我的应用程序不需要高精度的输出。

是否有任何问题将所有变量转换为整数并且只是精确命中?任何建议都会很棒,谢谢大家。

1 个答案:

答案 0 :(得分:1)

使用定点是在没有FPU的设备上进行灵活数学运算的最佳解决方案。

Anthony Williams'fixed point maths library适合,它使用64位整数类型来提供34Q28(34位整数位,28小数位)格式浮点类型,具有广泛的数学运算符,运算符和转换函数。它是用C ++编写的,用于创建fixed类作为类,具有广泛的运算符重载和标准数学函数,因此它在现有代码中与floatdouble在很大程度上是可互换的。

我意识到问题是标记C但你不需要广泛使用C ++语法,只需将C代码编译为C ++,包含fixed.hpp标头,用{{替换floatdouble 1}}并使用您的项目编译/链接fixed.cpp文件。