Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Sound direction detection using PIC

Status
Not open for further replies.

vinodstanur

Advanced Member level 3
Joined
Oct 31, 2009
Messages
751
Helped
114
Reputation
234
Reaction score
114
Trophy points
1,333
Location
Kerala (INDIA)
Activity points
7,054
Hi,
I would like to detect the sound source in 180°..
I had drawn a picture with a small idea..
Here, i assumed a 15cm distance between 2 mics.
So, sound takes more time to reach the right mic if the sound source is near to left mic and vice versa...
But, is it possible to implement this using a PIC16F877A?
If so, pls give me a small algorithm to write a program for this...
56_1289634746.png
 

Relevant links for your consideration: Acoustic Source Localization via Time Difference of Arrival Estimation for Distributed Sensor Networks Using Tera-Scale Optical Core Devices, Acoustic source localization - Wikipedia, the free encyclopedia. There are also many research papers available that require payment.

Most commercial devices use 3 or more sensors to localize within 360° or even 3D. Here's one example: http://www.plansys.com/Collateral/Documents/English-US/DS09%20064%20ears%20pages.pdf.
 

Hi

The PIC is not not strong enough for the task - you will need to use a stronger controller like PIC32 or DSPIC

All the best

Bobi
 

Hi,
I think what you need to do, is amplify both signals to such an extent that the difference becomes noticeable, ie, to a voltage much above 5v. Then you can use resistive dividers to step down the voltages to less than 5v. Read both inputs using ADC and compare. If you can do like this, both PIC and AVR can easily do this.
What I thought about to make use of this is that the mic closer to the sound will have a greater amplitude, so will produce a greater voltage, larger so when amplified.

Hope this helps.
Tahmid.
 

I guess that you can use same microcontroller since you do not need to recognize the sound (just need to detect whether the sound near to right or left mic)

I would suggest that you need to design bandpass filter (with amplifier) by selecting suitable cutoff frequencies for your sound source then it feed to ADC (setting proper threshold) then detect the higher gain whether the right or left

Also search "sound activated robots", "sound activated switch"
 

Hi,
I think what you need to do, is amplify both signals to such an extent that the difference becomes noticeable, ie, to a voltage much above 5v. Then you can use resistive dividers to step down the voltages to less than 5v. Read both inputs using ADC and compare. If you can do like this, both PIC and AVR can easily do this.
What I thought about to make use of this is that the mic closer to the sound will have a greater amplitude, so will produce a greater voltage, larger so when amplified.

Hope this helps.
Tahmid.

yes, by the same concept we approached our professor, but he told it will not be successful coz the voltage difference will not be comparable (almost similar) and will result in many errors in finding direction and if u r utilizing the time difference then it may work, if the clock is high enough...
 

I think a bigger problem is the short delay between sounds. Consider that the conversion time of an ADC is relatively long in terms of the distance sound can travel. There is also a problem if the sound source is masked by unwanted noises from other sources. Assuming the sound you want is louder than unwanted ones (you could use filtering if it isn't) it might be more accurate to use comparator inputs (digital) to time the relative wave fronts and use the result to calculate relative distances. To get true distance you need to triangulate with at least three microphones. Even with accurate measurement, it is not possible to tell the difference between equidistant points from two microphones.

Brian.
 

Hi,

I would like to design a similar sound sensor for finding the direction of sound. Instead of opening parallel discussion I decided to write it here, I hope no one is against that :)

I plan to use it for a robot - a mobile platform that will move around. Having the possibility to scan for sounds and to find the direction is very useful because can guide the robot towards the sound, than the camera can record or broadcast ...

Initially I was planning to use an array of microphones - at least 4 placed in a form of pyramid, each microphone will have own amplifier and comparator, comparator outputs will go to counters with common clock, each comparator can gate the counters, if microphones are displaced 15 cm to each other the whole system will not be too big, also the calculation could be simplified. I planned to use a micro-controller to read the counters and to calculate the direction. How do you see it?

The problem I see with this system is that it is working only in case of sharp and quick signal, like shot ... there was an example somewhere with military system designed to find the direction of hidden mortar that is shooting. But in case that there is a continuous signal / sound this system will not be able to detect it. Is that conclusion correct?

Regards,
Tsvetelin
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top