首页 > 新能源汽车

DSP 技巧:A/D 转换器测试技术和查找 ADC 中的缺失代码

来源:新能源汽车网
时间:2023-03-31 16:04:03
热度:

DSP 技巧:A/D 转换器测试技术和查找 ADC 中的缺失代码 数字信号处理技术通常可用于测试 A/D 转换器。这里有两种测量转换器性能的方案;种是使用快速傅立叶变换 (F

    数字信号处理技术通常可用于测试 A/D 转换器。这里有两种测量转换器性能的方案;种是使用快速傅立叶变换 (FFT) 来估计整个转换器噪声的技术,第二种是检测丢失的转换器输出代码的直方图分析方案。
    使用 FFT 估算 A/D 量化噪声A/D 转换器量化噪声、丢失位、谐波失真和其他非线性的组合可以通过分析转换器输出的频谱内容来表征。
    由这些非线性引起的转换器性能下降并不难识别,因为它们在 A/D 转换器的输出样本中表现为寄生频谱分量和增加的背景噪声水平。
    传统的测试方法涉及将正弦模拟电压施加到 A/D 转换器的输入并检查转换器的数字化时域输出样本的频谱。

    我们可以使用 FFT 来计算 A/D 转换器输出样本的频谱,但我们必须尽量减少 FFT 频谱泄漏,以提高频谱测量的灵敏度。然而,传统的时域窗口化无法为高性能 A/D 转换器测试提供足够的 FFT 泄漏减少。

    图 13″22 输入为模拟 8fs/128 Hz 正弦波时的理想 A/D 转换器输出:(a) 输出时间样本;(b) 以 dB 为单位的频谱幅度。

    规避此 FFT 泄漏问题的技巧是使用频率为 A/D 转换器时钟频率整数分之一的正弦模拟输入电压,如上图 13″22(a)所示。该频率为 mfs/N,其中 m 为一个整数,fs 是时钟频率(采样率),N 是 FFT 大小。

    图 13″22(a) 显示了理想 A/D 转换器的x(n) 时域输出,当它的模拟输入是一个正弦波时,在 N = 128 个转换器输出样本上正好有八个周期。
    在这种情况下,输入频率标准化为采样率 fsis 8fs/128 Hz。回想一下,表达式 mfs/N 定义了离散傅立叶变换 (DFT) 的分析频率或 bin 中心,而频率位于 bin 中心的 DFT 输入正弦波不会导致频谱泄漏。
    x(n) 的 128 点 FFT 的前半部分显示在上方图 13″22(b)中的对数图 中,其中输入音正好位于 m = 8 bin 中心并且 FFT 泄漏已充分减少。具体而言,如果采样率为 1 MHz,则 A/D 的输入模拟音必须正好为 8(106/128) = 62.5 kHz。
    为了实施该方案,我们需要确保模拟测试发生器与 A/D 转换器的时钟频率 fs Hz 准确同步。实现这种同步是此 A/D 转换器测试过程被称为相干采样的原因。

    也就是说,模拟信号发生器和提供 fs 的 A/D 时钟发生器在频率上不能相互漂移——它们必须保持一致。(我们必须从语义的角度注意这里,因为正交采样方案有时也称为相干采样,它们与此 A/D 转换器测试过程无关。)

    图13“23 七周期正弦A/D转换器输出。

    事实证明,m 的某些值比其他值更有利。请注意图 13″22(a) 中,当 m = 8 时,A/D 转换器仅输出九个不同的幅度值。这些价值观被一遍又一遍地重复。如上面的图 13″23所示,当 m = 7 时,我们使用的 A/D 输出值多于 9 个。
    使 m 成为奇素数因为测试尽可能多的 A/D 输出二进制字,同时保持量化噪声足够随机,这种 A/D 测试方案的用户发现了另一个技巧。他们发现,使 m 成为奇素数(3、5、7、11 等)可以限度地减少冗余 A/D 输出字值的数量。

    下面的图 13'24(a)说明了非线性 A/D 转换器操作的一个极端示例,其中几个离散输出样本在时域 x(n) 中丢弃了位,其中 m = 8。此失真 x(n) 的 FFT 提供于图 13”24(b) 与图 13”22(b) 相比,我们可以看到由于 A/D 转换器的非线性而增加的背景噪声电平。

    图 13″24 非理想 A/D 转换器输出显示几个丢失的位:(a)时间样本;(b) 以 dB 为单位的频谱幅度。
    真正的 A/D 转换器量化噪声电平将高于上面图 13″24(b)中测量的那些。这是因为 FFT 的固有处理增益会将高电平 m = 8 频谱分量从背景量化噪声中拉出。
    因此,如果我们使用这种 A/D 转换器测试技术,我们必须考虑 FFT 的处理增益 10log10(N/2),如图 13″24(b) 所示。
    为了全面表征 A/D 转换器的动态性能,我们需要在许多不同的输入频率和幅度下执行此测试技术。(当然,应用于 A/D 转换器的模拟正弦波必须尽可能纯净。模拟信号中固有的任何失真都会出现在终的 FFT 输出中,并可能被误认为是 A/D 非线性。)这里的关键问题是,当任意输入频率为mfs/N时,m小于N/2以满足奈奎斯特采样准则,我们可以充分利用FFT的处理能力,同时限度地减少频谱泄漏。
    图 13″25 A/D 转换器硬件测试配置。
    通常将两个模拟音调的总和应用于 A/D 转换器的输入以量化转换器的互调失真性能,这反过来又表征了转换器的动态范围。这样做时,两个输入音调都必须符合 mfs/N 限制。上面的图 13″25 显示了测试配置。

    明智的做法是使用带通滤波器 (BPF) 来提高正弦波发生器输出的频谱纯度,并使用小值固定衰减器(衰减器)来防止发生器相互之间产生不利影响。(我为此推荐 3-dB 衰减器。)功率组合器通常是反向驱动的模拟功率分配器,A/D 时钟发生器输出是方波。图 13”25 顶部的虚线表示所有三个发生器都锁定到相同的频率参考源。

    图 13“26 8 位转换器的时域图显示二进制值 0010001 的缺失代码,十进制 33。
    检测漏码困扰 A/D 转换器的一个问题是漏码。当转换器无法输出特定的二进制字(代码)时,就会出现此缺陷。想一想用模拟正弦波驱动一个 8 位转换器,当它的输出应该是二进制字 00100001(十进制的 33 )时的效果;它的输出实际上是字 00100000(十进制的 32),如上图 13″26 所示。
    表示十进制 33 的二进制字是一个漏码。这种微妙的非线性很难通过检查时域样本或执行频谱分析来检测。幸运的是,有一种简单可靠的方法可以使用直方图分析来检测丢失的 33。
    图 13″27 一个 8 位转换器的二进制字(代码)出现次数与每个字的十进制值的直方图直方图测试技术仅涉及收集许多 A/D 转换器输出样本并绘制每个样本值与该样本值的出现次数,如上图 13''27 所示。
    任何缺失的代码(比如我们的 missing33)都会在直方图中显示为零值。也就是说,表示十进制 33 的二进制代码出现次数为零。