7
\$\begingroup\$

I have an ultrasonic emitter, and two ultrasonic receivers. When the emitter emits a pulse, the receivers get the signal at different times. I am only interested in the difference between the two reception times.

At first, I was thinking of using a microprocessor, measuring individual arrival times, and then taking the difference. Taking two absolute measures when only a difference is required feels somewhat unnecessary, and may add inaccuracies.

Is there a way to measure pulse time differences in hardware, i.e. analogically? Would this be advisable?

\$\endgroup\$
6
  • 2
    \$\begingroup\$ It depends on what you want to do with the result, and whether or not that result is more useful as an analog signal or a digital value. Why do you say taking the difference with a microprocessor is "unnecessary"? \$\endgroup\$
    – Dave Tweed
    Dec 20, 2012 at 20:04
  • \$\begingroup\$ @DaveTweed: What is unnecessary is taking two absolute measures, since I'm only interested in a difference. \$\endgroup\$
    – Randomblue
    Dec 20, 2012 at 20:50
  • \$\begingroup\$ I haven't heard Analogic for 15 years ( termed coined by a fraud cam finger authenticator for the military say the 3D cam image was 3D vs 2D digitized linear scanner ) On delta echo measurements you want to consider high speed differential amplifier to digitize. Choose slew rate and BW according to requirements. I prefer ECL comparators for slicers as the prop delay is matched within a sub-nanosecond. I can't recall the p/n since I used one last >20yrs ago \$\endgroup\$ Dec 21, 2012 at 1:09
  • \$\begingroup\$ I did design a Doppler tracking telemetry system using two RF antenna , sub-carrier OCXO mixed with ground station OCXO to determine azimuth rocket tracking in the 70's. THat was before ECL and I used bipolar slicers fraught with asymmetric delays and slew rates.. but worked for ns resolution. 1st hit... something like this html.alldatasheet.com/html-pdf/122648/ONSEMI/NBLVEP16VR/219/1/… \$\endgroup\$ Dec 21, 2012 at 1:10
  • \$\begingroup\$ or simpler with this MC10EP29 << then use a time interval counter to measure the pulse width in hardware. or use PLL or use sawtooth sampling phase detector into S&H to quantize image. \$\endgroup\$ Dec 21, 2012 at 1:19

4 Answers 4

3
\$\begingroup\$

Use a so called TDC, e.g. the acam-gp21: http://www.acam-usa.com/GP21.html. It even has an example for ultrasonic measurement in the manual.

\$\endgroup\$
2
\$\begingroup\$

You could do it in hardware with some comparators, a fast clock, a couple of counters and a subtracting circuit...

You could also use the comparators with some op-amps configured to integrate, then subtract the difference in voltage level between the two integrators, then use some means to convert that voltage difference into a meaningful time value.

There are probably some other creative ways of doing this but it seems like a race to an ever-more elaborate Rube Goldberg machine. This is the kind of application a small micro excels at, and depending on your implementation, would be far more accurate at than an analog circuit requiring precision components and careful tempco planning.

\$\endgroup\$
2
\$\begingroup\$

A few MSP430 devices have a peripheral called Timer D that has 4ns time period and I've seen it used for these kind of applications. See MSP430 with Timer D

It should simplify development significantly.

\$\endgroup\$
5
  • \$\begingroup\$ Thanks. Do you know if ARM processors have a similar thing? \$\endgroup\$
    – Randomblue
    Dec 20, 2012 at 20:48
  • \$\begingroup\$ I don't know of any ARM processor with that kind of peripheral since it's very specific. You then have a few options: Implement this in FPGA or a high frequency processor, or even with discrete components. MSP430 was a relatively easy and inexpensive solution. \$\endgroup\$ Dec 20, 2012 at 21:13
  • \$\begingroup\$ Realistically even a 1 uS period is likely to be sufficient for most purposes - that's a 1/3 of a millimeter in air, and 5mm in iron, and if that's not good enough timers clocked >10 MHz are available from numerous sources. \$\endgroup\$ Dec 20, 2012 at 21:43
  • \$\begingroup\$ Yep. 4ns would be probably overkill. 1.3um or so (probably less due to other things but still, very fast) \$\endgroup\$ Dec 20, 2012 at 22:11
  • \$\begingroup\$ it's just a timer with a capture input. Nothing earth-shattering but very useful for this kind of thing since it really relaxes the micro's requirements. \$\endgroup\$
    – akohlsmith
    Dec 20, 2012 at 23:31
2
\$\begingroup\$

From your previous post I know that you will going to use a 400ST/R100 ultrasonic transducer. The main problem with these transducers that they are narrowband. Look at received signal (The first measuring results with oscilloscope) http://www.technik.dhbw-ravensburg.de/~lau/ultrasonic-anemometer.html maybe now you will understand the problem.

TOF detection methods

1) Reference level crossing, problem - it's depend from received signal level, if you going change distance it's will be a problem.

enter image description here

2) Zero crossing or signal max possition finding requires signal digitization. To find max possition for such signal is hard because it's have a flat top (look at signal envelope).

3) Correlation or L1, L2 norms calculations. To get max possition of correlation accurately use parabolic interpolation. If you calculate correlation between received signal you will get something like this. (It's autocorrelation of received signal after transmiting three 40KHz pulses)

enter image description here

As you see the main problem of correlation is side lobes. If you change excitation signal to Chirp side lobes will be lower. Despite these side lobes I was managed to get 0.9ns standar deviation of TOF, with equipment I mentioded in your previous post.

Witch method to choose? It's depends of accuracy you need.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.