How Can I Compensate for Different Group Delays with C Series Modules in LabVIEW FPGA?

Updated Sep 21, 2023

Issue Details

I am acquiring data from a NI 9215 and NI 9229 in LabVIEW FPGA. When synchronizing both of these modules and feeding in the same signal to both of them, I see a phase difference between them. I know that this is due to the delta-sigma ADC used on the NI 9229, but how can I compensate for this?

Solution

Group delay is a trait inherent to delta-sigma analog-to-digital converters (ADC).  All of the NI C Series modules which use a delta-sigma ADC have a specification for group delay in the User Manual.  Group delays are typically different for each ADC and can vary depending on the sampling rates.  A method to compensate for these differences in group delays is to use a filter which delays a signal by a fractional number of samples. 

Additional Information

Filters are used to add an artificial delay so that the total delays on both modules are equal.  For example, the NI 9215 has a group delay of 0 samples because it uses a SAR ADC.  On the other hand, the NI 9229 has a group delay of 40.0 samples due to its delta-sigma ADC.  The number of samples in the group delay can be seen in the specification Input delay, in the specifications documents in the Related Links section below.  By creating a filter with a delay length of 40.0 samples and applying it to the NI 9215 data, both modules will have the same delay and the data will be synchronized.

Was this information helpful?

Yes

No