Slow sound radar

How to slow up the sound in the air and get 2D sound image, to help visually impaired persons in navigation

Similar projects worth following

There are a lot projects which seem similar, but this one creates 2D sound image, which can provide X,Y position and approximate dimensions of each obstacle, in two horizontal planes.

There are four pairs of standard ultrasonic range finder speaker/microphone pairs, and they emit short pings, about 1 ms each. Stereo signal is amplified and sampled by MCU in 45 ms period, which covers about 7.6 m diameter. Then the sampled sequence is played at about 20x slower rate, which will last about 900 ms. That gives the 1Hz repeat rate.

If the ultrasonic frequency is 40 KHz, the reproduced tone will be lowered to 40/20=2 KHz, which is unpleasant for permanent listening. Luckily, the reproduced frequency is unique, so it is easy to lower the frequency without affecting timings, by emitting sampled slices in lower sample rate.

User will hear reflected pings at timings which depend on distance (Y position) to the obstacles, and binaural effect of the stereo sound will determine the X position of each obstacle. At the same time the sound volume will roughly depend on the obstacle's dimensions.

There are two equal stereo sets, one of which covers the horizontal plane, and the other one is pointed about 30° downwards, to detect lower objects (stairs, pavement, holes). Those two sequences can be played simultaneously, with different tone frequencies.

I will surely make the prototype and put the results here. The main problem for me will be how to purchase the wide angle ultrasonic speaker/microphone pairs, as most of them are typically quite narrow. The optimal characteristics would be Lembertian, but I wonder is there such ultrasonic transducer on the market.

I shall also add 2- or 3-axis magnetometer, so the MCU will play one more short tone signal (with some other frequency) after every (or every Nth) ping-play sequence. Its stereo position will denote North (or South, with two short tone signals). I think that it might also help a blind person in orientation.

... some very early background of this project ...

About 40 years ago, I was the young licensed ham radio operator, and one of our radio club members was blind. He had the problem of adjusting his transmitter to the peak output, as he couldn't see the instrument dial. We made some very rudimentary voltage controlled oscillator for him, which was squealing and whirring more than producing normal oscillator tone. But he was delighted, as he could also hear some more transmitter parameters in that awful sound. We did our best, but no one of us (except him) could ever hear anything meaningful in that noise.

That makes me think that it is more helpful to give the visually impaired person the raw audio information, than to clean and shape it, like the sonar range finders do.

  • First experiments

    Voja Antonic05/27/2015 at 22:16 0 comments

    I used some old OCR project with PIC24EP512GP806 to build the first prototype. All necessary resources are here - two 10-bit ADCs for sampling, two PWM registers and 52K data memory for sampled sequence. Here it is:

    I used two HC_SR04 ultrasonic range finders (two euros each:), removed MCU, modified DC offset from 2.5 to 1.65V (added one more resistor in parallel with R15 on the picture, which is R16 on the schematics) for analog output signal picked from pin 7 of 324 opamp, and replaced the connector, as I needed one more pin for output signal. Driver is still 3232 (U3), driven from my MCU. I planned to use four T/R pairs, for low objects detection, but I gave up. Even with two channels, the audio signal is too confusing.

    Here is the schematics of the older version of HC_SR04, I don't have the new one (there is the new version on the photo). My modifications are in red colour.

    And here is my PCB. I rearranged it a little, replaced board-to-board with cable connectors, removed some components and added LDO and two diodes for analog voltage limiting.

    I wrote the firmware in assembler, with following parameters (all of them are easily adjustable and will be the subject of additional experiments):

    Ultrabeep signal: 40 KHz, total of 1 ms (40 pulses)
    Sample rate: 875 KHz, which is 1.14 us
    Sampling period: 22.725 ms (20000 left and 20000 right channel samples)
    DAC (PWM) rate: 15.5 KHz, total of 1.28 s
    Sound slowing factor: 56.3
    Audio frequency: 711 Hz (which is 40KHZ lowered by 1/56.3 factor)

    Measured total current consumption (MCU and two HC_SR04s) @ 5V is 107 mA.

    Then I performed some experiments. Generally it works as expected, but I was disappointed not with the unit, but with me. I can hear sound reflexes (there a lot of them in my room), detect walls and some other flat areas, but it is hard for me to "see" anything more specific. I tried it outside also, I could hear some trees and parked cars, but only in two or three meters range.

    There must be some dynamic and MCUcontrolled AGC, and high power transmitter. The amplitude difference in signals reflected from near and far objects is too high.

    It was amazing how easy it is to detect stairs - there is the fast tap-tap-tap-tap signal, you can even count them. But it is quite annoying to listen to one frequency for more than half an hour. I must add some filters to get the acceptable sound.

    Is it really useful for blind person? I am not sure, at least at this stage. I don't know any visually impaired person, but I shall try to find somebody who wants to join this experiment. I hope that he will not expect too much, I would not like to dissapoint him.

    For the next step, I am planning some fine digital signal processing. Signal shaping, filters, AGC, high quality ultrasound transmitters and receivers, more powerfull drivers, low noise preamps, magnetometer, blah, blah...

View project log

Enjoy this project?



garev534 wrote 05/21/2021 at 05:57 point

In my opinion you should add some more things in this project that will help you to achieve more success about this project like you can see here some points about it on

  Are you sure? yes | no

dearuserhron wrote 05/20/2021 at 12:13 point

Oh, it must be very interesting to hear the sounds this device produces. Can you make a recording? Please.

Let me guess, it sounds like a u-boat ping reflected from sea bottom.

Another question: if this thing captures sound reflection and then plays it back slowed down, will this destroy binaural picture? I mean, human builds a binaural picture of sounds depending on time of sound arrival. That is, a sound from source located 30 degree to the right from my front view will appear on my left ear 1 ms later then on my right ear. If I make sounds around me propagate 20 times slower, the test sound will have to travel 20 ms more to appear at my left ear. I will hear it as a two separate sounds in different ears.

  Are you sure? yes | no

Bharbour wrote 12/19/2019 at 21:09 point

I think that is part of what the canes are used for. Tapping the cane gives a sharp edged pulse.

  Are you sure? yes | no

Voja Antonic wrote 05/23/2015 at 18:00 point

Yes, there were some stunning examples of real-time human echolocation on TV (I think National Geographic), but it seems that not every person is able to do it.

  Are you sure? yes | no

haydn jones wrote 05/23/2015 at 17:50 point

@davedarko shared this video with me. Amazingly it shows humans using echolocation without any tools.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates