倒谱计算与分析
倒谱分析

倒谱分析(1).倒频谱的数学描述倒频谱函数CF(q)(power cepstrum)其数学表达式为:(2.6)CF(q)又叫功率倒频谱,或叫对数功率谱的功率谱。
工程上常用的是式(2.6)的开方形式,即:(2.7)C0(q)称为幅值倒频谱,有时简称倒频谱。
倒频谱变量q的物理意义为了使其定义更加明确,还可以定义:(2.8)即倒频谱定义为信号的双边功率谱对数加权,再取其傅里叶逆变换,联系一下信号的自相关函数:看出,这种定义方法与自相关函数很相近,变量q与τ在量纲上完全相同。
为了反映出相位信息,分离后能恢复原信号,又提出一种复倒频谱的运算方法。
若信号x(t)的傅里叶变换为X(f):(2.9)x(t)的倒频谱记为:(2.10)显而易见,它保留了相位的信息。
倒频谱与相关函数不同的只差对数加权,目的是使再变换以后的信号能量集中,扩大动态分析的频谱范围和提高再变换的精度。
还可以解卷积(褶积)成分,易于对原信号的分离和识别。
(2).倒频谱的应用分离信息通道对信号的影响图2.26对数功率谱关系图。
在机械状态监测和故障诊断中,所测得的信号,往往是由故障源经系统路径的传输而得到的响应,也就是说它不是原故障点的信号,如欲得到该源信号,必须删除传递通道的影响。
如在噪声测量时,所测得之信号,不仅有源信号而且又有不同方向反射回来的回声信号的混入,要提取源信号,也必须删除回声的干扰信号。
若系统的输入为x(t),输出为y(t),脉冲响应函数是h(t),两者的时域关系为: y(t)=x(t)*h(t)频域为: Y(f)=X(f)*H(f)或Sy(f)=Sx(f)*|H(f)|2对上式两边取对数,则有:(2.11)式(2.72)关系如图(2.26)所示,源信号为具有明显周期特征的信号,经过系统特性logGk(f)的影响修正,合成而得输出信号logGy(f)。
对于(2.72)式进一步作傅里叶变换,即可得幅值倒频谱:(2.12)即:(2.13)以上推导可知,信号在时域可以利用x(t)与h(t)的卷积求输出;在频域则变成X(f)与H(f)的乘积关系;而在倒频域则变成Cx(q)和Ch(q)相加的关系,使系统特特性Ch(q)与信号特性Cx(q)明显区别开来,这对清除传递通道的影响很有用处,而用功率谱处理就很难实现。
语音信号的倒谱分析

因为
ˆ X ' (Z ) X ' (Z ) X (Z )
求复倒谱的一种有效的递推算法
ˆ Z[nx(n)] Z (nx(n))Z[ x(n)]
ˆ n( x(n)) {nx(n)} x(n)
n 1
l ˆ ˆ x(n) ( ) x(l ) x(n l ) x(n) x(0) l 0 n 可推导出: ˆ x ( n)
i 1
P
ˆ e(n) s(n) s(n) s(n) ai s(n i) ai s(n i)
i 1 i 0
P
P
线性预测原理
线性预测是目前分析语音信号的最有效的方法之一,分 析的结果是得到一组信号的全极点模型参数,所以又称 为信号参数模型法。 这个方法的基本思想是将被分析信号模型化,即用有限 数目的模型参数来描述信号中的信息,具体来说,将被 分析信号s(n)视为某系统(即模型)的输出,而系统的 输入,在s(n)为确定性信号是采用单位取样序列。在s(n) 为随机信号是采用白噪声序列。
Linear
Prediction
1947年维纳提出; 1967年板仓等人应用于语音分析与合成;
语音信号处理与分析的核心技术
提供了预测功能;
提供了声道模型和声道模型的参数估计方法;
基本思想:
语音样本之间存在相关性,一个语音信号的样本可 以用过去若干个样本的线性组合来逼近;
ˆ s ( n) a i s ( n i )
g jZ
j 0
Q
j
, A( Z ) ai Z i
i 0
P
g j 和ai都是实数,且a0 1。如果能有一种算法,可能根据已知的s (n) 正确的估计出这些参数,那么未知的系统V(Z)便可求得。由于 E ( Z )V ( Z ) S ( Z ),根据V ( Z )和S ( Z )便可以求得E(Z),从而全部解决 解卷的的问题。
共振峰 倒谱法

