摘要:Cortex-M4 带 FPU 之后,很多人以为定点化过时了——但车规 MCU(RH850 替代线、国产量产 M0/M3 内核、RISC-V B 系列)大量无 FPU 或 FPU 不含三角函数,观测器里的 atan2/sin/cos/exp 才是真正的算力刺客。本文给出观测器定点化的完整工程方法:Q 格式选型表(状态/增益/协方差/角度各自该用几位)、定点误差预算(量化噪声、截断偏置、溢出三类误差如何流入角度误差,给出估算公式)、三角与超越函数的查表+多项式混合近似(atan2 误差 < 0.01° 的 3 段方案)、定点 CORDIC 的适用边界、以及 SMO/PLL/ESO/EKF 四类观测器在 RV32IM(无 FPU)上的实测耗时与精度对比(相对浮点基线最大偏差 0.15°)。附完整 Q15/Q31 工具宏、标定-生成-对拍流程(接上一篇统一建模的黄金向量)与常见坑清单(符号位、舍入方向一致性、移位溢出)。结论:观测器定点化不难,难的是"误差预算先行"——先算清楚每条通路允许几位,再写代码。
1. 为什么还值得定点化:三个现实
- 成本与供应:车规/家电主控大量是 M0/M3 或 RV32IMAC 无单精度 FPU,$\sin/\cos/\text{atan2}$ 软浮点一次 20~80μs,观测器直接跑不起;
- 确定性:浮点单元在部分老工艺上是周期抖动源,定点路径周期数可证明有界(功能安全文档友好);
- 能效:家电/风机场景,一个周期都是钱。