How to do an nonuniform signal FFT?

4 visualizzazioni (ultimi 30 giorni)
Wanjie
Wanjie il 4 Nov 2013
Commentato: Wanjie il 4 Nov 2013
Hi, all,
Have anyone done FFT on an nonuniform signal without interpolation? My measured data are spaced 10 logarithmically and the measurement time is from 0.0001 ms to 10 ms, a very short period of time. When I use logarithmically spaced time, at early time, there will be more sampling points. If I use linear spacing to interpolate these data, the advantage of logarithmic spacing, early time with more data points and late time with few data points, will go away. So I am wondering if there is a method to do nonuniform signal FFT. If there is, how can I set the corresponding frequency in frequency domain?

Risposta accettata

Wayne King
Wayne King il 4 Nov 2013
You can use interp1() to interpolate the data to an evenly spaced grid, or you can use software specialized for this task:
  1 Commento
Wanjie
Wanjie il 4 Nov 2013
Thank you, Wayne. You are so nice. Can I interpolate the data logarithmically? If I can, how should I calculate the frequency? In linear interpolation, I calculated my frequencies by "f=(0:NFFT/2-1)*Fs/NFFT;", where NFFT is my FFT total points, and Fs is the sampling frequency. I do not know if I used log spaced interpolation, how I calculate the corresponding frequency.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by