您好, 访客   登录/注册

Matlab在基音周期检测教学中的应用研究

来源:用户上传      作者:

  摘要:基音周期是《语音信号处理》中的重点和难点,基音周期作为语音信号的重要参数,在语音编码、语音合成和语音识别等方面,有着非常重要的作用。本文采用Matlab对基因周期进行仿真分析,从仿真图上查看语音信号的基音周期,让学生更形象的理解语音信号的基音周期。
  关键词:基音周期;语音编码;语音合成;语音识别;仿真
  中图分类号:G642        文献标识码:A
  文章编号:1009-3044(2020)02-0188-02
  1 概述
  语音信号是通信工程专业的一门必修课,其中基音周期是一个重要的知识点,对于基音周期的检测十分困难,处理复杂,且变化范围较大,不同的人群,他们的基音周期差别相当明显。即使同一个人在不同环境下的基音周期也会有所不同,如何在教学中把语音信号的基音周期讲解清楚,让学生理解透彻,是该知识点讲解的难点。本文采用Matlab对基音周期进行仿真分析,从仿真图中很直观地看到基音周期,有利于把复杂的问题简单化。
  2 基音周期检测的难点
  2.1 基音周期没有完全的周期性
  语音信号是随时间变化的信号,是非线性信号,在信号分析处理时进行短时加窗,近似为线性信号进行处理,而语音信号的产生采用二元激励的方式,即清音和浊音。对于清音,没有明显的周期性;对于浊音,声门激励的波形并不是一个完全的周期序列,从而也就无法准确地计算基音周期[1,3,7]。
  2.2 声道的影响
  语音信号从声带部位产生到从口腔发出,经过声道的干扰,基音的周期性和共振峰的周期性会产生交叠现象,叠加后波形的峰值可能会与原来峰值相差较大,所以要从语音信号中去除声道的影响。常见的方法有采用逆滤波器法[2]、同态分析法等。或者直接取出仅与声带振动有关的声源信息,在声带部位直接取出语音信号,这也并非易事。
  2.3 端点检测的准确性
  语音信号的端点检测非常困难,一段语音信号,哪些是无声段,哪些是有声段。在有声段中,哪些是清音,哪些是浊音,它们的分界点很难准确的判决,也就无法准确地判定基音周期的开始和结束位置[3],所以一个完整的周期很难准确的检测。
  3 基音周期检测的方法
  3.1 时域分析法
  时域法主要包含短时自相关法(ACF)和短时平均幅度差法(AMDF) [6]。语音信号分析采用短时加窗处理,把非线性时变信号近似变成线性时不变信号,以利于分析处理。如若用符号T来表示 ,得到的便是一个时间序列Pn:
  时域分析法的主要特点是运算量小,但抗噪性能比较差,很容易产生倍频和半频现象,并且观察基音周期不明显。
  3.2 频域分析法
  目前,用得比较多的频域检测法是倒谱法,下面就倒谱法进行分析:
  对于一个原始语音信号x(n),其倒谱函数可以定义为
  上式(2)表示一个信号的倒谱函数,它可以通过对信号实施傅里叶变换,再进行取模和取对数运算,再进行一个傅里叶逆变换,完成倒谱函数的计算。
  倒谱法在提取基音周期中的应用一般步骤如下:
  (l)对语音信号进行分帧处理(一般选择汉明窗);
  (2) 对分帧后的各段信号做离散傅里叶变换,并取模;
  (3) 对上述得到的信号进行取对数处理;
  (4) 经过上面处理后,进行离散逆傅里叶变换;
  (5) 设置一个峰值幅度的阈值,幅值大于这个阈值,判定为浊音段,否则判定为清音段。倘若语音被判定为浊音信号,则以第二个冲激点的时间值作为基音周期。
  4 Matlab在基音周期检测中的应用
  语音信号进行时域分析和频域分析,得到浊音信号的基音周期,然后利用Matlab进行仿真分析,在基音周期仿真图上可以看出语音信号的基音周期,为了更加清楚的分析出基音周期,可以调整采集的语音信号的帧数,已达到更加的效果。
  4.1 仿真过程
  语音信号采用电脑自带的录音功能,录制一段语音,采样率为8kH,窗序列采用300点的汉明窗,帧叠200点,选取帧数2000帧。具体步骤如下:
  (1) 语音信号{ x(n)} 用900Hz低通滤波器进行滤波,去掉开头的15个输出值,得到{ x'(n)}[7];
  (2) { x'(n)}进行削波处理,采用三电平中心削波,得到信号{ y(n)};
  (3) 信号{ y(n)}求基音周期。
  4.2 仿真结果
  仿真环境,采用Microsoft Windows 7 版本2009,Service Pack 1,Intel(R) Core(TM)i5-3320M CPU @2.60GHz 2.60GHz,8GB的内存。
  图1是时间波形,关于采样点数和归一化声压值。
  从图2中可以看出浊音信号波形的帧数为本次试验所设置的2000帧,经过削波后修自相关可以大致可以看出基音周期,为了明显看出基音周期,可以缩小所采集的帧数,把framelength=2000中的2000更换为200,则可以得到图3:
  如图3可以很明显地看出基音周期,基音周期为38帧左右。
  从基音周期值的仿真图上可以看出,经过MATLAB仿真的基音周期图形,可以清晰地观察到语音信号的基音周期,对于学生而言,波形图非常直观,让学生清晰地认识到语音信号分为清音和浊音,浊音有周期性的特点,在语音信号处理上能够学以致用。
  5 结束语
  本文针对《语音信号处理》中基音周期这一教学难点进行分析,并借助于Matlab仿真软件对基音周期进行仿真,观察了不同帧数下的基音周期图,说明仿真图在基音周期检测中有着较为直观的作用。
  参考文献:
  [1] Sung M o-kung,Elemnts of low power design for integrated systems[M].Low Power E lectron ics and Design ,2003.
  [2] Andrei Grebennikov. RF and m icnow ave power am plifier design[M].McG raw-Hill Companies,2005.
  [3] 施晓敏.基于听觉感知的电子耳蜗语音信号处理方案[D].苏州大学硕士论文,2009-05-01.
  [4] Katsumi Sakakibara, et al. Backoff Algorithm with Release Stages for Slotted ALOHA Systems [J]. ECTI Transactions On Electrical Engineering, 2005, 3(1):59-70.
  [5] K.Yu, I.B. Collings. Performance of low-complexity code acquisition for direct-sequence spread spectrum systems. IEE Proc-Commun, 2003, 150(6):453-460
  [6] 成新民,曾毓敏,趙力.一种改进的AMDF求取语音基音周期的方法[M].微电子学与计算机,2005-12-20
  [7] 张营.基音特征提取算法的研究及其在语音门锁中的应用[D].吉林大学硕士论文,2007-04-23.
  [8] 韩纪庆,张磊,郑铁然.语音信号处理[M].北京:清华大学出版社,2008.
  【通联编辑:王力】
转载注明来源:https://www.xzbu.com/8/view-15128056.htm