通过算法改善示波器垂直分辨率
扫描二维码
随时随地手机看文章
一、介绍
自从力科公司发布具有真实硬件12bits ADC 的高分辨率实时示波器HRO 和HDO 后,垂直分辨率已经成为 [1] 继带宽、采样率、存储深度后的第四大核心指标。《高分辨率示波器WaveRunner HRO 6Zi》 一文阐述了:示 波器的垂直分辨率受两大因素影响:一是ADC 位数,二是示波器自身的噪声和失真水平。这两个因素都由示 波器硬件决定。
虽然普遍用ADC 的位数来描述示波器的垂直分辨率,但准确的参数是示波器整个系统的有效位数(ENOB)。 ENOB 与信号和噪声失真比 (SINAD)密切相关,两者的数学关系为[3]
SINAD(in dB)=6.02*ENOB+1.76
根据这个关系,SINAD 大约每增加6dB,ENOB 增加1bit。所以提高信噪比就能提高分辨率。
目前中高端示波器普遍具有这样的功能:在示波器硬件性能定型的情况下,通过算法提高垂直分辨率。 这些功能本质上都是对采样后的数据进行数字信号处理,目的是提高信噪比,从而在理论上提高垂直分辨率。 示波器内部实现这类算法的主体,有可能是软件、DSP 或者 FPGA,它们都可认为是广义的“软件”。虽然算法可以有条件地提高垂直分辨率,但是需要付出代价:要么使用条件有限制,要么降低示波器的性能,要么引起波形失真。不可能仅仅依靠“软件”就能达到硬件实现的性能,因为世上没有免费的午餐。
二、常用算法原理和特点
梳理目前市面上各种品牌和型号示波器,在ADC 采样后改善分辨率的方法可以归纳为三种信号处理算法: 平均,线性相位FIR 滤波、分组平均。
1.平均 (Average )
如果信号是周期可重复的,示波器每采集n 段重复波形,把它们按触发位置对齐,相加后除以n,得到1 段平均后的波形,如下图示意:
平均能降低随机噪声。如果平均前随机噪声的标准偏差为σ,则随机噪声的功率N= σ。假设信号功率为S 。则信噪比SNR 为
SNR(in dB)=10*lg(S/N)
平均后随机噪声的标准偏差减小到σ/ ,则功率减小到 N/n。而信号功率基本未变,此时信噪比(dB )
为
SNR(in dB)= 10*lg(n*S/N)=10*lg(S/N)+10*lg(n)
也就是信噪比(dB)提高了10lg(n)。
例如4 次平均,信噪比可以提高大约6dB,分辨率提高1bit。64 次平均,信噪比提高18dB,分辨率提高
3bit 。
平均算法是最简单的分辨率改善方法,但有以下局限和代价:
1)只能用于周期信号。
2 )平均只能降低随机的、不相关的高斯白噪声,对于相关的噪声和干扰作用不大。
3 )平均算法会显著降低示波器波形更新率。例如欲将分辨率从8bit 改善到12bit,需要每采集256 次做 一次平均,波形更新率降低不止256 倍。
4 )平均可能引起波形失真。每段波形是按触发位置对齐,而触发点在每段波形上的相对位置并不固定。 因为噪声会导致信号每次穿越触发电平的相对水平位置不一样,如下图
触发位置抖动的结果是每段波形被错位相加,平均后波形失真。当信号本身的噪声比较大时,失真现象更明显。
2.线性相位FIR 滤波(Linear Phase FIR Filter)
噪声在频谱上通常分布得很宽。可以采用数字滤波的方法抑制信号带宽以外的噪声,从而提高信噪比、 改善垂直分辨率。一种常用滤波器类型为线性相位 FIR 滤波。在力科示波器中通过“增强分辨率”(ERES, Enhanced Resolution)功能可以打开这个滤波器。由于是数字滤波,被测信号不再局限于周期信号。在 ERES 功能里能够直接选择增强多少bit 分辨率,其实就是选择滤波器的带宽。带宽越小,信噪比改善得越多,增强 的分辨率位数就越多。下表是增强的分辨率位数和滤波器带宽的关系。
例如在采样率为10GSa/s 的情况下,如果要增强3bit,示波器带宽减小到80MHz 。这就是ERES 方法需要付出的代价。
3.分组平均(Group Average )
这种算法在很多示波器里被称为高分辨率采样模式 (HiRES,High Resolution Acquisition Mode )。一些示波器也称其为线性平均(Linear Average ),或者过采样和线性降噪技术 (Hypersampling & Linear Noise Reduction )。无论市场宣传的名称是什么,本质还是对 ADC 采样后数据进行信号处理。这种算法的好处是也 可以用于非周期信号。示波器以最大采样率采集波形,将一段波形的每n 个采样点分成1 组,对1 组中n个采样点取平均得到 1 个数据点存入采集存储器中。最终在示波器上显示的波形是样点分组平均后的数据,样点数量被抽取了n 倍,如下图示意:
分组平均本质上也是一种数字滤波。样点抽取倍数越高,分辨率提升得越多。据某款示波器规格,当抽取倍数为16 时,可由8bit 提升到12bit。
同样,分组平均提升分辨率的代价是性能受损和波形失真:
1)高采样率和高垂直分辨率不可兼得。比如在8bit、40GSa/s 的示波器上要实现12bit 分辨率,处理后 的采样率只能到2.5GSa/s 。要使处理后的采样率达到5GSa/s,分辨率只能提升到11bit。
2 )示波器带宽和垂直分辨率也不可兼得。在上一条例子中,要实现 12bit 分辨率,带宽从4GHz 下降到500MHz。
3 )工作在HiRes 模式下的示波器,使用者不能直接选择增强多少bit 分辨率,它随示波器的时间刻度动态变化。使用者不知道当前增强了多少分辨率、带宽下降到多少。
4 )分组平均算法对抑制高斯白噪声有效果,而对于示波器ADC 的INL (积分非线性)引起的噪声没有抑制作用。
5 )信号比较陡峭的边沿在HiRES 模式下,容易欠采样。例如信号边沿原本有16 个采样点,为了提高4bit分辨率,需要每 16 个点取平均。结果边沿只剩下 1 个样点。不少示波器以sin(x)/x 方式做内插,在欠采样的情况下会导致吉布斯现象,使本来正常的边沿出现过冲、振铃:
6 )分组平均也会显著降低示波器波形更新率。
7 )分组平均可以有条件地提升分辨率,却不能改善示波器的准确度。例如具有硬件12bit ADC 示波器的直流增益精度可以达到±0.5% 。采用过采样和线性降噪技术提升到12bit 分辨率的示波器,直流增益 精度仍然是8bi ADC 示波器的水平:±2%
下图是三种测试场景,被测信号都是正弦波峰值附近存在一个微小变化。对波形做局部放大后的效果:
三、结论
无论什么形式的算法,在付出一定代价后,只是在数学意义上提升了垂直分辨率,测量微小信号的能力是有限的。当工程师身边只有8bit ADC 示波器的时候,可以通过这些方法来改善一下信噪比。当真正需要高分辨率、高准确度测试的场合,无疑还是需要具有真实硬件12bit ADC 的示波器。在12bit ADC示波器上也可以开启这类算法。软硬兼施,效果更好。