F
Goertzel Algorithm
Goertzel’s algorithm performs a DFT using an IIR filter calculation. Compared to a direct N-point DFT calculation, this algorithm uses half the number of real multiplications, the same number of real additions, and requires approximately 1/N the number of trigonometric evaluations. The biggest advantage of the Goertzel algorithm over the direct DFT is the reduction of the trigonometric evaluations. Both the direct method and the Goertzel method are more efficient than the FFT when a “small” number of spectrum points is required rather than the entire spectrum. However, for the entire spectrum, the Goertzel algorithm is anN2 effort, just as is the direct DFT.
F.1 DESIGN CONSIDERATIONS
Both the first order and the second order Goertzel algorithms are explained in several books [1–3] and in Ref. 4. A discussion of them follows. Since
both sides of the DFT in (6.1) can be multiplied by it, giving
which can be written
Define a discrete-time function as
The discrete transform is then
Equation (F.3) is a discrete convolution of a finite-duration ...