语音控制小车的设计与实现.docx
- 文档编号:24310683
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:57
- 大小:814.62KB
语音控制小车的设计与实现.docx
《语音控制小车的设计与实现.docx》由会员分享,可在线阅读,更多相关《语音控制小车的设计与实现.docx(57页珍藏版)》请在冰豆网上搜索。
语音控制小车的设计与实现
语音控制小车的设计与实现
作者姓名:
XXXXX
专业名称:
通信工程
指导教师:
XXXXXXXX
摘要
随着电子工业的发展,具有语音控制功能的小车越来越受到人们的青睐,在人们的日常消费生活中起着不可忽视的作用。
目前,声控技术已在很多领域得到使用。
比如声控手机、声控洗衣机、电视机、电脑等设备。
本文对声控小车概况做了阐述。
在硬件设计方面,本论文以凌阳公司的SPCE061A单片机为控制核心,以语音小车控制电路板为辅,设计小车的动作。
在软件方面,利用C语言进行编程,进行语音的“训练”和“识别”。
设计出具有如下功能的语音声控小车:
能够根据录制的语音命令来控制小车的前进,后退,左转,右转的功能。
论文首先对系统的方案进行论证,然后对各单元的软件、硬件工作原理进行了阐述,并介绍了系统的主要组成部分情况。
关键词:
SPCE061A语音识别全桥驱动小车
Abstract
Withthedevelopmentoftheelectronicsindustry,thevoice-controlcarbecomemoreandmorepopulartopeople.Anditplaysanimportantroleinpeople'sdailylife.Atpresent,thevoice-activatedtechnologyhasbeenusedinmanyfields.Forexample,voice-activatedphone.Onlyifyoucalledoutthenamesyouwantanditautomaticallycalledthetelephone.Therearealsovoice-activatedwashingmachines,televisions,computersandotherequipments.
Thisarticlegivesadetailtothevoice-activatedcar.Inhardwaredesign,thepaperuseSunplusSPCE061Aasthecontrolofcore.Onthesoftware,weuseClanguageprogrammingforvoice"training"and"recognition".Ithasthefollowingfeatures:
Accordingtorecordedthevoicecommandtocontrolthecartostart,stop,turnright,andturnleft.
Firstofall,papersconfirmthesystemofprogram,andthendescribetheunit'ssoftware,hardwareaswellasintroducethemaincomponentsofthesituation.
Keywords:
SPCE061A,SpeechRecognition,Full-bridge,driver,Trolley
前言
语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。
做这方面的设计,一般有两个途径:
一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。
普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。
专门的语音处理芯片也比较多,像ISD系列、PM50系列等,但是专门的语音处理芯片功能比较单一,想在语音之外的其他方面应用基本是不可能的。
SPCE061A是一种16位μ'nSP结构的微控制器。
该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。
它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz。
SPCE061A内嵌32K字的FLASH程序存储器以及2K的SRAM。
同时该SOC芯片具有ADC和DAC功能,其MIC_ADC通道带有AGC自动增益环节,能够很轻松的将语音信号采集到芯片内部,两路10位的电流输出型DAC,只要外接一个功放就可以完成声音的播放。
以上介绍的这些硬件资源使得该SPCE061A能够单芯片实现语音处理功能。
借助于SPCE061A的语音特色,我们设计出了这款语音控制小车。
小车不仅具有前进、后退、左转、右转等基本功能;同时配合SPCE061A的语音特色,实现语音控制功能。
1绪论
1.1引言
所谓声控技术其实也就是利用语音识别技术来达到控制或者操作的一种技术,而语音识别技术这近五年来已经有很大的进步,最新的语音识别技术可以辨识90%以上的人类说出的字。
声控技术虽然是一项比较先进的技术,但不可否认的是,声控技术在无限传输时的合成的质量不是很好,它尚需进一步提高,因为无线环境中的背景噪音太大了,当然还有其他方面的因素影响着声控功能的发挥。
然而随着微电子技术、计算机技术、及传感器技术的迅速发展,现今声控技术应用广泛,这种崭露头角的声控技术,给严重伤残人的生活带来了极大的方便。
伤残病人用声音就可以打开门窗、窗帘、电视机、电灯等。
在其他领域里,声控技术也大有用武之地。
比如飞机在飞行或空战中,一旦飞行员负了伤,他可以用声音来驾驶飞机。
声音识别器将飞行员的讲话声音与贮存的声音相比较,只要声音一致,飞机就能自动地完成各种动作,从而化险为夷。
那么能不能做到“君子动口不动手”呢?
本文介绍用凌阳单片机61A设计并制作的一套基于语音识别技术的声控小车。
1.2国内外研究状况
随着微电子技术、计算机技术、及传感器技术的迅速发展,现今声控技术已经应用到社会中的各个角落,为人们提供着各种便利。
1、声控玩具车:
进一步提高系统的滤噪性能,和识别的准确率,并利用已有的软件开发出独具特色的语音芯片,并将其集成在遥控上即可做出声控玩具车。
2、能识别主人的看门狗:
在本系统的基础上扩充对说话者的识别功能,并将软件硬件化,集成在芯片上。
将芯片置于防盗门上,使之可以完成主人叫门即开门的功能。
3、真实汽车上的声控系统:
在驾驶的过程中,不便于用手来完成的其它操作可以用声控系统来实现。
这于我们的系统是极其相似的。
但是实际的汽车中可能存在着大量的噪声,所以,滤噪便成为最为关键的技术。
1.3目前存在的不足或有待解决的问题
声控技术虽然是一项比较先进的技术。
但是,声控技术在无限传输时的合成的质量不是很好,它还需进一步提高,因为无线环境中的背景噪音太大了,当然还有其他方面的因素影响着声控功能的发挥,具体来说表现在以下几个方面:
1、时效型。
从发出指令到执行指令,有一段延迟时间,虽已降低到尽可能的小,但还是很明显。
可行的方法就是改用高效的DSP芯片,这在经费上和时间上都是不允许的。
2.、对环境的适应。
如果环境噪声很大,或偶尔出现较大的噪声,则会出现误识。
这个不足之处还没有很有效的解决方案。
3、多人识别。
各人的发音不尽相同,因此该系统还限于单人识别。
若要做多人识别,则识别的时效性会降低,即有很大的延迟。
另外,多人识别,也没有较为有效、成熟的算法供参考。
1.4课题的目的任务和要求
声控小车其技术要求是通过相关语音对小车进行操作控制。
使用了“前、后、左、右、停”五个字作为小车行驶的指令。
本毕业设计有助于培养我们的独立动手能力、思考能力。
具体的项目制作过程分为两部分:
软件部分和硬件部分。
其目的让我们熟悉61板的设计与制作,并掌握其原理;学会运用C语言进行编程且运用。
语音控制小车的主要功能:
1.可以通过简单的I/O操作实现小车的前进、后退、左转、右转功能;
2.配合SPCE061A的语音特色,利用系统的语音播放和语音识别资源,实现语音控制的功能;
3.可以在行走过程中声控改变小车运动状态;
4.在超出语音控制范围时能够自动停车。
2语音控制原理
2.1基本原理
机器语音识别、处理的过程与人对语音识别、理解过程基本上是一致的,目前主流的语音识别技术是基于统计模式识别的基本理论。
一个完整的语音识别系统可大致分为语音特征提取、声学模型与模式匹配(识别算法)和语义理解3部分。
其基本原理如图1所示。
图2.1语音识别系统原理框图
从图中我们可以看出语音识别一般分为2个步骤:
第一步是系统“学习”或“训练”阶段,这一个阶段的任务是建立识别基本单元的声学模型以及进行文法分析的语言模型,即构建参考模式库;第二步是“识别”或“测试”阶段,根据识别系统的类型选择能够满足要求的识别方法,采用语音分析方法分析出这种识别方法所要求的语音特征参数,按照一定的准则和测度与参考模式库中的模型进行比较,通过判决得出结果。
在本系统中,我们采用语音信号的短时能量和短时过零率进行端点检测,用线性预测倒谱系数(LPCC)作为特征参数,语音特征提取是分帧提取的。
基于本系统采用孤立词识别的特点,我们采用动态时间规整(DTW)算法进行模式匹配。
动态时间规整(DTW)
动态时间规整(DTW)是把时间规整和距离测度计算结合起来的一种非线性规整技术。
假设:
(1)参考模板特征矢量序列为
;
(2)输入语音特征矢量序列为
m≠n,那么动态时间规整是要寻找时间规整函数
,它把输入模板的时间轴17.非线性地映射到参考模板的时间轴m,并且该
满足:
(1)
式中:
是第n帧输入矢量和第m帧参考矢量的距离,D是相应于最优时间规整下二模板的距离测度。
DTW是一个典型的最优化问题,它用满足一定条件的时间规整函数我
描述输入模板和参考模板的时间对应关系,求解二模板匹配时累计距离最小所对应的规整函数。
实现动态时间规整的常用方法就是动态规划(DP),本系统采用加权累计局里的对称动态规划技术。
假设规整函数写成:
(2)
其约束条件如下:
(1)单调和连续条件:
,
(2)边界条件:
(3)调整窗条件
定义加权累计距离:
(3)
式中:
和式
(1)中相同,是对点
上2个矢量的距离,加权系数
一般采用对称形式:
(4)
分母
用来补偿规整函数F中点数i的影响,按照等式(4)定义的
,有
。
调整窗口函数r的引入使它的使用范围更加广泛。
累计距离还可以用递推公式计算:
(5)
初始条件:
。
最后计算结果:
作为二模板间的距离DP匹配距离。
2.2语音识别系统的构成
语音识别系统的基本结构主要包括预处理、A/D转换、起止点识别、特征提取和识别判断等部分,结构如下图所示。
图2.2语音识别系统的基本结构
2.2.1起止点识别
语音信号处理基于语音短时稳定性,当采样频率为8kHz时,可取128个样点为一帧(短时段),帧长16ms。
字音由浊音和清音构成,与噪声相比,浊音表现为高能量,清音表现为高过零率。
对一帧声音数据,能量和过零率分别用短时段能量特征En和短时段过零率表征
。
通过区别于背景噪声可以判别语音起止点。
取连续10帧背景噪声数据,计算出IZCT(过零率阈)记为)及ITL(能量阈)记为:
式中:
、’为过零率的均值和标准差;
为固定值,一般取25,
分别为能量的最大值和最小值[6]。
2.2.2特征提取
相对其他语音特征,LPCC(线性预测倒谱特征),有递推公式,速度和精度都较好,特别是适于特定人的孤立词的短时段识别。
LPCC在LPC(线性预测系数特征)基础上求得:
式中:
c(n)(n=1,2,…,p),为LPCC系数,p为特征模型阶数,取12阶则可对绝大多数语音信号的声道模型足够近似逼近;a(k)为LPC特征;
。
2.2.3识别判断
基于时序特征值差的分段线性的动态时配识别方法,将动态时间匹配和特征识别结合,相对其他识别方法,该方法简单、计算量小,特别适用于特定人孤立词的短时段识别。
基本思想是找出语音信号音韵特征相对的量(子音、母音、过渡音等)进行距离比较。
其方法是按时序找出帧特征的差值(特征差),再将音韵特征所包含的特征差累加除以整个字音的总特征差,得到相对累计特征差。
这样尽管发音速度不同,但音韵特征的相对累计特征差基本不变。
经语音数据分析发现,语音结束段虽然频谱变化剧烈,但语意少,对区别语音作用不大,在该识别方法中删去了该段特征。
计算方法为:
每帧特征数据为L(i,j)(对应设计中为LPCC系数),归一化得s(i,j)。
相邻两帧的特征差为:
平均特征差为:
式中:
N为语音帧数。
然后,从后向前依次检查t(j),凡大于平均特征差的剔除,直到小于平均特征差为止,以去除语意少的结束段。
数据帧数减为
设累计特征差阈为:
为保留的关键帧数,通常每个字音取8,则双字孤立词取16。
然后选出关键帧:
第1帧必选;依次加t(i),大于△的帧为又一关键帧,直到选出M个关键帧。
再分段线性化,将两个关键帧之间的特征值差取平均,作为最后的语音特征向量。
学习过程中,这些特征向量作为模板保存。
识别过程中,这些特征向量与模板相比较,计算距离,在距离阈内最小距离者为识别结果。
3方案论证及硬件选择
3.1方案论证
3.1.1采用DSP+FPGA方案
语音识别根据实际需要和应用场合的不同,可以分为孤立词识别和连续语音识别、特定人识别和非特定人识别。
语音识别追求的主要指标为高识别率、实时性和大词汇量;而对于一个语音识别系统,还应考虑软硬件设计简单、价格低廉、外围控制灵活、人机交互便捷等特点。
现在应用于语音识别的芯片主要为DSP(数字信号处理器)芯片:
如TI公司的TMS320系列。
然而,将DSP芯片用于小型语音识别系统中,其不足之处是很明显的:
引脚多、价格贵、使用繁琐;控制功能弱,常需要与单片机或FPGA(现场可编程门阵列)结合,来实现人机交互;常需要外接A/D转换芯片;引脚为3.3V,与单片机、FPGA、Flash存储器等连接时,要考虑电平匹配。
这些将使整个系统结构庞大,设计繁琐。
3.1.1采用凌阳61方案
SPCE061A是凌阳科技推出的一个16位结构的微控制器。
CPU时钟频率为0.32~49.152MHz,具有较高的处理速度,可使μ’nSPTM能够非常容易、快速地处理复杂的数字信号;拥有可编程音频处理;内置2KWord的SRAM和32KWord的FLASH;2个16位可编程定时器/计数器(可自动预置初始计数值),2个10位DAC输出通道,32位通用可编程输入/输出端口。
它是数字语音识别应用领域产品中的一种比较经济的选择。
图3.1基于SPCE061A的语音控制小车实现方案
本案采用采用SPCE061A实现语音控制小车方案。
3.2系统的硬件方案
系统结构框图如下:
图3.2结构系统图
系统组成主要包括以下两部分:
SPCE061A精简开发板、语音小车控制电路板。
图中的语音输入部分MIC_IN、按键输入KEY、声音输出部分的功率放大环节等已经做到了精简开发板——61板上,为我们使用提供了很大的方便。
在电机的驱动方面,采用全桥驱动技术,利用四个I/O端口分为两组分别实现两个电机的正传、反转和停三态运行。
3.3系统控制方案
小车的运动控制采用语音控制和中断定时控制相结合,通过语音触发小车动作,小车动作之后,随时可以通过语音指令改变小车的运动状态。
在每一次动作触发的同时启动定时器,如果小车由于某些原因不能正常的接收语音指令,则只要定时时间到,中断服务程序会发出指令让小车停下来。
详细的控制过程请参看程序设计部分。
3.4硬件介绍
3.4.1SPCE061A芯片特性简介
SPCE061A是一种十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。
这为实现语音录入提供了方便的硬件条件。
两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。
另外十六位单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准C语言编程,也支持C语言与汇编语言的互相调用。
另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。
SPCE061是一款拥有2KRAM、32KFlash、32个I/O口,并集成了AD/DA功能强大的16位微处理器,它还拥有丰富的语音处理功能,为小车的功能扩展提供了相当大的空间。
只要按照该单片机的要求对其编制程序就可以实现很多不同的功能。
SPCE061A是继µ’nSP™系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。
与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。
较高的处理速度使µ’nSP™能够非常容易地、快速地处理复杂的数字信号。
因此,与SPCE500A相比,以µ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。
SPCE061A特性:
16位μ’nSP微处理器;
工作电压:
内核工作电压VDD为3.0V~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);
CPU时钟:
0.32MHz~49.152MHz;
内置2K字SRAM;
内置32K闪存ROM;
可编程音频处理;
晶体振荡器;
系统处于备用状态下(时钟处于停止状态),耗电小于;
2个16位可编程定时器/计数器(可自动预置初始计数值);
2个10位DAC(数-模转换)输出通道;
32位通用可编程输入/输出端口;
14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;
具备触键唤醒的功能;
使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
锁相环PLL振荡器提供系统时钟信号;
32768Hz实时时钟;
7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;
低电压复位(LVR)功和低电压监测(LVD)功能;
内置在线仿真板
另外,SPCE061A单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。
3.4.2精简开发板——61板
SPCE061A精简开发板(简称61板,SPCE061AEMUBOARD的简称),是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板”除了具备单片机最小系统电路外,还包括有电源电路、复位电路、ICE电路、音频电路(含MIC输入部分和DAC音频输出部分)等。
“61板”可以采用电池供电。
1SPCE061A功能
61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试。
图3.3SPCE061板硬件框图
表3.1框图说明
POWER
5V&3V供电电路
PLL
锁向环外部电路
Power-电源指示灯Sleep-睡眠指示灯
RESET
复位电路
K4
复位按键
PROBE
在线调试器串行5针接口
S5
EZ-PROBE和PROBE切换的拨断开关
J12、J3
耳机插孔和两针喇叭插针
DAC
一路音频输出电路,采用SPY0030集成音频放大器
MIC
麦克风输入电路
OSC
32768晶振电路
VREF
A/D转换外部参考电压输入接口
R/C
芯片其他外围电阻、电容电路 K1~
K1~K3
扩展的按键:
接IOA0~IOA2
SPCE061A
61板核心:
16位微处理器
PORTA/B
32个I/O口
61板接口说明图:
图3.4SPCE061板接口说明图
261板输入/输出(I/O)接口
61板将SPCE061A的32个I/O口IOA0~IOA15,IOB0~IOB15全部引出,对应的引脚为:
A口,41~48、53、54~60;B口,5~1、81~76、68~64。
而且该I/O口是可编程的,即可以设置为输入或输出。
设置为输入时,分为悬浮输入或非悬浮输入。
非悬浮输入又可以设置为上拉输入或是下拉输入。
在5V情况下,上拉电阻为150K,下拉电阻为110K;设置为输出时,可以选择同向输出或者反相输出。
3音频输入/输出接口
正如我们在前面介绍的61板具有强大的语音处理功能,如图2所示,X1是语音的MIC输入端,带自动增益(AGC)控制。
J12和J3都是语音输出接口,一个是耳机插孔;另一个是两针的插针外接喇叭,由DAC输出引脚21或22经语音集成放大器SPY0030放大,然后输出。
SPY0030是凌阳的芯片,相当于LM386,但是比386音质好。
它可以工作在2.4~6.0V范围内,最大输出功率可达700mW(LM386必须工作在4V以上,而且功率只有100mW)。
(图没有啊!
)
4在线调试器(PROBE)和EZ-PROBE接口.
图3.5中J4为PROBE的接口,该接口有5针,其中两个分别是地(VSS)和3.3V电源(VCC)。
此接口与PROBE的5针接口相连,PROBE的另一端接PC机25针并口。
这样,就不需要再用仿真器和编程器了,只要按图3所示将其连接好,就可以通过它在PC机上调试程序、在线仿真、最后将程序下载到芯片中,完成程序的烧写。
图2.3中的J11是EZ-PROBE的接口,我们提供一根转接线用作EZ-PROBE的下载,一端连接PC机的25针并口,另外一端连接61板的5针EZ-PROBE接口,如图3.5。
图3.561、PROBE/连接线、计算机三者之间的连接图
3.5小结
本章对声控小车方案进行确认,最终确定以凌阳61板为主板,小车控制板为辅助板。
小车的控制采用语音控制和中断控制相结合。
语音控制:
通过语音触发小车动作。
中断控制:
通过设置小车行驶时间来控制小车中断。
4系统硬件设计
4.1SPCE061A最小系统
SPCE061A最小系统中,包括SPCE061A芯片及其外围的基本模块,其中外围的基本模块有:
晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等。
图4.161板最小系统
4.2电源电路
电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 控制 小车 设计 实现