You probably want some way to move waveforms efficiently from one loop to another. The tutorial Managing Large Data Sets in LabVIEW
should give you some ideas you can use. You can then analyze your data in one loop and average in another. You may want to use the decimation algorithms in the tutorial to speed things up for display.
Another thing to watch out for is that simply averaging your waveforms as you are doing will tend to smear you data over a one sample time width. This is because the trigger position is more or less randomly distributed in time between two samples. If this is OK, you can continue as you are. If not, you can get the exact trigger position from the wfm info
cluster of the cluster fetch or the t0
value in the waveform of the waveform fetch, provided you set the timestamp type
. You can then use the resample VIs to shift your waveform in time a subsample amount before doing your averaging. If your version of LabVIEW does not have the resample VIs, you can use Fourier transforms or Savitzky-Golay filters to do this fairly quickly and easily. Both techniques are explained in the latest copy of Numerical Recipes in C
, by Press et. al.
Good luck. Let us know if you need more help.
This account is no longer active. Contact ShadesOfGray for current posts and information.