10-04-2011 05:41 PM
I set up a trigger so that my 9263 would generate a set number of sine sweeps while my 9234 cards acquire the data with displacement sensors. I inserted a 39 sample delay in my DAQmx read function to account for the delta sigma ADC in the 9234, but I am still getting a 240 sample delay between acquisitions. My series of sweeps are completely built into a single array prior to outputting the signal, where as the acquisition is contained in a for loop for the user-defined number of "scans". Is it possible that my for loop (or the functions within my for loop) is causing the delay or am I missing something else? Attached are the functions that I am using. Any information is greatly appreciated!
Solved! Go to Solution.
10-05-2011 11:43 AM
What frequency are you running at? If you're running at 51.2 kS/s, then you should see a 39 sample delay. Otherwise, use the following equation to calculate the delay.
Input Delay
38.4/ fs + 3.2 μs
I looked at the program and couldn't find the property node/VI where you compensate for the filter delay. Can you elaborate a little bit on the displacement sensors and how you're determining the 240 sample delay? You could also use a DAQmx Timing Property Node to read the filter delay on the 9234 and check the actual delay.
The For loop shouldn't be causing any delays as it's just preloading all the data onto the DAQ buffer.
One thing to watch out for - you need to close references on your DAQmx tasks with a DAQmx Clear Task.vi.