Matlab共振峰检测算法研究与实现
共振峰是反映声道谐振特性的重要特征,它代表了发音信息的最直接的来源,而且人在语音感知中利用了共振峰信息。所以共振峰是语音信号处理中非常重要的特征参数,已经广泛地用作语音识别的主要特征和语音编码传输的基本信息。
目前的提取语音共振峰的方法比较多,常用的方法有倒谱法、LPC法。倒谱法是采取同态解卷技术,经过同态滤波后得到平滑的谱来提取共振峰。因为去除了激励引起的谐波波动,所以可以更精确的得到共振峰参数。LPC法是从线性预测导出的声道滤波器估计频谱包络。线性预测提供了一个优良的声道模型,尽管线性预测法的频率灵敏度和人耳不相匹配,但它仍是目前最廉价最优良的行之有效的方法。 20190805201739
论文首先介绍了共振峰的一些基础知识,并对上面两种共振峰提取方法进行详细介绍,最后完成了对上述两种算法的程序设计,利用MATLAB对上述算法进行仿真实验以及对两种算法的实验结果进行分析对比。
关键词:共振峰;LPC;倒谱;MATLAB
本论文主要集中讨论两种共振峰频率检测算法,一是全极点多项式的根(LPC)法,二是倒谱(CEP)法。
(一)、全极点多项式的根(LPC)法
在语音信号的LPC模型中,语音信号样本s(n)可由如下差分方程表示:
共振峰参数包括共振峰频率、频带宽度和幅值,共振峰信息包含在语音频谱的包络中。因此共振峰参数提取的关键是估计语音频谱包络,并认为谱包络中的最大值就是共振峰。
复倒谱x(n)的Z变换取对数后的逆Z变换,即可以表示为X(n)=Z-1[lnZ[x(n)]]
将x(n)进行Z变换后得到X(z),它包含幅度信息和相位信息。那么取复对数后将得到X(z)=ln|X(z)|+jargX(z)。如果忽略了X(z)的相位信息,只是考虑其幅度信息,那么立刻可以得到倒谱c(n)的定义,c(n)的定义为x(n)Z变换后的幅度的对数的逆Z变换,即C(n)=Z-1[ln|Z(x(n))|]=Z-1[ln|X(Z)|]
倒谱和复倒谱的特征系统D*[.]的唯一区别是倒谱的第二步运算用ln|X(z)|代替了lnX(z),其特征系统结构见下图2.4所示
摘 要 III
ABSTRACT IV
第一章 绪论 1
一、引言 1
二、课题简介 1
(一)、课题研究背景与发展现状 1
(二)、课题的主要内容 2
(三)、论文章节安排 3
第二章 相关理论知识介绍 4
一、语音信号处理的基础知识 4
(一)、共振峰的概述 4
(二)、语音信号的预处理 5
(三)、线性预测的基本原理 6
(四)、语音信号的倒谱分析 8
二、共振峰检测算法 12
(一)、全极点多项式的根(LPC)法 12
(二)、倒谱(CEP)法 14
(三)、峰值检测 15
第三章 MATLAB软件平台介绍 16
一、MATLAB开发环境 16
二、MATLAB的特点 17
三、MATLAB的应用 17
四、语音信号处理常用函数 17
第四章 编程实现与仿真结果 19
一、LPC法编程实现 19
(一)、具体实现 19
(二)、仿真结果 22
二、倒谱法编程实现 24
(一)、具体实现 24
(二)、仿真结果 25
三、两种算法的性能比较 27
(一)、性能比较 27
(二)、两种方法的应用 27
总结 29
参考文献 30
致 谢 31
附录:MATLAB程序源代码 33
原文链接:http://www.jxszl.com/dzxx/dzkxyjs/597.html