08-26-2025 09:51 AM
Hello friends,
I need some help. I am trying to determine the time between each pulse emitted by an output of the USB-6351 card on my test bench.
To be more specific, this test bench emits an output signal from an external source in the form of a Gaussian pulse [5V;0V] around 10kHz. As soon as the card detects a signal edge, it sends a pulse signal to the output to activate a device. I want to know the time between each pulse emitted by the card. Do you know how to do this?
To make things easier, I have attached the corresponding vi to this message.
Do I need to put a loop and read the signal? Is there an existing function for this?
If you have the answer or a starting point, I'd love to hear it!
Best regards
Solved! Go to Solution.
08-26-2025 12:36 PM
Can you explain the meaning of a "Gaussian pulse at 10kHz"? Do you have 10k pulses per second? Is the 10kHz a carrier frequency?
08-27-2025 01:21 AM
Good question!
My signal will be similar to the one attached to the email. It is a square wave distributed around 10 kHz.
But the shape of the signal doesn't matter. A continuous square wave with a frequency of 10 kHz is sufficient to test the program.
I would like to measure the time between each input signal in order to determine the characteristics of the source. But I don't know how to go about it. Using a loop with a timer? Or is there another, more accurate solution?
08-27-2025 05:18 AM
You're in the right place (the Counter/Timer forum), but on the wrong track (code shows an output task rather than a measurement task).
Try starting from the shipping example named "Counter Read Pulse Width and Frequency (Continuous)" and choose the tab for Period measurement. That will measure all the interval times between consecutive rising edges of the external frequency. (If you need to measure between falling edges, you can wire that up in the block diagram to override the rising edge default.)
-Kevin P
08-29-2025 02:18 AM
Thanks Kevin_Price !
It's the good solution ! Thanks for your help !