www.gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/library/spec_rolloff.m
function sc_value = spec_rolloff(signal,Fs) FFT = fft(signal); mag = abs(FFT); mag = mag(1:length(mag)/2); spsum = 0; % Sum entire spectrum for i=1:length(mag), spsum = spsum + mag(i); end % Find bin where 85% of spectral energy is below cut = 0.15*spsum; i = 1; while (spsum > cut) spsum = spsum - mag(i); i = i+1; end Hz_per_bin = Fs/length(signal); sc_value = Hz_per_bin*i;