基于16位单片机的语音电子门锁系统_第1页
基于16位单片机的语音电子门锁系统_第2页
基于16位单片机的语音电子门锁系统_第3页
基于16位单片机的语音电子门锁系统_第4页
基于16位单片机的语音电子门锁系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于16位单片机语音电子门锁系统 基于16位单片机的语音电子门锁系统摘要:生物识别技术是利用人体生物特征进行身份认证的一种技术,是目前公认的最为方便与安全的识别技术。由于每个人的生物特征具有与其他人不同的唯一和在一定时期内不变的稳定性,不易伪造和假冒,所以利用牲识别和技术进行身份认证,安全、准确、可靠。本设计介绍采用声纹识别技术、在凌阳spce061a单片机上实现的一种语音电子门锁身份认证系统。实验结果表明,系统性能稳定,识别效果好,可以推广使用。关键词: 声纹识别 ; 基于周期 ;线性预测 ;模式匹配 ; dtw abstract:the biological recognition tec

2、hnology is carries on the status authentication using the human body biological features one kind of technology, is the present recognition most convenient and the safe recognition technology. because each persons biological features have with other people different only and withing certain amount o

3、f time the invariable stability, not easy forge and counterfeit, therefore carries on the status authentication using the domestic animal recognition and the technology, the security, is accurate, is reliable. this design introduction uses the voice print recognition technology, one kind of pronunci

4、ation electronic lock status authentication system which monolithic integrated circuit realizes in ling yang on the spce061a. the experimental result indicated that the system performance is stable, the recognition effect is good, may promote the use.key word :voice print recognition based o diction

5、 pattern matching dt目 录序 言11.1 原理图的功能说明21.2 总体框图及其功能分析41.2.1 预处理41.2.2特征参数的选取41.2.4 基音参数的提取61.3 模式匹配72 spce061a特性及功能简介92.1 spce061a的性能92.2 芯片的引脚排列和说明102.3 特性103 硬件系统123.1 说话人识别模块各组成部分完成的功能133.1.1按键输入133.1.2语音信号采集143.1.3 flash存储扩展153.1.4 扬声器输出173.1.5 控制输出183.1.6 lcd模组183.2说话人识别模块有三种工作模式193.3 试验结果204

6、系统软件设计224.1软件介绍224.2语音识别的主程序22结束语23参考文献24附录2538 序 言生物识别技术是利用人体生物特征进行身份认证的一种技术,是目前公认的最为方便与安全的识别技术。由于每个人的生物特征具有与其他人不同的唯一和在一定时期内不变的稳定性,不易伪造和假冒,所以利用牲识别和技术进行身份认证,安全、准确、可靠。在生物识别领域中,声纹识别,也称为说话人识别,以其独特的方便性、经济性和准确性等优势受到世人瞩目,并且益成为人们日常生活和工作中重要且普遍的安全认证方式。声纹识别是一种根据说话人语音波形中反映说话人生理和行为特征的语音参数,自动识别说明人身份的技术。声纹识技术可分为两

7、类,即说话人辨认和说话人确认。前者用以判断某段语音是若干人中的哪一个所说的,是多选一的问题;而后者用以确认某段语音是若干人中的哪一个所说的,是多选一的问题;而后者用以确认某段语音是否是指定的某个人所说的,是一对一判别的问题。从另一方面,声纹识别又有与文本有关和与文本无关两种,根据特定的任务和应用,应用范围不同。与文本有关的声纹识别系统要求用户按照规定的内容发音,每个人的声纹模型逐个被精确地建立,而识别时也必须按规定的内容发音,因此可以达到较好的识别效果;而与文本无关的识别系统则不规定说话人的发音内容,模型建立相对困难,但用户使用方便,应用范围较宽。本文介绍的语音电子门锁是一种在凌阳16位单片机

8、spce061a上实现的与文本有关的说话人确认系统。该系统主要由说话人识别模块、门锁控制电机以及门锁等部分组成。在训练时,说话人的声音通过麦克风进入说话人语音信号采集前端电路,由语音信号处理电路对采集的语音信号进行特征化和语音处理,提取说话人的个性特征参数并进行存储,形成说话人特征参数数据库。在识别时,将待识别语音与说话人特征参数数据库进行匹配,通过输出电路控制门锁电机,最终实现对门锁的控制。1 总体原理图及框图1.1 原理图的功能说明操作分为两大部分,首先必须将字句录入,第二步操作才是识别模式,此外,操作中ap7003-01能够判断是否有信号输入,这一切均按内部程序或是特定编码选择所决定。在

