信号处理学习笔记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!

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

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

相关推荐
大数据在线2 小时前
布局Agentic AI,亚马逊云科技组合拳再升级
人工智能·openai·亚马逊云科技·智能体·agentic ai
8Qi83 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划
皮皮学姐分享-ppx6 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
GIS数据转换器6 小时前
基于3D GIS的监控视频精准标定平台
人工智能·物联网·3d·音视频·无人机·知识图谱
专注VB编程开发20年6 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
深小乐7 小时前
Claude Fable5 尝鲜,效果挺不错
人工智能
Nayxxu7 小时前
Gemini + RAG 企业知识库教程:从文档切片到答案生成
运维·人工智能
冬奇Lab7 小时前
真正的 AI-Native Workflow 是什么?——四个判断测试
人工智能·agent
冬奇Lab7 小时前
每日一个开源项目(第128篇):Agent Skills - 给 AI 编程 Agent 装上工程纪律
人工智能·开源·资讯
Deepoch7 小时前
Deepoc VLA开发板:采摘机器人的环境鲁棒作业与不确定性应对
人工智能·机器人·采摘机器人·deepoc