O'Reilly logo

VoIP Voice and Fax Signal Processing by Sivannarayana Nagireddi

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.4 GOERTZEL FILTERING WITH LINEAR FILTERING

Linear filtering is based on a set of basic resonators in which each resonator selects one frequency. This approach is specified in references [ADI Vol-1 (1990), Schmer (2000)]. The Goertzel algorithm efficiently estimates the Fourier transform of the signal at specific frequencies. This process is similar to computing the discrete Fourier transform (DFT) at any one of the selected frequencies and for any arbitrary block of samples. DTMF has a limited set of frequency tone combinations; hence, the Goertzel method is more efficient than the DFT-based method. The Goertzel algorithm may be considered as a second-order infinite impulse response (IIR) band-pass filter and work similarly to the DTMF tone generation resonator, with the main difference that filtering operates on actual input and the oscillator requires initialization. The Goertzel filter output yk(n) for input x(n) is given by the difference equation.

image

In this equation, yk(−1) = 0; yk(−2) = 0, Coef(k) = 2 cos (2πk/N) = 2 cos (2πf/fs), where f is the tone frequency of interest (697 Hz for the first row bin); fs is the sampling frequency usually at 8000 Hz; n = 0, 1,…N − 1; and N is the DTMF processing block size in samples. In practice, the frequency index k = Nf/fs is rounded to the integer value. It is suggested that the rounding operation on Coef(k) be applied after normalizing ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required