ADC采样
ADC采样的四个步骤:
- 采样(Sampling):这是ADC的第一步,目的是将连续变化的模拟信号转换为离散的时间序列。在采样过程中,ADC在预定的时间间隔内测量模拟信号的瞬时值。例如,音频信号的标准采样率可能是44.1kHz,这意味着每秒钟采样44100次。
- 保持(Hold):采样后,ADC需要保持每个采样值一段时间,以便进行下一步处理。这个过程称为保持。在这个阶段,采样值被锁定并保持不变,直到量化过程开始。
- 量化(Quantization):量化是将采样保持的模拟值转换为数字值的过程。由于数字系统只能表示有限数量的级别,所以量化过程涉及到将连续的模拟值映射到最接近的数字级别。这个过程会引入量化误差,因为实际的模拟值可能位于两个数字级别之间。
- 编码(Encoding):最后一步是编码,将量化后的数字值转换为二进制代码,以便数字系统可以处理。例如,一个8位的ADC可以输出从00000000到11111111的256个不同的二进制值。
采样频率: 指在单位时间内进行的采样次数。它决定了信号采样的详细程度。采样频率越高,所获得的信号数据就越详细。理论上,采样频率至少应达到信号最高频率的两倍,以避免信号失真。
采样时间: 指的是从开始采样到采样结束所需的时间。它取决于ADC的转换速度和期望的信号质量。如果ADC的转换速度较慢,可能需要更长的采样时间以获得更精确的值。
- 这意味着,如果需要更高的采样频率,则必须缩短采样时间。反之亦然。
接下来,我们将通过一个实例来进一步理解这两个概念。假设我们正在处理一个音频信号,其最高频率为40kHz。为了确保信号质量,我们需要选择一个合适的采样频率。根据Nyquist定理,采样频率至少应为80kHz(即40kHz的两倍)。这意味着每秒进行80,000次采样。如果我们选择一个ADC转换速度为100kHz,那么采样时间将为1/100kHz = 0.01秒,即10毫秒。这意味着ADC将在每个10毫秒的时间段内对信号进行一次采样。
参考来源:https://developer.baidu.com/article/detail.html?id=3154764
采样精度: 指ADC转换结果的表示精度,通常以比特数(bits)来表示。比特数越大,表示精度越高,能够更准确地表示输入信号的幅度。
拿0-3.3V的12位ADC为例子。如果我们去测量80mv的信号,理论值应该是:
0.08
3.3
∗
2
12
=
100
\frac{0.08}{3.3}\ast 2^{12}=100
3.30.08∗212=100
滤波
- 限幅滤波法(又称程序判断滤波法):
- 这种滤波法的思路是先根据经验判断,确定两次采样允许的最大偏差值(设为A)。
- 每次检测到新采样值时进行判断:
- 如果本次新采样值与上次滤波结果之差小于A,则本次采样值有效,令本次滤波结果等于新采样值。
- 如果本次采样值与上次滤波结果之差大于A,则本次采样值无效,放弃本次值,令本次滤波结果等于上次滤波结果。
- 优点:能有效克服因偶然因素引起的脉冲干扰。
- 缺点:无法抑制周期性的干扰,且平滑度较差。
- 中位值滤波法:
- 连续采样N次(一般N取奇数),然后将采样值按大小排列,取中间值作为本次有效值。
- 适用于克服偶然因素引起的波动干扰,对温度、液位等缓慢变化的被测参数有良好的滤波效果。
- 不适用于流量、压力等快速变化的参数。
- 算术平均滤波法:
- 连续取N个采样值进行算术平均运算。
- 适用于对一般具有随机干扰的信号进行滤波,但不适用于实时控制。
N值的选取根据具体应用场景而定。
- 递推平均滤波法(又称滑动平均滤波法):
- 把连续N个采样值看成一个队列,每次采样到一个新数据放入队尾,扔掉原来队首的一次数据。
- 对周期性干扰有良好的抑制作用,适用于高频振荡的系统。
- 灵敏度较低,不适用于脉冲干扰严重的场合。
上一篇: 确定 STM32F103ZET6 的 ADC 采样率
下一篇: 安卓系统降低音频采样频率代码
推荐阅读
-
微控制器 - ADC 采样
-
[ADC] 系统误差分析中的统计原理
-
音视频编解码-YUV采样格式中的YUV444,YUV422,YUV420理解(转)-YUV4:4:4
-
音视频编解码: YUV采样格式中的YUV444,YUV422,YUV420理解
-
YUV格式采样方式、存储方式详细总结
-
YUV 420, YCbCr 422, RGB 444及其色度二次采样:重新探索颜色编码方案
-
音视频基础知识:RGB 与 YUV 的采样与存储
-
10bit YUV(P010)的存储结构和处理-随着计算机处理信息的能力越来越厉害,这种能表现更高动态范围的图像存储格式将会逐渐成为主流,但是现在很多算法都不能直接处理 10bit 的 YUV ,都是先将其转换为 8bit YUV ,然后再进行处理,这实际上是丢弃了 10bit YUV 的图像高动态范围优势。 令人遗憾的是在渲染图像时,目前 OpenGL 也无法直接对 10bit YUV 进行渲染,也是需要先转换为 8bit YUV 。 接下来以一种常见的 10bit YUV (P010) 格式为例,介绍一下 10bit YUV 到 8bit YUV 的转换过程。 P010 最早是微软定义的格式,表示的是 YUV 4:2:0 的采样方式,也就是说 P010 表示的是一类 YUV 格式,它的内存排布方式可能是 NVNVYUYV12 。
-
深入理解YUV的采样与格式-探索YUV采样格式的精髓
-
Prism Sound 转换器 ADA-8XR 引入新产品 Dream ADA-128:重新定义 PCM 采样率转换