基于短时自相关函数法的基音周期检测
短时自相关函数法基音检测

成员
1、引言
人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音周期的50% )、逐渐关闭到完全闭合(约占基音周期的35% )、完全闭合(约占基音周期的15% )三部分组成。
xlabel('帧数(n)');ylabel('周期(ms)');title('各帧基音周期');
运行结果如下
图3
5、设计中遇到的问题与心得
(1)设计中遇到的问题:
由于每一帧做短时自相关时,Rm(k)开始的几个点的值比第一个周期的峰值还大,因此无法正常提取出第一个峰值对应的点。开始程序的运行结果如下:
图4
于是经过和同学讨论之后决定舍弃Rm开始几个值较大的点,于是运行结果就正常了
图5
(2)心得体验:
短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。
但是短时自相关函数法也存在以下缺点:
倍频现象
通常情况下,基波分量往往不是最强的分量,丰富的谐波成分使语音信号的波形变得非常复杂,给基音检测带来了困难,经常发生基频估计结果为其实际基音频率的二次倍频或二次分频的情况。加之还有清浊混杂等情况,使基音检测成为一大难题。
如图5( a)是一帧语音信号,图4( b)是这帧语音信号的自相关函数,可以看出自相关函数在基音周期处表现为峰值,这些峰值点之间的间隔的平均值就是基音周期,如图6( b)所示可以看出自相关函数检测出的基音周期是原始信号基音周期的一半,这是由于谐波峰值点(箭头所示)的影响,这就是上述缺点中所说的倍频现象。
《语音信号处理》实验2-基音周期估计

华南理工大学《语音信号处理》实验报告实验名称:基音周期估计姓名:学号:班级:10级电信5班日期:2013年5 月15日1.实验目的本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。
2. 实验原理1、基音周期基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。
③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。
④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。
由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。
尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。
语音基音周期检测方法

