语音门禁系统设计.doc_第1页
语音门禁系统设计.doc_第2页
语音门禁系统设计.doc_第3页
语音门禁系统设计.doc_第4页
语音门禁系统设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式智能语音门禁系统的设计与实现摘要: 为实现对楼宇单元门的语音控制, 以语音识别原理为基础,通过对语音识别原理的系统分析, 结合特定人语音识别的具体情况, 研究了基于线性预测编码( LPC) 的递推来推求倒谱编码( CC) 基于滤波理论的基音周期确定算法, 并将其结合起来, 应用高性能数字信号处理器作为核心,设计了一个基于ARM9 微控制器的智能语音识别门禁系统。系统采用了S3C2440 微处理器,结合UDA1341专用音频语音录放芯片和触摸屏等进行控制和接口设计硬件设计,并基于Linux 操作系统和QT/Embedded 图形用户界面(GUI)编程,实现对特定说话人的语音识别。详细介绍了语音门禁系统的硬件组成 和工作原理, 实现 音频信号的采集、读取及控制的并行性,提高了电路的可靠性,从硬件、软件、算法优化等方面实现了基于语音识别门禁系统的总体设计, 从应用的角度阐明了本系统理论上的合理性。 结果表明,该门禁系统界面友好,操作简单,且具有良好的识别效果,本系统能够成功实现声音的准确采集及对电磁锁的语音控制。可进行产品推广。 关键词:嵌入式;语音识别特征提取模式匹配LPC DTW;门禁系统;特定说话人;信号采集;语音录放。0 绪论综合集成计算机、通讯、自动识别、机械工程和安全管理系统等相关技术的门禁系统有效地解决了重要部门和场所的安全访问控制问题, 已得到广泛的应用, 成为日常工作和生活中的电子门卫。目前, 门禁系统采用较多的是非接触式RF 卡、生物识别技术、IC 卡、密码输入等方式。然而随着科学技术的发展, 综合应用语音识别、指纹识别、虹膜识别、红外( 热) 感应等最新生物识别技术, 结合电磁锁等技术的门禁系统已广泛吸引了人们的注意, 并将逐步成为门禁系统发展的主流与最终目标之一。利用语音识别技术来实现门禁系统不用像其他方式一样需要触摸, 具有方便、安全、准确、信息完整、独立性强、反应速度快等优点。因此, 基于语音识别技术的门禁系统有着非常独特的优势和发展前景。1 语音识别技术及其原理 语音识别技术的关键在于准确地分辨出不同人的语音特征及其信息内容, 并以此控制其他设备来满足人们的各种需要。 语音识别根据应用场合、使用对象、语音词汇量、算法模型等不同的分类依据, 可分为不同的类型, 如表11所示,针对办公室、家庭等私人小型场所,门禁系统涉及到的主要是特定人语音识别的特殊要求。 本文拟采用对用户的依赖性分类的形式, 将相关语音识别分为两类: 对用户声音特征的辨识和对用户发出的命令的确认。基于对声音特征辨识的特定人语音识别在对安全要求很高的部门门禁系统中得到了较为广泛的应用。其基本原理: 当系统接收到外界语音信息后, 从事先训练好的语音库中找出惟一匹配的声音特征模型进行辨识,如果匹配成功则执行下一步操作; 反之, 如果无法匹配,将会拒绝执行任何操作。特定人语音识别应用较简单, 不需要预先采集过多的样本, 对硬件资源要求也较低, 因此降低了系统运行中的前期成本; 此外, 其训练过程可以根据用户习惯, 由用户任意定义控制项目的具体命令语句, 因而适合大多数中小型以下企业或部门的各类应用。然而, 特定人语音识别存在稳健性不理想, 对有些人的语音识别率高,有些人的识别率却不高; 系统刚训练完时识别率较高,但随着时间的延长会导致识别率慢慢降低等缺点。为克服这些缺陷, 本系统结合门禁系统语音识别的实际情况,通过从改进语音特征提取算法和模式匹配算法两方面对传统方法作了相应的改进, 以提高门禁系统的语音识别性能和稳健性。 特定人语音识别分为语音训练和语音识别两个阶段。在训练阶段, 通过MIC 输入语音命令, 然后对模拟语音信号进行预处理, 对处理后得到的数字语音信号进行语音特征提取, 为不同用户的不同语音特征参数建立一个相应的语音特征模型库。训练完成后, 进入语音识别阶段, 对MIC 输入事先训练好的语音命令, 然后对模拟语音信号进行预处理, 对处理后得到的数字语音信号提取语音特征参数, 紧接着调出语音特征模型库进行匹配检测。如果在模型库中找到先前已经训练好的与之匹配的语音特征模型, 就会产生识别结果;反之, 则无法识别。特定人语音识别原理框图如图1 所示。1 .1 预处理 预处理包括噪音去除以及端点检测。1 .1 .1 噪音去除 将通过麦克风输入的一段模拟语音信号进行量化和采样, 转换成数字语音信号; 将这段含噪的数字语音信号去噪, 得到干净的数字语音信号, 再通过预加重技术滤除低频干扰( 尤其是50Hz 或60Hz 的工频干扰) 提升语音信号的高频部分, 这样可以起到提升清音部分能量、抑制随机噪声和消除直流漂移的作用。1 .1 .2 端点检测 端点检测也即是从一段语音信号中确定出语音的起点及结束点的过程。有效的端点检测不仅减少了系统的处理时间(帧数最少), 而且能排除无声段的噪声干扰, 从而使处理质量得到保证。端点检测的困难在于无声段或者发音前后人为呼吸等产生的杂音, 使得语音的端点比较模糊。 目前对端点检测采用较多的方法是单纯用过零率和能量值来检测, 但是由于这种方法没有考虑到背景噪声, 因此存在不可避免的缺点。这里, 采用当前帧与前一帧的过零率和能量值的差作为检验端点的标准就能很好地解决背景噪声的问题。 在语音识别中,特别是孤立词、小词汇量识别系统中,准确检测出每个词或句子的起点和终点,不仅可以滤除冗余数据、降噪以及降低存储容量,而且可以大大提高识别算法速度和识别率。因此,本系统采用了短时平均能量、短时平均过门限率(过零率)以及Mel 低频能量检测等方法对语音数据进行端点检测。1 .2 语音特征的提取 一般而言, 都是通过对语音信号的分析处理, 去除无关的冗余信息, 获得影响语音识别的重要信息, 来达到提取语音信号中表征不同人的不同声纹特征的目的,与非特定人语音识别不同, 对特定人语音识别来讲, 特征参数的选取更注重于说话人的个人信息与特征的获取, 而对语义信息获取的要求较低。 对端点检测后的语音数据,采用Mel 倒谱参数进行参数提取。Mel 频率倒谱系数(MFCC)是语音信号的频域参数,它是一种基于人耳对语音频率的非线形感知特征的描述;在说话人识别中,有较好的识别性能和抗噪能力,其性能优于LPC、LPCC 等参数。计算MFCC 的过程为:首先用傅里叶变换将时域信号转变成频域信号,然后根据临界频率和带宽选取数字滤波器(三角形),并在频域内进行计算处理,最后通过反傅里叶变换得到Mel 频率倒谱系数1。最后的变换式可简化为公式(1)。,n=1,2,L (1)式中,MFCC 系数的个数L 通常取最低12-16,本文取12。1 .3 模型训练和模式匹配 模型训练是指按照一定的数据挖掘或知识发现规则, 从大量训练样本中提取表征该样本类本质特征参数的过程。模式匹配则是根据一定准则, 使待识别样本与通过提取出来的训练样本的本质特征而建立的模型进行对比分析, 以期获得最佳匹配。语音识别所应用的模式匹配和模型训练技术主要有动态时间归整技术(DTW)、隐马尔可夫模型(HMM)和人工神经元网络(ANN)。DTW 是较早的一种模式匹配和模型训练技术, 它应用动态规划方法成功解决了语音信号特征参数序列比较时时长不等的难题, 在简短词语音识别中获得了良好性能, 但它不适合连续语音大词汇量语音识别系统。相反, 其对短时小词汇量的语音( 有效语音长度小于3 秒) 的识别却既简单又有效, 且识别率非常高。因此, 本系统选取了DTW算法, 并在具体实践中加以了改进。DTW 算法不适合连续大词汇量的语音识别系统, 但对短时的小词汇量语音( 有效语音长度低于3 秒) 的识别既简单又有效, 且识别率很高。DTW 算法采用动态规划最优化来找到一条从起点(n0,m0)到终点(nN,mM)的最佳搜寻路径。同时为了避免n 轴的过分倾斜, 对通过路径中各点的平均斜率加以限制, 通常最大斜率定为2, 最小斜率定为1/2。常规DTW 算法要求从(1,1)出发到(N,M)结束, 这两点称为固定的起点和终点, 常规算法的缺陷是对端点的选取存在敏感依赖性。这里利用松弛的DTW 算法, 可以使语音识别系统的识别性能得到改善, 且匹配效果较之常规方法更好, 即从起始点(1,1)、(1,2)、(2,1)、(1,3)、(3,1) 以及终止点(N,M)、(N- 1,M)、(N,M- 1)、(N- 2,M)、N,M- 2)中各选择出一个最小值, 两语音样本之间的相互距离在相应的点放松后选择一个最小距离。一般情况下, 采取正确的端点检测之后, 起点和终点在纵轴和横轴方向各放松二帧, 即在两方向各放松60ms 左右就足够了。松弛起点、终点的优点是可以克服由于端点检测不精确引起的误差。 系统的组成及工作原理语音门禁系统是一种仅依靠说话人的语音来控制门锁开启的系统。其工作原理是: 红外探测电路探测到有人到来, 启动整个控制系统进入工作状态, 将待识人说的语音经特征提取后与系统训练时产生的模型参数进行比较, 当系统识别当前用户为合法用户时, 再采用DSP 处理器芯片产生一个开锁信号开启电磁锁。语音门禁系统的原理结构框图如图1 所示。根据实现功能划分为: 楼宇单元门语音锁用户界面单元、楼宇单元门语音锁控制器单元、楼宇单元门语音锁管理器单元、普通电磁锁单元。语音识别系统本质上是一种多维模式识别系统,其主要包括端点检测、特征提取、语音建模、模式匹配四个基本单元1。其识别过程如图1 所示。1.3 基于DTW 的模式匹配算法动态时间归整(DTW) 算法是把时间归整和间距测量计算结合起来的一种非线性归整技术,它有效地解决了小词汇量识别中说话速度不均匀的问题2 ,该算法原理是寻找一条通过各个交叉点的从起始点到终止点的帧失真度总和为最小的最佳路径。当词汇量较少时,用DTW 算法对特定人的语音识别可以获得很好的效果。设测试语音参数共有N 帧,参考模板共有M 帧矢量,且NM,则动态时间规整就是寻找一个时间规整函数j=(i),它将测试矢量的时间轴i 非线性地映射到模板的时间轴j 上2,并使函数 满足公式。图1 语音识别过程(2)式中,dA(i),B(i) 是第i 帧测试矢量A(i)和第j 帧模板矢量B(j)之间的距离测度;D 则是处于最优时间规整情况下两矢量之间的匹配路径。21 21 1 说话人语音信号采集电路由于系统要求采集70H z 3kH z 的语音信号。因此根据采样定理, 系统的采样率至少应达到10kH z 左右。考虑到接口方便及性能、价格等因素, 语音信号采集电路选用了TLC2272 集成运放和语音信号编码解码芯片TLC320AD50C。21 21 11 1 语音采集前端电路 图2 为语音电子门锁系统中由T LC2272 构成的语音信号前端模拟电路。语音信号前端模拟电路的第一级运放将由麦克风输入的语音信号进行滤波, 并放大10 倍, 第二级将信号由单端输入信号变为差动双端信号送往TLC320AD50C 进行数字化, 这样可以抵消模拟信号在传输过程中受到电路板上其它电路造成的干扰。21 21 2 音频模拟芯片与DSP 的接口TLC320AD50C 与TMS320VC5402 的接口电路可参见参考文献 3 。21 21 3 系统数据存储单元设计 将系统正常工作时的语音特征库存于SRAM 中, 将楼内用户第一次训练时产生的语音特征存于FLASH 中, 这样平时系统正常工作时可以方便快捷地更新用户信息, 当系统出现UPS 电源意外断电时, 系统在下一次上电时会将存于FLASH中的程序和语音特征库载入DSP 和SRAM 中, 恢复系统正常运行。同时, 为了满足语音特征库和程序大小对存储器的要求, 系统选用SST39VF400A 和I S61LV12816。 系统数据存储单元的硬件设计可参见参考文献 4 。21 3 楼宇单元门语音锁管理器单元语音锁管理器单元完成系统的初始化训练和系统用户数据的更新, 同时提供操作的语音提示。楼宇单元门语音锁管理器电路设计如图3 所示。21 31 1 系统用户键盘控制模块电路 用户通过3 种方式介入系统: 训练阶段、识别阶段、用户信息更新阶段。 用户操作过程:训练过程: 按训练键v / 系统准备好, 请输入您的房屋编号0 v 按房屋编码键v / 系统准备好录入用户信息, 请对着MIC 说三遍-请开门. 0 v 用户说三遍0 请开门0 v 系统初步录入用户信息, 同时提示/ 请您再说一遍- 请开门. 0 v 用户一遍/ 请开门0 。若训练成功v / 系统确认用户信息, 信息是否保留?0 v按确认键保留录入的信息/ 按放弃键不保留此次信息v / 训练成功, 谢谢您的配合0 / / 对不起, 您这次训练无效, 请您靠近MIC, 再来一遍0。若训练失败v / 对不起, 训练失败, 请重新训练0。用户信息更新: 按删除键v / 系统进入删除用户模式, 请输入待删除用户的房屋编号0 v 按编码键v / 系统即将删除该房屋用户的信息, 确定删除操作吗? v 按确认键/ 按放弃键v/ 系统已删除该用户信息0 / / 删除操作取消0。2 语音门锁控制系统的各个模块的设计21 1 楼宇单元门语音锁用户界面单元设计语音锁用户界面单元主要完成门锁系统激活, 同时提供用户进入系统时的操作界面。21 11 1 系统红外探测电路系统装有红外探测电路, 在用户没有到来时, 系统处于低功耗状态, 当有用户到来时, 红外探测电路探测到用户到来,启动系统转入正常工作。本系统选用TX05D 红外线反射开关, 全部电路焊装在一只46 mm 32 mm 17 mm ( 不包括安装支架) 的塑料盒内,盒的侧面设有状态指示灯和灵敏度调节孔, 一只红色的发光管用来作为状态指示, 没有检测到反射物体时熄灭, 输出线呈低电平, 有反射物时点亮发光, 输出线呈高电平。 当系统确定当前用户为合法用户时, 通过扬声器提示/ 欢迎到来0 , 若识别失败, 则会提示/ 对不起, 您大声一点, 再来一遍0 。 图2 语音信号前端采集电路Design and Realization of Embedded Speech Access Control SystemLUO Yun-gui, ZHANG You-chun(1.Faculty of Mechanical & Electronic Information, China University of Geosciences, Wuhan 430074, China)Abstract: Based on the Speech Recognition theories, an embedded access control system has been designed on ARM9 microprocessor.The system used the S3C2440 microprocessor, the UDA1341 audio codec and touch screen, and based on the Linux OS and QT/EmbeddedGraphical User Interface (GUI) programming to identify the speaker dependent. The result showed that the system was good at speechrecognition, simply to operate, and had friendly interface, which indicated it could be put into production.Key words: embedded; speech recognition; access contrul system; speaker dependent本文的研究目标是建立一个特定人、小词汇量、与文本有关的说话人识别门禁系统。该系统的设计分为两部分:硬件设计部分,主要采用Samsung 公司ARM9 系列芯片、Philips 公司的立体声音频芯片和触摸屏等,配合电源模块实现整个硬件系统;其原理是利用S3C2440 内置的S 总线控制器实现与UDA1341 接口,完成音频数据的录入和处理。软件设计部分,主要基于嵌入式Linux 操作平台和QT/Embedded 图形用户界面,编写音频驱动程序、音频采集程序、语音算法程序以及图形界面程序,然后通过Linux 剪裁,QT/Embedded 移植,程序调试,最终建立人机交互的说话人识别门禁系统。21 2 楼宇单元门语音锁控制器单元设计语音锁控制器单元完成语音信号的采集、算法软件处理以及数据存储转换等功能。2 门禁系统的设计和实现2.1 总体设计本系统首先是用户对LCD 触摸屏上的图形界面进行操作和控制, 进而通过QT/Embedded 图形接口调用和执行语音录入和处理函数,经ARM9 处理器运算处理后,将识别结果返回LCD。其基本的结构框图如2 所示。2.2 硬件电路设计本系统硬件电路主要由S3C2440 处理芯片、UDA1341TS 音频芯片和3.5 寸触摸屏为核心,配合Flash 存储芯片、SDRAM 内存芯片、电源电路等共同实现系统的架构。 S3C2440 是SAMSUNG 公司一款基于ARM920T 内核的芯片, 其标准工作频率为400MHz,它不仅提供了4 通道的DMA 控制器和IIS 音频接口,而且还提供LCD控制器了, 图2 门禁系统的基本结构框图为液晶的开发提供了方便。UDA1341TS 是Philips 公司的一款经济型音频CODEC,该CODEC 支持S 总线数据格式,非常方便与S3C2440 进行数据通信。存储部分选用了64MB Nand Flash 用来烧写Linux 系统和程序。本文主要就主要的音频接口电路作如下分析。IIS 总线接口有3 种模式,本系统为了方便以后扩展,采用传输和接受模式。在该模式下,IIS 数据线通过双通道DMA 可同时接受和发送音频数据,DMA 服务请求由FIFO 只读寄存器自动完成。S3C2440 的DMA 控制器没有内置的DMA 存储区域,通常在驱动程序中须为其分配DMA 缓冲区大小,通过DMA 直接将需要录音的数据放在内存DMA 缓冲区中3。图3 是S3C2440 与UDA1341TS的连接原理图。电路连接时,S3C2440 的IIS 总线信号(包括时钟和数据) 分别与UDA1341的IIS 信号相连,L3 接口的引脚L3MODE、L3CLOCK 和L3DATA分别与S3C2440 的3 个I/O 口GPB2,GPB3,GPB4 相连,VINL1/R1 为音频信号左右声道输入接口。电路图如图4 所示。2 用户键盘控制模块电路设计说话人识别系统设计使用在楼高不超过7 层的楼宇单元门系统中, 使用范围最初以每个门洞不超过100 个人来设计。7 层楼共有14 家住户, 例如门牌号分别为:101、102、201、202 等。根据实际需要, 系统对用户进行如下编码: 门牌号为单数的归为A 单元, 门牌号为双数的归为B 单元, A 和B 单元由拨码键盘( HD3) 控制;楼层1 7 分别由按键S1 S7 表示。其中, 每家的用户都使用系统分配给自己家的编码。系统中使用74H C148 编码芯片来完成用户楼层的编码,通过H D0 HD3 来读取用户编码, 例如, 201 的用户编码为0010, 502 的用户编码为1101 等。图4 ISD4003 与DS P 硬件接口电路图6 7805 电源电路此外, 系统还需要一个训练键、一个删除键、一个确认操作键和一个放弃操作键。21 31 2 语音提示模块电路 为了配合用户在训练阶段和用户信息更新阶段进行控制,系统设计了以I SD4003 为核心的语音提示模块, 接口电路如图4 所示。ISD4003 所遵守的SPI 协议是一个同步串行数据传输协议, 支持与T MS320VC5402 DSP 的M cBSP 直接进行通信。协议假定微控制器的SPI 移位寄存器在SCLK 的下降沿动作,因此对ISD4003 而言, 在时钟上升沿锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚5 。 由于只需要I SD4003 芯片预先存储好系统操作过程中的语音提示, 所以录音系统的语音信号输入端可以共用楼宇单元门,语音控制锁控制器上语音信号采集单元的语音前端处理电路。 系统中, C5402 与ISD4003 通过McBSP0 连接,ISD4003 的/ INT 与C5402 的中断引脚BIO 相接, ISD 在任何操作中检测到EOM 或OVF 时, / INT 端变低并保持,中断状态在下一个SPI 周期开始时清除。因此本端接C5402 的BIO, C5402 收到中断以后可以根据需要继续对 ISD 发送命令播放或继续录音。21 4 普通电磁锁单元 在门禁系统中, 电磁锁是必须的配件, 它可以在接通12V 或者24V 直流电源后, 使锁舌缩进锁体, 门被允许打开; 反之, 门被关上。门禁系统所用电锁一般有三种类型: 电阴锁、电磁锁和电插锁, 视门的具体情况选择。 另外, 考虑到供电部分, 应该在系统中加入直流升压器给电磁锁供电, 并且还可以添加一个可以充电的蓄电池, 以保证系统的持续供电。电磁门锁开启电路单元设计如图5 所示。 系统识别说话人为系统合法用户时, 设置DSP 的HD4引脚为低电平, 开启电磁锁图4 ISD4003 与DS P 硬件接口电路 图4 ISD4003 与DS P 硬件接口电路 图6 7805 电源电路 图7 PS767D318 电源电路2.3 软件部分设计软件设计部分分为: Linux 音频程序设计、语音识别算法程序设计、QT图形界面设计和系统移植。2 .3 .1 提示语音的生成 录好提示语音(.WAV 文件), 采用SACM_S480 编码算法(音频编码算法), 将8K、16bit 的音频文件压缩为二进制文件, 存储在程序存储器中。当应用程序运行时, 再将压缩后的提示语音解压缩, 以8kHz 的频率送D/A 还原出声音, 并播放。2 .3 .2 语音训练 在调用语音训练程序之前, 首先确保识别器能正确的初始化。为了增强语音识别的可靠性, 避免识别的命令倾向于噪音的问题, 这里选择了两次语音训练取平均的方式。系统在发出开始训练的语音提示、延时2 秒后开始训练, 每条命令固定1.3 秒的时长, 当训练命令超出1.3 秒时, 只有前1.3 秒命令有效。如果训练成功, 则返回0; 未收到训练样本语音返回1; 需更多的训练语音样本数据时, 返回2; 当训练样本语音背景太吵时, 返回3; 由于单片机硬件限制, 当语音特征模型库满时, 返回4; 当两次输入训练样本不同时, 返回5。“ 训练”函数TrainWord( ):int TrainWord(int WordID, int SndID)int Result ;PlaySnd(SndID,3); /PlaySnd ( ) 为语音播放函数Result=BSR_Train(WordID,BSR_TRAIN_TWICE);/ 训练两次, 获得训练结果switch(Result)case 0 :Break ; / 训练成功case 1 :Break; / 未收到训练样本语音.default :break ;return result ;2 .3 .3 语音识别语音识别程序包括识别程序和中断服务程序。识别程序选取词库、初始化A /D 和定时器TimerA, 进行识别运算及识别结果处理。中断服务程序定时读取A /D 转换结果, 并存入缓冲区。语音识别和放音分时复用TimerA FIQ 中断, 由标志位判断是语音识别处理还是放音处理。语音识别流程图如图3 所示。FIQ_TimerA 中断服务程序:L_FIQ_TimerA:P_INT_Clear=R1 ;call _BSR_FIQ_ROUTINE; / 识别中断服务call F_FIQ_Service_SACM_S480 ; / 播放中断pop R1,R5 from sp;reti ;识别程序如下:BSR_DeleteSDGroup(0); / 初始化RAMBSR_InitRecognizer(BSR_MIC); / 初始化识别器while(1)Result = BSR_GetResult(); / 获得识别结果Switch(Result) / 识别出的命令, 语音命令的顺序号default :Break ; (识别结果处理程序)2 .3 关键技术与算法的优化 由于特征参数选取的好坏会直接影响到识别精度,而合适的模式匹配算法可以很好地提高识别率, 语音的特征提取以及模式匹配构成了基于语音识别门禁系统设计的关键。 语音识别算法程序包括:端点检测函数endpoint()、特征参数提取函数mfcc()、距离匹配运算函数dtw()、数据建模model()函数等。这里只给出部分DTW 算法程序。float dtw_main(char *ffile1,char *ffile2,float tt,char *outffile) /* 定义浮点型DTW 函数,输入为两个MFCC 参数文件ffile1,ffile2,tt为门限,outffile 为生成的模板文件*/ for(i=0;ixsize;i+) /ffile1 帧数for(j=0;jysize;j+) /ffile2 帧数for (k=0;kparams;k+) / params 为Mel 维数=12total += (xik - yjk) * (xik - yjk);/模板帧和测试帧之间的距离测度Distij = total; 2.3.1 Linux 音频程序设计Linux 音频程序分为UDA1341 驱动程序和录音程序。 驱动程序主要是DSP 设备驱动程序的设计,其主要包括:设备的初始化(完成对UDA1341 采样频率、L3 接口等初始化)、DMA 缓冲区管理、设备的操作接口、中断处理等。其中对设备的操作包括:打开open 函数,关闭close 函数,录音read 函数等。并通过file_operations 结构体提供外部文件接口函数调用。 图4 S3C2440 与UDA1341TS 连录音程序主要是通过调用驱动程序提供的接口函数read()实现录音,并以文件形式存储到Linux 文件系统中。2.3.3 QT 图形界面设计图形界面是本系统的主要操作界面,体现了与人与机器有好交互。首先呈现给用户两个功能选项“训练”与“识别”。如果是新用户,需先选择“训练”建立自己的语音模板,考虑到安全性的问题,在建模之前需要进行身份验证,然后选择身份(照片)进行建模。如果已经建立好模板,就可以通过主界面的“识别”按钮进行身份识别,并将识别结果显示出来。程序流程图如图5 所示。2.3.4 系统移植系统的移植包括Linux 内核系统的裁剪,文件系统的建立,最后到镜像文件的烧写。图2 门禁系统的基本结构框图图3 S3C2440 与UDA1341TS 连接原理图图4 S3C2440 与UDA1341TS 连接电路图本系统的内核版本为Linux2.6.13,可以通过make menuconfig 命令进行简单裁剪,最重要的是把UDA1341 驱动程序和LCD 触摸屏驱动程序编译进内核。接下来是制作文件系统,本系统采用yaffs2 文件系统:先用到busybox 编译出文件系统所需要的应用程序,然后建立必要文件夹,更重要的是把QT/Embedded 需要的库文件和二进制程序文件一起编译进去,最后通过uboot 烧写进ARM9 芯片并调试通过。3 实验数据分析与结论在实验室先对一名男生和一名女生进行语音训练建模,训练的样本为每人2 组词汇(“开门”和“芝麻开门”),每个词汇录音时间为3 秒,训练8 次。建立模板后,开始识别实验。实验一:该男生和女生分别进行喊话,每个人每组词喊话20 次,

温馨提示

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

评论

0/150

提交评论