I'm designing an air ultrasound range finder that bounces ultrasound signals off a person's head to measure the distance of the device from the head. The goal is to get ~1mm accuracy as a device is actively being moved away from a person's head (range of distances is 0mm to ~250mm) so I need a pretty good update rate (>30 Hz). Of course, there are also some issues with the reflectance of the scalp and of the occlusion caused by a person's hair.

  1. How do I determine the best frequency transducer to use? I was thinking 40 kHz due to the low size components and the market availability.
  2. Should I go for narrow beam or wide beam? I think narrow beam would have better reflectance, but wouldnt they only work for specific ranges?
  3. When I mount these transducers onto this device, do they need to be at an angle relative to each other to optimize the reflection? Or can their transmit axis just be normal to the same plane?
  4. What kind of signal processing should I use? Obviously low bandwidth ultrasound transducers will have a fairly broad waveform, so I think correlation won't work too well. But will a threshold method be accurate enough? Maybe there are other methods I haven't considered?
  • \$\begingroup\$ 0 mm min distance is not realistic. Most 40kHz ultrasonic transmitters use a burst of multiple cycles to "ring" the transducer. The receiver will need to ignore this time and a little more for the receiver to recover from the effects of the transmission. A fast rise-time pulse into a piezo-electric transducer can be a great improvement into an appropriate transducer (like ringing a bell), but time for multiple cycles is still required. Higher frequency can help, but be aware that too high frequency can attenuate very quickly in air. \$\endgroup\$
    – Tut
    Mar 5, 2015 at 12:51
  • \$\begingroup\$ "Polaroid Sonar" used for photo range finding, and should still be available in second hand markets. Since a face is not flat where would the sound be echoed from to yield an accuracy of even one mm. \$\endgroup\$ Mar 5, 2015 at 15:15
  • \$\begingroup\$ Having played with 40kHz transducers a bit I think you're being a bit optimistic as others have but you do (or can) get a decent amplitude from the first cycle of drive. You do of course need to make sure you start every pulse at the same point in the cycle, i.e. synchronise you clock and drive frequency. \$\endgroup\$
    – Chris H
    Mar 5, 2015 at 16:36
  • \$\begingroup\$ I understand that 0mm is not realistic, but I can mount the transducers away from where the device will contact the head (at a fixed, known distance). So I can add an offset here. \$\endgroup\$ Mar 5, 2015 at 18:48
  • \$\begingroup\$ And I understand that the face has texture to it. I guess what I mean to say is that I want to detect the ultrasound signal aspect of this to 1mm accuracy, and I can factor in the shape of the face/head in different ways. \$\endgroup\$ Mar 5, 2015 at 18:51

2 Answers 2


The goal is to get ~1mm accuracy

Wavelength is determined by speed and frequency. Speed is approximately 340 m/s and therefore wavelength is 8.5mm.

So what you may ask. Any standing waves you might get will occur every 8.5mm and these could ruin you expected accuracy of 1mm.

You may then point out that you will use a pulse driven into the transducer. The 40kHz resonators I've come across are very "resonant" and generating a pulse may not be that easy.

I'm saying these things because I think you need to take them into account.

A narrower beam seems logical to me or else there could be several reflections from different objects coming back and obscuring your desired distance measurement. Also remember that narrow beam devices can still produce/be susceptible to side lobe interference.

As for your other questions I think you need to determine what you want to transmit before you think about signal processing.

  • \$\begingroup\$ I've played around with the 40kHz transducers a bit, and yes, they are very resonant. I've found that driving the transmitters at high voltages for just 5 or 6 periods (I think square wave is fine since the transducer acts a BPF) works best. Otherwise the receivers will ring for a long time and will prevent me from doing the next update. Given this very brief and aggressive drive signal, is there an ideal signal processing method? \$\endgroup\$ Mar 5, 2015 at 18:58
  • \$\begingroup\$ It's not my field. I just know what I've seen in the past when using ultrasound to transmit slow data in an application where nobody could decide what RF frequency to use (too many cooks etc..) \$\endgroup\$
    – Andy aka
    Mar 5, 2015 at 19:28

Sound takes about 3 µs to travel 1 mm. This means that to get 1 mm resolution in a round-trip delay measurement, you'll need to have about 6 µs of time resolution. This is much shorter than the 25 µs period of your signal, so you'll need to be able to do phase angle measurements.

Ultrasonic range finders do not work down to zero distance. They need a minimum time from the end of the transmitted pulse to the beginning of the received pulse (even when using separate transmit and receive transducers). Because of the mechanical resonance of the transducers, the transmitted pulse will be several cycles of the signal frequency. For example, 10 cycles of 40 kHz is 250 µs, so allowing something like 500 µs before the receiver is ready means that you have a minimum usable distance on the order of 80 - 100 mm.

  • \$\begingroup\$ I think 8 cm is something I can deal with because I can mount the transducers a fixed distance away from where the device will contact the head, and then subtract this distance out in software. \$\endgroup\$ Mar 5, 2015 at 18:54
  • \$\begingroup\$ As for the phase angle measurements, what do you suggest? Measuring phase will only determine the time of arrival within one period, but it won't tell me which period the signal is arriving in. What is the best way to determine the period of arrival? \$\endgroup\$ Mar 5, 2015 at 18:56
  • \$\begingroup\$ Yes, the "integer ambiguity" is a problem that needs to be solved separately. You'll have to hope that the envelope of the received signal is at least that precise. If not, you'll have to work out something else. With regard to setting the transducers away from the head -- that seems to imply that some part of the apparatus will be in the path of the acoustic signal, which will raise additional issues with regard to multipath, which will exacerbate the timing issues. \$\endgroup\$
    – Dave Tweed
    Mar 5, 2015 at 20:25
  • \$\begingroup\$ You're just going to have to build a testbed and experiment with different approaches. Use a DSP chip to do the signal processing. Its software development envirnoment should give you a lot of tools that give you a good idea of what's going on. \$\endgroup\$
    – Dave Tweed
    Mar 5, 2015 at 20:25

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.