如何消除测量和数据采集时出现的鬼影效应?

更新 Apr 21, 2023

环境

硬件

  • Multifunction I/O Device

软件

  • LabVIEW
  • Measurement & Automation Explorer (MAX)

我正在使用一个多功能数据采集(DAQ)设备扫描其多个通道的测量值。我发现在扫描过程中,其中一个通道的测量值会对后续通道的测量结果产生影响,但当我只读取单个通道的测量值时,得到的测量结果又是正确的。我应该如何消除这种鬼影效应?

请您完成以下的步骤以消除鬼影效应:
  • 选择具有较低源阻抗的传感器。
  • 降低采样率并增加通道间切换的延迟时间,这样可以为放大器提供足够的稳定时间。详细内容请参阅增加DAQ通道间的切换延迟以获得更长的稳定时间
  • 使用缓冲放大器或缓冲电路,将源阻抗降至1k欧姆以下。详细内容请参阅降低源阻抗以消除相邻输入通道上的鬼影效应 。
  • 对输入信号进行规范整理,将通道之间的电压波动最小化。
  • 选择高阻抗通道作为扫描列表中的第一个通道。
    • 注意该方法在使用循环模式进行采样时无效。
  • 避免多路复用 - 一次只对一个通道进行采样,或切换至同步采样的DAQ设备。
  • 通过“虚拟通道”对选择的通道进行两次数据读取。关于该方法能够消除鬼影效应的原因及其实现方式,请参阅下文中的“为什么会出现鬼影效应?”。
    • 注意 多路复用的X或M系列DAQ设备支持此项功能(重复读取通道数据),但C系列模块不支持该功能。
如果在您采集到的样本中出现了其他类型的信号,例如其他频率的信号,或是对单一通道进行采样时出现的信号偏移,原因可能是信号串扰。有关串扰及其故障排除步骤,请参阅模拟输入通道中的未知电压,浮动或串扰


为什么会出现鬼影效应?

被扫描通道的高源阻抗会导致其所需的稳定时间增加。模数转换器(ADC)上有一个小的内部电容,其与高源阻抗相结合形成一个低通滤波器。源阻抗的增大使得该滤波器的时间常数随之增加,因而其稳定时间也会增加。简化的硬件框图如下所示:

当多路复用器从一个通道切换到下一个通道时,电容C开始进行充放电,将两端的电压从前一个通道的电压值转变到当前所连接通道的电压值。如果源阻抗太大,电容两端的电压在短时间内无法达到正确的电压值,因此ADC将会测量到先前扫描通道中的残留电压。这种不正确的读数即是鬼影效应,它常被错误地称为串扰。

举例来说:假设R0很小(<1k欧姆),而信号源0是一个幅度为2V且没有偏置的正弦波。此外,假设R1很大(100k欧姆左右)且信号源1保持恒定的5V。当单独对这两个信号源进行测试时,您不需要在多路复用器的通道之间进行切换,您将看到如下的信号测量结果:

 

但当扫描两个通道时,通道0的正弦波信号将会反映到通道1的信号上:

若没有信号源与通道相连,扫描该通道时也会出现同样的现象,因为源阻抗在这种情况下可被看做无限大。如果信号源1与ai1间的连接完全断开而仍然对ai0和ai1进行扫描,您将看到如下的测量结果:

在测量高阻抗通道前先扫描一个接地的通道以使电容器放电,并借此消除鬼影效应的建议是不正确的。 ADC所测电压达到正确取值所需的时间不仅是电容的负载相关,它还与上一个通道和当前通道之间的电压差紧密相关。因此,最好对输入信号进行规范整理,最小化通道之间的电压波动。

如果接地电平(0V)与高阻抗通道的电平值间的差距远大于其他扫描通道与高阻抗通道间的电压差,则采集设备将会需要更长的时间才能使高阻抗通道的电平达到所希望的读数。只有当高阻抗通道的电平值比其他扫描通道更接近0V时,将高阻抗通道之前的扫描通道接地才能够起到作用。

在前面的示例中,将高阻抗通道之前的扫描通道接地并不能使高阻抗通道测得正确的读数。下图是上述示例的波形图,其中在低阻抗通道和高阻抗通道之间添加了接地通道(ai2)。请注意,高阻抗通道的实际电压值应为5V。

如上所述,相邻通道间大幅度的电压值变化将增加这些通道上的电压稳定时间,导致读数不准确。为了减小两个通道之间的电压变化幅度,您可以在需要获取准确读数的通道之前增加一个额外的虚拟通道。虚拟通道使得同一通道上的电压值可以被读取两次,这样可以减小后续通道间的电压变化幅度,从而获得更准确的读数。

例如,假设ai0上的电压为10V,ai1上的电压为2V。通过在ai1之前对ai1虚拟通道(ai1_dummy)进行扫描,您可以让ADC采集到的电压值有更多的的时间达到正确的读数,从而减少ai0和ai1之间的鬼影效应。您可以在NI MAX中创建虚拟通道,然后将其添加到LabVIEW的扫描通道列表中,如下图所示:


请注意,所有通道(包括虚拟通道)的总采样率不应超过设备的最大总采样率。