一过零率:
1在实际应用中,通常利用过零率来检测清音,用短时能量来检测浊音,两者配合实现可靠的端点检测,用的比较多的是一种双门限的算法。
2 为了后面处理的方便们首先可以将输入的育婴信号进行归一化,将其幅度限制在[-1,1]之间,用如下命令: x=x/max(abs(x));
3为了提高算法效率,用矢量化计算方法,计算过零率。两个相差一个采样点的数组相乘。
!4 过零率的传统计算方法有欠考虑。(可见博客文章《matlab过零率的优化计算》)
二 预加重滤波:在计算短时能量之前,首先将语音信号通过一个一阶的高通滤波器 1-0.9375z·1,通常称之为预加重滤波器。
matlab 命令:filter([1 -0.9375], 1, x);
三 LPC线性预测系数和LPCC。
LPC是由模拟人发声理论计算出的声道模型方法。但是计算量大。在LPC基础上改进,用LPCC能够简化计算。也就是说LPCC仅仅是为了提高计算速度。
四? Mfcc
计算出的mfcc系数只能表征语音的静态特性,而人耳对动态特性更加敏感,所以需要计算MFCC的一阶导和二阶导,加入到mfcc系数中。
找不到说明为何mfcc是静态特性,但是可能是因为大量实验表明。
五labview &&matlab
1. labview引用matlab节点时,若是将一个数组输出,但出现labview无法从matlab服务器中获取变量,那是因为要获取的数组是logical数组。
eg:在matlab中看到diff数组是logical型的,可以在diff产生后,加入一句diff=diff*1,即可将其转换为numeric数组,然后就可以输出了。
2.matlab和labview的数组不一样。注意连接后,改变数组。~~