Synchronized Data Delayed When Using DSA Devices

Updated Aug 23, 2019

Reported In

Hardware

  • NI-9234
  • USB-9234
  • NI-9230
  • NI-9232
  • NI-9233
  • USB-9233
  • NI-9250
  • USB-4431
  • USB-4432
  • PCI-4462
  • PCI-4461
  • PXI-4465
  • PXIe-4464
  • PXI-4461
  • PCI-4474
  • PXI-4472
  • PCI-4472
  • PXI-4472B
  • PCI-4472B
  • PXI-4498
  • PXI-4495
  • PXI-4496
  • PXIe-4499
  • PXIe-4492
  • NI-9244

Driver

  • NI-DAQmx

Issue Details

I notice a phase shift, or skew, between two waveforms when I try to synchronize my Dynamic Signal Analyzer (DSA) DAQ device with:
  • a normal DAQ device. I am using a digital trigger to start all devices, but still, I notice there is phase shift, or skew, between the two waveforms. For example, if I acquire the same signal with a PXI-6221 and a DSA device such as the PXI-4461 at the same sample rate using a shared start trigger, the waveform acquired by the PXI-4461 will lag several samples behind the waveform acquired by the PXI-6221.
 
  • another DSA device. There is a delay between my NI C series DSA modules when I synchronize my voltage inputs using channel expansion in LabVIEW. 

Solution

This phase shift or delay is typically the result of the group delay of the anti-aliasing filters common on the front-end of Dynamic Signal Analyzer devices.

You can compensate for this group delay in several ways:

Option 1: Channel Expansion
If the two devices can be used in a single task using Channel Expansion and the devices supports Filter Delay Removal, driver will compensate for the delay automatically. The caveat is that the modules will need to sample data at the same rate.

Using Channel Expansion with devices that don't support Filter Delay Removal like C Series devices, PXI-4461/4462 or PXI-447x modules will synchronize the devices, but will not remove the filter delay.

Option 2:  Using the RemoveFilterDelay Property
If the devices cannot be used in a single task (i.e. if you need different sample rates) and the DSA device(s) support  Filter Delay Removal, such as with the PXIe-4464, you can use the AI.RemoveFilterDelay property (DAQmx Channel Property Node: Analog Input»General Properties»Filter»Remove Filter Delay) to automatically discard filter delay samples.

Option 3: Manual Compensation
If the two devices cannot be used in a single task and Filter Delay Removal is not supported, such as with C Series, PXI-4461/4462 or PXI-4472 modules, you can compensate for the delay manually by performing a dummy read on the DSA channels and throwing out a certain number of initial samples on the DSA device, prior to reading the samples from both devices simultaneously, as shown below:
Note:  The number of samples to read and throw out can be determined experimentally, or by reviewing the the group delay or filter delay equations or tables found in your DSA device's specifications documentation.

Option 4: Using Analog Triggering with DSA Devices
If you are using analog triggering to start the DSA device task, the filter delay will not be observed, since the analog trigger circuit comes after the anti-aliasing filter; this prevents aliased components of the analog signal from firing the trigger.

For more details on this topic, please see the Analog Triggering section of the Dynamic Signal Acquisition User Manual.

Additional Information

NI Dynamic Signal Analyzer devices use anti-aliasing filters to remove frequency components above the Nyquist frequency, which impart some amount of phase distortion to the filtered signal, which typically shows up as a delay or phase shift. The exact amount of delay depends on which DSA device is being used.  An equation or table of delay values is typically specified in the specifications documentation for the device.  You may find it listed as input delay, filter delay, or group delay.

Because this filter delay only occurs on DSA devices, a DSA device may appear to lag behind other devices during its acquisition, if the initial delay is not removed prior to comparing the data points.

 

WAS THIS ARTICLE HELPFUL?

Not Helpful