DAQ

From LabVIEW Wiki
Jump to: navigation, search

DAQ Data Acquisition.

Crosstalk

Crosstalk is the influence of one channel on the measurement of another channel. Therefore the signal of a channel may be influenced by its neighbouring channels and vice versa.

Crosstalk behavior is not surprising at all, and is common to all DAQ boards with a scanning front end. Scanning works great under the right circumstances, yielding highly accurate results at low per-channel cost, but it can cause all sorts of problems under certain conditions. To explain what is happening; there is capacitance at the output of the channel multiplexer on the DAQ board. DAQ board manufacturers don't put capacitors there, it comes for "free" as an undesired effect in the multiplexers, PGIA, and board layout. Anyway, when you scan, the voltage on one channel gets stored on the capacitance and transferred to the next channel in the scan. If the impedance of the source on the second channel is not low enough, the source can't charge the capacitance to its value in its allotted time, and you get the crosstalk effect.

Crosstalk Workarounds

There are several things you can try. First, don't scan any faster than you have to, and set the interchannel delay as large as you can tolerate. I'm not sure what value of interchannel delay NI-DAQ picks for you as a default, but I know you can change it easily by wiring up the appropriate control. Obviously, don't scan at all if you don't have to. Second, use low impedance sources. Try to stay under 1 kohm. Third, scan a grounded channel between your other channels. This will discharge the capacitance, and virtually eliminate the channel coupling. However, if your source impedances are too large, your channels still won't read correctly, since they'll still have to charge up that capacitance. This method also costs you one channel and half your speed.

Usually the best way to measure phase angles between noisy signals is the CrossCorrelation function in Analysis >> Digital Signal Processing. Crosscorrelation (whether by this VI or any other means) uses ALL the data at ALL phases to determine the relation between the two signals, so its signal-to-noise ratio improves as the square root of the number of samples processed. No fancy sampling near a single site (peak or zero crossing) can match this S/N. And crosscorrelation works even for signals that are wildly non-sinusoidal.

In fact, it is a good general rule to use as much data as possible in ANY measurement. For instance, use rms measurements to determine the relative amplitudes of two noisy signals, autocorrelation to measure frequencies, etc.

Measure the relative phase between Signals

Usually the best way to measure phase angles between noisy signals is the CrossCorrelation function in Analysis >> Digital Signal Processing. Crosscorrelation (whether by this VI or any other means) uses ALL the data at ALL phases to determine the relation between the two signals, so its signal-to-noise ratio improves as the square root of the number of samples processed. No fancy sampling near a single site (peak or zero crossing) can match this S/N. And crosscorrelation works even for signals that are wildly non-sinusoidal.

In fact, it is a good general rule to use as much data as possible in ANY measurement. For instance, use rms measurements to determine the relative amplitudes of two noisy signals, autocorrelation to measure frequencies, etc.

Scanning SCXI 1100 or 1102 channels

There is a hardware limitation on the 1100 and 1102 cards that only allows you to scan contiguous channel lists. You must scan this way but you do not have to read all the channels. If you use the "Channel to Index.vi" (from the "Calibration and Configuration" palette) and "AI Buffer Read.vi" (from the "Advanced Analog Input" palette) you can read a subset of the channels that have been scanned.

See Also