9、你需做识别操作时,目标的字句必须已存入内部存12个存贮区,存贮12个不同字句的特征。每个存贮区可以存放长达1.5秒的字句。你可以用键盘来选择存贮区或用适当的命令控制,将字句录入。可用外部的麦克风或其它媒体输入语音或字句内容,经过内部麦克风放大器准确放大之后,语音信号被内容的a/d转换器数字化。内部声效处理器将处理数字化后的语音及将字句里的特征进行抽样。当被识别的目标字句,录入之后,你现在可以开识别操作,进入内部字句识别操作模式,输入的语音被声音处理器特征抽样,同存贮在内部的目标字句的抽样特征进行比较,必须是刚好同所选择的识别的目标字匹配。结果才输入信号至pa口或其它输出端。 在一定时间内,无操

10、作时,会将电源关闭以节省损耗,后可用按键唤醒。脚位参数:pin name description gndd 数字地 led1 低电平存放led驱动脚,能设计成语音输入指示,适合于标准应用 led2 低电平存放led驱动脚,在标准应用线路中,设计成语音输入验证结果的标志 pob1pob4 输出口,作为键盘扫描用,标准应用 pit1pit4 低电平有效输入口,内部有上拉电阻,能设计成输入口或键盘的输入标准应用 vddd 数字电源vdd capv 去藕合电容,必须接电容在此引脚 到地之间,用于内部的电压基准器 osci 频率振荡器,控制脚,接一个56k电阻到地 pim1pim2 普通输入脚,能设计成

11、模式控制输入,用于标准电路 test 测试引脚,用于生产测试 posl 输出模式选择,用于输出a口,若prota是高有效,则以posl接高;若低电平有效则接地 gnda 模拟地 tref 语音输入门槛电压控制 a2out 输出第二放大器 aiin 第一(前级)放大器反相输入 a1out 前级放大输出 micp 麦克风的正电源供给脚 vdda 模拟电路正电源 poa1poa12 输出口 pores 高电平有效输入,清除输出口a状态,单片语音识别电路hl7003-02 电路图如图以11所示。图11 语音识别的总体电路图操作方法: 1、通电后,先按键,led1和poa1(led3)同时亮,此时立刻对

12、着话筒发话(语音长度不超过1.5秒),poa1灭,led1亮,再对着话筒进行“学习”,led2、poa1同时亮,表示“学习”成功。接着再按键,led1、poa2同时亮,.。依此类推,直至112键全部学习完毕。也可以对某一键或某几个键进行无序输入和学习。 2、学习完毕,即可进行语音识别操作,12路输出可分别控制不同的电器(或动作),12路语音识别可任意操作,即喊一句便控制一种电器的开或关。第11键为输出转换键,每转换控制一种电器都需按一下该键。 3、若需清除“学习”内容,应按清除键“c”,再次输入时,须重新按照第1步方法进行“学习”。 4、pim1接“1”(高电平),为12键模式, pim1接“

13、0”(低电平),为8键模式,应用电路见图11。posl接“0”,poa1poa12输出为低电平,posl接“1”,poa1poa12输出为高电平。1.2 总体框图及其功能分析16位单片机语音电子门锁的总体框图如图12所示:识别结果模式匹配参考模板 训练 参数修正去噪端点检测特征提取语音输入 输出 识别预处理 图12 语音电子门锁的总体框图1.2.1 预处理信号对麦克风输入的模拟语音信号进行量化和采样,获得数字化的语音信号;再将含噪的语音信号通过去噪处理,得到干净的语音信号后并通过预加重技术滤除低频干扰,尤其是50hz或60hz的工频干扰,提升语音信号的高频部分,而且它还可以起到消除直流漂移、抑

