ADC采样精度优化方法与滤波算法对比
2026/07/10 00:40:22
一、参考电压稳定性ADC的转换精度直接取决于参考电压(Vref)的精度和稳定性。12位ADC对Vref的要求是:1LSB = Vref/4096,若Vref=3.3V,1LSB≈0.8mV。
一阶低通推荐公式:Y(n) = α×X(n) + (1-α)×Y(n-1),α=0.05-0.2。实际项目建议中值滤波去脉冲+一阶低通平滑。
- 内部参考:STM32内部Vref典型值1.2V,精度±1%(未经校准),适合常规应用。使用前应读取出厂校准值。
- 外部参考:高精度应用应选用外部基准源,如REF3033(3.3V,精度0.2%,温漂50ppm/℃)或ADR4533(3.3V,精度0.02%,温漂2ppm/℃)。
- 供电滤波:Vref引脚附近放置10μF钽电容+0.1μF陶瓷电容,滤除高频噪声。
- 走线隔离:Vref走线远离数字信号和开关电源,避免耦合噪声。
- STM32 ADC在采样时间Ts=1.5周期时,最大允许输入阻抗约0.4kΩ;Ts=239.5周期时约50kΩ。
- 高阻抗信号源必须加运放跟随器(如LM358、MCP6002)进行阻抗变换。
- 运放输出端可加RC低通滤波(如100Ω+100nF),截止频率fc=1/(2πRC)≈16kHz。
- AGND和DGND在PCB上分区走线,单点连接(通常在ADC芯片下方用0Ω电阻或磁珠桥接)。
- 模拟走线远离PWM、SPI、晶振等高速数字信号,间距至少3倍线宽。
- 模拟区域下方应有完整的地平面,避免被走线分割。
- ADC芯片尽量靠近模拟输入连接器,缩短模拟信号路径。
- 原理:对信号进行N次采样后取平均,噪声功率降低为原来的1/N,信噪比提升。
- 前提条件:ADC噪声必须满足白噪声特性(平坦频谱),且噪声幅度至少1LSB。
- STM32实现:HAL_ADC_GetValue()连续读取16次,累加后右移2位得到14位等效结果。
- 开销考量:过采样增加CPU负荷。可在DMA+定时器触发模式下自动完成。
| 滤波算法 | 噪声抑制 | 响应速度 | 计算量 | 适用场景 |
| 中值滤波(窗口5) | 中等 | 快 | 低 | 去除脉冲干扰 |
| 均值滤波(窗口16) | 好 | 慢 | 低 | 稳态测量 |
| 一阶低通(α=0.1) | 好 | 中等 | 极低 | 实时跟踪 |
| 卡尔曼滤波 | 最优 | 可调 | 高 | 动态系统、融合 |