1
$\begingroup$

I am trying to implement in C or C++ a solution for a fft and Ifft when the signal values are not obtained at a constant rate, making it having a desviation between the values and the periodic ones. I do not know how I can change the algorithm of calculating the fft with synchronized signals as in https://wikimedia.org/api/rest_v1/media/math/render/svg/02a7699d274d226871209491c8a05976d6e46cf3 into a uneven spacing values of signal.

One of my ideas is using the values to make the completed signal and then catchiing the correct points, but it is a very time consuming solution, and i think that as we have a deviation

The overall objective is to have the fft as described and the ifft values in that points

$\endgroup$
  • 4
    $\begingroup$ You probably want to look at non-uniform FFTs. If I'm not mistaken, the premise is essentially interpolation to uniformly-spaced points and use standard FFT. See: cims.nyu.edu/cmcl/nufft/nufft.html $\endgroup$ – sssssssssssss Jul 25 '17 at 10:16
1
$\begingroup$

Like @Steve already said in a comment, the correct answer is to look for "nonuniform fast Fourier transform" algorithms. There is both a significant literature, as well as open source software packages on this topic.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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