论文排版后.docx
《论文排版后.docx》由会员分享,可在线阅读,更多相关《论文排版后.docx(37页珍藏版)》请在冰豆网上搜索。
![论文排版后.docx](https://file1.bdocx.com/fileroot1/2023-7/9/83fcb155-0eb4-44b6-a18e-74487ebcd9fc/83fcb155-0eb4-44b6-a18e-74487ebcd9fc1.gif)
论文排版后
基于语音识别的电器开关研究与设计
学生:
徐剑峰指导教师:
职燕
摘要:
本文设计的语音识别系统简单、实用,通过常规信息的语音训练就可以识别出用户的语音信息,并可根据具体的语音要求控制相关外围电路的启动与停止,该语音识别系统既可以是特定人系统也可以是非特定人系统,在本次系统设计时,软件部分只针对特定人语音进行训练和识别,如在此基础上加以改进,就可以作为非特定人的语音识别系统,功能可扩展不断完善.
本文设计实现的语音开关是基于凌阳16位单片机SPCE061A的有关说话人的特定语音系统。
该系统主要由电源模块、语音输入模块、单片机控制模块、语音输出模块和继电器控制模块等部分组成。
在训练时,说话人的语音通过麦克风进入说话人语音信号采集前端电路,由语音信号处理电路对采集的语音信号进行特征化处理,提取说话人的个性特征参数并进行存储,形成说话人特征参数数据库。
在识别时,将待识别语音与说话人特征参数数据库进行匹配,通过输出电路控制开关电路,最终实现语音对开关电路的控制。
整个设计可以通过软硬件的扩展,增加更多的功能,采用继电器控制,通过它的开与闭合,可以把继电器扩展为步增调节器。
外接电器种类可以多样化,且相互之间不会有影响,训练不同的语音后就可以对不同电器进行语音控制。
关键词:
SPCE061A单片机;语音识别;电器开关;继电器
ResearchAndDesignOfHomeAppliancesSwitchBasedOnSpeechRecognition
Student:
XUJian-fengTeacher:
ZHIYan
Abstract:
Thedesignofthespeechrecognitonintroducedinthispaperissimpleandpractical,throughnormalspeechtrainingitcanidentifythespeechoftheuser,itcanalsocontroltheexternalcircuit’sopeningandclosingthroughspecificspeechrequirements.
Thespeechrecognitionsystemcanbespeaker-dependentedsystemorspeaker-undependentedsystem,inthisdesignofthesystem,thesoftwareisonlyforthespeaker-dependentedsystem,onbaseofwhichitcanbeusedasspeaker-undependentedsystemthroughsmallchanges,sothefunctionsofthisdesigncanbefurtherimproved.
TheswitchdesignedinthispaperisbasedonSunplus16bitSPCE061Amicorcontrollerandhastherelationwithspeechforthespeaker-dependentedsystem.Thesystemmainlyconsistspowermodule,speechinputmodule,microcontrollermodule,speechoutputmoduleandrelaycontrolmoduleandsoon.Duringtraining,thespeechthroughamicrophoneinputtothesignalfront-endcircuit,andthiscircuitwilldealwiththespeechsignal,collectingthefeaturesofthespeechandformingthespeechpatterndatabase.Duringtherecognition,thespeaker’sspeechmustbematchedtothespeechpatterndatabase,thenitcancontroltheoutputcircuitswitching,eventuallyrealizethecontrolofthecircuitswitchesthroughspeech.
Thewholedesigncanaddadditionalfunctionsthroughhardwareandsoftware’sexpansion,therelayinthisdesigncanbeusedascontroller,throughitsopeingnandclosingtherelaycanexpanditsfunctionasregulator.Externalappliancescanbeslectedfromavarietyoftypes,andeachwillnotaffectothers.Throughdifferentspeechtraining,theycanbeusedtocontrolleddifferentappliancesswitches.
Keywords:
SPCE061Amicrocontroller;speechrecognition;homeappliancesswitch;relay
目次
摘要I
AbstractII
1绪论1
1.1选题依据1
1.2选题背景1
1.3本文设计主要工作2
2语音识别技术概述3
2.1语音识别基本原理3
2.2预处理3
2.3特征提取3
2.3.1特征参数的选取3
2.3.2LPCC参数的提取4
2.3.3基音参数的提取5
2.4模式匹配5
本章小结6
3系统硬件设计7
3.1单片机控制模块设计7
3.2电源模块8
3.3语音输入模块8
3.4放音模块9
3.5继电器模块10
3.6外围电路10
本章小结10
4系统软件设计11
4.1程序使用说明11
4.2程序变量说明11
4.3主程序设计12
4.4初始化程序设计17
4.5中断处理程序设计20
本章小结22
5系统调试23
6总结27
致谢28
参考文献29
附录130
附录231
1绪论
1.1选题依据
随着计算机科学与微电子技术的发展,机器实现的功能也日益强大,但随之而来的却是操作愈趋烦琐,人们越来越迫切地希望能够改变人机手动交换信息的现状,希望人机能够以更自然,更方便的方式交换信息,人与人之间那种通过视觉和听觉交流的方式,无疑是最理想的方式。
因此,研究机器能听懂人的讲话具有重要的意义。
开关是人们日常生活中接触使用最多的一类机器部件,使用者有一部分是老人和小孩,对于他们来说,能用语音控制开关无疑是最好的,这样不需要手动就可以达到相同的效果,其实除了老人和小孩外,现在社会很多年轻人都不怎么喜欢动了,例如当他们坐在电视机前看电视,就不想去做其它事了,这时如果能通过语音来控制热水器,通过一声命令就可以打开热水器,当看完电视时就可以洗个热水藻,节省时间且方便。
因而让家用电器能够具备人类的听觉功能,使家用电器的能听懂人类的语音,并根据相应的语言做出相关的动作,这种设想人类很早以前就产生了。
随着语音识别技术的发展,这种设想正在成为现实,现在带语音识别功能的许多电器已经在市场上出现。
语音识别技术的应用,必将给家用电器带来一场新的革命。
本文研究的语音开关是通过自然语言的方式来实现的,通过语音开关用户只需要口头的讲话就可以控制开关的开和闭合,使用的技术是语音识别技术,使用这种技术的语音开关将大大减少日常生活中繁琐而单调的工作,节省大量的人力,提高工作效率,其次,在危险的工作环境上的开关采用语音开关也能体现其强大的优势,提高用户的安全性。
因此,对语音识别的研究对于提高人们生活水平、加强安全等各个方面都有深远的意义,使用语音识别的电器也必将给电器界带来革命性的影响,同样用户使用本文研究的语音开关也必将给生活带来巨大的方便。
1.2选题背景
语音识别技术在30年代就有研究了,国内研究相对比较晚,第一个语音识别系统仅能识别10个英文数字,随着识别技术的不断改善,现在的识别系统可以识别连续的语音。
语音识别技术广泛应用于日常生活中,带语音识别的家用电器已经出现在市场上了,目前,语音识别技术的应用己成为国际家电领域正在掀起又一次技术革新浪潮。
如日本Sony公司声控汽车音响,美国JVC公司KD-LX50型声控盒(车用),美国InVoca全方位声音遥控器,意大利Delonghi微波炉等,都是能用语音命令去执行各种功能。
松下电器产业于2001年12月开始上市配备语音识别功能的36英寸电视机,该产品中配备了“麦克风遥控器”,可用语言指令输入指示。
用户可以通过语音报出电视台名或者频道号码,便可很容易地选择BS数码广播或地面波模拟广播的具体电视台。
在使用过去的遥控器时,当搜索节目信息以及预约录像等时需要通过菜单画面逐步进行操作,而在语音操作时则可以省略中间阶层的操作。
语音识别的过程包括对语音进行预处理、特征提取、模式匹配,(下章将会对语音识别过程进行介绍),在这每一步都采用了相应的算法,随着算法的进一步优化,识别的正确率也在提高,对于本文所需要识别的简单词汇识别正确率基本上是100%。
开关是家用电器的必要组成成分,对电器的控制起到了直接控制作用。
如今市场上各类电器产品层出不穷,大到工业生产机器、小到我们的日常生活中的电灯、风扇等,可谓是无处不在。
本文所设计的语音开关是基于凌阳SPCE061A单片机,该单片机集成了A/D转换和DSP处理功能,且外该单片机还具有体积小、功能强、可靠性好、性价比高等特点,这也是本文选取SPCE061A单片机作为主控制模块的原因。
语音开关因日常生活使用得比较多,因此对其研究也就有意义,本位所设计的语音开关具有结构简单、小巧、操作方便、使用广泛等优点。
1.3本文设计主要工作
本文设计的语音开关是基于凌阳SPCE061A单片机,设计的硬件部分为控制模块,控制外围的电路,外围电路由用户选择,可以是简单的电灯开关,电视机的开关,也可以是复杂的大型工业控制开关,实现的功能是通过语音来控制外围控制系统的正常工作和关闭,对于外围电路需要大驱动电路时,采用继电器来控制增大驱动电流,除此之外,使用继电器的特性,可以方便扩展其使用功能,作为步增调节器。
控制模块有32个I/O口,软件设计只针对两个控制端口进行控制,鉴于软件编程和调试的需要,把这两个端口定义为电灯和风扇的开与闭,软件调试完后把程序下载到SPCE061A单片机,这样单片机就可以脱机工作。
在脱机工作时,通个多人的语音训练和识别来测试控制系统的识别准确率。
2语音识别技术概述
语音识别技术就是让机器通过识别和理解,把语音信号转变为相应的文本或命令的高新技术,这是人们长期以来梦寐以求的事情。
语音识别技术,从20世纪50年代AT&T贝尔实验室的Audry系统(第一个可以识别10个英文数字的语音识别系统)以来,随着理论研究的深入,识别率大幅度提高。
同时,由于DSP和专用集成电路技术迅速发展,语音识别尤其是计算量较小的、非特定人的、孤立词的识别具有非常高的识别率。
语音识别正逐步成为信息技术中人机接口的关键技术,很多专家认为语音识别技术是2000年至2010年间信息技术领域十大重要的科技发展技术之一。
2.1语音识别基本原理
语音识别系统本质上是一种多维模式识别系统,具有一般的模式识别的功能,包括特征提取,语音模式库,模式比配3个基本单元。
结构图如2.1所示。
图2.1语音识别原理图
2.2预处理
预处理包括去噪和端点检测两部分,去噪就是对麦克风输入的模拟语音信号进行量化和采样,获得数字化的语音信号;再将含噪的语音信号通过去噪处理,得到干净的语音信号后并通过预加重技术滤除低频干扰,尤其是50Hz或60Hz的工频干扰,提升语音信号的高频部分,而且它还可以起到消除直流漂移、抑制随机噪声和提升清音部分能量的作用。
端点检测就是判断语音的起始和终点。
本系统采用语音信号的短时能量和短时过零率进行端点检测。
语音信号的采样频率为8kHz,每帧数据为20ms,共计160个采样点。
每隔20ms计算一次短时能量和短时过零率。
通过对语音信号的短时能量和短时过零率检测可以剔除掉静默帧、白噪声帧和清音帧,最后保留对求取基音、LPCC等特征参数非常有用的浊音信号。
2.3特征提取
在语音信号预处理后,接着是特征参数的提取。
特征提取的任务就是提取语音信号中表征人的基本特征。
2.3.1特征参数的选取
特征必须能够有效地区分不同的说话人,且对同一说话人的变化保持相对稳定,同时要求特征参数计算简便,最好有高效快速算法,以保证识别的实时性。
说话人特征大体可归为下述几类:
1)基于发声器官如声门、声道和鼻腔的生理结构而提取的参数。
如谱包络、基音、共振峰等。
其中基音能够很好地刻画说话人的声带特征,在很大程度上反映了人的个性特征。
2)基于声道特征模型,通过线性预测分析得到的参数。
包括线性预测系数(LPC)以及由线性预测导出的各种参数,如线性预测倒谱系数(LPCC)、部分相关系数、反射系数、对数面积比、LSP线谱对、线性预测残差等。
根据前人的工作成果和实际测试比较,LPCC参数不但能较好地反馈声道的共振峰特性,具有较好地识别效果,而且可以用比较简单的运算和较快的速度求得。
3)基于人耳的听觉机理,反映听觉特性,模拟人耳对声音频率感知的特征参数。
如Mel频率倒谱系数(MFCC)等。
MFCC参数与基于线性预测的倒谱分析相比,突出的优点是不依赖全极点语音产生模型的假定,说话人识别系统中MFCC参数能够比LPCC参数更好地提高系统的识别性能。
此外,人们还通过对不同特征参数量的组合来提高实际系统的性能。
当各组合参量间相关性不大时,会有较好的效果,因为它们分别反映了语音信号的不同特征。
在计算机平台的仿真实验中,通过各种参数的实际比较,采用MFCC参数比采用LPCC参数有更好的识别效果。
但在SPCE061A平台上做实时处理时,与LPCC系统相比,MFCC系数计算有两个缺点:
一是计算时间长;二是精度难以保证。
由于MFCC系统的计算需要FFT变换和对数操作,影响了计算的动态范围;要保证系统识别的实时性,就只有牺牲参数精度。
而LPCC参数的计算有递推公式,速度和精度都可以保证,识别效果也满足实际需要。
本系统采用了基音周期和线性预测倒谱系数(LPCC)共同作为说话人识别的特征参数。
2.3.2LPCC参数的提取
基于线性预测分析的倒谱参数LPCC可以通过简单的递推公式由线性预测系数求得。
递推公式见式(2-1)。
(2-1)
其中p为LPC模型的阶数,也是模型的极点个数。
1)LPC模型阶数p的确定
为使模型假定更好地符合语音产生模型,应该使LPC模型的阶数p与共振峰个数相吻合,其次是考虑声门脉冲形状和口唇辐射影响的补偿。
通常一对极点对应一个共振峰,10kHz采样的语音信号通常有5个共振峰,取p=10,对于8kHz采样的语音信号可取p=8。
此外为了弥补鼻音中存在的零点以及其他因素引起的偏差,通常在上述阶数的基础上再增加两个极点,即分别是p=12和p=10。
实验表明,选择LPC分析阶数p=12,对绝大多数语音信号的声道模型可以足够近似地逼近。
P值选得过大虽然可以略微改善逼近效果,但也带来一些负作用,一方面是加大了计算量,另一方面有可能增添一些不必要的细节。
2)线性预测系数的求取
自相关解法主要有杜宾(Durbin)算法、格型(Lattice)算法和舒尔(Schur)算法等几种递推算法。
其中在杜宾算法是目前最常用的算法,而且在求取LPC系数时计算量也量小,本系统采用该递推算法。
2.3.3基音参数的提取
基音估计的方法很多,主要有基于短时自相关函数和基于短时平均幅度差函数(AMDF)等基音估计方法。
1)基于短时自相关函数的基音估计
短时自相关函数在基音周期的整数倍位置存在较大的峰值,只要找出第一最大峰值的位置就可以估计出基音周期。
2)基于短时平均幅度差函数(AMDF)的基音估计
基于短时平均幅度差函数(AMDF)在基音周期的整数倍位置存在较大的谷值,找到第一最大谷值的位置就可以估计出基音周期。
这种方法的缺点是当语音信号的幅度快速变化时,AMFD函数的谷值深度会减小,从而影响基音估计的精度。
实际上第一最大峰(谷)值点的位置有时并不能与基音周期吻合,第一最大峰(谷)值点的位置与短时窗的长度有关且会受到共振峰的干扰。
一般窗长至少应大于两个基音周期,才可能获得较好的估计效果。
语音中最长基音周期值约为20ms,本系统在估计基音周期时窗长选择40ms。
为了减小共振峰的影响,首先对语音进行频率范围为[60,900]Hz的带通滤波。
因为最高基音频率为450Hz,所以将上限频率设为900Hz可以保留语音的一、二次谐波,下降频率为60Hz是为了滤除50Hz的电源干扰。
以上两种方法都是对语音信号本身求相应的函数。
本系统采用的基音估计方法是:
首先对带通滤波后的短时语音信号进行线性预测,求取预测残差;再对残差信号求自相关函数,找出第一最大峰值点的位置,即得到该段语音的基音估计值。
实验表明,通过残差求取的基音轨迹比直接通过语音求取的基音轨迹效果更好。
2.4模式匹配
目前针对各种特征参数提出的模式匹配方法的研究越来越深入。
典型的方法有:
矢量量化方法、高斯混合模型方法、隐马尔可夫模型方法、动态时间规整(DTW)方法和人工神经网络方法。
这些方法都有各自的优点和缺点。
其中DTW算法对于较长语音的识别,模板匹配运算量太大,但对短语音(有效语音长度低于3s)的识别既简单又有效,而且并不比其他方法识别率低,特别适用于短语音、与文本有关的说话人识别系统。
本系统采用端点松驰两点的(DTW)算法,端点松驰引起的计算量增加并不大,还可以放松对端点检测的精度要求。
动态时间规整(DTW)算法基于动态规划的思想,解决了说话人不同时期发音长短、语速不一样的匹配问题。
DTW算法用于计算两个长度不同的模板之间的相似程度,用失真距离表示。
假设测试模板和参考模板分别用T和R表示,按时间顺序含有N帧和M帧的语音参数(本系统为12维LPCC参数),失真距离越小,表示T、R越接近。
把测试模板的各个帧号n=1~N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1~M在纵轴上标出,如图3所示。
通过这些表示帧号的整数坐标画出纵横线即形成网络,网格中的每一个交叉点(n,m)表示测试模板中某一帧与参考模式中某一帧的交会点,对应两个向量的欧氏距离。
DTW算法可以归结为寻找一条通过此网格中若干交叉点的路径,使得该路径上节点的距离和(即失真距离)为最小。
对于端点松弛的情况,路径搜索原理相同,只是增加了搜索路径。
图3动态时间规整算法示意图
本章小结
本章对语音识别的过程进行了分析,对应每一步识别处理过程可能有多种方法,通过对各种方法的比较,选取适合本系统的理论方法,在特征参数提取中选择LPCC,在模式匹配中选择DTW,基于上面对语音处理的分析,选取凌阳SPCE061A单片机的语音库函数,该库函数对语音的处理方法跟上文提到的方法相似,在软件编程时把该库文件加载在编译系统里,调用库里对应的函数就可以对语音进行处理。
3系统硬件设计
本系统的硬件设计电路主要由电源模块(可以是三节电池)、语音输入模块、单片机控制模块、语音输出模块、继电器模块和外围电路组成,对于外围电路可以是风扇的开关,也可以是电视和热水器的开关,总之对于家用电器的开关都可以使用本系统所设计的控制模块。
根据用户的需求选取不同的外围电路。
当外围电路有多个时只需接在单片机的多个引脚就可以,虽然外界电路不同或者有多个,但硬件模块也不会改变,实现其功能时只需软件做相应的改动就可以。
主控制模块图如3.1所示。
图3.1硬件设计功能图
3.1单片机控制模块设计
单片机控制模块的设计的整个硬件平台构建的核心部分,该模块的设计我选择使用凌阳SPCE061A单片机,该单片机是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。
这为实现语音录入提供了方便的硬件条件。
两路10精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放,16位并行I/O口:
分为A口和B口,这两个口的每一位都可通过编程单独定义成输入或输出口,A口的IOA~IOA7用做输入口时具有键唤醒功能,即具有输入电平变化中断功能,另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件,SPEC061A单片机的系统结构图如3.2所示,总控制模块接外围电路时只需使用IOA和IOB。
图3.2SPEC061A单片机的系统结构图
3.2电源模块
电源管理模块采用了SPY0029,可以提供3.14V的低功耗电压标准,图3.3是电源部分的电路,4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。
SPY0029是凌阳公司设计的电压调整IC,采用CMOS工艺。
SPY0029具有静态电流低、驱动能力强、线性调整出色等特点。
图3.1图中的VDDH3为SPCE061A的I/O电平参考,接SPCE061A的51脚,这种接法使得I/O输出高电平为3.3V;VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2。
图3.3电源模块图
3.3语音输入模块
语音输入模块主要由麦克风输入和AGC电路组成,模块电路如图3.4所示。
凌阳的SPCE061A是16位单片机,具有DSP功能,有很强的信息处理能力,最高时钟可达到49M,具备运算速度高的优势等等,这为语音的播放、录放、合成及辨识提供了条件。
本系统接入MIC电路主要为录制语音命令和语音识别输入服务。
图3.4语音输入模块图
3.4放音模块
放音电路如图3.5所示,从图中可以看到两个跳线,其作用在于可以测量DAC的输出波形;另外拔掉跳线,可以断开DAC到喇叭放大的通路,使得DAC通道处于开路状态。
这样便于用DAC做其他用途,用户可以用过这个跳线来加入自己的外围电路。
凌阳音频压缩算法根据不同的压缩比分为以下几种:
SACM-A2000:
压缩比为8:
1,8:
1.25,8:
1.5
SACM-S480:
压缩比为80:
3,80:
4.5
SACM-S240:
压缩比为80:
1.5
按音质排序:
A2000>S480>S240
用凌阳CompressTo