Digital Signal Processing Reference
In-Depth Information
8
30
6
20
4
10
2
0
0
0
2
4
6
8
0
2
4
6
8
(a) Signal
(b) Built−in FFT (Bin)
8
30
6
20
4
10
2
0
0
0
2
4
6
8
0
2
4
6
8
(c) Time Decimation of Signal
(d) FFT (Bin)
Figure 3.21: (a) Test signal, the ramp 0:1:8; (b) Built-in fft of the test signal; (c) Time decimation of the
test signal; (d) FFT of test signal as performed using butterfly routines on the signal at (c).
discusses factored, radix-2, radix-4, and split radix FFTs; [5] and [6] discuss matrix factorizations in
addition to various standard FFT algorithms.
3.15
THE GOERTZEL ALGORITHM
3.15.1 VIA SINGLE-POLE
The simplest form of Goertzel algorithm computes a single bin value of the DFT using a single-pole IIR
tuned to a DFT frequency. A finite number of iterations are performed on a given sequence of length
N . To see how this works, note that each DFT bin is the result of a correlation between the signal and
a complex correlator. We have also noted that correlation can be performed by convolving a signal with
a time-reversed version of the correlator (i.e., correlation via convolution). If a complex correlator were
time-reversed and used as an FIR impulse response, and the signal convolved with it, the output would
be, when the convolution sequence reaches lag zero (perfectly overlapping the impulse response), the
CZL, which in this case is the DFT value for the bin corresponding to the complex correlator.
Example 3.23.
Construct a suitable correlator for Bin 2 of a length-8 DFT to be performed on the
sequence x
[
n
]
= randn( 1 , 8 ) , make an impulse response (in fact, a matched filter) by time-reversing the
 
Search WWH ::




Custom Search