spectral centroid in matlab
20 views (last 30 days)
i have amplitude data of 1024 microseconds with the sampling the sampling frequency of 1MHz . I am trying to find the spectral cetroid using the function available in the matlab.I am using "spectralCentroid(m,1)" where m is the amplitude data it is giving error"Expected WINDOW to be nonempty" as far as i know f is the sampling freqency in hz i have inputed the sampling frequency as 1000000 Hz but still showing error.Can somebody help me in this?
jibrahim on 19 Jan 2021
spectralCentroid uses a window internally to compute the STFT of the signal. The default window length is 30 milliseconds, which is longer than your input signal, which explains the error.
You should set a shorter window, for example:
c = spectralCentroid(x,1e6,'Window',hann(1024),'OverlapLength',512);
Note that spectralCentroid was designed with audio signals in mind, so it might not be suitable for your needs. Consider using the function meanfreq instead.