如何通过过采样的方式提高有效位分辨率

描述

过采样与位分辨率

数字信号处理中提升有效位分辨率的方法

位(比特)分辨率与采样率是模数转换器(ADC)最重要的两个参数。高位分辨率的ADC可以有效地减少由采样造成的量化噪声,从而提高整个数字信号处理(DSP)的质量。大多数ADC拥有较为固定的位分辨率与采样率。然而,某些依赖DSP的仪器,比如数字储存示波器,可能需要用来接收不同频段的输入信号。因此,使用固定的采样率与位分辨率进行采样在这类应用很可能不是最优的解决方案。在这份应用指南中,我们将向您介绍如何通过 过采样 的方式提高有效位分辨率。之后通过实验向您展示Moku:Lab与Moku:Go是如果通过其强大的机载运算能力,在不同的使用场景下自动使用过采样来提升测量结果。

简介

在过去的几十年中,半导体的制造工艺得到指数级的提升。单位面积下芯片半导体的数量也同样得到了多个数量级的提升。许多信号处理的设备,比如音频录制与播放设备,都由模拟信号处理过渡到了信号数字处理。数字信号处理(DSP)通常有着更简单的结构:模数转换器(ADC)首先将模拟信号转换成数字信号。之后,DSP芯片对信号进行实时处理,再通过数模转换器(DAC)等设备输出给其他装置。许多仪器通过搭载特殊应用集成电路(ASIC)来实现信号的处理。然而,现场可编程逻辑门阵列(FPGA)的飞速发展给我们提供了更加便捷的选项。通过ADC-DSP-DAC的设计思路,FPGA的可编程性允许我们将不同的DSP算法部署到同一个硬件上。Liquid Instruments的Moku实验平台搭载了Xilinx的SoC/FPGA作为核心芯片,可将多达12种不同的测试测量仪器集成到一个硬件平台上。通过简单的操作,用户可以在数秒内切换不同的仪器。Moku平台的高集成度与快速切换仪器的特性,使其无论是在本科实验室教学,科研院所,还是商业产品研发中都能提供平滑,无缝的用户体验。

模数转换是高质量测量的重要环节。ADC通常对一个输入电压进行采样,然后将这个电压转换成一个固定位数的二进制数。采样的速度(采样率)与输出的位数是ADC最重要的两个特征值。更高的位数通常可以使得模拟信号被更精确的转换并表达。比如,如果我们有一个2 Vpp的输入范围,一个8位的ADC最小的量化步骤为 mV。如果我们使用一个12位的ADC,则最小量化步骤可以被减小到 mV。因此,更高的位数可以给我们提供更精确的测量结果。然而,更高的ADC位数会增大整个DSP的数据吞吐量。当我们的DSP拥有固定运算能力的时候,ADC最高的位数通常会被其最高采样率所限制。但当输入信号频率较低时(不需要以最高的采样率进行采样时),一部分的运算能力又可能被浪费。为了提高DSP的运算效率,过采样技术被运用到了Moku平台中。通过过采样,我们可以牺牲一部分的采样率来换取更高的有效位数(ENOB),保证芯片的运算能力被最有效的利用。我们将向您介绍如何通过 过采样 的方式提高有效位分辨率。之后通过实验向您展示Moku:Lab与Moku:Go是如果通过其强大的机载运算能力,在不同的使用场景下自动使用过采样来提升测量结果。

 

图1:Liquid Instruments 搭载FPGA的Moku:Go(左)与Moku:Lab(右)的测试测量平台。

过采样的直观认识

过采样在时间轴上,对n个采样点取平均数,之后再将这一个平均后的单一数据点发送给后续的数字信号处理流程中。这一过程会使有效采样率下降n倍。要对过采样有一个直观的认识,首先我们来复习一下ADC的基本知识。

ADC在指定的频率下测量一个模拟输入(Analog Input)的电压值,并将所测得的电压值根据输入电压的大小转换成一个二进制数。假设我们有一个2位的ADC,它的输入范围为0到1 V。图2中,我们展示了一个简化的ADC结构图(左),以及根据输入电压(x轴)所产生的二进制数输出(y轴)。

测量

图2: 一个简化版的2位ADC(左),与其所对应的输入输出值(右)。

