Go Down

Topic: How to make frequency or tone detector (Read 1 time) previous topic - next topic

LMI

If input is normal music or speech, is Arduino powerfull enough for a tone detector or encoder. Pulse counting or counting zero crossings could work but it is not very noise tolerant. I want to know if certain frequency or frequencies are present in the input.

I could use some filtering but the more I filter, the less I need the microcontroller. A narrow band analog filter is easy to make after all.

Leif

sirbow2

#1
Feb 27, 2012, 05:40 pm Last Edit: Feb 27, 2012, 05:51 pm by sirbow2 Reason: 1
look at ne567 IC

i have no idea, but would a analog in work?
http://dduino.blogspot.com all my Arduino/electronic projects!!!

{NEW} Getting Started, Learning, Reference + FAQ PDF!!:
[url]http://ar

AWOL

Would Goertzel's algorithm work for you?
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

LMI

Quote
look at ne567 IC

i have no idea, but would a analog in work?


Hi

NE567 is a good chip, although I am not sure how much it is used today, because it is so old. Analog is surely on option but I wondered if an AVR could handle this. The problem is, I now nothing about discrete math or DSP programming. And I wondeded if someone has tried something like this. "If you want to be cool, you have to use a controller." Not my exact opinion, but a microcontroller option is good to have.

Yes, Ain would probably work, and then some fancy math. Or something simpler with amplifier, smith trigger and digital input.

I have to stop now, another reply came

Leif

LMI


Would Goertzel's algorithm work for you?


Heh, I had to look it up first.

Yes probably. How it is done?

LMI

#5
Feb 27, 2012, 06:25 pm Last Edit: Feb 27, 2012, 06:33 pm by LMI Reason: 1

Would Goertzel's algorithm work for you?


And where it is in C. Wikipedia has some info, but do you know a little easier way. Like a C sample

Edit #3. A C sample
http://netwerkt.wordpress.com/2011/08/25/goertzel-filter/

I dont know when I can test this. If any you have some extra info, I am happy hear it before I begin.

Magician

Quote
I want to know if certain frequency or frequencies are present in the input.

It's the whole world difference :
1. you need to detect one / few "specific" freq. - Goetzel is the best option;
2. look whatever "pop-up" in sampling pull - FFT.
For second variant, more details necessary, in order to be sure that arduino "capable" for a mission:
sampling rate, freq. selectivity / resolution (Q) of the filter?


LMI

Now it looks like I will know the frequencies before I start. And I can decide - there will 1 or 2. This so early it is easy to decide these things. So it is the Goetzel. I hope I understand the sample enough to use it.

Quote
2. look whatever "pop-up" in sampling pull - FFT.
For second variant, more details necessary, in order to be sure that arduino "capable" for a mission:
sampling rate, freq. selectivity / resolution (Q) of the filter?


What is the Q of Goetzel. If it is something like 10000, we'll newer hit it. And does it work in real life.


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy