FFT default process when samples are NOT a power of 2?

조회 수: 9 (최근 30일)
kleanthis koup
kleanthis koup 2016년 4월 15일
댓글: kleanthis koup 2016년 4월 18일
Hello, I have a musical piece of 2,5sec at 48000Hz sampling rate.
I used mirtoolbox to calculate some measures such as mircentroid etc. I did not specify number of bins or the frames for the computation of spectrum. For example I used mircentroid(‘musical piece’).
So now i’d like to know how many bins and how many samples the algorithm used?
I think the frame default is at 0.05sec. So the samples are 2400 samples in my case? But this is not a power of 2.

채택된 답변

Wayne King
Wayne King 2016년 4월 15일
That is not part of a MathWorks' product. It is part of the this tool on the file exchange MIRToolbox
If you put a breakpoint in the mirspectrum.m routine inside of the class folder @mirspectrum, you can step through the file and see what the defaults are doing if it isn't described in the documentation.
However, if what you describe is accurate, then the frequency resolution of the DFT (discrete Fourier transform) does not depend on it being a power of two. The frequency resolution or the DF, step size in DFT bins, is Fs/N where Fs is the sampling frequency and N is the length of the data. So here that is 48e3/2400 or 20 Hz.
  댓글 수: 2
kleanthis koup
kleanthis koup 2016년 4월 15일
MIRToolbox calls fft function of Matlab. But i was confused with the whole process. Thanks a lot!
kleanthis koup
kleanthis koup 2016년 4월 18일
Have a nice day, i checked that the window size is 0.05 sec with half overlapping. This information changes my samples? I calculated the samples by this: 0.05sec * 48000 samples / sec = 2400 samples.

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

추가 답변 (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