14、制随机噪声和提升清音部分能量的作用。(2)端点检测 本系统采用语音信号的短时能量和短时过零率进行端点检测。语音信号的采样频率为8khz,每帧数据为20ms,共计160个采样点。每隔20ms计算一次短时能量和短时过零率。通过对语音信号的短时能量和短时过零率检测可以剔除掉静默帧、白噪声帧和清音帧,最后保留对求取基音、lpcc等特征参数非常有用的浊音在语音信号预处理后,接着是特征参数的提取。特征提取的任务就是提取语音信号中表征人的基本特征。1.2.2特征参数的选取识别性特征必须能够有效地区分不同的说话人,且对同一说话人的变化保持相对稳定,同时要求特征参数计算简便,最好有高效快速算法,以保证识别的实时

15、性。说话人特征大体可归为下述几类: (1)基于发声器官如声门、声道和鼻腔的生理结构而提取的参数。如谱包络、基音、共振峰等。其中基音能够很好地刻画说话人的声带特征,在很大程度上反映了人的个性特征。 (2)基于声道特征模型,通过线性预测分析得到的参数。包括线性预测系数(lpc)以及由线性预测导出的各种参数,如线性预测倒谱系数(lpcc)、部分相关系数、反射系数、对数面积比、lsp线谱对、线性预测残差等。根据前人的工作成果和实际测试比较,lpcc参数不但能较好地反馈声道的共振峰特性,具有较好地识别效果,而且可以用比较简单的运算和较快的速度求得。 (3)基于人耳的听觉机理,反映听觉特性,模拟人耳对声音

16、频率感知的特征参数。如美国尔倒谱系数(mfcc)等。mfcc参数与基于线性预测的倒谱分析相比,突出的优点是不依赖全极点语音产生模型的假定,在与广西无关的说话人识别系统中mfcc参数能够比lpcc参数更好地提高系统的能。此外,人们还通过对不同特征参数量的组合来提高实际系统的性能。当各组合参量间相关性不大时,会有较好的效果,因为它们分别反映了语音信号的不同特征。在计算机平台的仿真实验中,通过各种参数的实际比较,采用mfcc参数比采用lpcc参数有更好的识别效果。但在spce061a平台上做实时处理时,与lpcc系统相比,mfcc系数计算有两个缺点:一是计算时间长;二是精度难以保证。由于mfcc系统

17、的计算需要fft变换和对数操作,影响了计算的动态范围;要保证系统识别的实时性,就只有牺牲参数精度。而lpcc参数的计算有递推公式,速度和精度都可以保证,识别效果也满足实际需要。本系统采用了基音周期和线性预测倒谱系数(lpcc)共同作为说话人识别的特征参数。1.2.3 lpcc参数的提取基于线性预测分析的倒谱参数lpcc可以通过简单的递推公式由线性预测系数求得。递推公式如1-1所示: 11 (1)lpc模型阶数p的确定为使模型假定更好地符合语音产生模型,应该使lpc模型的阶数p与共振峰个数相吻合,其次是考虑声门脉冲形状和口唇辐射影响的补偿。通常一对极点对应一个共振峰,10khz采样的语音信号通常

18、有5个共振峰,取p=10,对于8khz采样的语音信号可取p=8。此外为了弥补鼻音中存在的零点以及其他因素引起的偏差,通常在上述阶数的基础上再增加两个极点,即分别是p=12和p10。实验表明,选择lpc分析阶数p=12,对绝大多数语音信号的声道模型可以足够近似地逼近。p值选得过大虽然可以略微改善逼近效果,但也带来一些负作用,一方面是加大了计算量,另一方面有可能增添一些不必要的细节。(2)线性预测系数的求取 自相关解法主要有杜宾(durbin)算法、格型(lattice)算法和舒尔(schur)算法等几种递推算法。其中在杜宾算法是目前最常用的算法,而且在求取lpc系数时计算量也量小,本系统采用该递

19、推算法。1.2.4 基音参数的提取基音估计的方法很多,主要有基于短时自相关函数和基于短时平均幅度差函数(amdf)等基音估计方法。(1)基于短时自相关函数的基音估计短时自相关函数在基音周期的整数倍位置存在较大的峰值,只要找出第一最大峰值的位.(2)基于短时平均幅度差函数(amdf)的基音估计基于短时平均幅度差函数(amdf)在基音周期的整数倍位置存在较大的谷值,找到第一最大谷值的位置就可以估计出基音周期。这种方法的缺点是当语音信号的幅度快速变化时,amfd函数的谷值深度会减小,从而影响基音估计的精度。 实际上第一最大峰(谷)值点的位置有时并不能与基音周期吻合,第一最大峰(谷)值点的位置与短时窗

