基于时域自相关平方函数的基音周期估计
王艳芬 于洪珍 刘卫东 郑晓红
!中国矿业大学信息与电气工程学院"徐州 !!&""2#
3’4156&6789:;<=>1?@$AB4
摘 要 语音信号的基音估计算法多年来一直是人们关注的问题$ 属于时域法的基于短时自相关函数的基音估计方法
以其算法简单%计算量小而成为人们首选的算法$ 论文在此法的基础上"提出了一种基于时域自相关平方函数的基音周
期估计方法$ 通过实验仿真表明"该方法简单易行"基音周期估计的准确性比较高$
关键词 基音估计 自相关平方函数 仿真
文章编号 &""!’2%%&’&!""##%&’""2%’"% 文献标识码 C 中图分类号 /D%"&
!"#$% &’#"()#"*+ ,-’./ *+ 0*11.2)#./ 345-1.
65+7#"*+ *8 9"(.:/*(-"+
;-+< =-+8.+ =5 >*+%.+ @"5 ;."/*+< A%.+< B"-*%*+<
$EAFBB6 B; G?;BH$ 1?I 36=A>H$ 3?@5?==H5?@!JF5?1 K?5L=H75>: B; M5?5?@ /=AF?B6B@:!NO8FBO !!&""2%
CD’#1-7#&
EP==AF P5>AF =7>541>5B? 57 1 PHBQ6=4 1>>=?I=I Q: P=BP6= ;BH 41?: :=1H7$D5>AF =7>541>5B? 5? >54=’IB415?
Q17=I B? ABHH=61>=I ;O?A>5B? B; 7FBH> ’>54= 57 1 PH=;=HH=I 16@BH5>F4 Q=A1O7= B; 754P6= 16@BH5>F4 1?I 65>>6= A16AO61>5?@
>54=7$EB >F= P1P=H QH5?@7 ;BH91HI 1 4=>FBI B; P5>AF =7>541>5B? 5? >54= ’IB415? Q17=I B? ABHH=61>=I 7RO1H= ;O?A>5B?$
/FHBO@F =SP=H54=?> 754O61>5B?!>F= 4=>FBI 57 754P6= 1?I P5>AF =7>541>5B? 57 4OAF =S1A>$
E.FG*1/’& P5>AF =7>541>5B?!ABHH=61>=I 7RO1H= ;O?A>5B?!754O61>5B?
& 引言
基音是指发浊音时声带振动所引起的周期性 !而声带振动
频率的倒数就是基音周期" 对汉语而言!因汉语是一种有调语
言 !基 音 的 变 化 模 式 代 表 着 声 调 !所 以 基 音 周 期 是 语 音 信 号 最
重 要 的 参 数 之 一 !它 在 语 音 编 解 码 #语 音 识 别 等 领 域 都 起 着 很
重要的作用" 所以基音估计算法一直是人们关注的问题!目前
已研究开发了许多算法" 概括起来!这些算法主要集中在语音
信号的时域特性#频率特性及时域’频域混合特性(%)"其中!属于
时域法的基于短时自相关函数的基音估计方法以其算法简单 #
计算量小而成为人们首选的算法" 在决定基音周期时!利用了
短时自相关函数在基音周期的各整数倍点上具有较高的峰值 "
特别是第一峰值点的位置非常重要!峰值越尖锐则确定的位置
就越准确" 为此笔者在短时自相关函数基础上寻找了一种基于
时域自相关平方函数的基音周期估计方法 "
! 语音信号的短时自相关函数和短时频谱
若 !"$#%为 一 段 加 窗 语 音 信 号 !非 零 区 间 为 #*"+$$’&%!
!"$#%的自相关函数称为语音信号 !$#%的短时自相关函数 %"$&%!
其计算公式为,&-&
$(&’&
%" $&%’
!!" $#%!" $#)&%
# ’ "
$&%
!"$#%的离散时间傅立叶变换 $./0/%*"$+,!%称为 !$#%的 短
时频谱!用下式计算&
$(&
,!
*" $+
%*
(,!#
!!" $#%+
# ’ "
$!%
在语音信号数 字 处 理 中 !都 是 采 用 !" $#%的 离 散 傅 立 叶 变
%! 并 用 高 效 的 快 速 傅 立 叶 变 换
,!
换 $.0/%* " $-% 来 代 替 * " $+
$00/%算法来实现"
短 时 自 相 关 函 数 和 短 时 频 谱 是 语 音 信 号 非 常 重 要 的 一 对
短时参数! 分别在时域和频域中表征了语音信号的主要特征 !
在语音信号分析#处理及各种应用中起到了非常重要的作用"
若 !$#%为一个浊音信号!其 时 域 波 形 有 明 显 的 周 期 性 !求 该 语
音 信 号 的 短 时 自 相 关 函 数 %"$&%!也 有 明 显 的 周 期 性 !且 %"$&%
的周期等于 !$#%的周期!而清音语音则没有此特性" 因此可以
用该特性来判断一个语音是浊音还是清音!并可以决定一个浊
音的基音周期"
% 基于短时自相关函数的基音周期估计及其改进
%$& 改进算法的提出
在决定基音周期时!利用了短时自相关函数在基音周期的
各整数倍点上具有较高的峰值 " 只要找到 %"$&%的第一峰值点
的位置并计算它与 &’" 点的距离即可估计出基音周期" 可见 !
第一峰值点的位置非常重要!峰值越尖锐则确定的位置就越准
确" 为此这里在短时自相关函数基础上寻求一种更好的解决算
法" 若求短时自相关函数 %"$&%的平方!用符号 %*"$&%表示!即&
$&%! 可 以 发 现 %*" $&%与 % " $&% 一 样 都 呈 周 期 性 变
%* " $&%’% "
化!且周期一致!特别是在同样的条件下!%*" $&%的波形要比 %"
$&%的波形尖锐的多!在峰值处尤为明显" 图 & 所示分别为某女
性发元音,1-的波形#短时自相关函数及短时自相关函数的平方
!
作者简介!王艳芬$&TU!’%!女!博士研究生!副教授!主要研究方向&语音信号处理!通信信号及信息处理!自适应滤波等" 于洪珍$&T%2’%!女!博士
生导师!教授!主要研究方向&多媒体计算机技术!信息融合等"
万方数据
计算机工程与应用 !""#$%&
!"
的波形! 因此用短时自相关函数 !" "##的平方函数 !$" "%#进行
基音周期估计效果要好得多!
音窗长分别为 7"56"56 时 %!" "%#和 !$" "%#波 形 的 第 一 峰 值
的位置与基音周期").#"#一致 %当语音窗长为 %" 56 时%第 一
峰 值 的 位 置 为 ).%0 与 基 音 周 期 有 误 差 % 当 语 音 窗 长 为 !"56
时%第一峰值的位置为 ).%7)当语音 窗 长 为 856 时 ").9!#%第
一峰值的位置为 ).%4 与基音周期有更大的误差! 如图 ! 所示!
图 & 某女性发元音’()的波形!短时自相关函数及短时
自相关平方函数波形
为什么会产生这样的结果$ 原因很简单%一个函数当平方
后%若函数值大于 &%平方后的值一定比原值大%若函 数 值 小 于
&%则平方后的值一定比原值小! 所以%&" "%#在平方后%其数值
比较大的峰点更加尖锐%而零值附近的较小的值平方后变得更
小甚至可以忽略不计%这样%&" "%#的平方函数 &$" "%#的波形看
起来要比原函数 &" "%#波形更加纯净&峰值更加突出! 实际上%
这 相 当 于 将 短 时 自 相 关 函 数 &" "%#在 用 于 基 音 周 期 估 计 前 先
通过了一个简单有效的非线性变换环节 %即 &$" "%#’(’&" "%#*+
!
"%#%其中运算关系 (,’*就是非线性平方变换关系!
&"
%$! 归一化处理
为防止在实际中用 -./ 芯片运 算 时 幅 度 过 大 易 产 生 溢 出
" "%#和归一化
现象%可以进行归一化处理! 归一化自相关函数&!
自相关平方函数&!$"
" "%#的定义分别为(
)*%*&
#," "+#," "+-%#
+ ’ "
)*&
&!
" "%#’
图 ! 不同窗长时对归一化自相关函数及归一化自相关平方函数的影响
所 以 一 般 认 为 窗 长 至 少 应 大 于 两 个 基 音 周 期 而 且 要 按 语
音中的最长基音估计%才可能有较好的效果 ! 因为语音中最长
基音周期约为 !"56% 则 在 估 计 基 音 时 窗 长 应 选 大 于 #"56%即
若语音的采样频率为 0123%则相应的点数 ):%!"! 另一方面 %
) 值也要尽可 能 地 小 %因 为 语 音 信 号 的 特 性 是 变 化 的 %如 ) 过
大将影响短时性! 长基音周期用窄的窗%将得不到预期的基音
周 期 )而 短 基 音 周 期 用 宽 的 窗 %自 相 关 函 数 将 对 许 多 个 基 音 周
期作平均计算%无疑增加了运算量! 解决办法之一%可以采用修
正的短时自相关函数 ’&*!
%$# 低通滤波
为减少外来高频噪声和高频共振峰的影响%同时又保留足
够 的 谐 波 结 构 % 使 峰 值 检 测 更 加 容 易 % 先 对 语 音 信 号 进 行
0""23 低 通 滤 波 %设 计 的 滤 波 器 为 9 阶 切 比 雪 夫 ! 型 "阻 带 衰
减 %";<#==> 数字低通滤波器%其传递函数为(
/"0#+
?&
"$"%#!?"$"000
?!
@"$&&440
?%
?"$"4"&0
?#
?"$"4"&0
?4
@"$&&440
"%#
?&
&?#$ %0
?!
-9$98%&0
?%
?0$#!0%0
?#
@4$7%&%0
?4
?!$%"090
?7
?"$"000
?7
@"$4%7#0
?9
@"$"%#!0
?9
@"$"4%#0
!
#,"
+ . "
!
!!$"
" "%#.!!
"%#
%$% 窗长的选择
"
"+#
"##
计 算 短 时 自 相 关 函 数 !" "%#所 用 的 ," "+#中 应 使 用 方 窗 %
因为使用方窗比使用海明窗具有更明显的周期性! 但应注意窗
长 对 基 音 周 期 估 计 有 很 大 的 影 响 %当 窗 长 过 短 时 %短 时 自 相 关
函数 !" "%#的第一峰值与基音周期是不一致的!
取 一 段 语 音 %仍 按 图 & 元 音,(*的 波 形 %抽 样 频 率 为 0123%
基音周期 456"基音频率为 !""23%相应的点数 )+#"#! 这里对
以 下 几 种 窗 长 进 行 了 仿 真 实 验 %若 取 语 音 窗 长 为 7"56%即 )+
#0"%包 含 &! 个 基 音 周 期 )语 音 窗 长 为 #"56%即 ).%!"%包 含 0
个基音周期)语音窗长为 %"56%即 ).!#"%包含 7 个基音周 期 )
语音窗长为 !"56%即 ).&7"%包含 # 个基音周期! 结果为(当语
万方数据
!""#$%& 计算机工程与应用
!"
"4#
经过信号滤波和归一化处理后%笔者发现元音语音信号的
归一化自相关平方函数的波形与典型的声门脉冲串波形 "如图
%"(##非常接近! 分析其原因%并非偶然! 因为大家知道%声门开
合一次所经历的时间叫基音周期 (1%而基音周期的倒数就是声
门 波 的 基 音 频 率 即 基 频 2 1! 对 浊 音 语 音 求 短 时 自 相 关 函 数
&""%#所 具 有 的 明 显 周 期 性 %就 反 映 了 浊 音 语 音 的 声 带 振 动 基
频 %再 对 短 时 自 相 关 函 数 求 平 方 且 归 一 化 后 %零 值 附 近 的 较 小
的值变得更小直至可以忽略不计%则周期性更加显著! 这时%此
波形可以近似看作为声门脉冲波形%求得的频谱就直接反映了
基音频率! 另外%由于声门波是一种准周期性的连续波%所以频
谱 为 线 状 谱 ! 随 着 频 率 的 增 高 %谱 线 的 能 量 逐 渐 降 低 %如 图 %
"A#所示,#*! 图 # 给出了某元音语音信号滤波前&后的频谱和滤
" "%#及其 BBC 波形%可以
波后信号的归一化自相关平方函数&!$"
看出!!""
# !$"的频谱很接近声门波的频谱$
图 % 典型的声门脉冲串波形及频谱
需要注意的是 #若 窗 长 % 一 定 #在 求 信 号 频 谱 或!!""
# !$"的
频谱时#LLM 的长度 & 应至少等于窗长 % 的 ! 倍# 即 !%$
这样# 才能保证所得频谱的正确性且具有较高的谱分辨率 #如
图 # 所示$ 该仿真实验中语音信号为某女性发元音7/8!如 图 &
所示"的 波 形 #抽 样 频 率 为 (NOP#基 音 周 期 )F5 即 基 音 频 率 为
!""OP$ 若 窗 长 %Q%!"#则 LLM 的 长 度 &Q!%Q’#"#从 图 # 中
# !$"的 LLM 波 形 可 直 接 得 到 #基 音 频 率 为 !""OP 与 理 论 上
!!""
相符$
# 结束语
语音信号的基音估计多年来一直是人们关注的问题$ 论文
在基于短时自相关函数的基音估计方法的基础上 #提出了一种
基于时域自相关平方函数的基音周期估计方法 #并指出了实验
仿真中窗长& 频谱分析 LLM 长度 & 的选取原则及实际实现时
归一化处理等应该注意的问题$ 通过实验仿真表明 #该方法简
单易行#基音周期估计的准确性比较高$
!上接 ’( 页"
#$) 迭代和增量过程
从统一软件开发过程的生命周期可以看出#软件系统是经
过多次迭代和增量过程开发出来的$ 如图 # 所示 #每一个循环
要经 过 %初 始 &细 化 &构 造 和 移 交 四 个 阶 段 #每 一 阶 段 要 进 行 需
求&分析&设计&实现和测试等核心工作流的迭代 $ 通过循环过
程 #逐 步 由 初 始 系 统 向 最 终 的 系 统 演 变 #而 构 架 也 是 经 过 多 次
迭代而形成的$ 至于要经过多少次迭代和增量过程 #这取决于
是否所有的系统用例都已实现和系统的目标已经达到$ 为什么
要采用迭代和增量开发过程’ 这是因为%
!&"这种方法降低了技术风险$ 系统是从小到大发展的#用
户可尽早看到实际产品#系统人员也是在不断认识并改进系统
的质量$ 这就有助于克服瀑布模型中经常出现的软件质量现象$
!!"通 过 迭 代 与 增 量 的 方 法 #可 逐 步 得 到 一 个 强 有 力 的 系
统构架$
!%"当需求变化时#这种方法有较强的适应能力$
!#"各种问题可尽早发现和解决$
) 统一软件过程和统一建模的支持工具
由以上讨论可发看出#统一软件开发过程是一个复杂的系
统 工 程 #需 要 全 新 的 理 念 和 组 织 方 式 #并 要 改 变 以 往 的 工 作 模
式与机制$ 没有工具的自动化支持#将很难保证这一过程顺利
进 行 $ 所 以 需 要 支 持 整 个 生 命 周 期 的 工 具 #包 括 %需 求 管 理 工
具&可视化建模工具&程序设计工具&支持迭代与增量开发过程
工具 &系 统 集 成 工 具 &测 试 工 具 等 #还 要 有 版 本 控 制 &配 置 管 理
和项目管理等工具$ 目前国外已研制出一些 *+, 建模系统和
万方数据
图 # 某元音信号滤波前!后的频谱和滤波后信号的归一化
自相关平方函数及其频谱
!收稿日期%!""# 年 % 月"
参考文献
&$杨行峻#迟惠生$语音信号数字处理7+8$北京%电子工业出版社#&II)
!$-/@136= , -$R3 0E6 G56 2S /G02?2==64/0123 /3/4C515 15 S2= T10?E B6U
06?01237>8$;VVV M=/35/?0123 R3 W?2G501?5 KT66?E /3B K1H3/4 .=2?655U
13H#&I::(WKK.U!’!&"%!#9%%
%$鲍长春#樊昌信$基于归一化互相关函数的基音检测算法7>8$通信学报#
&II(U&"
#$胡航$语音信号处理7+8$哈尔滨%哈尔滨工业大学出版社#!"""
部分 -*. 支持工具#并 具 有 一 定 的 实 用 性 #如 -/0123/4 公 司 的
-256 和 -*. 产品$ 但距软件建模与软件过程的自动化还有相
当 差 距 #这 方 面 还 有 许 多 复 杂 技 术 问 题 需 要 研 究 #国 内 软 件 产
业界应加强这一方面的研究与开发工作$
’ 结束语
论文简单地介绍和分析了软件过程&建模技术与统一软件
过程的基本原理和相互关系#可以看出 %统一建模语言 *+, 是
比较理想的建模标准(统一软件过程是软件技术发展必然的结
果#一个统一的软件开发过程与建模语言将极大促进软件工程
学科和软件产业的发展 $ 所以应加大研究力度#积极学习并适
应这种复杂的新方法#并开发与之配套的软件环境与工具$
!收稿日期%!""# 年 % 月"
参考文献
&$杨正甫$面向对象分析与设计7+8$中国铁道出版社#!""&%%9%!
!$张海藩$软件工程导论7+8$北京%清华大学出版社#!"""%&:’9!")
%$蒋立源$编译原理7+8$西安%西北工业大学出版社#!""&%&%9%(
#$;= >/?2@523#A=/BC D22?E#>/F65 -GF@/GHE$统一软件开发过程7+8$
北京%机械工业出版社#!""!%%9!#!
)$卫红春$信息系统分析与设计7+8$西安%西安电子科技大学出版社#!""%%
)!9)I
’$-23/4B > J2=F/3$面向对象系统分析与设计7+8$北京%清华大学出版
社#&II:%))9&"!
:$-2H6= K .=655F/3$软件工程实践者的研究方法7+8$北京%机械工业出
版社#&III%&)9%)
计算机工程与应用 !""#$%&
!"