1、 ( 20_ _届) 本科毕业 设计 基于 LabVIEW 的声音识别系统设计 所在学院 专业班级 测控技术与仪器 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘 要 随着现代科学技术的发展,基于计算机的 虚拟仪器技术得到了越来越广泛的应用。 虚拟仪器是一种由通用的计算机软硬件资源 、模块化的 I/O 硬件以及用于数据分析、过程通信和图形用户界面的软件所组成的新型测控系统,以实现各种“真实仪器 ”的相应功能,同时又具备编程灵活、使用方便、成本低廉的优点。 本设计以计算机声卡代替昂贵的数据采集卡来采集声音信号以降低成本。利用虚拟仪器技术,由计算机上运行的 LabVIEW 程序来控制声音
2、信号的采集、显示与保存,并对所采集的声音信号进行波形处理,得到声音信号的主频率。通过与事先录制的 “密匙 ”声音频率进行对比和判断,最终实现对声音信号的识别功能。实验证明,本设计使用简便、灵活,人机界面友好,可以较为有效 地实现声音信号的识别功能。 关键词: 虚拟仪器, LabVIEW,声音识别,数据采集 II Design of a Virtual Voice Recognition System Based on LabVIEW Abstract Along with the development of modern science and technology, computer-ba
3、sed virtual instrument technology has been applied more widely. Virtual instrument is a new type of measurement and control system, which consists of hardware and software resources of the general-purpose PC, modular I/O hardware and the software LabVIEW. In virtual instrument, LabVIEW is used for d
4、ata analysis, process communication and graphical user interface control. Virtual instrument has almost the same function of the real instrument but with the advantages such as high programming flexibility, easy to use and low cost. In this design, voice signal is got by the soundcard of PC instead
5、of the expensive data acquisition card (DAQ) for cost reducing. By using the virtual instrument technology, voice signal acquisition, display and preservation is controlled by LabVIEW. Then, waveform processing will be done and primary frequency can be derived. Comparing the primary frequency of the
6、 voice signal with the Key frequency we set beforehand, voice recognition can be done successfully. Experiment results show that this design is simple, flexible and with friendly man-machine interface, and the voice recognition result is reasonable. Keywords: Virtual Instrument, LabVIEW, Voice Recog
7、nition, Data Acquisition III 目录 摘 要 . I Abstract . II 1 绪 论 . 1 1.1 课题的来源 . 1 1.2 课题的意义 . 1 1.3 虚拟仪器技术国内外发展现状 . 1 1.3.1 国外虚拟仪器技术的研究现状 . 2 1.3.2 国内虚拟仪器技术的研究现状 . 2 1.4 课题研究的主要内容 . 3 2 虚拟仪器 . 4 2.1 虚拟仪器概述 . 4 2.1.1 虚拟仪器的概念 . 4 2.1.2 虚拟仪器的优势 . 4 2.2 虚拟仪器的开发软件 . 5 2.2.1 LabVIEW 开发平台简介 . 5 2.2.2 LabVIEW 的
8、优点 . 5 2.2.3 LabVIEW 的编程环境 . 5 3 系统硬件组成及工作原理 . 6 3.1 系统的硬件组成 . 6 3.2 系统 的工作原理 . 7 4 系统的软件设计 . 9 4.1 声音识别的软件实现 . 9 4.2 LabVIEW 有关声卡函数的简介 . 10 4.3 信号采集系统软件设计 . 10 4.3.1 设置声卡 . 10 4.3.2 开始采集模块 . 11 4.3.3 等待声音录入模块 . 11 4.3.3 声音录制模块 . 12 4.4 信号检测系统软件设计 . 14 4.5 系统主程序设计 . 16 5 系统软件的具体实现 . 19 5.1 密码采集 . 19
9、 5.2 声音比较 . 20 结论 . 21 IV 参考文献 . 22 致 谢 . 错误 !未定义书签。 附 录 . 24 附录图 1 主程序前面板图 . 24 附录图 2 主程序程序框图 . 26 附录图 3 密码采集系统前面板图 . 26 附录图 4 密码采集系统程序框图 . 28 附录图 5 声音采集系统前面板图 . 28 附录图 6 声音采集系统程序框图 . 29 附录图 7 声音比较系统前面板图 . 30 附录图 8 声音比较系统程序框图 . 30 基于 LabVIEW 的声音识别系统设计 1 1 绪论 1.1 课题的来源 随着计算机技术、电子技术和数字信号处理技术的发展及其在测试领
10、域中的广泛应用,测控技术不断进步,新的测试理论、测试方法以及测控仪器不断出现。虚拟仪器( Virtual Instrument, VI)引起了越来越多的关注。它是计算机软件 技术、测试技术和通信技术高速发展所产出的一项革命性技术,改变了人们对仪器的概念、设计理论以及结构的认识。虚拟仪器是仪器发展史上一座新的里程碑。 1.2 课题的意义 由于传统的测试技术硬件价格较昂贵,其硬件平台随着不同的测试对象而改变,导致现在测试技术的发展滞后。随着计算机技术与软件技术的发展,测试系统发生了翻天覆地的变化。虚拟仪器登上了仪器发展的舞台。虚拟仪器利用计算机来控制与其连接的、具有相应仪器功能的硬件,完成对输入输
11、出信号的采集、控制、数据分析和显示,充分实现传统仪器的功能。如今,人们不断加强对虚拟仪 器技术的应用研究以及对系统的完善和改进,使其更趋于经济化,系统化和实用化 1。 1.3 虚拟仪器技术国内外发展现状 随着电子技术、通信技术、计算机技术等现代科学技术的高速发展、电测仪表仪器的相关技术的进步、仪器仪表质量的提高和测量理论方法的改进,虚拟仪器应运而生。电子仪器发展至今,可分为四个阶段:模拟仪器、数字化仪器、智能仪器和虚拟仪器 2,如图 1-1 所示。 图 1-1 测量技术的发展 模拟仪器 数字化仪器 智能仪器 虚拟仪器 19 世纪 20 世纪 七十年代 九十年代 基于 LabVIEW 的声音识别
12、系统设计 2 1.3.1 国外虚拟仪器技术的研究现状 国外的仪器产业研究虚 拟仪器技术相对较早。早在 90 年代,美国国家仪器公司( NI)、 Motorola 公司等著名企业就在仪器产业方面开始了从数字化仪器、智能仪器向虚拟仪器的过渡:从 1986 年美国国家仪器公司正式推出虚拟仪器开始,到 1997 年 NI 公司发布一种全新的仪器总线标准 PXI 总线标准。根据测控功能硬件的不同,现已存在 GPIB、 VXI、 PC-DAQ 以及 PXI 四种标准虚拟仪器硬件体系结构。 近年来,各国虚拟仪器公司相继开发了多种虚拟仪器开发平台软件,以便使用者利用这些开发平台软件组建属于自己的虚拟仪器或测试
13、系统并且编制测试软件。其中 最广泛使用的开发软件,是 NI 公司的 LabVIEW 开发平台软件和LabWindows/CVI 开发软件。除此之外,美国 HEM Data 公司的 Snap-Master 平台软件,美国 Tektronix 公司的 Ez-Test 和 Test-TNS 软件以及美国 HP 公司的HP-VEE 和 HPTIG 平台软件,也在国际上广受好评。目前,这些厂家的产品已经进入我国市场。 如今,虚拟仪器技术已广泛应用于科研生产的许多领域:声学测试、生物医学测试、汽车测试、光纤校准、光学测定及度量、电信测试、半导体测试、振动测试、实验室自动化、工业自动化、 机械监控、药品加工
14、、石油和天然气处理、过程自动化、统计、过程控制等等 3。 1.3.2 国内虚拟仪器技术的研究现状 虚拟仪器技术的研究在我国起步较晚,相对滞后。由于虚拟仪器是传统电子测控技术、计算机技术和通讯技术高速发展、不断完善的产物,而我国电子、计算机以及通信等产业的发展与国外相比相对落后。我国虚拟仪器产业底子薄,缺少必要的软硬件技术支持,发展相对缓慢。 近几年来,虚拟仪器在各种实验教学中得到广泛应用。随着科学技术的不断发展及相应学科高等教育课程教学内容的更新,我国许多院校中使用的传统教学实验仪器,日 益暴露出一些缺陷和不足。为改善实验条件、更新实验教学内容、改革实验教学方法、提高实验教学课程的开设水平,国
15、内各高校相继把虚拟仪器引入实验教学中来 4。例如在电子线路教学中, Electronic Workbench( EWB)虚拟电子实验室就已经被广泛使用。 Electronic Workbench( EWB)为加拿大 Interactive Image 公司开发的仿真电子实验平台。 虚拟仪器还运用于各类电子、机械、建筑、热工设备中,其优点为可实现在不影响系统运行状态的条件下,对系统的各项参数进行集中检测、定时记录、实现自动反馈调节控制、超标自动报警等。这不但比人工抄表和人工调节准确,而且比较安全。例如天津大学精密测试技术及仪器国家重点实验室使用虚拟仪基于 LabVIEW 的声音识别系统设计 3
16、器 LabVIEW 开发平台和数据采集卡,监视管道运行状况,并且利用电话线路构成通信网络,由此建立了一个实时性比较好的基于虚拟仪器的原油管道泄漏监测系统。 各种固化软件、专用集成电路、测试软件的广泛应用,模块式仪器和系统技术的迅速发展,不仅为国内虚拟仪器的研究和应用创造了良好的条件,还缩小了与国际先进水平的差距。广泛采用虚拟仪器技术可以节省仪器开发的费用和人力,有助于提高我国 仪器的整体水平。虚拟仪器在我国的研究和开发有着十分现实的意义。随着测试技术和软件技术的发展,虚拟仪器势必将在更多、更广的领域得到普及和应用 5。 1.4 课题研究的主要内容 本课题主要是设计一个基于 LabVIEW 的虚
17、拟声音识别系统。声音识别是根据语音波形中反映说话人生理和行为特征的语音参数,自动识别说话人身份的技术。其基本原理为通过分析说话人的声音,从中提取特有参数(比如声音频率),利用计算机进行待测参数和“密匙”参数进行匹配,以最终实现身份的识别。 本设计利用虚拟仪器技术,由计算机上运行的 LabVIEW 程序来控制声音信号的采集、显示与保存,并对所采集的声音信号进行波形处理,得到声音信号的主频率。通过与事先录制的“密匙”声音频率进行对比和判断,最终实现对声音信号的识别功能。 在设计实时声音信号采集电路时,考虑到目前的常用数据采集卡虽然都包含了完整的数据采集功能,但价格较为昂贵;相对而言,同样具备 A/
18、D 和 D/A功能且具有 16 位量化精度、 44.1kHz 数据采集频率的声卡技术已经非常成熟,完全可以满足声音信号的数据采集需要。此外,声卡的价格低廉,且已成为计算机的标准配置,因此,本设计采用计算机声卡来实现数据采集。 基于 LabVIEW 的声音识别系统设计 4 2 虚拟仪器 2.1 虚拟仪器概述 2.1.1 虚拟仪器的概念 虚拟仪器( Virtual Instrument, VI)是由计算机硬件资源(如微处理器、内存、显示器等)、模块化仪器硬件(如 A/D、 D/A、数字 I/O、定时器、信号调理等)和用于数据分析、过程通信以及图形用户界面的软件组成的测控系统,是一种基于计算机的新型
19、仪器,以通用的计算机硬件及操作系统为依托,以实现“真实”仪器的相应功能 6。 使用者利用应用软件将计算机资源和仪器硬件有机的结合起来,通过友好的图形界面来操作计算机,完成对测试信号的采集 、分析、判断、显示和数据处理等功能。 虚拟仪器中,硬件主要用于解决信号的调理及输入、输出等问题,软件主要用于实现对数据的读取、分析处理、显示及对硬件的控制等功能,而这些功能在传统仪器中往往通过硬件来实现。图 2-1 给出了一种利用数据采集卡实现的虚拟仪器。 图 2-1 一种常见的虚拟仪器组建方案 2.1.2 虚拟仪器的优势 与传统仪器相比,“虚拟”数据采集系统具有以下优势: ( 1) 虚拟仪器的软件和硬件具有
20、模块化、互换性、开放性以及可重复使用等特点。 ( 2) 在通用硬件平台 上搭建后,由软件实现仪器的具体功能,即虚拟仪器的关键是软件。 ( 3) 虚拟仪器的数据采集功能是由用户根据实际需要通过软件来定义的,不是由仪器厂商定义的。 ( 4) 虚拟仪器研制的周期较传统仪器短,技术更新快。 ( 5) 虚拟仪器的性价比高,开发与维护的费用低。 传感器 信号调理 数据采集卡 数据处理 虚拟仪器面板 基于 LabVIEW 的声音识别系统设计 5 ( 6) 虚拟仪器的数据采集系统开放、灵活、与计算机的进步同步、测试自动化程度高、而且可与网络以及其他设备互联。 ( 7) 虚拟仪器具有友好、灵活的人机界面,传统仪
21、器的界面比较呆板 7。 2.2 虚拟仪器的开发软件 2.2.1 LabVIEW 开发平台简介 LabVIEW 是美国 National Instruments(美国国家仪器公司,简称 NI 公司)推出的一种通用虚拟仪器开发软件,它包含丰富的功能函数库和完备的总线设备驱动程序。 LabVIEW 的一大特色是其基于图形的编程方式,采用了数据流( Data Stream)而非传统的文本方式的编程方法。这种编程方式强调信号处理的实际过程,有利于简化编程,缩短开发时间和降低开发难度。 8 9 2.2.2 LabVIEW 的优点 LabVIEW 可以方便地应用于信号采集与处理领域。此外, LabVIEW
22、也支持用户对 VI 的二次开发,并可以调用其他语言编写的程序,还可 以将用户自行编写的程序方便地封装成标准 VI,供后续程序调用,为提高程序编写的效率及扩展程序功能带来极大方便 10 11。 2.2.3 LabVIEW 的编程环境 LabVIEW 是虚拟仪器的开发工具,在 LabVIEW 里开发的应用程序被称为VI( Visual Instrument),其拓展名被默认为 vi。所有的 vi 都由前面板、框图以及图标和连接器窗格三个部分。 ( 1) 前面板,是图形用户界面,相当于标准仪器的面板,包含其显示相关选项的设置,主要有控件的默认属性,交互式的输入控件和输出显示控件。 ( 2) 框图,是 VI 程序的 图形化源代码,相当于标准仪器箱里的功能部件,包含程序框图的相关设置,主要有程序框图编写的默认属性。 LabVIEW 提供三种选板:控件选板、工具选板和函数选板。其中控件选板含有前面板用到的所有控件,包括显示控件和输入控件。 LabVIEW 作为虚拟仪器程序设计软件,提供了对多种数据类型的支持。LabVIEW 中的数据类型包括布尔型(即逻辑型, Boolean)、数字型( Numeric)和字符串型( String);构造数据类型包括簇和数组;其他数据类型包括空类型、枚举( RefNum)等等。 12