20、的长度有关且会受到共的干扰。一般窗长至少应大于两个基音周期,才可能获得较好的估计效果。语音中最长基音周期值约为20ms,本系统在估计基音周期时窗长选择40ms。为了减小共振峰的影响,首先对语音进行频率范围为60,900hz的带通滤波。因为最高基音频率为450hz,所以将上限频率设为900hz可以保留语音的一、二次谐波,下降频率为60hz是为了滤除50hz的电源干扰。以上两种方法都是对语音信号本身求相应的函数。本系统采用的基音估计方法是:首先对带通滤波后的短时语音信号进行线性预测,求取预测残差;再对残差信号求自相关函数,找出第一最大峰值点的位置,即得到该段语音的基音估计值。实验表明,通过残差求取

21、的基音轨迹比直接通过语音求取的基音轨迹效果更好,如图13所示。图13中横坐标为语音帧数,纵坐标为图 13 同一段语音的基音轨迹8000/f,其中f为基音频率。1.3 模式匹配目前针对各种特征参数提出的模式匹配方法的研究越来越深入。典型的方法有:矢量量化方法、高斯混合模型方法、隐马尔可夫模型方法、动态时间规整(dtw)方法和人工神经网络方法。这些方法都有各自的优点和缺点。其中dtw算法对于较长语音的识别,模板匹配运算量太大,但对短语音(有效语音长度低于3s)的识别既简单又有效,而且并不比其他方法识别率低,特别适用于短语音、与文本有关的说话人识别系统。本系统采用端点松驰两点的(dtw)算法,端点松

22、驰引起的计算量增加并不大,还可以放松对端点检测的精度要求。 图 14 动态时间规整算法动态时间规整(dtw)算法基于动态规划的思想,解决了说话人不同时期发音长短、语速不一样的匹配问题。dtw算法用于计算两个长度不同的模板之间的相似程度,用失真距离表示。假设测试模板和参考模板分别用t和r表示,按时间顺序含有n帧和m帧的语音参数(本系统为12维lpcc参数),失真距离越小,表示t、r越接近。把测试模板的各个帧号n=1n在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1m在纵轴上标出,如图14所示。通过这些表示帧号的整数坐标画出纵横线即形成网络,网格中的每一个交叉点(n,m)表示测试模板中

23、某一帧与参考模式中某一帧的交会点,对应两个向量的欧氏距离。dtw算法可以归结为寻找一条通过此网格中若干交叉点的路径,使得该路径上节点的距离和(即失真距离)为最小。对于端点松弛的情况,路径搜索原理相同,只增加搜索路径。2 spce061a特性及功能简介spce061a是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有8路10位精度的adc,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10精度的dac,只需要外接功放(spy0030a)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的

24、一套指令系统和集成开发环境。在此环境中,支持标准c语言,可以实现c语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便。2.1 spce061a的性能 spce061a 是继nsp系列产品spce500a等之后凌阳科技推出的又一款16位结构的微控制器。与spce500a不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,spce061a里只内嵌32k字的闪存(flash)。较高的处理速度使nsp能够非常容易地、快速地处理复杂的数字信号。因此,与spce500a相比, 工作电压(cpu) vd

25、d为2.43.6v (i/o) vddh为2.45.5v cpu时钟:0.32mhz49.152mhz ; 内置2k字sram; 内置32k flash; 可编程音频处理; 晶体振荡器; 系统处于备用状态下(时钟处于停止状态),耗电仅为2a3.6v; 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位dac(数-模转换)输出通道; 32位通用可编程输入/输出端口; 14个中断源可来自定时器a / b,时基,2个外部时钟源输入,键唤醒; 具备触键唤醒的功能; 使用凌阳音频编码sacm_s240方式(2.4k位/秒),能容纳210秒的语音 数据; 锁相环pll振荡器提供系统时钟信

26、号; 32768hz实时时钟; 7通道10位电压模-数转换器(adc)和单通道声音模-数转换器; 声音模-数转换器输入通道内置麦克风放大器和自动增益控制(agc)功 能; 具备串行设备接口; 具有低电压复位(lvr)功能和低电压监测(lvd)功能; 内置在线仿真电路ice(in- circuit emulator)接口; 具有保密能力; 具有watchdog功能2.2 芯片的引脚排列和说明 spce061a有两种封装片,一种为84个引脚,plcc84封装形式;它的排列如图21所示;另一种为80个引脚,lqfp80封装。它的排列如图2-2所示。 图21 spce061alqfp80封装排列图 图

