信号处理学习笔记6:ADC采样线性处理实测拟合

只要你能实测几组真实值,永远优先用 实测线性拟合 y = kx + b
**以后所有线性传感器,都可用这个方法校准:**y = kx + b

测 2~5 组真实值 → 拟合 k、b → 直接写进代码

目录

问题描述:

通用场景(理论公式):

为什么理论公式往往不准:

硬件原理推导物理量:

实测拟合:

实测拟合使用场景:

电压公式计算使用场景:

实测拟合与ADC理论公式代码特点:

总结

问题描述:

ADC理论公式 电压 = ADC / 4096 × 3.3V
STM32f103C8T6 具有12位ADC精度0 ~ 4095,

但通过通用场景的物理计算无法得出真实的电压值

这就是使用通用理论公式会导致 数据往往不准

通用场景(理论公式):

电压 = ADC / 4096 × 3.3V

单片机 ADC 的标准理论公式,逻辑是这样的:

  1. 单片机 ADC 是 12 位范围:0 ~ 4095

  2. ADC 的参考电压 Vref = 3.3V

  3. 含义:数字 0 → 对应 0V ,数字 4095 → 对应 3.3V

  4. 所以任意 ADC 值对应的输入电压就是:

这一步**完全是硬件原理,**和测什么、接什么传感器无关,是通用基础

为什么理论公式往往不准:

  1. Vref 不是精确 3.3000V
  2. ADC 有零点偏移、增益误差
  3. 分压电阻有 1%/5% 误差
  4. 运放有失调电压
  5. 走线有压降
  6. 传感器本身有公差
    结果:按理论公式算出来的数值 ≠ 真实测量值

硬件原理推导物理量:

拿到 Vin 之后,还要算真实物理量,比如

外部 0~10V 电压 → 分压成 0~3.3V

4~20mA 电流 → 转成电压

压力传感器 → 电压输出

温度传感器 → 电压输出

实测拟合:

思路完全转变:

不再关心中间电路怎么工作, 只关心:输入真实值 → 输出 ADC 值

只要关系是线性的,就可以拟合:真实值
这个方法的通用意义:

  • 自动抵消所有硬件误差
  • 自动修正 Vref 偏差
  • 自动修正电阻误差
  • 自动修正 ADC 非线性、偏移
  • 最终结果直接对标真实物理量
    例如,实测如下对应关系:

|---------|-----|-----|------|------|------|
| DC直流真实值 | 1V | 2V | 5V | 7V | 10V |
| ADC值 | 178 | 424 | 1164 | 1657 | 2396 |

根据y = kx + b

直接得出关系 DC = (ADC + 68.6074) / 246.4815

实测拟合使用场景:

传感器 / 物理量 和 ADC 之间是线性关系
线性分压电路(电压分压、电阻分压)

线性传感器(4-20mA、0-10V、PT100、电流采样、压力传感器...)

带运放 / 放大电路的线性信号

0-10V 转 0-3.3V 这类衰减电路

任何 输入→输出呈直线 的系统

电压公式计算使用场景:

没有条件做实测校准,只能纯理论计算
刚画完板子,没实物

要求理论值,不要求精度

极低成本产品,不做校准

实测拟合与ADC理论公式代码特点:

理论计算:ADC → 电压

float voltage = (adc_val * 3.3f) / 4096.0f;

// 如果要物理量,继续 × 系数 ÷ 分压

float value = voltage / 0.2f;
实测校准:直接 真实值 = k*ADC + b

float real_value = adc_val * 0.00245f + 0.036f;

总结

不用算电压!不用管理论分压!不用管 3.3V/4096!

实测线性拟合 = 最准、最简单、单片机最常用

电路是线性分压 → 适用这个方法

相关推荐
桃西西呀几秒前
LangGraph4j之九:自定义状态类型与自定义通道
人工智能·llm·ai编程
IT_陈寒1 分钟前
Java缓存踩坑记:明明设置了过期时间,怎么还是读到脏数据?
前端·人工智能·后端
特立独行的猫a5 分钟前
仓颉语言UI开发实战:我用仓颉写了个桌面版力扣
算法·leetcode·ui·tauri·仓颉·cj-tarui
艺杯羹5 分钟前
Windows跨平台编码地雷全解:从GBK静默崩溃到内核级原子写入防御
人工智能·python·桌面客户端
CCblandy6 分钟前
Agent 工具调用怎么编排?本机实测:并行只到 2.63 倍,慢的先发省 30ms,CPU 活加 worker 无效
人工智能·后端·python·性能优化
云智慧AIOps社区8 分钟前
MSP 的增长瓶颈不在客户,在交付模式:人效与规模如何兼得?
运维·人工智能·自动化运维
Yolo566Q12 分钟前
AI-XGBoost 植被与土地利用识别、土壤碳氮空间预测、生物多样性驱动机制、土壤微生物功能预测、生态退化与风险识、论文写作
人工智能
y1su22 分钟前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划
自养Agent22 分钟前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
小李同学_LHY44 分钟前
第一章:从人工智能到大语言模型:概念梳理与关系辨析
人工智能·语言模型·自然语言处理