Using an external sample clock is very simple to do in LabVIEW. Record The best solution to this problem would be to use 1 Analogue Input, and 2 Counter/Timers:
The Method:
1. Use Counter_0 to give you the internal output of the 20MHz internal clock. This will give you a number (we shall call 'x') that increments every 50ns. 2. Use Counter_1 to do a positive edge detection on your digital pulse train signal that you wish to use as your analogue sample clock. (See DAQmx example built into LabVIEW for external analogue input). 3. Whenever an edge is detected from step 2, subtract the current value of 'x' (from step 1) from the value of 'x' upon the last registered rising edge from step 2 (using a shift register). The result of this we shall call 'y'. 4/ Multiply 'y' by 50ns to get the number nanoseconds between this pulse and the last pulse. You can then easily work out the relative time of each pulse and store this in an array.
The suggested method looks perfect. I can understand theoretically it should be fine. Question is how to implement this in LabVIEW. I will try to implement this method in LabVIEW.