短时平均过零率

1.  定义

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


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

考虑到w(n-m)的非零值范围为n-m≥0,即mn,以及n-mN-1,故mn-N+1,因此短时平均过零率可以改写为:
下面是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('短时平均过零率')
声音是我自己录的。下面是语音波形,和过零率图片


阅读更多
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/hanxueyu666/article/details/51347896
文章标签: 语音信号 matlab
个人分类: 语音处理
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