goertzel algorithm
ZXNet echo conference «code.zx»
From Kirill Frolov → To All 20 October 2002
Press RESET immediately, All!
I don’t understand why they love him so much. There's some kind of recursive filter there
(y(k)=y(k-1)*...), requires one multiplication and several additions
for every count. Among other things, you need registers of considerable capacity or
FPU.
In the classical DFT algorithm there are two multiplications per sample, BUT THE BIT
registers can often be limited to 16 or even 8 bits. This is according to the table
You can quickly calculate it, on any processor and very quickly. :-/
From Dmitry Lomov → To Kirill Frolov 21 October 2002
Hello, Kirill!
Once, Sun Oct 20 2002 04:07, Kirill Frolov wrote to All:
KF> I don’t understand why they love him so much. There's something like recursive
KF> filter (y(k)=y(k-1)*...), requires one multiplication and several
KF> additions for each count. Among other things, you need a lot of registers
KF> bit capacity or FPU.
KF> In the classical DFT algorithm for count two
KF> multiplication, BUT THE WIDTH of registers can often be limited by
KF> 16 or even 8 bits. You can quickly calculate this from the table, on any
KF> processor and very fast. :-/
At work there was a question of choice, and they chose Goertzel ;) the task was to scan DTMF.
The frequency deviation is less than a percent, and at the same time it is necessary to very clearly determine
the moment the signal appears. DPF on a small bunch of points does not roll on the first
according to the second criterion, and for a large pile - according to the second one ;)
All the best.
Dmitry. [ZX] [Quake]
np: Red Elvises and Brian Tyler - Boogie On The Beach
From Kirill Frolov → To Dmitry Lomov 22 October 2002
Press RESET immediately, Dmitry!
21 Oct 02 00:49, Dmitry Lomov wrote to Kirill Frolov:
KF>> is limited to 16 or even 8 bits. It’s quick to calculate from the table
KF>> is possible, on any processor and very fast. :-/
DL> At work there was a question of choice, and Goertzel was chosen;) the task is to scan
DL> DTMF. The frequency deviation is less than a percent, and at the same time it is very necessary
DL> clearly determine the moment the signal appears. DPF on a small bunch of points
DL> does not roll according to the first sign, but on a large heap - according to the second ;)
Where is it going??? The output is the same for both.
As I understand it, the difference here is whether to do two multiplications from the table
on
counting in the first case, and one multiplication by a constant in the second case. Only
in the second case (Goertzel is) the capacity and accuracy of calculations
immeasurable
is needed compared to the first case, but sinuses are not needed. For FPU of course
Goertzel is better, but I mean an 8/16-bit computer.
From Dmitry Lomov → To Kirill Frolov 23 October 2002
Hello, Kirill!
One day, Tue Oct 22 2002 06:28, Kirill Frolov wrote to Dmitry Lomov:
KF>>> is limited to 16 or even 8 bits. It’s quick to calculate from the table
KF>>> is possible, on any processor and very quickly. :-/
DL>> At work there was a question of choice, and Goertzel was chosen ;) task -
DL>> scan DTMF. The frequency deviation is less than a percent, and at the same time
DL>> it is necessary to very clearly determine the moment the signal appears. DPF on
DL>> a small pile of dots does not roll according to the first sign, but onto a large one
DL>> a bunch - the second one ;)
KF> Where is it going??? The output result is the same for both.
who knows. chose ;) and at first they tried to adapt the DPF - no
it worked. for some reason it is impossible to say that “this signal has appeared now.”
we can say that it appeared in the last 100 ms ;)
I don’t do DSP myself, so I’m saying what I know.
Best wishes.
Dmitry. [ZX] [Quake]
np: Time Machine - Morning angel of empty bottles