当前位置:文档之家› 哈尔滨工程大学语音信号处理实验报告

哈尔滨工程大学语音信号处理实验报告

实 验 报 告实验课程名称: 语音信号处理实验姓名: 班级: 20120811 学号:指导教师 张磊 实验教室 21B#293 实验时间 2015年4月12日 实验成绩实验序号实验名称实验过程 实验结果 实验成绩实验一 语音信号的端点检测 实验二 语音信号的特征提取 实验三语音信号的基频提取实验一 语音信号的端点检测一、实验目的1、掌握短时能量的求解方法2、掌握短时平均过零率的求解方法3、掌握利用短时平均过零率和短时能量等特征,对输入的语音信号进行端点检测。

二、实验设备 HP 计算机、Matlab 软件 三、实验原理 1、短时能量语音信号的短时能量分析给出了反应这些幅度变化的一个合适的描述方法。

对于信号)}({n x ,短时能量的定义如下:∑∑∞-∞=∞-∞=*=-=-=m m n n h n x m n h m x m n w m x E )()()()()]()([2222、短时平均过零率短时平均过零率是指每帧内信号通过零值的次数。

对于连续语音信号,可以考察其时域波形通过时间轴的情况。

对于离散信号,实质上就是信号采样点符号变化的次数。

过零率在一定程度上可以反映出频率的信息。

短时平均过零率的公式为:∑∑-+=∞-∞=--=---=1)]1(sgn[)](sgn[21 )()]1(sgn[)](sgn[21N n nm w w m n m x m x m n w m x m x Z其中,sgn[.]是符号函数,即⎩⎨⎧<-≥=0)(10)(1)](sgn[n x n x n x3、端点检测原理能够实现这些判决的依据在于,不同性质语音的各种短时参数具有不同的概率密度函数,以及相邻的若干帧语音应具有一致的语音特性,它们不会在S 、U 、V 之间随机地跳来跳去。

要正确判断每个输入语音的起点和终点,利用短时平均幅度参数E 和短时平均过零率Z 可以做到这一点。

首先,根据浊音情况下的短时能量参数的概率密度函数)|(V E P 确定一个阈值参数H E ,H E 值一般定的较高。

当一帧输入信号的短时平均幅度参数超过H E 时,就可以判定该帧语音信号不是无声,而有相当大的可能是浊音。

根据H E 可判定输入语音的前后两个点1A 和2A 。

在1A 和2A 之间的部分肯定是语音段,但语音的精确起点、终点还要在1A 之前和2A 之后仔细查找,如图1所示。

C 1B 1 A 1A 2B 2C 2E H E E LC 2B 2 A 1C 1B 1 A 2 ZZ s图1 端点检测原理示意图为此,再设定一个较低的阈值参数L E ,由1A 点向前找,当短时能量由大到小减至L E 可以确定点1B 。

类似地,可以由2A 点向后找,确定2B 点。

在1B 和2B 之间的仍能肯定是语音段。

然后由1B 向前和2B 向后,利用短时平均过零率进行搜索。

根据无声情况下的短时平均过零率,设置一个参数s Z ,如果由1B 向前搜索时,短时平均过零率大于s Z 的3倍,则认为这些信号仍属于语音段,直到短时平均过零率下降到低于3倍的s Z ,这时的点1C 就是语音的精确的起点。

对于终点也做类似的处理,可以确定终点2C 。

采用短时平均过零率的原因在于,1B 点以前可能是一段清辅音,它的能量相当弱,依靠能量不可能将它们与无声段分开。

而对于清辅音来说,它们的过零率明显高于无声段,因而能用这个参数将二者区分开来。

存在噪声的情况下,正常的过零率计算会存在一定的误差,解决这个问题的一种方法是对上述过零率定义做一个简单的修改,即设立一个门限T ,将过零率的含义修改为跨过正负门限的次数,如图2。

门限3 门限2 门限1 门限1 门限2 门限3时间图2 门限短时平均过零率于是,有:)(}])1(sgn[])(sgn[ ])1(sgn[])(sgn[{21m n w T m x T m x T m x T m x Z m n -+--++----=∑∞-∞= 这样计算的短时平均过零率就有一定的抗干扰能力。

即使存在小的随机噪声,只要它不超过正负门限所构成的带,就不会产生虚假过零率。

四、实验步骤及程序 实验程序:function point_check() s1=wavread('man.wav'); s=s1/max(abs(s1)); s=filter([1 -0.9375],1,s); plot(s); len=length(s); round=160; repeat=80;inc=round-repeat;%b_len-2*repeat; ka=ceil((len-round)/(round-repeat))+1;s=[s;zeros((round-repeat)*(ka-1)+round-len,1)]; len=length(s); w=zeros(round,ka); for i=1:kafor k=1:roundw(k,i)=s(k+(i-1)*(round-repeat),1);endendST=0.01;F=zeros(ka,round);for i=1:kafor k=0:round-1for j=1:round-kF(ka,k+1)=F(ka,k+1)+abs(w(j,i)-w(j+k,i));endif(k<round-1)if(w(k+1,i)>0&&w(k+2,i)<0)z=sign(w(k+1,i)-ST)-sign(w(k+2,i)+ST);elseif(w(k+1,i)<0&&w(k+2,i)>0)z=sign(w(k+2,i)-ST)-sign(w(k+1,i)+ST);endif(z==2)f(i,1)=f(i,1)+1;endendendendamp=sum(abs(w).^2,1);实验结果截图:024********x 105-0.8-0.6-0.4-0.200.20.40.60.8五、实验结果与分析这次实验利用MATLAB 对信号进行分析和处理,利用短时过零率和短时能量,对语音信号的端点进行检测。

我之前虽然接触过MATLAB 软件,但从未进行过有关语音信号的操作,在实验过程中欠缺独立性,代码是参考网上的,在理解的基础上借鉴。

学习是无止境的,现在的动手能力不强也是由于之前的松懈造成的,以后一定要多动手,毕竟能力是立身之本。

实验二 语音信号的特征提取一、实验目的1、掌握语音信号的Mel 倒谱特征(MFCC )的求解方法2、掌握语音信号的线性预测原理以及LPC 特征的求解方法 二、实验设备 HP 计算机、Matlab 软件 三、实验原理1、MFCC 特征原理及求解方法在语音识别和说话人识别中,常用的语音特征是基于Mel 频率的、倒谱系数(Mel Frequency Cepstrum Coefficient ,简称MFCC )。

由于MFCC 参数是将人耳的听觉感知特性和语音的产生机制相结合,因此目前大多数语音识别系统中广泛使用这种特征。

研究者根据心理学实验得到了类似于耳蜗作用的一组滤波器组,这就是Mel 频率滤波器组。

Mel 频率可以用公式表达如下:)700/log(12595 frequency Mel f +⨯=在实际应用中,MFCC 倒谱系数计算过程如下:(1) 将信号进行分帧,预加重和加汉明窗处理,然后进行短时傅立叶变换得到其频谱; (2) 求出频谱平方,即能量谱,并用M 个Mel 带通滤波器进行滤波,由于每一个频带中分量的作用在人耳中是叠加的,因此将每个滤波频带内的能量进行叠加,这时第k 个滤波器输出功率谱)(k x '; (3) 将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到L 个MFCC 系数,如下式所示。

一般L 取12~16个左右;∑=-'=Mk n M n k k x C 1]/)5.0(cos[)(log π Ln ,....2,1= (4) 这种直接得到的MFCC 特征作为静态特征,将这种静态特征做一阶和二阶差分,得到相应的动态特征。

2、线性预测原理及LPC 特征求解方法根据参数模型功率谱估计的思想,可以将语音信号()x n 看作是由一个输入序列)(n u 激励一个全极点的系统(模型))(z H 而产生的输出,如图3所示。

()x n )(n s )(n u)(z H图3 语音信号的模型化系统的传递函数为:∑=--=pi ii z a G z H 11)(其中G 为常数,i a 为实数,p 为模型的阶数。

显而易见,这种模型是以系数i a 和增益G 为模型参数的全极点模型,即AR 模型。

用系数{i a }可以定义一个p 阶线性预测器)(z F∑=-=pi i i z a z F 1)(这个p 阶预测器从时域角度可以理解为,用信号的前p 个样本来预测当前的样本得到预测值()x n ,1()()pi i x n a x n i ==-∑因为预测器)(z F 是用AR 模型的系数{i a }来构造的,而AR 模型是在最小均方意义上对数据的拟合,所以预测器)(z F 必然是一个最佳预测器,即此时预测器的预测误差短时总能量最小。

语音信号的线性预测分析就是根据这一性质,从语音信号()x n 出发,依据最小均方误差准则,估计出一组线性预测器的系数{i a },它就是我们所要求的信号AR 模型的系数。

{i a }被称为线性预测系数或LPC 系数。

预测器的预测误差)(n e 为:1()()()()()pi i e n x n x n x n a x n i ==-=--∑由上式可知,)(n e 是输入为()x n ,且具有如下形式传递函数的滤波器的输出i pi i z a z F z A -=∑-=-=11)(1)(因此称)(z A 为预测误差滤波器。

比较式(4-1)和式(4-5)可知)(/)(z H G z A =,即预测误差滤波器是系统)(z H 的逆滤波器。

为了在最小均方误差意义上计算一组最佳预测系数,定义短时预测均方误差为2221()[()()][()()]pn i nnni E e n x n x n x n a x n i ===-=--∑∑∑∑由于语音信号的时变特性,线性预测分析应该在短时的语音段上进行,即按帧进行。

因此上式的求和通常也是在一帧语音的范围内进行。

为了使n E 达到最小,{i a }必须满足),,2,1( ,0/p k a E k n ⋅⋅⋅==∂∂。

则有:1(2()()2()())pni n i nk E x n x n k a x n k x n i a =∂=-----∂∑∑∑ 这样可以得到以{i a }为变量的线性方程组1()()()()pini nx n x n k a x n k x n i =-=--∑∑∑, p k ,,2,1⋅⋅⋅=要构造信号的AR 模型,还应估算增益因子G 。

相关主题