共振峰倒谱法
共振峰是指在声音或信号频谱中出现较高振幅的频率区域。
这些共振峰通常对应于声音源或信号中的共振频率,即在该频率下共振现象特别明显。
倒谱法是一种用于分析信号频谱的方法。
它将频谱转化为倒谱系数,通过对这些倒谱系数进行分析,可以得到信号的特征参数,例如共振峰频率、带宽等。
在使用倒谱法进行分析时,首先需要获取信号的频谱。
一种常见的做法是使用傅里叶变换将信号从时域转化为频域。
然后,将频谱对数化,并应用倒谱变换得到倒谱系数。
倒谱系数可以通过对频谱进行对数变换来得到。
常见的做法是取频谱的对数幅度,并进行倒谱变换。
这样可以将信号的频谱转化为倒谱系数,并对其进行分析。
倒谱法常用于语音信号分析、音乐信号分析等领域。
通过分析倒谱系数,可以提取信号的共振峰特征,并用于声音识别、音乐分析等应用中。
复倒谱的基本原理

复倒谱的基本原理倒谱(cepstrum)是一种在信号处理领域中常用的技术,用于对信号进行频谱分析和声学特征提取。
它的基本原理是将信号的频谱变换到另一个域,该域被称为倒谱域。
在倒谱域中,信号的频谱特征能够更加凸显,从而便于进行后续的分析和处理。
倒谱的基本原理可以分为以下几个步骤:1.首先,对原始信号进行预加重处理。
这是为了强调信号的高频分量,减少低频分量对信号频谱的影响。
预加重可以通过一阶高通滤波器来实现,可以使用以下差分方程来计算:y[n]=某[n]-α某某[n-1]其中,y[n]为预加重后的信号,某[n]为原始信号,α是预加重的系数,一般取0.95。
2.接下来,对预加重后的信号进行分帧处理。
将信号分成若干小片段,每个片段称为一帧。
分帧可以使用矩形、汉明窗等窗函数来实现,窗函数有助于减少帧之间的边界效应。
3.对每一帧的信号进行傅里叶变换,得到每帧的频谱。
频谱表示了不同频率上的信号成分的幅度信息。
4.对每一帧的频谱取对数,这样可以将频谱的幅度响应转换成对数刻度,使得频谱的动态范围更容易处理。
5.对取对数后的频谱进行傅里叶逆变换,得到该帧信号的倒谱。
倒谱是频谱的对数表示。
6.最后,对所有帧的倒谱取均值,并进行后续的处理和分析。
均值操作可以减小每帧之间的差异,得到更加稳定的倒谱特征。
倒谱技术的应用非常广泛。
在音频处理领域,倒谱可以用于语音识别、音乐分析等任务。
在图像处理领域,倒谱可以用于图像轮廓分析和纹理特征提取等任务。
在信号处理领域,倒谱可以用于信号分类、故障诊断等应用。
总之,倒谱是一种非常有效的信号处理技术,能够将信号的频谱特征更好地显示出来,并方便后续的分析和处理。
通过倒谱分析,我们可以获取到信号的重要频谱信息,从而实现对信号的更深入理解和利用。
倒谱计算与分析