27、22 spce061aplcc84封装排列图在plcc84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。在lqfp80封装中有9个空余脚,用户使用时这9个空余脚接地。此处以lqfp80封装管脚功能介绍。2.3 特性spce061a系统的特性参数如表21所示。表21 spce061a系统的特性参数3 硬件系统语音电子门锁系统的核心是说话人识别模块。包括按键输入、语音信号采集、语音信号处理、flash存储扩展、扬声器输出、控制输出以及lcd模组等。说话人识别模型的原理框图如图31所示。其核心为语音信号处理,本系统选用特别适用于数字语音识别领域的凌阳16位单片机spce061a,并通过spc

28、e061a实现其他各组成部分的编程控制。图31 说话人识别模块框图spce061a是凌阳公司开发的一种性价比非常高的16位单片机。在2.6v3.6v工作电压范围内,工作频率范围为0.32mhz49.152mhz,较高的处理速度使其能够非常容易、快速地处理复杂的数字信号;中断系统支持10个中断向量以及14个可来自系统时钟、定时器/计数器、时间基准发生器、外部中断、键唤醒、通用异步串行通信及软件中断的中断源,非常适合实时应用领域;内嵌2k字的sram和32k字的flash,具有32位可编程的多功能i/o端口;包含有7通道10位通用a/d转换器和内置麦克风放大器与自动增益控制agc功能的单通道声音a

29、/d转换器,以及具有音频输出功能的双通道10位d/a转换器;spce061a采用cmos制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,系统处于备用状态下(时钟处于停止状态),耗电仅为2a3.6v,极大地降低了其功耗;另外,nsptm的指令系统还提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了dsp功 复杂的数字信号处理方面既非常便利,又比专的dsp芯片便宜得多。3.1 说话人识别模块各组成部分完成的功能3.1.1按键输入按键输入部分:共有数字键、训练键、删除键、确认键和取消键等16个且编程灵活。按键,用于密码输入和工作模式选择。采用44矩阵式键盘输入

30、,只使用具有键唤醒功能ioa的低8位,可以合理利用硬件资源,且编程灵活。由于本题设计要求要用户扩展的键盘按键有数字键09和功能键等共12个,因此键盘电路采用独立式键盘将会占用很多的i/o线从而不实用。故采用矩阵式键盘电路来扩展带有16个按键的小键盘比较合适,根据本题要求只需44方式的矩阵即可,故其原理电路图如32所示: 图中c1c4为44键盘的列信号,l1l4为44键盘的行信号。在本系统中,用iob4iob7连接键盘的列信号c4c1;用iob0iob3连接键盘的行信号l4l1。 图32 44键盘电路原理图在本系统中,s1s3、s5s7、s9s11、s13为数字键,如图33所示,s4、s8、s1

31、2、s14s16为功能键。图33 44键盘功能图矩阵式键盘电路其特点是由按键组成一个矩阵,矩阵的行线和列线分别作为两个传输方向相反的i/o接口信号线,如行线作为输入接口信号线,列线作为输出接口信号线,或反之。3.1.2语音信号采集语音信号采集部分:通过spce061a内置麦克风放大器与自动增益控制agc功能的单通道ce061a的内部结构如图3-4所示,其特点如下:* 16位nsp tm微控制器;* 工作电压:vdd为2.63.6v(cpu),vddh为vdd5.5v(i/o);* cpu时钟为0.3249.152mhz;* 内置存储器:sram为2kb,内存flash为32kb;* 可编程音频

32、处理;* 2个16位可编程定时器/计数器;* 7通道10位adc(内置麦克风放大和自动增益控制功能);* 2个10位dac;* 32路可编程通用输入输出端口;* 串行输入输出接口;* 低电压监测/低电压复位功能;* 14个中断源可来自定时器、外部时钟输入、键唤醒等;图 3-4 spce061a的结构3.1.3 flash存储扩展flash存储扩展部分:用于存储说话人的个性特征参数参考 。 k9f1208是samsung公司生产的采用nand技术的大容量、高可靠flash存储器。该器件存储容量为64m8位,除此之外还有2048k8位的空闲存储区。k9f1208对528字节一页的写操作所需时间典型