相 关函数 ,提出一种语音基音周期检测方法 ,在 确保 运算量 较低 的前提下 ,获得准确结果 。使用平滑算法消除倍频 点、半频点和随机点产
生的误差 ,实现基音 曲线平滑 。
关健诃 :连续小波 ;多尺度分析 ;基音周期检测 ;自相关函数
M e h d f rV_ c t h Pe i d De e to t o o 0 ePic ro t c i n i
pthcres ohn . j uv mo tig c
[ yw r s o t u u vltmutsa ayi; i hpr eet n atcr lt nfnt n Ke o d ic n n o s i wa e ; l—c eal s pt ei d tc o ;uoor ai ci e i l n s c d o i e o u o
mu t— c l o tn ou v l tt r —i e n h i a f v c .Ba e n t e s o t t u c re a o u ci n a d t e a e a e ma n t d l s a e c n i u s wa e e o p e fl r g t e sgn l o n e i ti i s d o h r-i h me a t o r l t n f n t o i o n h v rg g u e i d fe e c un to , t o o o c i h p ro ee t n i r po e Th s me o n e i l o u a o x n e a d c n o t i e rg t if r n e f c i n a me d f rv i e p t e d d t c o s p o s d. i t d e dslt e c mp t t n e pe s n a b an t i h h c i i h t i h p t h p ro . m o h n l o t m se p o t d t e v e e r r fmu tp e fe u n y p i t h l e u n y p n d r d m i t a d r a i e i e i d S ot i g a g r h i x l i o r mo e t ro so li l r q e c o n , a ff q e c oi t c i e h r n a a o po n , n n e l z
基于ACF的基音检测算法

信号的处理中具有重要作用.
目前 常 用 的 基 音 频 率 检 测 方 法 大 致 分 为 3 类 , 即波形估 计法 、 关 处 理 法 和变 换 法 . 中波 相 其 形 估计 法实 现原 理简 单 , 是 往 往 会 引入 较 大 的误 但 差; 变换 法算 法较 为 复 杂 , 增 加 实 际运 算 的难 度 ; 会 相 关处 理法 算 法 实 现 简 单 、 测 精 度 高 , 此 成 为 检 因 常用 的基音 周 期 的 检 测 方 法 . 于 此 , 文 拟 采 用 鉴 本
表征 了浊 音激 励 的本 质 特 征 , 还包 含 了汉 语 音 节 的
收稿 日期 :0 1 0 2 1 — 6—1 4
种基音 检测 算法 .
1 相关处 理法的原理实现
由于 自相 关 函数 抗 噪性 能较 强 , 别 适 于 噪 声 特
作者简介 : 郭淑婷 ( 92 ) 女 , 18 一 , 河南省新 乡市人 , 州轻 工业学院助教 , 郑 硕士 , 主要研 究方向为信 号与信 息处理
第2 6卷 第 5期 21年 1 01 0月
郑 州 轻 工 业 学 院 学 报 (自 然 科 学 版 )
JU N L F H N Z O NV R IYO IH D S R N ta Si c ) O R A E G H UU IE S F G T N U T Y( a r c ne OZ T L I ul e
p th d tci n o o a te ctto pe c ina a e c mp ee fe t ey. ic ee t fs n n x iai n s e h sg lc n b o ltd efc i l o v Ke r s: t h dee to ACF; r — r c s i g; o tp o e sn y wo d pi t cin; c p e p o e sn p s— r c s i g
语音信号的自相关基音周期检测

(colfC m u r n fr ai ni e n , hn hiU ir yo l tcPw r S aga 2O9 , hn ) Sho o o pt dI o t nE gn r g Sa ga nv s e r oe, hn hi OOO C i ea n m o ei e  ̄ fE c i a
E ce c ft e a g r h i lo i o tn x e t o h u l y o e sg a r c s .P t h p r d i f i n y o lo t m sa s h i mp r t c p rt e q ai f h in lp e s i e i a e f t t o c o o e d l s u d i o ti e r u h t e s o — me a tc re a in f n t n,a d p l r y c rea in ft u l o n s b an d t o g h h r t u o o r lt u c i h h t i o o n o a t o r l t i o a d p a au si t n a e u e o r ie t e e c e c n t e p o e s o e a tc r eai n n e k v le et ma i r s d t as f in y i r c s ft u o o r lt . o h i h h o Ke r s a t c rea in;p t h p r d;p l r y c rea in y wo d : u o o l t o i eo c i o a t o l t i o
基音周期的估计称为基音周期检测, 基音周 期检测的最终 目的是得到与声音振动频率吻合较
基音检测技术及其在语音信号处理中的应用研究

基音检测技术及其在语音信号处理中的应用研究摘要:本文先对自相关函数法、平均幅度差函数法、倒谱法、小波变换法这四种经典的基音检测方法的原理进行分析;然后用MATLAB软件完成了基于短时自相关函数法、倒谱法的基音检测。
通过实验可知,这两种方法针对实验室环境下的一帧语音信号比较准确,但在噪声环境下不够理想。
为了克服这两种方法的不足,本文对它们均做了改进,对于短时自相关函数法增加了预处理,使得基音轨迹曲线更加明显。
在对基音检测的倒谱法进行分析时,提出了一种功率谱二次处理的二次谱基音检测方法,该方法克服了倒谱法基音检测的抗噪能力低的弱点,基音轨迹曲线估计的准确性也得到了改善。
关键词:基音检测;短时能量;自相关函数;倒谱函数;预处理;基音轨迹Abstract:Four typical pitch detection methods are analyzed firstly, i.e, autocorrelation function, average magnitude difference function, cepstrum, and wavelet transform. The pitch detection based on short time energy autocorrelation function and cepstrum functions are implemented with MATLAB. The experimental results show that both methods work well for the speech in the lab. But for the noised signal, the detection performance is not so good. In order to overcome these shortcomings,some improvements are presented in this article .For the short time autocorrelation, there introduce the pro-processing operations ,as a result ,the accuracy of the estimated pitch contour is improved. The cepstrum method of speech pitch detection is analyzed carefully,and also propose a secondary processing power spectrum of secondary spectrum pitch detection methods. It used the power spectrum reprocessing results of speech to extract the pitch contour. The presented method not only overcame the shortcomings of cepstrum method, but also improved the accuracy of the estimated pitch contour.Keywords:pitch detection;short time energy;autocorrelation function;cepstrum function;pro-processing;pitch contour前言基音是指发浊音时声带振动所引起的周期性,而声带振动频率的倒数就是基音周期。
基于自相关的语音基音周期检测方法研究

为信号 xn和 Y() () n的互相关函数 。如果 Y()x()则互相关 函 n = n, 数 变 成 了 自相 关 函数 :
R( Ⅱ m)
X() n m) nx(+
式 中 , 为 信 号 的延 迟 点 数 。 m 自相 关 函 数反 映 了信 号 xf 和 自身 n 1 作 了一 段 延 迟之 后 的 x( m) 似 程 度 。 n 的相 + 自相 关 函 数 具 有 以下 的 性 质 : 果 序 列 xn 具 有 周 期 N , 如 () 。 则 其 自相关 函数 也 是 同 周期 的周 期 函 数 。 : x 】 ( 即 若 ( =xn+N1 n n , 则 R =Rm + 。 ㈤ ( 清 音 信 号 没 有 周期 性 ,它 的 自相 关 函 数 也 没 有 周 期 , ㈤ R 会 随着 1 的增 大 迅 速 衰 减 。浊 音 信 号 具 有 准 周 期 性 . 的 自相 1 1 它 关 函数 R 具 有 与 xn 同 的周 期 。浊 音 信 号 的 自相 关 函数 在 ㈤ (1 相 基 音 周 期 的 整数 倍 位 置 上 出现 峰 值 .而 清 音 信 号 的 自相 关 函数 没 有 明显 的 峰值 。 自相 关法 基 音 检 测 就 是 利用 R m 的这 一 性 质 f) 对 语 音 信 号 进行 基 音 检 测 的 。 于 浊音 信 号 。 要检 测 到 N 的位 对 只 置 , 可 以估 计 语音 信 号 的基 音周 期 值 。 就
福
建
电
脑
2 0 年 第 1 期 08 1
基 于 自相 关 的语 音 基 音 周 期检 测 方 法研 究
基于短时自相关函数法的基音周期检测

ixb=vseg(i).begin;
ixe=vseg(i).end;
ixd=ixe-ixb+1;% 求取一段有话段的帧数
for k=1 : ixd % 对该段有话段数据处理
u=y(:,k+ixb-1); % 取来一帧数据
ru= xcorr(u, 'coeff'); % 计算归一化自相关函数
ru = ru(wlen:end);% 取延迟量为正值的部分
[tmax,tloc]=max(ru(lmin:lmax)); % 在基音频率范围内寻找最大值
period(k+ixb-1)=lmin+tloc-1; % 给出对应最大值的延迟量
end
end
4.2.4实验结果
图4端点检测的语音信号
图5有话段的基音周期
图2图中实线代表语音起始点,虚线代表语音终点
2.2.5结果分析
基音周期是语音信号的重要参数之一,它描述了语音激励源的一个重要特征。语音的头、尾部并不能具有声带振动那样的周期性,也就是检测不到相应的基音周期。如果要进行基音周期的计算,首要的必然是检测语音端点,将有话段从整段语音中分离出来,才能开始对语音的基音周期进行计算.
Esum(i) = sum(Sp.*Sp); % 计算能量值 (能量放入Esum里)
prob = Sp/(sum(Sp));% 计算概率
H(i) = -sum(prob.*log(prob+eps)); % 求谱熵值(eps表示很小的数,避免为零)(谱熵放入H里)
end
hindex=find(H<0.1);%(find返回非零元素,hindex放入,即谱熵值小于0.1的索引)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目总结报告—基音周期的检测1.项目整体框架1.1目标了解语音基音周期估计方法,掌握自相关法估计基音周期的原理。
1.2主要容本次基音周期的估算,我们选用的是短时自相关函数法,包括四个模块。
第一个模块为基音的端点检测,主要为了区分浊音和清音。
第二个模块为基音检测中的带通滤波器,主要为了减少共振峰的干扰。
第三个模块为短时自相关函数法做基音检测,主要为了计算出基音周期。
第四个模块为平滑处理,主要为了消除偏离值点。
2.模块一(端点检测)2.1主要负责工作利用能熵比法进行语音端点检测,区分语音帧的起点以与终点。
2.2具体实现方法2.2.1实验步骤1)取一段语音“tone4.wav”,该语音容是“妈妈,好吗,上马,骂人”,语音长度为3.5秒,采样率Fs=8000. 进行简单的去除直流分量,然后幅值归一化,时域波形如图1所示。
2)设置好分帧参数,帧长wlen=320,帧移inc=80,调用函数y=enframe(x,wlen,inc)';对语音信号x分帧处理。
最后帧数Fn=337。
3)设置端点检测门限值T1=0.05,使用能熵比法进行端点检测。
对分帧后的语音y 每一帧进行FFT运算,然后计算每一帧的能熵比值。
从而计算出语音y中的语音端点。
结果如图2所示。
2.2.2能熵比法设语音信号时域波形为,加窗分帧处理后得到的第i帧语音信号为,则FFT后表示为,其中下标i表示为第i帧,而k表示为第k条谱线。
该语音帧在频域中的短时能量为式中,N为FFT的长度,只去正频率部分。
而对于某一谱线k的能量谱为,则每个频率分量的归一化谱概率密度函数定义为该语音帧的短时谱熵定义为其中,只取正频率部分的谱熵,对应的能熵比表示为2.2.3代码编写在主程序中,执行的是[voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1);而调用了以下函数function [voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1,miniL)if nargin<4, miniL=10; endif size(y,2)~=fn, y=y'; end % 把y转换为每列数据表示一帧语音信号wlen=size(y,1); % 取得帧长for i=1:fnSp = abs(fft(y(:,i))); % FFT取幅值(:表示所有y(:,1)表示第一列)Sp = Sp(1:wlen/2+1); % 只取正频率部分Esum(i) = sum(Sp.*Sp); % 计算能量值(能量放入Esum 里)prob = Sp/(sum(Sp)); % 计算概率H(i) = -sum(prob.*log(prob+eps)); % 求谱熵值(eps表示很小的数,避免为零)(谱熵放入H里)endhindex=find(H<0.1);%(find返回非零元素,hindex放入,即谱熵值小于0.1的索引)H(hindex)=max(H);%(除去元音)Ef=sqrt(1 + abs(Esum./H)); % 计算能熵比(将每一帧的能熵比放入Ef里)Ef=Ef/max(Ef); % 归一化zindex=find(Ef>=T1); % 寻找Ef于T1的部分zseg=findSegment(zindex); % 给出端点检测各段的信息zsl=length(zseg); % 给出段数j=0;SF=zeros(1,fn);for k=1 : zsl % 在大于T1中剔除小于miniL 的部分if zseg(k).duration>=miniLj=j+1;in1=zseg(k).begin;in2=zseg(k).end;voiceseg(j).begin=in1;voiceseg(j).end=in2;voiceseg(j).duration=zseg(k).duration;SF(in1:in2)=1; % 设置SF(有话段的SF帧为1)endendvosl=length(voiceseg); % 有话段的段数2.2.4实验结果图1 “妈妈,好吗,上马,骂人”语音的时域波形图2 图中实线代表语音起始点,虚线代表语音终点2.2.5结果分析基音周期是语音信号的重要参数之一,它描述了语音激励源的一个重要特征。
语音的头、尾部并不能具有声带振动那样的周期性,也就是检测不到相应的基音周期。
如果要进行基音周期的计算,首要的必然是检测语音端点,将有话段从整段语音中分离出来,才能开始对语音的基音周期进行计算.利用能熵比法检测语音端点后,该语音段可分为四段,每段的起点以与终点如图二所示.2.3总结语音的预处理是非常关键的一环,做好这个实验的关键在于理解matlab语句的作用,录入语音信号,设定好参数,进行分帧处理,并通过能熵值的大小标比较,确定好语音信号的端点。
通过这次的检测,我了解了Matlab函数库非常的多,理解起来需要查阅很多公式以与资料,非常的耗时。
做实验务必讲究认真专心,一步一个脚印的去做好每一个环节就可以了,与队友的配合以与沟通也是重要的一环,与时了解队友的情况,做好衔接。
3.模块二(基音检测中的带通滤波器)3.1主要负责工作用带通滤波器减少共振峰的干扰。
3.2具体实现方法算法原理在使用相关法和AMDF法的基音检测之前常用到低通滤波器和带通滤波器,其主要目的是减少共振峰的干扰。
在文献中作者选用了500Hz作为滤波器的上限频率,并指出选择截止频率高不利于减少噪声和共振峰的影响。
所以在本书的基音检测中的预滤波器选择的带宽为60~500Hz,高频截止频率选择500Hz,是因为基频区间的高端就在这个区域中,低频截止频率选择60Hz是为了减少工频和低频噪声的干扰。
我们选用IIR滤波器中的椭圆滤波器,因为IIR滤波器的运算量比FIR少,当然IIR滤波器会带来延迟,也就是相位的变化,但语音信号是对相位不敏感的信号;又选用椭圆滤波器,因为它在经典滤波器设计中相同过渡带和带宽条件下,需要的阶数比较小。
在阶数相同的条件下,椭圆滤波器相比于其他类型的滤波器,能获得更窄的过渡带宽和较小的阻带波动, 就这点而言, 椭圆滤波器是最优的。
滤波器的要求为采样频率8000Hz,通带是60~500Hz,通带波纹为1dB,阻带分别为30Hz和2000Hz,阻带衰减为40dB。
3.2.2代码编写%% pr8_1_1clear all; clc; close all;fs=8000; fs2=fs/2; % 采样频率Wp=[60 500]/fs2; % 滤波器通带Ws=[20 2000]/fs2; % 滤波器阻带Rp=1; Rs=40; % 通带的波纹和阻带的衰减[n,Wn]=ellipord(Wp,Ws,Rp,Rs); % 计算滤波器的阶数[b,a]=ellip(n,Rp,Rs,Wn); % 计算滤波器的系数fprintf('b=%5.6f %5.6f %5.6f %5.6f %5.6f %5.6f %5.6f\n',b)fprintf('a=%5.6f %5.6f %5.6f %5.6f %5.6f %5.6f %5.6f\n',a)[db, mag, pha, grd,w]=freqz_m(b,a); % 求取频率响应曲线plot(w/pi*fs/2,db,'k'); % 作图grid; ylim([-90 10]);xlabel('频率/Hz'); ylabel('幅值/dB');title('椭圆6阶带通滤波器频率响应曲线');实验结果由程序计算出滤波器系数为:b=0.012280 -0.039508 0.042177 0.000000 -0.042177 0.039508 -0.012280a=1.000000 -5.527146 12.854342 -16.110307 11.479789 -4.4101790.713507实验结果图:图3 滤波前和后的语音信号结果分析带通滤波器使原始信号变得更加平整,滤去了杂音,为基音检测减少干扰,使检测更加顺利进行。
3.3总结通过这次课程实践,我深刻体会到自己在课程理论方面的不足,MATLAB的应用也相当生疏。
在设计过程中,看不懂的东西很多,但是学会了通过上网搜查资料和自主从书本寻找知识。
实践中遇到许多问题,但是和同学分工合作与讨论让我学会了很多平常学不到的知识。
这次实践让我明白知识就像大海一样宽广,我们要像海绵吸水一样吸取有用的知识。
4.模块三(短时自相关函数法做基音检测)4.1主要负责工作在前面两个步骤之后用自相关函数法去实现基音周期的检测4.2具体实现方法4.2.1算法设语音信号的时间序列x(n),它的自相关函数定义为:R(k)=Σx(n)x(n-k),K是时间的延迟量。
短时自相关函数有以下重要性质:①如果信号x(n))具有周期性,周期是P,那么它的自相关函数R(k) 也具有周期性,而且周期与信号x(n)的周期性相同。
②当k=0时,短时自相关函数具有最大值,即在延迟量为0,±P,±2P,,,时,周期信号的自相关函数也达到最大值。
③短时自相关函数是偶函数,即R(k) =R(-k)。
短时自相关函数基因检测的主要原理大都是利用它的这些性质,通过比较原始信号和它的延迟后的信号之间的类似性质来确定基音周期。
如果延迟量等于基音周期,那么两个信号具有最大类似性,或是直接找出短时自相关函数的两个最大值间的距离,即为基音周期的初估值。
在用短时自相关函数检测基音是,常用归一化的短时自相关函数,表达式为 r(k)= R(k)/ R(0)以上性质②中已指出,k=0,R(0)为最大值。
所以r(k)的模值永远小于或等于1。
已知基音频率围为60Hz~500Hz之间,采样率为fs时,则基音周期(样点值)围在fs/500~fs/60之间,然后在这个围之间寻找归一化相关函数的最大值,对应的延迟量就是基音周期。
4.2.2代码编写步骤①根据前面步骤所得分帧后的语音数组,对它进行处理,把它转换为每一列数据表示一阵语音信号,行数为总的帧长。
②对每一帧语音信号的基音周期进行初始化,让其为零保证清音段无基音周期。
③利用前面端点检测后所得的有话段和有话段段数,对每一段的有话段的每一帧数据计算归一化自相关函数。
④最后对每一帧所得的归一化自相关函数取正延迟量的部分,然后在基音频率围得最大值,从而可得最大值对应的样点数,利用函数循环计算,最后可以得出每段有话段每一帧的基音周期。
代码编写用短时自相关函数法的程序:function period=ACF_corr(y,fn,vseg,vsl,lmax,lmin)pn=size(y,2);if pn~=fn, y=y'; end % 把y转换为每列数据表示一帧语音信号wlen=size(y,1); % 取得帧长period=zeros(1,fn); % 初始化for i=1 : vsl % 只对有话段数据处理ixb=vseg(i).begin;ixe=vseg(i).end;ixd=ixe-ixb+1; % 求取一段有话段的帧数for k=1 : ixd % 对该段有话段数据处理u=y(:,k+ixb-1); % 取来一帧数据ru= xcorr(u, 'coeff'); % 计算归一化自相关函数ru = ru(wlen:end); % 取延迟量为正值的部分[tmax,tloc]=max(ru(lmin:lmax)); % 在基音频率围寻找最大值period(k+ixb-1)=lmin+tloc-1; % 给出对应最大值的延迟量endend实验结果图4 端点检测的语音信号图5 有话段的基音周期结果分析在端点检测和滤波后,经过短时自相关函数法处理后,由上面的实验结果图可看出基音周期有很多的偏离点即野点,需要进行平滑处理,也可以看出基音周期大约为40个样点数,即基音周期为40/fs,采样率为8000Hz,得周期为0.005s,基音频率为200Hz.4.3总结通过这次设计,我深刻体会到在信号处理方面我的严重不足,MATLAB的应用也相当生疏。