《视频语音处理技术》倒谱计算与分析学院名称:计算机与信息工程学院专业名称:计算机科学与技术年级班级:姓名:学号:计算机与信息技术学院综合性、设计性实验报告一、 实验目的:对语音信号进行同态分析可得到语音信号的倒谱参数。
语音的倒谱是将语音的短时谱取对数后再进行IDFT 得到的,所以浊音信号的激励反映在倒谱上是同样周期的冲激,借此,可从倒谱波形中估计出基音周期。
对倒谱进行低时窗选,通过语音倒谱分析的最后一级,进行DFT 后的输出即为平滑后的对数模函数,这个平滑的对数谱显示了特定输入语音段的谐振结构,即谱的峰值基本上对应于共振峰频率,对于平滑过的对数谱中的峰值进行定位,即可估计共振峰。
对于倒谱计算与分析的设计实验可作如下训练: 1、复倒谱的几种计算方法: 2、最小相位信号法和递归法; 3、基音检测; 4、共振峰检测。
二、实验仪器或设备:windowsXP 下的Matlab 编程环境 三、总体设计(设计原理、设计方案及流程等)1.复倒谱的几种计算方法:在复倒谱分析中,z 变换后得到的是复数,所以取对数时要进行复对数运算。
这时存在相位的多值性问题,称为“相位卷绕”。
设信号为则其傅里叶变换为对上式取复对数为 则其幅度和相位分别为:)()()(21n x n x n x *=)()()(21ωωωj j j e X e X e X ⋅=)(ln )(ln )(ln 21ωωωj j j e X e X e X +=)(ln )(ln )(ln 21ωωωj j j e X e X e X +=)()()(21ωϕωϕωϕ+=)()()(21ωϕωϕωϕ+=上式中,虽然 , 的范围均在 内,但 的值可能超过范围。
计算机处理时总相位值只能用其主值 表示,然后把这个相位主值“展开”,得到连续相位。
所以存在下面的情况:(K 为整数) 此时即产生了相位卷绕。
下面介绍几种避免相位卷绕求复倒谱的方法。
最小相位信号法这是解决相位卷绕的一种较好的方法。
倒频谱分析 (DEMO)

倒频谱分析倒频谱分析也称为二次频谱分析,是近代信号处理科学中的一项新技术,是检测复杂谱图中周期分量的有用工具。
它对于分析具有同族谐频或异族谐频、多成分边频等复杂信号,找出功率谱上不易发现的问题非常有效。
实数倒谱又分为功率倒频谱、幅值倒频谱和类似相关函数的倒频谱。
工程上经常使用的是功率倒频谱和幅值倒频谱。
在语言分析中语音音调的测定、机械振动中故障监察和诊断以及排除回波(反射波)等方面均得到广泛的应用。
若一个测量信号)s(t)x(=,则当两个分量y+tt)(ty是由两个分量)(tx与)(t(s叠加而成的,即)的能量分别集中在不同的频率段时,可用频域分析中的线性滤波或功率谱分析;当所要提取的分量以一定的形状作周期性重复而其中一分量是随时间变化的噪声时,可用时域分析中的信号平均法或相关分析。
这些方法都可有效地处理线性叠加信号。
但是有的信号不是由其分量的线性叠加,例如机床的输出信号是)(ty,激发振动的输入信号是切削力)tty+xhy是(t=即输出)(th描述的,则有)(t(t(x,而机床的动力特性是由脉冲响应))()输入)h的卷积,这是用处理线性叠加信号的方法就不够了。
另外、对于一个(tx与脉冲响应力)(t复杂的功率谱图,有的很难直观看出它的一些特点和变化情况。
而倒谱分析则能很好地处理这类问题,使故障诊断更加便利。
倒频谱是频域函数的傅里叶再变换,与相关函数不同只差对数加权。
对功率谱函数取对数的目的,是使再变换以后的信号能量格外集中,同时还可解析卷积(褶积)成分,易于对原信号的识别。
功率倒谱主要定义为时间信号的功率谱取对数再进行傅里叶逆变换。
通过上述分析可知,倒谱分析技术可适用于:(1)机械故障诊断,对于机械故障信号在频谱图上,出现难以识别的多族调制边频时,采用倒频谱分析技术,可以分解和识别故障频率,分析和诊断产生故障的原因和部位。
在齿轮箱的振动分析中,倒谱分析技术有广泛的应用。
(2)语音和回声分析,求解卷积问题。
gammatone倒谱系数

gammatone倒谱系数
Gammatone倒谱系数(Gammatone Frequency Cepstral Coefficients,GFCC)是一种音频特征提取方法,主要用于声音处理、语音识别和音乐信息检索等领域。
以下是GFCC的基本概念和计算步骤:
GFCC基于Gammatone滤波器组,这是一种模拟人耳听觉特性的滤波器组。
Gammatone滤波器可以很好地模拟人耳基底膜的频率响应特性,只需要很少的参数就能模拟听觉实验中的生理数据。
由于相邻的Gammatone滤波器通道有重叠的部分,因此提取的Gammatone特征系数相互之间存在相关性。
为了减小这种相关性,GFCC采用了离散余弦变换(DCT)进行处理。
GFCC的计算过程主要包括以下步骤:
对经过预处理后的语音帧进行快速傅里叶变换(FFT),获得频谱,并计算短时能量谱。
使用Gammatone滤波器组对频谱进行滤波,模拟人耳听觉的频率响应特性。
对滤波后的信号进行非线性变换,如对数变换,以模拟人耳对声音强度的感知特性。
对变换后的信号进行离散余弦变换(DCT),得到Gammatone 倒谱系数。
GFCC具有一些优点,例如能够模拟人耳的听觉特性,提取
出与人耳感知相关的音频特征;同时,GFCC的计算复杂度相对较低,适用于实时处理和大规模数据处理。
倒谱计算与分析..

《视频语音处理技术》倒谱计算与分析学院名称:计算机与信息工程学院专业名称:计算机科学与技术年级班级:姓名:学号:计算机与信息技术学院综合性、设计性实验报告一、 实验目的:对语音信号进行同态分析可得到语音信号的倒谱参数。
语音的倒谱是将语音的短时谱取对数后再进行IDFT 得到的,所以浊音信号的激励反映在倒谱上是同样周期的冲激,借此,可从倒谱波形中估计出基音周期。
对倒谱进行低时窗选,通过语音倒谱分析的最后一级,进行DFT 后的输出即为平滑后的对数模函数,这个平滑的对数谱显示了特定输入语音段的谐振结构,即谱的峰值基本上对应于共振峰频率,对于平滑过的对数谱中的峰值进行定位,即可估计共振峰。
对于倒谱计算与分析的设计实验可作如下训练: 1、复倒谱的几种计算方法: 2、最小相位信号法和递归法; 3、基音检测; 4、共振峰检测。
二、实验仪器或设备:windowsXP 下的Matlab 编程环境 三、总体设计(设计原理、设计方案及流程等)1.复倒谱的几种计算方法:在复倒谱分析中,z 变换后得到的是复数,所以取对数时要进行复对数运算。
这时存在相位的多值性问题,称为“相位卷绕”。
设信号为则其傅里叶变换为对上式取复对数为 则其幅度和相位分别为:)()()(21n x n x n x *=)()()(21ωωωj j j e X e X e X ⋅=)(ln )(ln )(ln 21ωωωj j j e X e X e X +=)(ln )(ln )(ln 21ωωωj j j e X e X e X +=)()()(21ωϕωϕωϕ+=)()()(21ωϕωϕωϕ+=上式中,虽然 , 的范围均在 内,但 的值可能超过范围。
计算机处理时总相位值只能用其主值表示,然后把这个相位 主值“展开”,得到连续相位。
所以存在下面的情况:(K 为整数) 此时即产生了相位卷绕。
下面介绍几种避免相位卷绕求复倒谱的方法。
最小相位信号法这是解决相位卷绕的一种较好的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《视频语音处理技术》倒谱计算与分析学院名称:计算机与信息工程学院专业名称:计算机科学与技术年级班级:姓名:学号:计算机与信息技术学院综合性、设计性实验报告专业:计算机科学技术 年级/班级:2011级 2012—2013学年第一学期一、 实验目的:对语音信号进行同态分析可得到语音信号的倒谱参数。
语音的倒谱是将语音的短时谱取对数后再进行IDFT 得到的,所以浊音信号的激励反映在倒谱上是同样周期的冲激,借此,可从倒谱波形中估计出基音周期。
对倒谱进行低时窗选,通过语音倒谱分析的最后一级,进行DFT 后的输出即为平滑后的对数模函数,这个平滑的对数谱显示了特定输入语音段的谐振结构,即谱的峰值基本上对应于共振峰频率,对于平滑过的对数谱中的峰值进行定位,即可估计共振峰。
对于倒谱计算与分析的设计实验可作如下训练: 1、复倒谱的几种计算方法: 2、最小相位信号法和递归法; 3、基音检测; 4、共振峰检测。
二、实验仪器或设备:windowsXP 下的Matlab 编程环境 三、总体设计(设计原理、设计方案及流程等)1.复倒谱的几种计算方法:在复倒谱分析中,z 变换后得到的是复数,所以取对数时要进行复对数运算。
这时存在相位的多值性问题,称为“相位卷绕”。
设信号为则其傅里叶变换为对上式取复对数为 )()()(21n x n x n x *=)()()(21ωωωj j j e X e X e X ⋅=)(ln )(ln )(ln 21ωωωj j j e X e X e X +=则其幅度和相位分别为:上式中,虽然, 的范围均在 内,但 的值可能超过 范围。
计算机处理时总相位值只能用其主值表示,然后把这个相位 主值“展开”,得到连续相位。
所以存在下面的情况:(K 为整数) 此时即产生了相位卷绕。
下面介绍几种避免相位卷绕求复倒谱的方法。
最小相位信号法这是解决相位卷绕的一种较好的方法。
但它有一个限制条件:被处理的信号想x(n)必须是最小相位信号。
实际上许多信号就是最小相位信号,或可以看作是最小相位信号。
语音信号的模型就是极点都在z 平面单位圆内的全极点模型,或者极零点都在z 平面单位圆内的极零点模型。
设信号x (n )的z 变换为X (z )=N (z )/ D (z ) ,则有根据z 变换的微分特性有若x (n )是最小相位信号,则 必然是稳定的因果序列。
由Hilbert 变换的性质可知,任一因果复倒谱序列都可分解为偶对称分量和奇对称分量之和: 其中)(ln )(ln )(ln 21ωωωj j j e X e X e X +=)()()(21ωϕωϕωϕ+=)()()(21ωϕωϕωϕ+=)(1ωϕ)(2ωϕ()ππ,-)(ωϕ()ππ,-)(ωΦπωωϕk 2)()(+Φ=)()(ln )(ln )(ˆz D z N z X z X==⎥⎦⎤⎢⎣⎡-=-=-∞-∞=∑)()(ln )(ˆ)(ˆz D z N dz d z z X dz d z z n xn n n [])()()()()()(z D z N z D z N z N z D z'-'-=)(ˆn x )(ˆ)(ˆ)(ˆn x n x n xo e +=[]2/)(ˆ)(ˆ)(ˆn x n x n xe -+=[]2/)(ˆ)(ˆ)(ˆn x n x n xo --=这两个分量的傅里叶变换分别为 的傅里叶变换的实部和虚部。
从而可得此即复倒谱的性质3,也就是说一个因果序列可由其偶对称分量来恢复。
如果引入一个辅助因子g (n ),上式可写作 其中最小相位信号法求复倒谱原理框图如下递归法这种方法仅限于是最小相位信号的情况。
根据z 变换的微分特性得对上式求逆z 变换,根据z 变换的微分特性,有所以设x (n )是最小相位序列,而最小相位信号序列一定为因果序列 ,所以有由于及 可得递推公式 )(ˆn x)(ˆ)(ˆ)(ˆ)(ˆωωωωj Ij R jn n j e X j e X e n xe X+==-∞-∞=∑⎪⎩⎪⎨⎧>=<=0)(ˆ20 )(ˆ00)(ˆn n x n n x n n xe e )(ˆ)()(ˆn x n g n xe ⋅=00()1020n g n n n <⎧⎪==⎨⎪>⎩)n )()()(z X dzdz z X dz d z zX -=- [])()()(ˆn x n n x n xn ⋅=*⋅0)()(ˆ)(≠-⎪⎭⎫⎝⎛=∑∞-∞=n k n x k x n k n x k ∑∑-==+-⎪⎭⎫ ⎝⎛=-=100)0()(ˆ)()(ˆ)()(ˆ)()(n k nk x n x k n x k x n k k n x k x n k n x )0(0)(ˆ<=k k x )(0)(ˆn k k n x >=-递归运算后由复倒谱定义可知如果x (n )是最大相位序列,则变为其中 2、基音检测;语音的倒谱是将语音的短时谱取对数后再进行IDFT 得到的,所以浊音信号的周期性激励反映在倒谱上是同样周期的冲激。
借此,可从倒谱波形中估计出基音周期。
一般把倒谱波形中第二个冲激,认为是对应激励源的基频。
下面给出一种倒谱法求基音周期的框图及流程图如下)0()()(ˆ)0()()(ˆ10x k n x k xn k x n x n x n k -⎪⎭⎫ ⎝⎛-=∑-=[]{}⎭⎬⎫⎩⎨⎧==∑∞-∞=---])(ln[)(ln )(ˆ11n n z n x z n x z z n x[][])0(ln )()0(ln )0(ln )0(1x n x x z z x ===-δ⎪⎩⎪⎨⎧<=>=0 2010 0)(n n n n g 0)0()()(ˆ)()0()()(ˆ01<--=∑+=n x k n x k x n k x n x n x n k )0(ln )0(ˆx x=图5.8 一种倒谱法求基音周期的实现框图3.共振峰检测倒谱将基音谐波和声道的频谱包络分离开来。
对倒谱进行低时窗选,通过语音倒谱分析系统的最后一级,进行DFT后的输出即为平滑后的对数模函数,这个平滑的对数谱显示了特定输入语音段的谐振结构,即谱的峰值基本上对应于共振蜂频率,对平滑过的对数谱中的峰值进行定位,即可估计共振峰。
原理框图及流程图如下。
图5.12 共振峰检测框图四、实验步骤(包括主要步骤、代码分析等)1.倒谱MATLAB实现代码段clear all; %倒谱[s,fs,nbit]=wavread(''); %读入一段语音b=s'; %将s转置x=b(5000:5399); %取400点语音N=length(x); %读入语音的长度S=fft(x); %对x进行傅里叶变换Sa=log(abs(S)); %log为以e为底的对数sa=ifft(Sa); %对Sa进行傅里叶逆变换ylen=length(sa);for i=1:ylen/2;sal(i)=sa(ylen/2+1-i);endfor i=(ylen/2+1):ylen;sal(i)=sa(i+1-ylen/2);end%绘图figure(1);subplot(2,1,1);plot(x);%axis([0,400,,])v1.0 可编辑可修改title('截取的语音段');xlabel('样点数');ylabel('幅度');subplot(2,1,2);time2=[-199:1:-1,0:1:200];plot(time2,sa1);%axis([-200,200,,])title('截取语音的倒谱');xlabel('样点数');ylabel('幅度');运行结果如图:2. 倒谱法求浊音、清音的基音周期function s=p5_2pitchdetectwaveFile='';[y,fs,nbits]=wavread(waveFile);time1=1:length(y);time=(1:length(y))/fs;frameSize=floor(50*fs/1000); % 帧长startIndex=round(5000); % 起始序号endIndex=startIndex+frameSize-1; % 结束序号frame=y(startIndex:endIndex); % 取出该帧frameSize=length(frame);frame2=frame.*hamming(length(frame)); % 加汉明窗rwy=rceps(frame2); % 求倒谱ylen=length(rwy);cepstrum=rwy(1:ylen/2);for i=1:ylen/2;cepstrum1(i)=rwy(ylen/2+1-i);endfor i=(ylen/2+1):ylen;cepstrum1(i)=rwy(i+1-ylen/2);end%基因检测LF=floor(fs/500); %基因周期的范围是70~500Hz HF=floor(fs/70);cn=cepstrum(LF:HF);[mx_cep ind]=max(cn);if mx_cep>&ind>LF;a=fs/(LF+ind);elsea=0;endpitch=a%画图figure(1);subplot(3,1,1);plot(time1,y);title('语音波形');%axis tightylim=get(gca,'ylim');line([time1(startIndex),time1(startIndex)],ylim,'color','r'); line([time1(endIndex),time1(endIndex)],ylim,'color','r'); xlabel('样点数');ylabel('幅度');subplot(3,1,2);plot(frame);%axis([0,400,,])title('一帧语音');xlabel('样点数');ylabel('幅度')subplot(3,1,3);time2=[-199:1:-1,0:1:200];plot(time2,cepstrum1);%axis([-200,200,,])title('一帧语音的倒谱');xlabel('样点数');ylabel('幅度');运行结果如下图:倒谱法求浊音的基音周期v1.0 可编辑可修改清音的倒谱3. 共振峰检测程序waveFile='';[y,fs,nbits]=wavread(waveFile);time=(1:length(y))/fs;frameSize=floor(40*fs/1000); % 帧长startIndex=round(15000); % 起始序号endIndex=startIndex+frameSize-1; % 结束序号frame=y(startIndex:endIndex); % 取出该帧frameSize=length(frame);frame2=frame.*hamming(length(frame)); %加汉明窗rwy=rceps(frame2); %倒谱求ylen=length(rwy);cepstrum=rwy(1:ylen/2);% 基音检测LF=floor(fs/500);HF=floor(fs/70);cn=cepstrum(LF:HF);[mx_cepind]=max(cn);% 找到最大的突起的位置% 共振峰检测核心代码NN=ind+LF;ham=hamming(NN);cep=cepstrum(1:NN);ceps=cep.*ham; %汉明窗formant1=20*log(abs(fft(ceps)));formant(1:2)=formant1(1:2);for t=3:NN% do some median filteringz=formant1(t-2:t);md=median(z);formant2(t)=md;endfor t=1:NN-1if t<=2formant(t)=formant1(t);elseformant(t)=formant2(t-1)*+formant2(t)*+formant2(t+1)*; endendsubplot(3,1,1);plot(cepstrum);title('倒谱');xlabel('样点数');ylabel('幅度')%axis([0,220,,])spectral=20*log(abs(fft(frame2)));subplot(3,1,2);xj=(1:length(spectral)/2)*fs/length(spectral);plot(xj,spectral(1:length(spectral)/2));title('频谱');xlabel('频率/Hz');ylabel('幅度/dB')%axis([0,500,-100,50])subplot(3,1,3);xi=(1:NN/2)*fs/NN;plot(xi,formant(1:NN/2));title('平滑对数幅度谱');xlabel('频率/Hz');ylabel('幅度/dB');%axis([0,5500,-80,0])运行结果如图所示:020406080100120140160180200220-0.50.5倒谱样点数幅度5001000150020002500300035004000450050005500-100-50050频谱频率/Hz 幅度/d B5001000150020002500300035004000450050005500-80-60-40-20平滑对数幅度谱频率/Hz幅度/d B五、结果分析与总结对语音信号进行同态分析可得到语音信号的倒谱参数。