MATLAB: Median Frequency(Fmed)

median frequency

I need help finding the Median frequency of a power spectram. (Fmed), I am new to matlab so any helo will be really appreciated.

Best Answer

Hi Shenal, you can do the following:
t = 0:0.001:1-0.001;
x = cos(2*pi*50*t-pi/4)+0.5*sin(2*pi*100*t)+randn(size(t));
psdest = psd(spectrum.periodogram,x,'Fs',1000,'NFFT',length(x));
normcumsumpsd = cumsum(psdest.Data)./sum(psdest.Data);
Ind = find(normcumsumpsd <=0.5,1,'last');
fprintf('Median frequency is %2.3f Hz\n',psdest.Frequencies(Ind));