6.2 定点数与浮点数实现的注意事项
在将离散时间自抗扰控制(ADRC)算法从仿真环境(如MATLAB/Simulink)移植到嵌入式硬件(如DSP、MCU、FPGA)时,一个基础而关键的决策是选择数值的表示与运算方式:浮点数(Floating-Point) 或 定点数(Fixed-Point)。这一选择并非简单的性能取舍,它深刻影响着算法的精度、动态范围、运算速度、功耗、存储成本乃至最终的控制性能与系统鲁棒性[1]。浮点数提供宽动态范围和高精度,但通常以更高的硬件成本与功耗为代价;定点数运算高效、硬件成本低,但需要工程师精心设计数值的“缩放”(Scaling)以在有限的字长内平衡动态范围与精度,避免量化误差(Quantization Error) 和计算溢出(Overflow) 带来的系统性能恶化甚至失稳。本节将深入剖析定点数实现ADRC的核心挑战、误差机理及工程化解法。
6.2.1 浮点数与定点数的本质区别
浮点数(遵循IEEE 754标准)将一个数表示为 X=sign×mantissa×2exponentX = \text{sign} \times \text{mantissa} \times 2^{\text{exponent}}
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



