How to do an nonuniform signal FFT?

2 visualizaciones (últimos 30 días)
Wanjie
Wanjie el 4 de Nov. de 2013
Comentada: Wanjie el 4 de Nov. de 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?

Respuesta aceptada

Wayne King
Wayne King el 4 de Nov. de 2013
You can use interp1() to interpolate the data to an evenly spaced grid, or you can use software specialized for this task:
  1 comentario
Wanjie
Wanjie el 4 de Nov. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by