LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Pulse measurement, Dynamic Data, Labview or Diadem? Which method?

Good afternoon to all of you,

 

I am lacking imagination to measure a time difference between two pulses. I designed a VI to send and receive a pulse with two different piezoelectrics. I then have two imput channel (dynamic data) with the sent pulse on one side, and the received pulse on the other side.

 

The time difference is very small (around 20 microseconds). I tried various approches to treat the dynamic data with for example a point by point FFT , percentage of the maximum amplitude or other criteria. However, I´m confused about how to extract the correponding time when the criteria is met. I want to use the time information of the dynamic data.

 

As I can´t find an appropriate solution to achieve this, I saved the data into a TMDS file and opened it with Diadem. Graphically, using a high "magnification", zoom on the curve at the very beginning of the pulse, I can apply a criteria (for instance get the time for the third observable oscillation) and get a physical, right value of the time difference.

 

However that criteria is pretty bad as it depends on the resolution of my DAQ. Moreover, ideally, I would like to be able to measure that time difference at each iteration of the VI to build a "live" graph.

 

The best solution I found right now is to store the data in an array, work with the array to get the time difference and at the next iteration overwrite this same array. I read many posts on dynamic data and arrays and I still did not find how to get  a simple time-amplitude array from dynamic data.

 

Do you have any clue about that last question?

 

Any suggestion on how I could measure accurately the beggining of the pulse?

 

 

 

Thank you in advance,

 

David

 

0 Kudos
Message 1 of 5
(2,217 Views)

David,

 

1. I do not know of anyone who really likes the dynamic data type.

2. Use of the FFT to find timing differences seems unlikely to work.

3. The technique you use manually with Diadem eeems reasonable. Can you automate it in LV?

4. The only data available to your program(s) is the data coming from the DAQ. Unless you have multiple pulses and can do some interpolations or averaging, you can never do any better than the resolution of the A/D converter.

 

I have always liked working with array data.  For many years that was the only option.  You simply keep track of the sampling frequency or period separately and use that to scale the results appropriately.  The time interval between elements in the array is 1/fs.

 

Finding the beginning of a pulse is very dependent on the characteristics of the pulse.  Can you post some data showing what the pulses look like and where you think the beginning should be?

 

Lynn

Message 2 of 5
(2,203 Views)

Thank you (again) Lynn,

 

Here are the general view of the pulses (12 of them), a zoom on one of them and a higher magnification zoom at the beginning of the pulse. In every case, the emiteed pulse is first, and the received pulse under.

 

I have to precise that the signals are acquired at 200KHz. I guess I can expect a temporal resolution of 5 microsecond.

The data acquisition is followed by filtering (bandpass : 4450 - 4550Hz) for a 4500Hz signal to focus only on the relevant frequency.

 

Anyway, like I wondered in a previous post, and you also answered me on that one, attenuation due to piezoelectrics not very directive suggest that the first observable pulse may be function of attenuation and in that case, the measurement would be erronated.

 

I also tried in Diadem finding the enveloppe of the pulse, and extracting the time value for an amplitude of 0.1*MAX(enveloppe) for instance, without success due to the enveloppe finding parameters.

 

The next step I´d have to do now,is to convert dynamic data to an array of time and amplitude. As easy as it sounds, I´m still blocked here.

 

Thank you !

 

 

Download All
0 Kudos
Message 3 of 5
(2,200 Views)

I could convert dynamic data to waveform. I imagine it will be easier now. I will keep on trying to appropriately convert it to an XY array ..

0 Kudos
Message 4 of 5
(2,194 Views)

Update: 

 

I could convert dynamic data to waveform and extract both time and amplitude array. I effectively see a 5 microsecond between each time.

 

Then, by scanning the array with a for-loop, I extract the first value with an amplitude of X% (10 right now) of the maximum of the pulse and stop the for loop so that the time extracted is the smallest one with that value.

 

The calculation of the speed is direct and I get a physical value, close to 2000m/s (coherent with the bibliographical value of the sample material (PMMA)) with certain uncertainty, compensated by averaging on 10 measures (around 7seconds).

 

I know will go on with experimental to check the applicability of the method.

 

Thank you so much Lynn for the support and other users for help also.

 

Smiley Happy

 

David

0 Kudos
Message 5 of 5
(2,192 Views)