语音信号处理 matlab 扩展编程

   一过零率: 

        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的数组不一样。注意连接后,改变数组。~~

你可能感兴趣的:(语音信号处理 matlab 扩展编程)