陕西理工学院毕业设计
目录
1 绪论 ................................................................................................ 1
1.1课题的研究背景及意义 ............................... 1 1.2语音识别技术的历史 ................................. 1 1.2.1国内研究历史 ................................... 1 1.2.2国外研究历史 ................................... 1 1.3设计概要 .......................................... 2 1.4系统开发环境IDE ................................... 2
2 总体系统方案设计 ........................................................................ 3
2.1智能车语音识别模块研究 ............................. 3 2.2 方案论证 .......................................... 3 2.2.1 单片机选择 .................................... 3 2.2.2语音识别方案 ................................... 4 2.2.3 智能车车模选择 ................................ 4 2.3系统总体方案....................................... 5
3 系统硬件设计 ................................................................................ 6
3.1主控制器模块....................................... 6 3.2 音频电路 .......................................... 6 3.3 电机驱动电路 ...................................... 7 3.4按键,LED和复位电路 ............................... 7 3.5 ICE 接口电路 ...................................... 8 3.6 EZ_PROBE方式...................................... 8
4系统软件设计 ............................................................................... 10
4.1系统的总体程序流程 ................................ 10 4.2汇编语言程序设计 .................................. 11
陕西理工学院毕业设计
4.2.1汇编语言的程序结构 ............................ 11 4.2.2子程序的嵌套 .................................. 13 4.3 C语言程序设计 .................................... 14 4.3.1程序调用协议 .................................. 14 4.3.2语音识别程序设计 .............................. 15 4.3.3语音录入子程序 ................................ 15 4.3.4 语音控制小车子程序 ........................... 16 4.3.5中断子程序 .................................... 17 4.4程序中需要说明的几个问题 .......................... 18
5 系统调试 ...................................................................................... 20
5.1 软件调试环境 ..................................... 20 5.2硬体开发工具...................................... 21 5.3程序调试 ......................................... 22 5.3.1μ'nSP IDE的项目组织结构 ...................... 22 5.3.2汇编语言程序调试 .............................. 23 5.3.3 C语言程序调试 ................................ 24 5.3.4中断控制寄存器 ................................ 25 5.4智能车调试 ....................................... 29 5.5 重新训练 ......................................... 32
6总 结 ............................................................................................. 33 致谢 .................................................................................................. 34 参考文献 .......................................................................................... 35 附 录 ................................................................................................ 36
陕西理工学院毕业设计
1 绪论
1.1课题的研究背景及意义
声控产品使用率伴随着科技的发展而提高,给人类的生活带来了巨大的变化,声控系统的应用也不再遥不可及,家用电器的操作,不再需要以遥控器的繁多按键为控制接口,取而代之的是我们用平常说话的模式来驱使家电动作,诸如多种智能电器,人们再也不必为种类繁多、操作复杂的遥控器而烦恼,人们可以很轻松的操作各种各样的电器产品,达到更符合人性化的操作接口设计[1]。随着语音技术的不断发展,人们不光可以用语音来控制家电,还可以用语音控制各种公共设施。语音控制产品也越来越受人们的欢迎,成为了21世纪发展的一大前景。
1.2语音识别技术的历史 1.2.1国内研究历史
我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室逐步走向实用。从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。我国语音识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室。
清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8%(不定长数字串)和96.8%(定长数字串)。在有5%的拒识率情况下,系统识别率可以达到96.9%(不定长数字串)和98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。研发的5000词邮包校核非特定人连续语音识别系统的识别率达到98.73%,前三选识别率达99.96%;并且可以识别普通话与四川话两种语言,达到实用要求。中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。 1.2.2国外研究历史
语音识别的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。
但真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初。这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。这一时期的语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。
随着应用领域的扩大,小词汇表、特定人、孤立词等这些对语音识别的约束条件需要放宽,与此同时也带来了许多新的问题:第一,词汇表的扩大使得模板的选取和建立发生困难;第二,连续语音中,各个音素、音节以及词之间没有明显的边界,各个发音单位存在受上下文强烈影响的协同发音(Co-articulation)现象;第三,非特定人识别时,不同的人说相同的话相应的声学特征有很大的差异,即使相同的人在不同的时间、生理、心理状态下,说同样内容的话也会有很大的差异;第四,识别的语音中有背景噪声或其他干扰。因此原有的模板匹配方法已不再适用。
实验室语音识别研究的巨大突破产生于20世纪80年代末:人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型的是卡耐基梅隆大学(CarnegieMellonUniversity)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。
这一时期,语音识别研究进一步走向深入,其显著特征是HMM模型和人工神经元网络
第 1 页 共 51 页
陕西理工学院毕业设计
(ANN)在语音识别中的成功应用。HMM模型的广泛应用应归功于AT&TBell实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。
统计方法将研究者的视线从微观转向宏观,不再刻意追求语音特征的细化,而是更多地从整体平均(统计)的角度来建立最佳的语音识别系统。在声学模型方面,以Markov链为基础的语音序列建模方法HMM(隐式Markov链)比较有效地解决了语音信号短时稳定、长时时变的特性,并且能根据一些基本建模单元构造成连续语音的句子模型,达到了比较高的建模精度和建模灵活性。在语言层面上,通过统计真实大规模语料的词之间同现概率即N元统计模型来区分识别带来的模糊音和同音词。另外,人工神经网络方法、基于文法规则的语言处理机制等也在语音识别中得到了应用。
20世纪90年代前期,许多著名的大公司如IBM、苹果、AT&T和NTT都对语音识别系统的实用化研究投以巨资。语音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。比较有代表性的系统有:IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。 1.3设计概要
语音技术的第三分支是语音识别。语音辨识其实就是语音合成的逆过程,他的基本任务就是将语音信息以文字的形式显现出来,它的难度要比语音合成高出很多,成为了语音技术中最具挑战性的分支。
设计主要应用语音识别技术,来完成语音控制智能车的目的,将语音识别技术应用在实际的智能车设计当中,为以后进一步学习应用语音技术打下基础,同时也可以为他人设计语音产品提供参考。
设计要求通过相关语音信息对小车进行操作控制,使之可以通过语音控制实现前进、倒车、左拐、右拐的功能。本次设计用到的单片机是由凌阳科技推出的一款名为SPCE061A 的微控制器,它是16位μ'nSP 结构。这种高级芯片可以实现乘法运算、内积运算等复杂的运算,因为它带有硬件乘法器。这种芯片不只是运算功能特别强大,而且运行的速度也是超级快的,单周期最高可达49兆Hz。该微控制器内嵌了32K字的闪存程序存储器和2K的静态随机存取存储器。并且这种系统级芯片具有数模转换和模数转换的功能,它的麦克风模数转换通道带有自动增益的作用,特别容易就可以把语音信息输送至芯片里面,只要在两路 10 位的电流输出型数模转换器外接一个扩音机,就播放声音。借助于 SPCE061A 的语音特色,开发出了这款语音控制小车。智能小车不光具有前行、倒车、左拐、右拐、停止等功能;同时配合 SPCE061A 的语音特色,实现语音控制功能。 1.4系统开发环境IDE
μ'nSP IDE是由凌阳公司推出的一个集成开发环境,它集程序的编辑、编译、链接、调试和仿真等功能为一体。具有良好的互动窗口、菜单栏、快捷键和迅速访问指令列表等,这样可以让程序设计的工作更加便捷高效。在集成开发环境IDE中,可以非常方便将编写好的程序,通过语音控制板配套的下载线下载到语音控制板上进行在线调试,具体的操作步骤如下:语音控制板的开发是通过下载线(EZ_PROBE)实现的。用它可以替代在单片机应用项目的开发过程中常用的两件工具——硬件在线实时仿真器和程序烧写器。他们都利用了SPCE061A芯片内置的在线仿真电路ICE(In- Circuit Emulator)和在线串行编程技术。EZ_PROBE工作于IDE集成开发环境软件包下,他们对应的5芯的仿真头分别连接到语音控制板的缓冲电路输入管脚和SPCE061A芯片相应管脚上,实现在目标电路板上的CPU(SPCE061A)调试、运行用户编制的程序;另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯(如图1.5),在计算机IDE集成开发环境软件包下,完成在线调试功能。
[2]
第 2 页 共 51 页
陕西理工学院毕业设计
2 总体系统方案设计
设计是基于凌阳单片机SPCE061A的语音控制智能车的设计,主要包括:主控制器模块、语音识别模块、无线通讯等模块,各个模块的选择都经过了仔细的论证,最后我们的设计方案选用最佳方案进行研究设计。 2.1智能车语音识别模块研究 本世纪初,语音辨识技术在实现计算机的同声传译功能以及多环境背景下的语音识别技术的研究成果比较突出。如今,语音识别系统产品在市场上琳琅满目,如凌阳科技集团的智能语音控制机器人,语音识别信息运行速度大大被提高,可以快速对语音进行应答。采用了先进的非特定人语音识别技术,对口音和噪声不敏感。更加入了独有的噪声检测技术,当环境噪声很大时,能给用户相应的提示。在语音交流的过程中,抗噪音能力得到了很大的提高。随
[3]
着语音识别与机器人的进一步结合,未来高智能的人机交流将不是梦想。因此,无线遥控小车在这方面的领域中,特别是近些年,发展迅速,并利用这种思想,从小车发展到大车。 语音识别芯片又称语音识别IC,语音识别芯片和普通的语音芯片有很大的区别,语音识别技术能够识别人们发出的各种声音,并且可以根据识别到的语音指令做出相应的动作。一个完整的典型语音辨识系统作用过程如图2.1所示。
语音识别 识别结果 模式识别 特征提取 模型库 图2.1 典型语音识别系统
2.2 方案论证 2.2.1 单片机选择 方案一:80C51单片以80C51为控制核心,利用声控传感器和专门的语音处理芯片也比较多,像ISD系列、PM50系列等,并采用桥式驱动电路来实现对小车的前进转向进行控制,并能够做出应答的功能。80C51 是一款八位单片机,应用范围广,价格便宜是其最大优点。由于80C51单片机的闪存(FLASH)只有8K,且无法内置DAC电路,必须通过外围电路实现。但语音是一门新兴的技术,不止包括语音的录制和播放,语音的压缩,编码和解码,和语音的识别,这些都要进行大量的计算,80C51来实现较为困难。
方案二:采用凌阳SPCE061A十六位单片机,对小车的整个行驶过程进行实时监控,完成所有功能需要24个I/O口,由于凌阳SPCE061A单片机提供32个I/O口,一片即可实现所有功能,这为设计过程提供了极大方便。其主要设计思想是利用单片机的IOB8-IOB11控制电机选择小车的正、反向来控制小车的前进后退和转向;凌阳SPCE061A十六位单片机提供了丰富的时基信源和时基中断,给设计者以大量的选择空间,并给设计者提供精确的时基计数,其加减速通过大功率电阻消耗功率来实现。这种方案可以使程序简单,易于控制。 方案三:此方案也采用凌阳SPCE061A十六位单片机,与第二种方案不同之处在于利用单片机的IOB8、IOB9产生控制调速的脉宽和控制小车的正、反行驶,用凌阳SPCE061A十六位单片机的TimeA和TimeB很容易实现脉宽调制,这大大加强了用脉宽调制控制加减速的可选性,但对继电器要求高,不是大众化设计。 综上所述:方案一应用范围广价格便宜但难以实现语音控制;方案二应用范围一般价格略高但能很好实现语音控制;方案三能实现语言控制但对继电器要求较高不是大众化设计。采用方案二,能实现控制且可以使整个设计具备系统简洁,结构清晰,外围设备少等优点,故采用方案二。
第 3 页 共 51 页