Short-time Energy and Zero Crossing Rate
06 Apr 2009
14 Jan 2014)
Compute the short time energy (STE) and short-time zero crossing rate (STZCR) of a signal.
function zc = zerocross(x,wintype,winamp,winlen)
%ENERGY Short-time energy computation.
% y = ZEROCROSS(X,WINTYPE,WINAMP,WINLEN) computes the short-time enery of
% the sequence X.
% WINTYPE defines the window type. RECTWIN, HAMMING, HANNING, and
% BLACKAMN are the possible choices. WINAMP sets the amplitude of the
% window and the length of the window is WINLEN.
% See also RECTWIN, HAMMING, HANNING, BARTLETT, BLACKMAN.
% Author: Nabin Sharma
% Date: 2009/03/15
% generate x[n] and x[n-1]
x1 = x;
x2 = [0, x(1:end-1)];
% generate the first difference
firstDiff = sgn(x1)-sgn(x2);
% magnitude only
absFirstDiff = abs(firstDiff);
% lowpass filtering with window
zc = winconv(absFirstDiff,wintype,winamp,winlen);