View previous topic :: View next topic |
Author |
Message |
Kova
Joined: 06 May 2007 Posts: 35
|
Sound/Code decoder |
Posted: Wed Sep 12, 2007 1:34 am |
|
|
Hi all,
sorry for my english
I have a question .
I have a buzzer that emits many different sounds and, also, 3 error codes:
1°) Bip Bip Bip at 440Hz
2°) Biiip Biiip Biip at 700Hz
3°) Biiiip Biiip Biiiip at 1150Hz
I want to decode these 3 error codes.
I can't touch nothing (the buzzer, the amp) than I must use a little mic to caputre the sound/code.
Besides, the buzzer is situated in a crowded place with people that speaks, screams etc
Is it possible to do with a PIC?
Thanks a lot and sorry, another time, for my english
Bye |
|
![](templates/subSilver/images/spacer.gif) |
Humberto
Joined: 08 Sep 2003 Posts: 1215 Location: Buenos Aires, La Reina del Plata
|
|
Posted: Wed Sep 12, 2007 5:23 am |
|
|
If you are going to capture such tones mixed with the environment sounds, the first
step would be to isolate the desired tones. It is necessary to reject all out of band
signals and unwanted noises, this is not a task for a PIC.
It should be made using a tunable tone decoder. The NE567/LM567C is a well know
-and cheap- Tone Decoder to start.
Then, using a PIC you can decode the signals readind the outputs of the Tone Decoders.
Humberto
Last edited by Humberto on Wed Sep 12, 2007 5:34 am; edited 1 time in total |
|
![](templates/subSilver/images/spacer.gif) |
libor
Joined: 14 Dec 2004 Posts: 288 Location: Hungary
|
|
Posted: Wed Sep 12, 2007 5:32 am |
|
|
Beside the hw solution you can also google for DTMF decoder PIC projects on the web. There are also some as software only approach (e.g. this one based on a modified Goertzel algorithm.) running on a PIC, i think you can easily modify the program to look for your frequency instead of the dual-tone DTMF freqs. |
|
![](templates/subSilver/images/spacer.gif) |
SET
Joined: 15 Nov 2005 Posts: 161 Location: Glasgow, UK
|
|
Posted: Wed Sep 12, 2007 7:01 am |
|
|
A DSPic would be good for this, implement a number of band pass filters in the digital domain, and then extract the envelope. |
|
![](templates/subSilver/images/spacer.gif) |
|