跳至内容

两点校准

两点线性拟合、反算与 C 实现。

正在准备工具…

线性校准

两个校准点 (x1,y1)(x_1,y_1)、(x2,y2)(x_2,y_2) 确定一条直线:

a=y2−y1x2−x1,b=y1−ax1,y=ax+b a=\frac{y_2-y_1}{x_2-x_1},\qquad b=y_1-a x_1,\qquad y=ax+b

反算时用 x=(y−b)/ax=(y-b)/a。两个原始值不能相同,否则斜率无定义。原始 1000/3000 对应 0/100 时,斜率为 0.05、偏置为 −50;原始 2000 对应 50。

数值格式

浮点版直接用乘加,适合调试和上位机。Q 定点版把斜率和偏置量化为固定小数位,原始值先转为 Q 格式再乘加;原始值必须落在 Q 格式范围内,否则会饱和。页面按所选格式生成 fl_calibration.h,Q 版依赖公共 fl_q.h。

两点校准只修正增益和偏置,不修正非线性、迟滞和噪声。第三个点可用于检查残差,但不会改变这条直线。

边界

原始值相同、实际值不是有限数或 Q 范围不足时,结果区显示错误并禁用复制。校准参数通过 URL fragment 分享;页面不保存原始值到服务器。