我们假设这个ADC,在 0 到 0.125 V, 0.125 到 0.375 V, 0.375 到 0.625 V,0.625 到 1 V 的输入范围内,分别对应产生[0, 0], [0, 1],[1 ,0], 与[1, 1]数字信号。如果我们的系统从这个ADC中得到了[1, 0]的输出,我们估计输入的信号为0.5 V。假设实际的输入信号为0.4 V,那么在这个过程中,系统产生了0.1 V的量化误差。这个量化误差可以通过提高有效位宽得以减小。

现在,让我们来看一下平均如何帮助我们提高分辨率的。在实际场景中,ADC的输入电压与读取包含了一定输入噪声。在这个展示中,我们假设噪声为高斯形状的白噪声,并且中心值为0.4 V。通过多次采样,我们可以构建一个所得二进制数输出的直方图。

测量

图3:0.4 V为中心,高斯型状噪声的信号演示图。蓝色的直方图展示了多次采样后,一种可能的ADC输出分布。

从图中可以看出,尽管大多数采样点都落在了[1, 0],然而依然有一些采样点落在了其他区域中。如果我们取平均值,就可以得出实际电压在0.25 V和0.5 V之间,并更趋近于0.5 V。因此,通过多次采样(过采样),我们可以对输入电压的实际值有更好的预估,打破原有的位数限制。

然而,在这个过程中我们做了以下假设:首先,输入的信号或ADC本身所产生的噪声为高斯白噪声。而且,这个噪声本身超出了相邻的两个数位的检测界限。如果这些条件不能达成,则过采样可能并不能有效提高分辨率。

过采样对分辨率的影响可以通过下面的公式来表述,其中 是ADC原有的采样率, 为过采样之后的有效采样率。

测量

有关这个公式的具体推导,请参见下列书籍:

Li, Tan. Digital Signal Processing. Academic Press, 2008

过采样在Moku当中的应用

过采样在许多Moku的仪器中,会根据用户的设置自动启动。在这个应用指南中,我们将展示Moku:Go的数据记录仪与PID控制器是如何通过过采样来提高测量质量的。

Moku:Go数据记录仪

Moku:Go本身搭载了12位的ADC,拥有10或者50 Vpp的输入范围。在10 Vpp的范围下,理论最小量化步骤为10/212,大约为2.44 mV。通过选择Precision(精准)模式,数据记录仪会自动过采样以提供更高的分辨率。我们将一个波形发生器的输出连入Moku:Go,输入一个0 V直流信号。然后,我们每10秒增加1 mV的电压,并使用数据记录仪在10 Sa/s的采样率下记录数据。

测量

图4: 通过Moku:Go数据记录仪记录1 mV阶梯形状信号。

所采集的数据被转存为.csv格式发送到电脑中。所测得的电压被绘制到了下图中。我们可见,虽然ADC自身只有12位的分辨率,然后仪器依然可以解析1 mV的增长。

测量

图5:数据记录仪准确记录了1 mV的增长。

Moku:Go PID控制器

PID控制器是闭环控制中常用到的元件。Moku:Go所搭载的FPGA可使其拥有在20 kHz小于30°的输入输出延时,可用来控制一些高带宽设备。由于输入输出延时,Moku的PID可以远小于125 MSa/s的速率进行采样。这样可以提高大约2位的分辨率,使其可以分辨1 mV的信号。在这个实验中,我们将演示Moku:Go的PID是如何自动应用过采样的。我们关闭I与D控制器,并将P控制器调节到40 dB的增益。这样,任何输入信号都会被放大100倍。我们再次输入图5中所展示的1 mV阶梯信号,并通过PID自带的观测点观察输出(图6)。

测量

图6:Moku:Go PID自动过采样输入信号,并将信号再放大100倍后,以100 mV的增长输出。

输出的信号被展示在内置的示波器中。我们可以看到,尽管ADC的自身分辨率只有2.44 mV,PID依然可以解析1 mV的信号。

结论

过采样是一种通过调节采样率,有效提升DSP有效位分辨率的方法。Moku设备依托于其强大的FPGA信号处理能力,自动将这一个方法应用到诸多仪器中,有效的提高了测量的准确性和精度。

原文标题:【分享】数字信号处理中提升有效位分辨率的方法

文章出处:【微信公众号:贝思科尔】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分