33、值是200s,而对16k字节一块的擦除操作典型仅需2ms。8位i/o端口采用地址、数据和命令复用的方法。这样既可减少引脚数,还可使接口电路简洁。表31概要地说明了k9f1208各个引脚的功能。表31 k9f1208各个引脚的功能引 脚功 能i/o0i/o7数据输入输出端,芯片未选中为高阻态cle命令锁存使能ale地址锁存使能ce芯片选择控制re数据输出控制,有效时数据送到i/o总线上we写i/o口控制,命令地址数据在上升沿锁存wp写保护r/b指示器件的状态,0为忙,1为闲。开漏输出vcc电源端vss地命令锁存使能(cle),使输入的命令发送到命令寄存器。当变为高电平时,在we上升沿命令通过i/

34、o口锁存到命令寄存器。地址锁存使能(ale),控制地址输入到片内的地址寄存器中,地址是在we的上升沿被锁存的。片选使能(ce),用于器件的选择控制。在读操作、ce变为高电平时,器件返回到备用状态;然而,当器件在写操作或擦除操作过程中保持忙状态时,ce的变高将被忽略,不会返回到备用状态。写使能(we),用于控制把命令、地址和数据在它的上升沿写入到i/o端口;而在读操作时必须保持高电平。读使能(re),控制把数据放到i/o总线上,在它的下降沿trea时间后数据有效;同时使用内部的列地址自动加1。i/o端口,用于命令、地址和数据的输入及读操作时的数据输出。当芯片未选中时,i/o口为高阻态。写保护(w

35、p),禁止写操作和擦除操作。当它有效时,内部的高压生成器将会复位。准备/忙(r/b),反映当前器件的状态。低电平时,表示写操作或擦除操作以及随机读正进行中;当它变为高电平时,表示这些操作已经完成。它采用了开漏输出结构,在芯片未选中时不会保持高阻态。 在进行写操作时先要写入命令字80h,通知k9f1208要进行写操作,然后顺序写入目的地址和待写入的数据。应该注意的是,地址只需写入一次,便可以连续写入多个字节数据。地址指针的调整是由k9f1208内部逻辑控制的,不用外部干预。写入操作是以页为单位(1528字节)进行的,即每次连续写入能超过528个字节。这是由于k9f1208的工作方式决定的:写入的

36、数据先保存至flash内部的页寄存器(528字节)中,然后再写入存储单元。数据写完之后还要给k9f1208发出1个写操作指令10h,通知其将页寄存器中的数据写入存储单元,随后就应该对状态引脚进行查询。如果该引脚为低,表明此次写操作结束。最后的步骤是数据校验,如果采用了ecc校验模式,则此步骤可以省略。3.1.4 扬声器输出扬声器输出部分:通过spce061a具有音频输出功能的双通道10位d/a转换器完成用户训练、识别等各种操作的语音提示。图3-5 语音输出电路图输出的基本原理是将外扩sramhm628128a中存储的语音数据顺序取出,调用 sacmlib库中的sacm a2000模块,经sac

37、m a2000压缩算法解码后,以8 khz的速率进行da转换,然后通过内部滤波电路滤去噪声,恢复原始波形,由8050晶体管驱动扬声器放音。语音输出电路如图35所示。3.1.5 控制输出控制输出部分:通过spce061a的可编程i/o口控制门锁控制电机。i/o口的功能: 进行端口地址译码设备选择 向cpu提供i/o设备的状态信息和进行命令译码 进行定时和相应时序控制 对传送数据提供缓冲,以消除计算机与外设在“定时或数据处理速度上的差异。 提供计算机与外设间有关信息格式的相容性变换。 提供有关电气的适配 还可以中断方式实现cpu与外设之间信息的交换 主板接口基础知识 cpu与外部设备、存储器的连接

38、和数据交换都需要通过接口设备来实现,前者被称为i/o接口,而后者则被称为存储器接口。存储器通常在cpu的同步控制下工作,接口电路比较简单;而i/o设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指i/o接口。3.1.6 lcd模组 液晶模组的概念:液晶模组简单点说就是屏+背光灯组件.液晶电视的显示部件就是液晶模组,其地位相当于crt中的显像管。 模组主要分为屏和背光灯组件。两部分被组装在一起,但工作的时候是相互独立的(即电路不相关).液晶显示的原理是背光灯组件发出均匀的面光,光通过液晶屏传到我们的眼睛里。屏的作用就是按像素对这些光进行处理,以显示图像.两个部分都含有大量的部件

