码迷,mamicode.com
首页 > 其他好文 > 详细

短时平均过零率

时间:2016-05-12 22:47:58      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

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('短时平均过零率')
声音是我自己录的。下面是语音波形,和过零率图片
技术分享

短时平均过零率

标签:

原文地址:http://blog.csdn.net/hanxueyu666/article/details/51347896

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!