adc和dac的工作流程
1、adc工作流程
ADC(模数转换器)将模拟信号转换为数字信号的过程可以概括为采样、量化和编码三个核心步骤。下面以生活中常见的声音信号转换为例:
①采样(Sampling)——“定格” 连续信号
模拟信号(如声音、温度)是连续变化的(时间和幅度都连续),而数字信号是离散的。采样就是按照固定时间间隔,“抓取” 模拟信号在特定时刻的幅度值,将连续时间信号转化为离散时间信号。如:
当你对着麦克风说话时,声音(模拟信号)通过麦克风转化为连续变化的电压(比如范围在 - 1V~+1V 之间)。ADC 会按照固定频率(如 44.1kHz,即每秒采样 44100 次)“读取” 这个电压值,得到一系列离散的电压点(如 t=0 时刻 0.3V,t=1/44100 秒时刻 0.5V,t=2/44100 秒时刻 0.4V 等)。
关键参数:采样频率需满足奈奎斯特准则(采样频率≥2 倍信号最高频率),否则会出现信号失真。
②量化(Quantization)——“分级” 幅度值
采样得到的离散电压值仍是连续的(理论上可以是无限多个值),而数字信号只能表示有限个离散值。量化就是将采样得到的幅度值 “四舍五入” 到最近的预设等级,将连续幅度转化为离散幅度。如:
假设 ADC 是3 位(可表示 8 个等级:0~7),基准电压范围为 0~1V(即 0V 对应等级 0,1V 对应等级 7)。
关键参数:位数越高(如 12 位、16 位),等级越多(如 12 位有 4096 个等级),量化误差越小,精度越高。
③编码(Coding)——“翻译” 为二进制
量化后的等级值(如 0~7)需要转化为计算机可识别的二进制代码,这一过程称为编码。如:
3 位 ADC 的等级与二进制对应关系为:
因此,上述采样电压最终会被编码为:
0.3V → 010,0.5V → 100,0.4V → 011。完整流程总结(以声音信号为例)
模拟信号:你的声音→麦克风→连续变化的电压(-1V~+1V);
采样:ADC 每秒 44100 次 “读取” 电压值,得到离散时间点的电压;
量化:将每个电压值对应到 16 位 ADC 的 65536 个等级中(如 0.3V 对应等级 19660);
编码:等级 19660 转化为二进制代码(如 1001100010001100)。
最终,连续的声音信号就变成了一串二进制数字,可被计算机存储或处理(如保存为 MP3 文件)。
2、dac的工作流程
①解码数字信号的 “权重”:
具体如下:
最高位(MSB,第 2 位):权重 = 8V/21=4V(二进制 “1” 时贡献 4V,“0” 时贡献 0V);
中间位(第 1 位):权重 = 8V/22=2V;
最低位(LSB,第 0 位):权重 = 8V/23=1V。
②按数字代码合成模拟量:
数字代码的每个位通过开关控制是否接入权重。例如,二进制 “101” 表示:
总模拟电压 = 各有效位权重之和 = 4V+0V+1V=5V。
③平滑输出(滤波去噪):
合成的模拟信号初期是 “阶梯状” 的(因数字代码离散变化),需通过低通滤波器去除高频分量,得到连续平滑的模拟信号。例如:
数字输入:16 位二进制代码 “1001100010001100”(对应某个声音的振幅);
权重解码:16 位 DAC 的最高位权重为 Vref/2(如基准电压 3V,最高位权重 1.5V),低位权重依次减半(第 15 位 0.75V,…,第 0 位≈46.57μV);
模拟合成:代码中 “1” 对应的权重相加(如 “1001100010001100” 对应约 1.23V);
平滑输出:阶梯状的 1.23V 信号经低通滤波器(截止频率 20kHz,匹配人耳听觉范围)处理后,变成连续的电压信号,驱动扬声器振动,最终还原为声音。

浙公网安备 33010602011771号