audio signal processing and detect its frequency

Status
Not open for further replies.

arsalanarm

Junior Member level 3
Joined
Sep 1, 2012
Messages
30
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Visit site
Activity points
1,676
hi all
kindly help me to design a circuit to detect audio signal frequency please see this picture and next
i Describe problem Detail



in transmitter side
we have a signal generator to generate a square wave signal which its frequency is variable from 300Hz to 3000Hz.
we connect a speaker in signal generator output to generate audio.

in receiver side
we have a microphone next to speaker. distance between speaker and microphone is less than 1 meter(100 cm) maximum distance is 1 meter and typically its about less than 10 cm.
we have 5 frequency indicator leds , F1 Detect indicator led , F2 Detect indicator led , and etc

i want to detect microphone listened audio frequency.
when i drive speaker by sine wave signal there isn't any problem and easily we can receive and detect it in receiver side because received signal on oscop is a good sine or sine similar signal but when i drive speaker by square signal in receiver side we have completely different signal on oscop and i cant detect it's freq i study about fft , dft and goertzel algorithm but i don't now are they this problem solution or no.
please help to solve this problem
thanks a lot
 

It is common for a square wave to look unlike a square wave coming from a speaker.
A square wave has instantaneous upward and downward transitions. It has sudden starts and stops.

A speaker has trouble reproducing such a signal.

There is also a chance the room echoes the sound, confusing the waveform. But if it does that to the square wave, it would do that to the sinewave as well, and you state that it does not severely distort the sinewave.
 

Hi,
One problem might be that a square signal includes the odd number frequencis of overtone.

So a 500 Hz square includes 1500, 2500 ... Hz also.


It depends on your detector whether it can recognize your desired frequency or not.

How did you build your detector now?
When using bandpass function then use the output with the highest amplitude for example.

Do you use fixed frequencies?
Do you use digital filters?
Is it possible to connect transmitter and receiver?


Klaus
 

hi again
i tried bandpass active filter , lm567 tone decoder and etc. but they didn't work well.
i use fixed frequncies and i want to detect five constant freq.470hz , 610hz and etc
do you know about goertzel algorithm can i use it for detecting freq in this case.
thanks alot
 

Hi,

I'm not familiar with goertzel algorithm.

I'd use ucontroller with dft. Especially with known freqencies...


Klaus
 

You can use Goertzel algorithm or other DSP methods. Goertzel algorithm is essentially a single frequency dft. To work correctly, it has some prerequisites, as the analog methods have.

The point is that any of the mentioned methods is basically able to solve the problem (of course I don't know for "etc."). But I guess, you did none of it right.
 
Last edited:

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…