spectral centroid in matlab

14 次查看(过去 30 天)
Abhijit Sardar
Abhijit Sardar 2021-1-16
评论: jibrahim 2021-1-19
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?
  2 个评论
Image Analyst
Image Analyst 2021-1-16
Make it easy for us to help you. Please attach your signal.
Abhijit Sardar
Abhijit Sardar 2021-1-17
Hi i am attaching amplitude data for one signal.like this there are 50000 data files. can you tell me how to find the spectral centroid for all the amplitude signal data.

请先登录,再进行评论。

回答(1 个)

jibrahim
jibrahim 2021-1-19
Hi Abhijit,
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.
  2 个评论
Abhijit Sardar
Abhijit Sardar 2021-1-19
编辑:Abhijit Sardar 2021-1-19
actually i wanted to find the value of frequency centroid of gravity(KHz) so i don't know which function would be suitable to find this parameter.I assumed it is similar to spectralcentroid idk if i am correct. for meanfreq do we need to feed the ouput frequency data after doing FFT on the amplitude data.
jibrahim
jibrahim 2021-1-19
I think you should use meanfreq. You do not need to do an FFT before calling meanfreq. Just feed it the time-domain signal.
FREQ = meanfreq(X, Fs)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Parametric Spectral Estimation 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by