ADC的精度和带宽问题,你知道多少?

今天我们讲ADC的带宽精度,话不多说,直接进入正题↓↓↓

 

ADC建立时间精度

一般而言,一个ADC的内部前端需要在半个周期或采样时钟周期内建立(0.5/Fs),这样才能提供对内模拟信号捕捉的精确表达。因此,对于一个12位ADC(采样速率为2.5 GSPS,满量程输入范围为1.3 V p-p)来说,全功率带宽(FPBW)可通过下列瞬态公式推导:

求解t:

代入τ = 1/(2 × π × FPBW),一个时间常数,求解FPBW:

现在,令t = 0.5/Fs,则样本建立所需的时间如下(样本周期为1/Fs):

这样会使ADC内部前端所需的带宽或FPBW最小。这是转换器内部前端建立至1 LSB以内并正确采样模拟信号所需的带宽。为了满足这类ADC的1 LSB精度要求,这将会需要花费数个时间常数。

 

一个时间常数为24 ps或τ = 1/(2 × π × FPBW)。要了解ADC满量程范围内达到LSB尺寸要求所需的时间常数数量,就需要找出满量程误差或%FS。

 

或者1 LSB = FS/(2N),其中N = 位数;

或1.3 V p-p/(212) = 317 mV p-p,且%FS = (LSB/FS) × 100 = 0.0244。

 

通过描绘欧拉数或eτ,可以绘出一条曲线,以便每次通过常数都能方便地看出相对误差。如图1可见,12位ADC样本建立至大约1 LSB以内需时8.4个时间常数。

图1.建立精度与时间常数的关系

 

这样,设计人员便能估算用于转换器的最大模拟输入频率或采样带宽,并依旧建立至1 LSB误差以内。超出这个范围,则ADC无法精确表示信号。这可以简单定义为:

 

FMAX = 1/(τ × 时间常数数量)

1/(24 ps × 8.4) = 4.96 GHz

 

记住,这里表示的是最佳情形,并假定采用单极点ADC前端。并非所有现实中的转换器都以这种方式工作,但这是一个很好的开端。

 

关于ADC带宽的简要说明

ADC全功率带宽不同于定义的转换器可用带宽或采样带宽,它可以当成是模拟信号输入运算放大器的全功率带宽(FPBW),信号更像是三角波信号,并且输出端存在大量失真。

 

FPBW是ADC精确捕捉信号并使内部前端正确建立所需的带宽(前文示例中为6.62 GHz)。选择一个IF并在该范围内使用转换器不是一个好主意,因为系统的性能结果会大幅改变;在大约5 GHz处,根据转换器数据手册中的额定分辨率和性能指标,满量程带宽远高于转换器自身的最大采样带宽。

 

设计是围绕采样带宽而展开的。所有设计都应当避免使用额定全功率带宽的某一或全部最高频率部分,否则动态性能(SNR/SFDR)会下降并大幅改变。为了确定高速ADC的采样带宽,应当使用文中的示例,因为这些数据并非总能从数据手册中获取。

 

通常,数据手册会规定甚至列出转换器采样带宽内经过生产测试、能够保证额定性能的频率。然而,在较老的ADC产品中这些测试频率在数据手册中并不总是以FMAX来定义。今后还需要对行业中的这些带宽术语做出更好的说明、定义和测试。

### ADC采样率与带宽的区别 #### 1. 定义差异 ADC采样率指的是每秒钟可以采集多少次模拟信号样本的数量,通常以千赫兹(kHz)或兆赫兹(MHz)表示。较高的采样率意味着更密集的数据点被记录下来用于后续处理[^1]。 相比之下,ADC带宽是指能够无失真传输的最大频率范围内的信号能力,它决定了哪些频率成分可以通过该器件而不受显著衰减影响。具体来说,当RF信号直接进入ADC时,如果其工作频谱超出了ADC的有效带宽,则这部分高频分量可能无法正常传递给内部电路进行量化操作[^2]。 #### 2. 影响因素不同 对于采样率而言,主要受到奈奎斯特准则约束——即最低有效采样速率应至少两倍于待测信号最高频率;然而实际应用中往往会选择更高的过采样比例来提升信噪比(SNR),改善线性度等指标表现[^3]。 至于带宽方面的影响更为复杂一些,除了上述提到的物理极限外还包括但不限于:输入阻抗匹配情况、前端滤波器特性以及电源噪声等因素均会对最终可用带宽造成不同程度干扰甚至削减效果。 #### 3. 设计考量重点各异 在设计过程中关注的重点也有所不同。针对采样率的选择更多基于目标应用场景的具体需求分析,比如音频领域一般只需几十kHz级别即可满足人耳听觉感知要求;而对于无线通信基站接收机来讲则需达到GHz级才能覆盖所需监测频段。 而在考虑带宽参数设定的时候,则要特别留意如何平衡好成本效益关系的同时确保足够的动态性能(如SNR/SFDR),尤其是在面对高阶调制方式带来的严格相/幅度精度挑战之时更是如此。因此,在某些情况下建议预留一定的裕度空间而非紧贴着理论上限值去规划系统架构。 ```python # Python代码示例展示采样过程 import numpy as np from matplotlib import pyplot as plt def sample_signal(t, f_sampling=10e3): # 默认设置为10KHz采样率 t_sampled = np.arange(0., max(t), 1./f_sampling) y_sampled = np.sin(2 * np.pi * min(f_sampling / 2, 1.) * t_sampled) # 假设原始信号最大频率不超过一半采样率 fig, ax = plt.subplots() ax.plot(t, np.sin(2*np.pi*t)) # 绘制原连续时间正弦波形 ax.stem(t_sampled, y_sampled,'r', markerfmt='ro') # 使用红色标记绘制离散化后的样本点置 plt.show() t_continuous = np.linspace(0., 1., num=int(1e5)) sample_signal(t_continuous) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值