这种测试方法是利用FFT算法对A/D转换芯片的输出码进行数字信号处理,计算A/D的频谱参数,以此看出各种转换误差以及失真在频谱图上表现出的噪声背景。在没有失真的理想情况下,在输入模拟量为正弦波时,输出频谱应为频率等于输入频率的冲激函数的图形。事实上,A/D转换器的量化误差,转换器内部各种噪声,甚至包括测试系统噪声,都会在频谱图上的噪声背景中体现出来;DNL、失码、孔径误差、宽带噪声都会造成频谱图上噪声背景的提升,而INL则会在测试信号的基波偏移带内表现出谐波失真(如图4);转换器内部非线性部件的存在,使输出信号相对于输入信号在频率上不但会有一个微小的偏移,而且会产生一系列的谐波分量(图5)。
在计算过程中,如果采样数据集的端点不连续,会因引入采样窗口而增加计算的繁琐程度。而按照相关采样原理,FFT就可以把输出信号看成无穷的周期信号,使计算变得简单。满足相关采样原理的采样方法必须满足如下公式。
式中,M为采样周期数,必须为奇数。
N为总采样点数,对于FFT算法其值必须为2的幂。
fT为输入模拟正弦波的频率。
fs为采样频率。
为了得到最佳测试结果,测试过程中所选的M与N的值必须要加以限制。为了保证采样数据集端点相匹配,M必须选正整数;FFT算法本身要求采样点数值为2的幂;为获得最佳测试效率和减少测试时间,M和N要求不可约分。而且为了保证FFT变换一定的故障覆盖率,N取值不能太小。
由Nyquist采样定理,采样频率至少是测试信号频率的2倍,才能保证采样不失真。但我们在这种测试中采样频率远大于输入信号频率,所以可以不考虑Nyquist频率的影响。
衡量A/D动态性能的指标有:信号噪声比(SNR)、信号噪声失真比(SINAD)、谐波总失真(THD)、寄生动态范围(SFDR)、交调失真(IMD)等。在计算出A/D转换的频谱后,这些参数按定义都很容易计算。计算中的谐波分量一般要求算到六阶。
例如对于A/D转换存在的量化误差,可以用信号噪声比(SNR)这个参数计算A/D由量化误差引入的噪声背景。而SNR理论上的计算公式为:SNR=6.02n+1.76(dB),因为噪声分量中除了量化噪声,还有其它噪声,实际测量结果会比这个值稍低一点。
关于FFT变换的计算,在Labview的功能菜单中,选Analysis下的Digital Signal Processing子菜单,可有Real FFT、Auto Power spectrum等模块供选用,以进行变换和参数计算。程序编写可以参照Labview 安装目录下Examplesanalysismeasuremeasxmpl.llb中的THD.vi程序。
2.3 拍频测试法
“拍频”这个名称说明了这种测试方法的原理,输入正弦波的频率与A/D的采样频率之间有一个微小的差值,因为形成了一个拍频,对测试波形不断的采样和转换结果也是一个正弦波(见图6)。这种测试方法本来是将转换的数字信号经过一个D/A转换后在CRT上显示出来,观察正弦波的平滑性。这样即使是低速的D/A也可以应用于测试。现在我们利用Labview,在测试中将ATS60E测试系统的测试频率设定为fs,波形发生器的输出正弦波的频率设定为fs+Δf。将采样结果在Labview的图表上输出,那么输出点连起来必然为一个正弦波。而转换误差会表现为波形的失真和不连续。对频差的设置最理想的情况是(这种连续的采样)使每个码都有一次采样到的机会,保证图表输出覆盖所有可能的码的故障。例如,10bit A/D,20MHz的采样率,最大3MHz的差频就可以保证每个码至少一次采样。
拍频测试法可以测试三种误差:DNL、INL和失码,但是无法得出具体数值。最主要的是可以用来测量模拟带宽。
本文主要探讨的是用系统集成的方法进行A/D转换芯片的测试,但是也可以扩展到其它混合信号电路的测试中。比如D/A的测试思路,由数字测试系统产生D/A的控制信号以及转换的数字输入信号,产生的输出模拟转换结果可以用测试系统本身的精密测量单元来测试,也可以由外接程控的高精度万用表来测量。
测试的基本原理和方法和20年前其实没有太大区别,不过是由于软硬件水平的发展,使测试环境更容易构成。尤其是在具有一定规模的实验室,各种测试设备相对比较齐全的情况下,这种扩展方法特别体现了它经济、灵活的优点,很多情况下可以省去配置专门的混合信号测试系统。