Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

AO buffer output, update rate is different to sampling clock rate

Solved!
Go to solution

Hi,

 

I am doing a buffered AO output using one channel. I have a buffer with a waveform of 200000 pts with  a  triangular waves of a 1000pts each repeating itself 200 times. If I want a frequency of 1Hz, I simply update 1000pts of this waveform and if I wanted 5Hz, then 5000pts and so on. But there are certain frequency I will not be able to use as the update rate (The number of samples I ask it to update) is different to the sampling clock rate, which makes synchronisation with other trigger difficult ( a incomplete cycle) .  Frequency such as 3Hz (update 3000pts),   6Hz(update 6000pts) 7(update 7000pts), 9(update 9000pts), .... 11Hz  to 15 Hz and is not valid in the sense that the update rate is different from the sampling clock rate. Which makes a whole lots of frequecy inaccessible!!  Can someone tell me what determines the forbidden frequency?  Is that something to do with the hardware?

 

regards

 

 

 

0 Kudos
Message 1 of 4
(4,347 Views)
What's your hardware? What does the manual/specs say about valid sample rates? Does it say an a master clock evenly divided by some integer?
0 Kudos
Message 2 of 4
(4,344 Views)

Hi Dennis,

 

I am using the NI PCIe-6361, X Series DAQ (16 AI, 24 DIO, 2 AO). I looked at the manual and I could not find any indication of the allowable sampling clock rate. I guess the timebase indicated is 1e8 Hz on the VI and what ever number of samples  I want to output has to be divisible into this number?  Take for instance 120Hz, which means I am updating 120 000 samples. But the sampling clock rate gives 120 048 samples which is a little more than 120 cycles. 

 

If this is the case that leaves a  whole lots of inaccessible frequency I can not use. How would I overcome this problem?

 

 

regards

 

 

0 Kudos
Message 3 of 4
(4,322 Views)
Solution
Accepted by topic author halcyon

One thing you can try is to change the number of samples per cycle. This cannot give precisely accurate frequency but can reduce the average error. 

 

At 120 Hz the error currently is about 400 parts per million (ppm). The timebase accuracy is 50 ppm, so this error is less than 10 times the inherent error due to the timebase.

 

Consider this setup: The closest nominal sampling frequency you can get is 120048 Hz (for 1000 samples per cycle at 120 Hz). If your buffer contained 1200 samples per cycle, 100 copies of it would produce 1 second of data at 120.048 Hz. But if the buffer contained an average of 1200.48 sampes per cycle, you would get the exact frequency.  Of course getting 0.48 of a sample is tricky. But sort of doable. If you use 48 cycles at 1201 samples per cycle and 52 cycles at 1200 samples per cycle, the total number of samples in one second = 120048. The average frequency will be exactly what you want. Instantaneously the frequency is slightly higher or lower than the exact value.  By alternating 1200, 1201, 1200, 1201, ...1201, 1200 over the 100 cycles the jitter is fast.  If you group all the 1200s together and all the 1201s together the frequency jump may be more noticeable.  Whether this kind of jitter is acceptable depends strongly on what you are doing with the output.

 

This technique is used in some frequency synthesizer systems.

 

Lynn

0 Kudos
Message 4 of 4
(4,299 Views)