Passive Atmospheric Acoustic Localisation/Location ??

Hello there.

I am interested to know if anyone has implemented sound localisation or location measurement using microphones with Arduino.

I mean, using 2 or more microphones to locate the source of sounds. This is not active echolocation, this is listening to environmental sounds with multiple microphones and determining the direction/location to the sources.

For a simple waveform I think it's easy to compare the arrival time at 2 microphones, and then calculate a direction from the delay. I think with 2 sets of 2 microphones you can then triangulate the distance.

What about complex sounds? I am looking for any information on this. Something like the attached pictures but using Arduino instead of technicians :slight_smile:

http://www.aqpl43.dsl.pipex.com/MUSEUM/COMMS/ear/ear.htm

220px-Bundesarchiv_Bild_183-E12007,_Horchgerät_der_Flak_bei_Berlin.jpg

french acoustic airplane finder 1930.JPG

What about complex sounds?

You might be able to get directional information by timing impulsive sounds, like an explosion, but simply identifying the "arrival time" of a complex sound is probably impossible on an Arduino.

There is not enough memory to store waveforms and the processor is too slow.

Well... how about, store some data on an SD card (128GB!) and then process it w/ Arduino. ? Or upload the data via wifi card and process it elsewhere :wink:

Do you think you could do it with a Raspberry Pi?

Do you know references for any good and simple processing algorithms?

I imagine I might find more by searching for passive sonar.

Do you know references for any good and simple processing algorithms?

Simply identifying a complex sound is an exceedingly difficult task. Otherwise, we would have had excellent voice recognition 30 years ago.

If you know the waveform, a fast waveform correlator can identify arrival time in real time. The RPi is probably fast enough.

Thanks. Do you know of any good waveform correlators? Or know where I should look? Have you worked with this before?

Do you know of any good waveform correlators? Or know where I should look?

No. I've studied the theory, though.
The LIDAR Lite uses pulse amplitude correlation to measure distances using modulated laser pulses, see these pages.

sekramer01:
Thanks. Do you know of any good waveform correlators? Or know where I should look? Have you worked with this before?

Look here Wiki Page

Thanks, I should have posted this as "How to make Daredevil vision?" :wink:

Because then maybe you could make a robot do this:

I've used the Propeller microcontroller much more than Arduinos so I'm more familiar with the Propeller's capabilities than the Arduino's.

Here are a couple links to Propeller sound projects which I think relate to your goal. You might find some of the code useful. Hopefully these links will at least provide you with some additional search terms when looking for similar projects based on the Arduino.

Real time Goertzel algorithm

Audio frequency shifter (I'm not sure how applicable this one is.)

I was just thinking, what would be the benefit of doing acoustic detection vs. light detection. Say, like in the animated gif, if your sensors are facing directly away from an approaching object, could an acoustic sensor array passively detect it (if moving slower than sound) because of the large diffraction of sound waves around and into the sensor, whereas, with light sensors, they would not detect it because the waves do not diffract as much ? Or, if sensitive enough, could the light sensors detect it by observing the reflection of the object from the surrounding environment .... ? I wonder if that has been implemented for something...

sekramer01:
could the light sensors detect it by observing the reflection of the object from the surrounding environment .... ?

I believe the theoretically answer is yes. I believe you need to know a lot about the light source. I read an article about work being done which analyzing laser light reflected off objects. The object itself if out of direct view of the sensors. I don't understand how it works. I doubt they're using Arduinos in this research.

A related experiment produced a video of a light pulse (laser) shown in apparent slow motion. The light was seen entering the bottom of a water bottle, passing through the water and then reflecting off the lid of the bottle. The video was produced by photographing many laser pulses.

I didn't understand how the slow motion laser video related to "seeing around corners" but the scientist apparently thought the subjects were related.

If I can find the article again, I'll post a link.

I found the article but the video is no longer available within the article.

I didn't find the original video, but I found a couple related videos.

This first video shows the laser in the water bottle. This is similar to the original video in the article but with added music and some extra animations.

I haven't finished watching this other video, but it looks like it has a lot more information about the technology. Pretty cool stuff in my opinion.

I think you are referring to this?

"Recovering Three Dimensional Shape Around a Corner Using Ultrafast Time-of-Flight Imaging"
Published in Nature by MIT.

That's time-of-flight of PHOTONS btw. And 3 years ago. Wonder what they can do NOW?

This article has an explanatory video:

MIT's laser-powered camera can detect objects hidden around corners (video)

Pretty good stuff. Speed up, Arduino! :wink:

Someone should make a super-cheap ultra-fast "hobby supercomputer". I think that might be fun.

sekramer01:
I think you are referring to this?

YES!

I hadn't seen that. Very cool.

Thanks for the link.

I think the MIT equipment is beyond the budget of most hobbyists but this Hackaday.io project describes how to hack a laser rangefinder to get the raw data from the sensor. I doubt it will let one see around walls but I think there are plenty of interesting things one could do with the sort of data available from the device.

The author of the Hackaday.io project is the same guy who designed the rangefinder.

You know what there are a lot of free supercomputing services just by googling Supercomputing in the cloud... so you can probably do anything :slight_smile:

Another interesting concept I was just pondering: Every point on an object emits a reflection of all of the surroundings in its viewing area. So theoretically you could locate an object in a room by looking at all of the points in the room around the object, and cross-correlating the images to find the reflection of and location of the object? Any point on a wall is reflecting a complete image of the entire room. It may be very faint... but there are A LOT of points.