FFT within a moving window of an audio signal

조회 수: 53 (최근 30일)
Dong-uk Hyon
Dong-uk Hyon 2018년 4월 5일
댓글: Star Strider 2018년 4월 6일
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.

채택된 답변

Star Strider
Star Strider 2018년 4월 5일
Use the Signal Processing Toolbox spectrogram (link) function.
  댓글 수: 2
Dong-uk Hyon
Dong-uk Hyon 2018년 4월 6일
THanks!
Star Strider
Star Strider 2018년 4월 6일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Spectral Measurements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by