spectralrolloff.m
来自「matlab信号特征提取程序集合」· M 代码 · 共 21 行
M
21 行
function mC = SpectralRollOff(signal,windowLength, step, c, fs)
signal = signal / max(abs(signal));
curPos = 1;
L = length(signal);
numOfFrames = (L-windowLength)/step + 1;
H = hamming(windowLength);
m = [0:windowLength-1]';
for (i=1:numOfFrames)
window = (signal(curPos:curPos+windowLength-1));
FFT = (abs(fft(window,512)));
FFT = FFT(1:255);
totalEnergy = sum(FFT);
curEnergy = 0.0;
countFFT = 1;
while ((curEnergy<=c*totalEnergy) && (countFFT<=255))
curEnergy = curEnergy + FFT(countFFT);
countFFT = countFFT + 1;
end
mC(i) = ((countFFT-1))/(fs/2);
curPos = curPos + step;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?