OCR + Linearity Analytics

INL / DNL 自动分析应用

从图片 OCR、TXT、CSV 自动提取 expect / actual 数据,生成误差、INL、DNL、拟合与异常分析结果。

建议流程

  1. 导入图片或文本
  2. 执行 OCR 或直接清洗生成表格
  3. 检查列映射、分析模式和规格

分析结果

列映射与规格

这里可修改输入与分析设置

当前:|ppm| > 50 视为异常。

输入数据表

只编辑输入列,Error / PPM 等结果在其他页自动刷新

自动诊断结论

待分析
主要问题
-
状态判断
-
风险提示
-
建议检查
-
点数 -
Max |Error| -
平均误差 -
RMS 误差 -
Error P-P -
平均 ppm -
RMS ppm -
最大 |INL| (LSB) -
最大 |DNL| (LSB) -
低端误差 -
中点误差 -
高端误差 -
Offset Error -
Gain Error -
拟合斜率 -
拟合截距 -
-
Residual RMS -
Residual Max -
估算 LSB -
Monotonicity -
跳变点数量 -
异常点数量 -
端点异常指数 -
对称性误差 -
Cpk -

误差曲线

-

-

PPM 曲线

ppm

-

INL 曲线

LSB

-

DNL 曲线

LSB

-

X-Y 曲线

Expect / Actual

含理想线与拟合线

误差直方图

-

-

残差图

ppmFS

-

局部斜率图

ΔY / ΔX

-

分析明细

前 120 条
# X Y Error PPM INL (LSB) DNL (LSB) Residual Local Slope 异常分类

计算逻辑说明

以下内容对应当前项目实际代码口径

分析页阅读指南

结果页建议按下面顺序阅读,这样最容易形成工程判断。

1. 先看自动诊断结论
2. 再看指标卡:
   基础精度 -> 拟合质量 -> 工作状态 -> 诊断指标
3. 再看图表:
   Error / Residual / Local Slope / INL / DNL
4. 最后看分析明细表,定位具体异常点

如果诊断区提示“增益主导”,优先看 Slope / Gain Error;如果提示“端点异常”,优先看端点误差与 Error 曲线两端;如果提示“切换异常”,优先看局部斜率图和异常分类列。

Error

每个点的基础误差,后续很多统计都基于它。

Error = Y - X

其中 `X` 是期望值,`Y` 是实际值。

PPM

当前项目里的 PPM 是相对 X 的百万分比误差,不是满量程 ppmFS。

PPM = (Error / X) * 1,000,000

当 `|X| <= 1e-15` 时,代码会把该点记为 `NaN`,避免除以 0。

这意味着当 X 非常接近 0 时,PPM 会非常敏感,数值可能明显放大。

RMS

这里的 RMS 是误差的均方根。

RMS = sqrt(Σ(Error²) / N)

`N` 是有效点数,不是 `N-1`。

先对 `X-Y` 做线性拟合,再根据残差计算决定系数。

R² = 1 - SSres / SStot

其中 `SSres = Σ(Y - Ŷ)²`,`SStot = Σ(Y - Ȳ)²`。

如果误差远小于整体量程,R² 会非常接近 1,这是正常现象。

Cpk

当前 Cpk 是按 `Error` 对应的上下规格计算的。

Cpk = min((USL - μ) / (3σ), (μ - LSL) / (3σ))

这里 `μ` 和 `σ` 都来自 `Error`。如果你的规格其实针对 INL / DNL,而不是 Error,这个 Cpk 就不一定代表你真正想看的能力指数。

INL / DNL

当前项目里的 INL / DNL 是按你选择的分析模式和相邻步进来算的。

INL = (Y - Yref) / LSB
DNL = (ActualStep / IdealStep) - 1

其中 `Yref` 来自 Endpoint 或 Best-fit 参考线,`LSB` 由期望步进的中位数估算。

新增诊断指标

当前版本新增的工作状态与诊断项都基于单次 X/Y 数据,不需要重复采样。

Max |Error| = max(abs(Error))
Error P-P = max(Error) - min(Error)
Residual = Y - (mX + b)
LocalSlope(i) = (Y[i+1] - Y[i]) / (X[i+1] - X[i])

单调性检测依据相邻点输出是否反向;跳变点依据局部斜率偏离中位斜率;端点异常指数取低/中/高三个关键点绝对误差的最大值。

自动诊断结论

诊断结论是基于规则的工程判断,不是机器学习模型。

偏置主导: |Offset| 大且 Residual RMS 小
增益主导: |Slope - 1| 大
非线性主导: Max INL / Residual RMS 大
切换故障主导: Jump Count > 0
噪声主导: 需要重复采样数据,当前单次扫描仅给出“未启用”提示

像 3σ/6σ、重复性、回程误差、FFT、多通道热力图、正扫反扫对比这类高级项,需要重复采样、多通道或双向扫描数据后才能启用。