倒谱法的基因周期检测matlab,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.
【通联编辑:王力】
倒谱法的基因周期检测matlab,Matlab在基音周期检测教学中的应用研究相关推荐
- matlab波的极化特性,Matlab GUI在电磁波极化特性教学中的应用
科技创新导报 2018 NO.16Science and Technology Innovation Herald 创新教育 科技创新导报 Science and Technology Innovat ...
- matlab波导中电磁波,Matlab在电磁场与电磁波实验教学中之应用
第 29卷 第 2期 2010年 2月 实 验 室 研 究 与 探 索 RESEARCH AND EXPLORATION IN LABORATORY Vol. 29 No. 2 Feb. 2010 M ...
- 复变函数与积分变换matlab,MATLAB在复变函数与积分变换课程教学中的应用
MATLAB在复变函数与积分变换课程教学中的应用 陈静;段振辉 [期刊名称]<河南机电高等专科学校学报> [年(卷),期]2011(019)005 [摘要]利用MATLAB软件在计算和绘图 ...
- 倒谱法的基因周期检测matlab,两种基音周期检测方法
很好很强大@! 基音周期中两种算法 常用的基音周期检测方法-自相关函数法.倒谱法.平均幅度差函数法都属于非基于事件基音检测方法,都先将语音信号分为长度一定的语音帧,然后对每一帧语音求平均基音周期,它们 ...
- 基音周期 检测 matlab,语音信号基音周期检测的matlab程序
<语音信号基音周期检测的matlab程序>由会员分享,可在线阅读,更多相关<语音信号基音周期检测的matlab程序(2页珍藏版)>请在人人文库网上搜索. 1.function ...
- matlab 电动力学,MATLAB在电动力学教学中的应用研究
2017年 第 6期 物理 通报 大学物理教 学 MATLAB在 电动力学教学 中的应 用研 究 李佳伟 王 婕 张 中月 王恒通 (陕西 师范大学物理学与信息技术学院 陕西 西安 71Ol19) ( ...
- 模数转换器matlab仿真,MATLABSimulink仿真在模数转换器教学中应用.doc
MATLABSimulink仿真在模数转换器教学中应用 MATLABSimulink仿真在模数转换器教学中应用 摘 要: 针对模数转换器(ADC)教学中,学生仅依赖理论学习,很难和实际ADC结构及应用 ...
- 模数转换器matlab仿真,MATLABSimulink仿真在模数转换器教学中的应用.doc
MATLABSimulink仿真在模数转换器教学中的应用 摘 要: 针对模数转换器(ADC)教学中,学生仅依赖理论学习,很难和实际ADC结构及应用联系起来等问题,以目前应用较为广泛的流水线型ADC为例 ...
- 负折射率波导matlab,MATLAB数值计算在光学仿真和教学中的应用
二.MATLAB与光学课程教学的有机结合 在光学仿真与教学过程中,通过下列方式将MATLAB与光学课程教学有机地结合起来:一是以MATLAB为平台,开发制作了光波导和激光等高等光学现象仿真程序,并运用 ...
最新文章
- 收藏 | 深度学习中神经网络的可视化解释!
- 调整CentOS的文字登陆界面的分辨率
- Mysql之一:mysqldump和LVM逻辑卷快照
- Centos 安装python 3.7 遇到 ModuleNotFoundError: No module named _ctypesmake [install] Error 1(亲测下面的红字内容)
- java 树 右键菜单_jQuery实现自定义右键菜单的树状菜单效果
- 坚实原则:依赖倒置原则
- php写抢票脚本,火车票抢票python代码公开揭秘!
- LaTex插入PDF图片并调整它的宽度
- 链表中环的入口结点 python_【Github 5K星】BAT头条滴滴小米等笔试面经+深度学习/算法/NLP资源汇总!...
- 阿发你好java_191122_01 纯前端JS实现的文字验证码
- [转载] python中的内置异常结构
- 伺服速度控制模式接线图_伺服驱动器控制模式的接线及其注意事项
- 3D 锥形图表echarts
- ubuntu 添加证书
- Java IO和NIO的区别
- The way的用法
- 请从键盘输入一系列正数,当输入0或者负数时输出这一系列数种的最小非负数和最大非负数。注意,输入的数不一定是整数。要求使用while循环
- android room 简书,android Room库使用问题
- 给在读研究生的一封信
- 牛电科技电动车 出行的最佳选择
热门文章
- xk3190-a9 和计算机com口连接方式,耀华XK3190-A9+仪表串行通讯接口与仪表的联接和使用...
- 仿微信头像图片裁剪并压缩到100K以下到本地
- 登录PDB的几种操作
- MOT数据集概述及下载(持续更新)
- 【Android】Bluetooth(蓝牙)连接与数据传输(一)
- idea中debug启动项目特别慢的解决方法
- 内网穿透远程群晖NAS——上篇(7.X版)
- Linux自建steam饥荒服务器教程,【图片】Steam饥荒联机版专用服务器快速搭建教程_饥荒联机吧_百度贴吧...
- VOC Dataset
- Windchill Shell