4
$\begingroup$

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?

$\endgroup$
3
  • 2
    $\begingroup$ Have look at Goertzel based solution. $\endgroup$
    – jojeck
    Sep 7, 2016 at 12:48
  • $\begingroup$ But the Goertzel solution also requires looping throw the samples, I was looking more for an interpolation method using the closest DFT bins. $\endgroup$
    – jaimecp89
    Sep 7, 2016 at 13:17
  • $\begingroup$ This answer might be helpful. $\endgroup$
    – Matt L.
    Sep 7, 2016 at 14:49

2 Answers 2

1
$\begingroup$

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).

$\endgroup$
1
$\begingroup$

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

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.