How can I find the FFT of a time series when the samples are not equally spaced?
85 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 29 Juin 2012
Modifié(e) : MathWorks Support Team
le 22 Avr 2024 à 19:12
How do I find the FFT of a time series with nonuniformly spaced samples?
Réponse acceptée
MathWorks Support Team
le 17 Avr 2024 à 0:00
Modifié(e) : MathWorks Support Team
le 22 Avr 2024 à 19:12
Starting in MATLAB R2020a, the function "nufft" can be used to find the nonuniform FFT of a signal. Please refer to the official documentation page for "nufft" for more information:
In releases prior to MATLAB R2020a, you may use the following workaround:
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. You may use the "interp1" function to interpolate between the sampled points. You may then feed the results of "interp1" to the FFT function. Note that this is an approximation and you might lose some of the resolution. Please refer to the official documentation page for "interp1" for more information:
If you are interested in the frequency spectrum mainly, there is also the alternative to use the "plomb" function from the Signal Processing Toolbox.
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
1 commentaire
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!