39、,这里就不细说了。目前技术最好的是夏普,其次是三星索尼。液晶模组的主要参数,对比度,液晶面板制造时选用的控制ic、滤光片和定向膜等配件,与面板的对比度有关,对一般用户而言,对比度能够达到350:1就足够了,但在专业领域这样的对比度平还不能满足用户的需求。显示模块设计在系统中,利用通用的液晶1602作为显示模块实时显示.液晶1602的技术参数为:显示容量:32个字符,每个字符为57点阵,分2行,每行16列芯片工作电压:4.5-5.5v工作电流:2ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm其典型应用接口图如图3-6所示。本系统中db0db7连接spce061a

40、的ioa0ioa7,ep连接ioa8,r/w连接ioa9,rs连接ioa10。 图36 接口电路图3.2说话人识别模块有三种工作模式说话人识别模块有三种工作模式:训练模式、认证模式和密码模式,这三种模式都可通过工作模式按键选择。(1)训练模式,说话人的声音通过麦克风进入语音信号采集前端电路。第一次语音输入时,由16位单片机spce061a对采集的语音信号进行处理,提取说话人的个性特征参数,并存储到外扩的flash内,形成说话人特征参数模板。可以进行三次训练,第二语音输入时,提取的个数特征参数与由第一次语音输入形成的特征参数模板进行匹配,在匹配距离小于模板更新阈值时,将说话人特征参数模板更新为两

41、次特征参数的平均值。第三次语音输入时,提取的个性特征参数与由第一、二次语音输入形成的特征参数模板进行匹配,在匹配距离小于模板更新阈值时,将说话人特征参数模板更新为三次特征参数的平均值,形成最后的该说话人的特征参数模板。 (2)认证模式,同样通过麦克风录入说话人的声音,再由spce061a对采集的语音信号进行处理,将提取的说话人特征参数与存储在外扩flash内的特征参数模板进行匹配,匹配距离小于认证阈值时,通过认证;然后再判断匹配距离是否小于认证模式下的模板更新阈值,决定是否对模板进行更新。 (3)密码工作模式,在说话人感冒或其他使其声音发生暂时改变的情况下,可以采用长密码方式进行认证,以免因为

42、非常原因被拒之门外。另外,每个用户都有一个短密码(用户可自行修改),无论在训练模式还是认证模式都要输入此密码,以形成或,找到与该用户相对应的特征参数模板。系统还设置一个具有长密码的超级管理员用户,可以通过键盘对用户模板进行添加或删除3.3 试验结果对于说话人确认系统,表征其性能的最重要的两个参量是拒识率和误识率。前者是拒绝真实的说话人而造成的错误,后者是接受假冒者而造成的错误,二者与匹配阈值的设定相关。匹配阈值的设定与语音锁系统的应用场合、功能侧重有关,对于家庭、宾馆等门锁用户,要求误识率尽可能低,甚至为零;若用于公司员工考勤等同类功能,就不能有太高的拒识率。表3-2是对以下每种情况各进行10

43、0次实时匹配的结果,其中设定的阈值适合门锁用户。 表3-2 100次实时匹配结果 发音分类次数同一个人相同发音同一个人相似发音同一个人不同发音不同人相同发音不同人相似发音不同人不同发音拒绝次数885100100100100接受次数92150000由以上实验结果可知,对于同一个人相同发送的拒识率为8%;对于同一个人相似发音情况,因为系统是对说话的人进行判别,对于这种情况,无论拒绝或接受都是合理的;对于同一个人不同发音和不同人发音的情况,误识率为零。使用录音机进行多次实验,通过认证的次数为零。对于门锁用户,这个结果十分理想的。若用于考勤等同类功能,可通过修改匹配阈值值实现。声纹识别与其他生物识别技

