FFT within a moving window of an audio signal

23 visualizaciones (últimos 30 días)
Dong-uk Hyon
Dong-uk Hyon el 5 de Abr. de 2018
Comentada: Star Strider el 6 de Abr. de 2018
I have amplitude-time data from a microphone (attached 'Mic Data.mat' file). This is data that was gathered with a sampling rate of 44100Hz, over the period of around 30.01 seconds (resulting in a total of 1323441 samples).
I would like to analyse this time-domain data in the frequency domain, therefore, will require an FFT. However, in order to get an understanding of how the frequency changes over time, I need to analyse the data in smaller frames, for example, every 441 samples (or every 1/10th of a second). This will hopefully produce around 3000 frames of frequency domain plots.
My thought process would be to create a loop, which will create a rectangular window of width 441, whilst padding all other values outside this window to 0. FFT will then be carried out for the samples within the window, producing an amplitude-frequency plot for frames 0-440. The next iteration will then carry out the same process for samples 441-881 etc.
I am struggling to get this down to code. Could anyone please guide me in the right direction?
All help is greatly appreciated.
Thanks in advance.

Respuesta aceptada

Star Strider
Star Strider el 5 de Abr. de 2018
Use the Signal Processing Toolbox spectrogram (link) function.
  2 comentarios
Dong-uk Hyon
Dong-uk Hyon el 6 de Abr. de 2018
THanks!
Star Strider
Star Strider el 6 de Abr. de 2018
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Time-Frequency Analysis 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