短时平均过0率

短时平均过零率
1.  定义

   在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。单位时间内过零的次数就称为过零率。短时平均过零率的定义为 

短时平均过0率

目前我还没弄明白,把语音信号截断为什么要卷积一个窗函数,为什么不是直接乘?

考虑到w(n-m)的非零值范围为n-m≥0,即mn,以及n-mN-1,故mn-N+1,因此短时平均过零率可以改写为:短时平均过0率
下面是matlab程序
clear all
[signal,fs,bit] = wavread('1.wav');
subplot(3,1,1)
plot(signal);
title('语音信号波形');
framelength = 150;
framenumber = fix(length(signal)/framelength);
for i = 1:framenumber;%分帧处理
    framesignal = signal((i-1)*framelength+1:i*framelength);%提取一帧信号
    Z(i) = 0;
    for j = 2:framelength-1;
        Z(i) = Z(i)+abs(sign(framesignal(j))-sign(framesignal(j-1)));%计算该帧过零率
    end
end
subplot(3,1,2)
plot(Z);
title('短时平均过零率')
声音是我自己录的。下面是语音波形,和过零率图片
短时平均过0率