论文部分内容阅读
语音端点检测就是从指定的一段语音信号中准确的找出语音信号的开始点和终止点,语音端点检测目的是将有效的语音信号和无用的噪声信号区分开。在以往的语音端点检测研究中人们提出了很多种方法,但是这些方法都存在着这样或者那样的缺陷和不足导致语音处理的最终效果都不太尽如人意。所以本文在总结前人的一些优秀思路的基础上尝试提出一种新的算法——基于信息熵的语音端点检测算法。本文首先对基于语音端点检测算法近些年国内外研究学者提出的方法和思想进行了简单的介绍和分析,并对这些算法的优缺点进行了简单的比较。现有的端点检测算法对信噪比较高的语音端点检测效果很好,且这些算法简单实用。但当存在背景噪声时,其性能都有很大程度的下降,有的甚至因此失效。在比较研究了目前常用的语音端点检测算法之后,本文对语音信号的基本概念,比如信息、信号、信息熵及其相关内容进行简单的概括和介绍。由于直接处理输入的语音信号会有很多不方便和误差造成直接处理的效果并不理想,所以,在进行真正的语音信息处理之前往往要进行语音信号的预处理工作。文章接下来就对语音信号的预处理进行了详细的阐述。其中包括语音信号的采集、信号的数字化、分帧加窗处理、以及如何选择窗函数,并且对几种语音信号处理中遇见的常见窗函数在时域和频域、低通和高通等各个方面性能进行了比较。接下来文章主要介绍了与熵相关的概念。包括信息熵的起源、定义、信息熵的算法以及物理意义、信息熵的基本性质,并且对信息熵的应用领域进行了简单的概括和展望。之后文章对基于信息熵的语音端点检测算法进行了详细的理论分析和公式推导。给出了整个语音端点检测的总流程和步骤,在理论上验证了基于信息熵的语音端点检测算法的可行性。最后利用已经验证了的数学推导公式编写应用程序,并且在MATLAB仿真平台上设计出熵的谱函数。得到了熵函数之后记录各个阶段的信息熵值,在进行判定之前讨论了门限值的设定,然后根据得到的信息熵值与预先设定好的门限值进行比较从而判断是语音信号是有声状态还是无声状态,判断语音信号的起始点和终止点。并且通过MATLAB仿真软件的画图函数直观的标示出语音信号的起止点和终止点。实验最终,通过合理的语音与处理工作和熵函数的建立,并在MATLAB仿真软件上进行实际的仿真,对仿真图像进行详细的分析和反复取值进行实验。最后发现当外界环境事是无背景噪声的情况下,这种基于信息熵的语音端点检测算法能够很好的区分语音段和非语音段,由于其受语音的能量影响比较小且具备一定的鲁棒性。然而,实验中仍旧存在着一些不足之处,实验发现,在信噪比较高的时候基于熵的算法表现出良好的鲁棒性,然而,当信噪比降低的时候,算法的鲁棒性还需要有改进的地方,本实验文章的最后对着一方面也进行了讨论和说明。