FFT within a moving window of an audio signal

47 ビュー (過去 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 Center および File ExchangeAudio I/O and Waveform Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by