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

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

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

相关推荐
AI体验君1 小时前
2026年AI数据大屏实用指南,简化数据可视化制作
人工智能·信息可视化
AI、少年郎1 小时前
如何用个人电脑快速训练自己的语言模型?MiniMind 全流程实战指南
人工智能·python·神经网络·ai·自然语言处理·大模型·模型训练微调
mhkxbq1 小时前
昆仑G5580、G5680 V2、G2280及泰山鲲鹏200,AI大数据优选服务器
大数据·服务器·人工智能
fof9201 小时前
Base LLM | 从 NLP 到 LLM 的算法全栈教程 第八天
人工智能·自然语言处理
汽车仪器仪表相关领域2 小时前
NHXJ-02汽车悬架检验台 实操型实战手册
人工智能·功能测试·测试工具·算法·安全·单元测试·可用性测试
枫叶林FYL2 小时前
【Python高级工程与架构实战】项目四 现代ETL编排平台:Airflow + dbt + Snowflake 企业级数据管道架构与实现
人工智能·python·架构·etl
AI服务老曹2 小时前
异构计算与边缘协同:基于 Spring Boot 的 AI 视频管理平台架构深度解析
人工智能·spring boot·音视频
源码之屋2 小时前
计算机毕业设计:Python天气数据采集与可视化分析平台 Django框架 线性回归 数据分析 大数据 机器学习 大模型 气象数据(建议收藏)✅
人工智能·python·深度学习·算法·django·线性回归·课程设计
我爱C编程2 小时前
【3.2】FFT/IFFT变换的数学原理概述与MATLAB仿真
算法·matlab·fpga·fft·ifft