From: gretzteam on
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
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
>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!