MATLAB: What is an efficient way to calculate the FFT of a signal at specific frequency points in Signal Processing Toolbox 6.12 (R2009b)

fftfourierSignal Processing Toolboxtransform

Normally, the FFT function returns the frequency response of a signal at regularly spaced frequency points given by the equation:
f = kFs/N
where
k is given by the vector [0:N-1]
N is the length of the input signal vector
Fs is the sampling frequency
However, I am only interested in specific frequency points. Is there an efficient way of calculating the frequency response of a signal at irregularly spaced frequency points?

Best Answer

In Signal Processing Toolbox 6.12 (R2009b), the GOERTZEL function is an efficient way of calculating the frequency response of a signal at specific frequency points.
This function uses the second-order Goertzel algorithm which computes DFT values at a specified subset of indices. If less than log2(N) points are required, GOERTZEL is more efficient than the Fast Fourier Transform (FFT).