44、术相比,除具有不会遗失和忘记、不需记忆、使用方便等优点外,还具有以下特性:用户接受程度高,由于不涉及隐私问题,用户无任何心理障碍;声音输入设备造价低廉,而其他生特识别技术的输入设备通常造价昂贵。与利用虹膜、指纹和人脸等技术的门锁相比,基于spce061a构建的语音电子门锁系统具有成本低、使用方便、保密性好等优点。经大量实验测试表明,该系统性能稳定、识别效果好。下一步将进行小批量的试用,以发现问题并加以完善。但是,在环境噪声或干扰信号高于语音信号时,该系统将无法进行正确的语音识别,在背景噪声处理及其工程实际上还要进一步改善。4 系统软件设计4.1软件介绍系统的工作过程为:训练模式启动后,系统播放

45、语音提示,提示用户语音训练已启动,接下来用户可按照系统提示依次对各条命令进行训练,在训练过程中,如训练成功则有语音提示进行下一条命令进行训练,若失败,也会提示用户继续训练此条语音,全部命令训练完毕后系统将准备进行语音识别;当向控制器发出语音命令时,声波通过mic输入,将相应的信号传递到spce061a处理芯片,经编解码电路和数字信号处理后,在芯片中通过相关程序与预先植入的语音库中的命令进行比较识别,根据识别的结果进行判断,转换为能被系统识别的信号,从而对被监控系统进行控制。4.2语音识别的主程序特定发音人语音识别可以分为基于音素和一般语音特征向量的识别。本设计是基于一般语音特征向量匹配的特定发

46、音人语音识别系统。训练若干条命令,识别时,依次发布这几条命令,样序识别出命令后将做相应的应答。 设计使用的开发环境是凌阳科技提供的i-tnspmt ide162和语音压缩工具 compresstool。其中i-tnspmtide集程序的编辑、编译、链接、调试以及仿真等功能为一体,它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。软件设计包括两个部分:语音资源的准备;语音识别程序设计。 其中语音资源的准备在设计中使用了凌阳 sacma2000和 sacm-$480两种格式压缩的音频主程序详见附录。结束语本系统经过测试在硬件平台上实现了语音的采集、回放、特征提取、单词识别等功

47、能。实验表明这种面向特定说话人、小词表的语音识别系统具有较高的识别率,与专用的语音处理芯片相比,结构简单,成本低,达到了预期的目的。利用 spce061a的语音处理优势构成的各种嵌入式系统具有广泛系统硬件设计 本系统采用凌阳科技新近推出的spce061a高性能 l6位单片机,工作电压范围为2655v,系统工作频率为037549152mhz。低电压,较高的系统工作频率使该单片机能够较快速地处理数字信号,片内集成了自动增益控制功能的麦克风输入方式以及dac音频输出功能,提供丰富的c函数库和语音处理函数库,因此非常适合数字声音和语音识别产品的开发。为了监视语音的训练和识别过程,该系统具有输入语音的回

48、放、工作状态的语音提示等功能。 参考文献【1】周佩玲,彭虎,傅忠谦.微机原理与接口技术(基于16位机).北京:电子工业出版社,2005.4【2】汤书森.微机原理接口实验与实践教程.北京:清华大学出版社,2008.7【3】 杨文武.微机原理与接口技术实验与课程设计.城都:西南交通大学出版社,2005.10【4】王为青、邱文勋.51单片机应用开发案例精选.北京:人民邮电出版社,2007.8【5】 朱定华.微机原理、汇编与接口技术.北京:清华大学出版社,2005.8【6】 【7】 【8】罗亚非 等编著,凌阳16位单片机应用基础北京航空航天大学出版社。附录#include /语音识别程序#includ

49、e #include #define uint unsigned int#define uchar unsigned charsbit isd_ss = p10; /isd4002片选sbit isd_sclk = p11; /isd4002时钟sbit isd_mosi = p12; /isd4002数据输入sbit isd_miso = p13; /isd4002数据输出sbit isd_int = p33; /isd4002溢出或放音结束中断sbit pr = p14; /pr=1录音 pr=0放音sbit run = p15; /执行录音或放音sbit stop = p16; /复位s

50、bit led = p17; /指示灯sbit sda=p31; /24c02数据端sbit scl=p30; /24c02时钟端sbit error=p24; /闭锁指示端sbit right=p25; /开锁指示端 和开锁输出#define com xbyte 0x7fff /8279命令状态地址a11 a14#define dat xbyte 0x77ff /8279数据地址sbit clflag=acc7; /记录状态字 最高位bit int0_flag=0; /中断0标志位uchar nmb_flag; /语音识别编号uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论