From: gretzteam on 25 Mar 2010 08:31 Hi, It was pointed out to me in another thread that a Goertzel filter is pretty much a very narrow bandpass filter that is run for a finite amount of time. This does make sense after looking more closely at the math. However, the neat thing about Goertzel is that the output is directly the coefficient of the wanted DFT bin. The 'power' or 'amplitude' of the tone can even be obtained without doing the final complex multiply. How would I go about calculating the power/amplitude of a tone from the output of a bandpass filter? It seems like more math would be required unless I'm missing a simple trick. Thanks!
From: Jason on 25 Mar 2010 09:44 On Mar 25, 8:31 am, "gretzteam" <gretzteam(a)n_o_s_p_a_m.yahoo.com> wrote: > Hi, > It was pointed out to me in another thread that a Goertzel filter is pretty > much a very narrow bandpass filter that is run for a finite amount of time. > This does make sense after looking more closely at the math. > > However, the neat thing about Goertzel is that the output is directly the > coefficient of the wanted DFT bin. The 'power' or 'amplitude' of the tone > can even be obtained without doing the final complex multiply. > > How would I go about calculating the power/amplitude of a tone from the > output of a bandpass filter? It seems like more math would be required > unless I'm missing a simple trick. > > Thanks! You said it yourself: the Goertzel algorithm is just a way to implement a simple BPF (a boxcar) that is placed arbitrarily in the frequency band. The squared magnitude of the complex numbers that you get out are proportional to the total signal power in the bandwidth of the BPF. If you expect that the power inside that bandwidth is due to a tone, then the magnitude of the BPF output would be proportional to the tone amplitude. Jason
From: gretzteam on 25 Mar 2010 11:17 >You said it yourself: the Goertzel algorithm is just a way to >implement a simple BPF (a boxcar) that is placed arbitrarily in the >frequency band. The squared magnitude of the complex numbers that you >get out are proportional to the total signal power in the bandwidth of >the BPF. If you expect that the power inside that bandwidth is due to >a tone, then the magnitude of the BPF output would be proportional to >the tone amplitude. > >Jason Hi, I'm actually expecting a tone, so this all makes sense. The max amplitude of the BPF output should somewhat match the Goertzel algorithm output (up to some precision depending on N etc...). Now where I'm confused is that I need to detect this 'amplitude' out of the BPF. Should this simply be a peak-and-hold detect? Or should I average say the last 5 peak values? I'm sure this all means something slightly different and is also maybe related to the N in Goertzel algorithm? I just can't see it. Thanks!
|
Pages: 1 Prev: Locate the robust max in an 2D array? Next: COMP.DSP 2010: Two weeks before the conference |