How can I find the FFT of a time series when the samples are not equally spaced?

45 views (last 30 days)

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 29 Jun 2012
To find the FFT of a time series when the samples are not equally spaced, you must first interpolate the data so all samples are equally spaced. Use the INTERP1 function to interpolate between the sampled points.
The inputs to INTERP1 X, Y, and XI are the following:
X - your original data, or location of samples
Y - the magnitue at those samples
XI - where you would like the samples to be
Feed the results of INTERP1 to the FFT function. Note that this is an approximation and you might lose some of the resolution.
For additional ways of analyzing spectrum of nonuniformly spaced sample data, please refer to:
"Spectral Estimation from Nonconsecutive Data"
by N. Rozario and A. Papoulis
IEEE Trans. on Information Theory, vol IT-33, no. 6, November 1987
"On Nonuniform Sampling Expansions Using Entire Interpolating
Functions, and On the Stability of Besslel-Type Sampling Expansions"
by Michael D. Rawn,
IEEE Trans. on Information Theory, vol IT-35, no. 3, May 1989

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!