# Interpolate DFT Coefficient of a Frequency That Is Not in the DFT Bin

I'm using the Jacobsen interpolation to get a more precise frequency of my signal. To get the corresponding DFT coefficient I'm doing:

$$X_{f} = \sum_{n=0}^{N}{x_{n} e^{-2\pi ifn}}$$

Where $x_{n}$ is the samples of my signal and $f$ is the frequency found by the interpolation (that is not one of those in the DFT bins). This is a quite heavy computation for large signals.

Is there a method to interpolate the coefficient corresponding to that frequency without having to compute the sum?

• Have look at Goertzel based solution. – jojek Sep 7 '16 at 12:48
• But the Goertzel solution also requires looping throw the samples, I was looking more for an interpolation method using the closest DFT bins. – user2906781 Sep 7 '16 at 13:17
• This answer might be helpful. – Matt L. Sep 7 '16 at 14:49

## 2 Answers

If you need very specific frequency you should either use the Discrete Fourier Transform (DFT) definition or the Goertzel Algorithm.

Yet, if you need higher resolution Grid, you can use many off the shelf algorithms to interpolate.
The native Interpolation Kernel would be the Dirichlet Kernel since it is the Sampling Kernel for the DFT.
An easy way to interpolate the grid in the Frequency Domain using the Dirichlet Kernel is by Zero Padding of the signal in the Time Domain.
As this is equivalent of higher rate sampling of the Discrete Time Fourier Transform (DTFT).

Windowed Sinc interpolation works in the frequency domain as well as in the time domain for waveform reconstruction.