基于LabVIEW的语音分析平台的实现 发布时间:2005-11-02
浏览次数:45195 | 我要说几句(0) |
摘 要:针对语音分析的特点,利用主流虚拟仪器开发系统LabVIEW 7. 0研制通用语音分析平台,并且利用组件技术实现与数值分析软件Matlab 6.5的接口。整个系统界面友好,使用方便,并且可以进一步设计新的算法。
关键词:语音分析;虚拟仪器;数值分析;算法
Realization of Speech Analysis Platform Based on LabVIE W
LIN Suifang1, GUO Huijun2
(1.Xi′an University of Technology, Xi′an, 710048, China;
2.Xi′an Jiaotong University, Xi′an, 710049, China )
Abstract:Based on the characters of speech analysis and by u sing mainstream virtual instrument a general speech analysis pla tform is developed. Interface to numerical software Matlab 6.5 based on DCOM i s also provided The whole system is friendly in user interface and easy to update
Keywords:speech analysis; virtual instrument; numerical anal ysis;algorithm
语音处理是目前信息学领域的研究热点和难点,其任务是研究如何利用信号处理技术研究语音信号,使未来的计算机“能听会说”。语音信号的处理是对语音信号进行分析,只有通过分析得到的参数才能做进一步的研究。语音分析涉及大量复杂的数学运算,如果采用硬件方式实现,从价格和灵活性上都不可取。如果通过计算机软硬件结合的方法采用主流的编程方式实现,则存在编程复杂,不易扩展和界面不友好等问题。
虚拟仪器是全新概念的最新一代测量仪器,自1987年诞生以来,以前所未有的速度迅猛发展。虚拟仪器与计算机软硬件技术的发展同步,他利用计算机强大的计算能力和丰富的软硬件资源来组织仪器系统,从而实现实验仪器系统的部分乃至全部的功能,并最终实现从传统仪器向计算机的过渡。虚拟仪器的测量功能可以由用户根据需要自行设计软件来定义或扩展,而非由厂家事先定义且固定不可变更。尤其是美国NI公司的图形化虚拟仪器开发平台LabVIEW,不仅编程简单功能完备,而且有多种专用软件包和丰富的各种板卡可供选择,这就为开发一个符合要求且界面友好的语音分析平台提供了便利。
1工作原理
语音信号一般被看作一种短时平稳的随机信号,主要是对他进行时域、频域和倒谱域上的信号分析。
语音信号的时域分析是对信号从统计的意义上进行分析,得到短时平均能量、过零率、自相关函数以及幅差函数等信号参数。根据语音理论,气流激励声道产生语音,语音信号是气流与声道的卷积,因此可以对信号进行同态分析,将信号转换到倒谱域,从而把声道和激励气流信息分离,获得信号的倒谱参数。
线性预测编码分析是现代语音信号处理技术中最核心的技术之一,他基于全极点模型,其中心思想是利用若干过去的语音抽样来逼近当前的语音抽样,采用最小均方误差逼近的方法来估计模型的参数。矢量量化是一种最基本也是极其重要的信号压缩算法,充分利用矢量中各分量间隐含的各种内在关系,比标量量化性能优越,在语音编码、语音识别等方向的研究中扮演着重要角色。
语音识别通常是指利用计算机识别语音信号所表示的内容,其目的是准确地理解语音所蕴含的含义。语音识别的研究紧密跟踪识别领域的最新研究成果并基本与之保持同步。
语音信号分析,首先需要将语音信号采集到计算机并做预先处理,然后通过选择实时或延迟的方式,实现上述各种类型的参数分析,并将分析结果以图形的方式输出或保存,从而实现整个平台的功能。
2系统构成
语音分析平台由软、硬件2部分组成,硬件部分的任务是通过麦克风和声卡将语音信号转换为电信号,经过A/D转换,以数字信号的形式传入计算机,同时具备能将语音波形文件通过声卡外接耳机或音箱回放。系统框图如图1所示。
2.1硬件部分
硬件包括3个部分:拾音及信号调理电路,A/D转换电路,PC机接口电路。由于声
卡已经成为计算机的标准配置(集成或插卡形式),故采用声卡、话筒的组合实现这部分功能,不但使用简便而且省去大量硬件设计工作。
2.2软件部分
LabVIEW是美国NI公司推出的一种通用虚拟仪器开发软件,他包含丰富的功能函数库和完备的总线设备驱动程序。LabVIEW的一大特色是其基于图形的编程方式是采用数据流(dat astream)而非传统的文本方式的编程方法。这种编程方式强调信号处理的实际过程,有利于简化编程,缩短开发时间和降低开发难度。
LabVIEW的编程包括前面板设计和后台设计。前面板对应一台仪器的面板,实现对仪表的控制和信号的表达功能。LabVIEW提供了一套丰富的控制模板库,用户通过这些模板来设计面板的内容。后台对应一台仪器的内部工作部分,用于实现仪表对信号的采集处理等操作。对应的LabVIEW提供了一套功能模板库,用来帮助用户实现程序改造、仪器控制数据分析等功能。主要的功能模块如下:
采集与预处理完成语音信号的采集,然后对信号进行消噪处理。
时域处理主要包括短时分析与预处理、短时能量、短时平均幅度和短时平均过零率、语音端点检测、短时自相关函数、短时平均幅度差函数和基音周期估计等。
频域处理主要包括基于短时傅里叶分析与重构、复倒谱和倒谱分析、联合时频分析。
预测与量化主要包括语音信号预测编码分析和矢量量化。
语音识别主要包括特征表示与提取、谱失真测度、模板匹配技术、隐马尔可夫模型技
术、孤立词及连接词识别、大词汇量连续语音识别和说话人识别。
与Matlab软件接口通过LabVIEW提供的Script Node子VI连接主流算法仿真分析软件Matlab,充分发挥后者强大的数据处理能力。尽管LabVIEW中提供了一些信息处理功能函数,但是毕竟功能有限,仍无法满足用户各种各样的数值计算和分析的需求。而Matlab特别擅长数值分析和处理,如果能够在LabVIEW中调用他的话,不失为一种较好的解决方法。
软件在实现过程中,充分利用LabVIEW软件本身所提供的丰富的应用分析工具包如数字滤波器、频域分析等工具模块,避免大量的软硬件开发工作。
3结语
通过上述方法构建的语音分析平台,界面丰富友好,操作使用方便,并且能不断随着虚拟仪器技术和计算机软硬件技术的进步而升级。特别重要的是用户可以在该平台上开发验证新的语音信号分析处理算法。
参考文献
[1]蔡莲红,黄德智,蔡锐.现代语音技术基础与应用[M].北京:清华大学出版社,2003.
[2]易克初,田斌,付强.语音信号处理[M].北京:国防工业出版社,2000.
[3]刘君华,郭会军.基于LabVIEW的虚拟仪器设计[M].北京:电子工业出版社,2002.
基于LabVIEW的多路时序控制脉冲发生器设计 发布时间:2009-11-26来源:现代电子技术
浏览次数:22856 | 我要说几句(0) |
0 引 言
在过程控制和自动测量中,经常需要一些时序控制脉冲来触发和关闭不同的控制单元和功能部件的工作。时序脉冲信号的产生,传统上一般采用硬件方式实现,早期大多采用计数器和寄存器进行设计,近年普遍采用可编程逻辑器件(PFGA)或数字信号处理器(DSA)。采用硬件方式实现的时序脉冲信号发生器存在仪器功能单一,信号输出通道路数较少,参数调节不方便,仪器的升级换代困难等缺点;而采用基于LabVIEW的“虚拟仪器”概念设计制作的时序脉冲发生器却具有界面直观、功能多样、参数调节方便、容易升级换代等特点。
1 LabVIEW简介
实验室虚拟仪器集成环境(Laboratory Virtual Instrument Engineering
Workbench,LabVIEW)是美国国家仪器(National Instruments,NI)公司推出的一种基于“图形”方式的虚拟仪器开发软件。它具备强大的信号采集、信号发生、数据分析与存储显示等功能,集开发、调试、运行于一体,广泛应用于测试测量和过程控制系统中。基于LabVIEW软件和计算机的数据采集卡,通过简单编程,可以方便地实现信号的采集和产生、分析和处理等功能,即“计算机+软件”等于仪器,比如:可以实现虚拟的信号发生器、数据记录仪、示波器等功能,具有设计灵活,界面直观,通用性强.升级方便等特
点。
LabVIEW程序称为“虚拟仪器”或简称为VI,一个LabVIEW程序由前面板和程序框图两部分组成。前面板用图形方式模拟传统仪器的操作面板,包含各种控件和指示器,用来为程序提供输入值,并接受输出值;程序框图包含以图形方式表示的程序代码。
LabVlEW还为编程、查错、调试提供简单、方便、完整的环境和工具。除了具备其他语言所提供的常规函数功能外,LabVIEW中还集成了大量生成图形界面的模板,丰富实用的数值分析和数字处理功能,以及多种硬件设备驱动功能。
LabVIEW面向的是没有编程经验的用户,而不是编程专家,尤其适合从事科研开发的科学家和工程技术人员,所以被誉为“工程师和科学家的语言”。
在此,基于LabVIEW软件和NI PCI-6229数据采集卡设计制作了多路时序控制脉冲信号发生器,可以应用于各种过程的自动控制中。
2 硬件介绍
基于LabVIEW软件和多功能数据采集卡,可以实现模拟和数字信号的采集,以及信号产生等多种功能。性价比较高。NI公司提供了大量不同接口和不同档次能与LabVIEW软件很好结合的数据采集卡,使用者可以根据实际需要进行选择。这里选择NI公司的M系列多功能数据采集卡NI PCI-6229。采用NI公司的产品,配合NI-DAQmx测量服务软件可以省去硬件驱动程序兼容性等麻烦。NI PCI-6229数据采集卡基于PCI接口,共有4路16位模拟输出,输出速率达833 kS/s,输出电压范围为-10~+10 V;32路单通道或16路双通道16位的模拟输入,通道采样频率可达250 kS/s;48路数字输入/输出
通道,输出为TTL电平,板载10 MHz时钟的硬件定时数字输入/输出,能以硬件定时精度来同步数字和模拟功能;两个80 MHz,32位的计数器/定时器;采用两个DMA通道,能同时执行多个功能。该板卡具有输入/输出路数较多,配备板载硬件时钟源,分辨率较高,稳定性好,性价比较高,时钟精度可满足大多数系统的要求。
3 时序脉冲信号产生的方法
基于LabVIEW的虚拟时序脉冲信号产生一般采用定时翻转输出状态的方法。具体有:
3.1 状态延时法
如图1所示,先输出低电平,然后保持低电平并延时,再输出高电平,再保持高电平并延时,一个过程可以产生一个周期脉冲信号。循环上述过程,就可以周期性地输出脉冲信号。
这种产生方法的脉宽和延时精度决定于高低电平的延时精度。软件延时通过调用延时函数(即Wait函数)来实现,而LabVIEW中的Wait延时函数最小只能到毫秒级,并且受Windows操作系统中多任务运行的影响,在同时运行其他程序时,延时时间不稳定。因此,这种方法只有在延时和脉宽调节精度不高的场合可以适用,而对稳定性和精度要求较高的场合,并不适用。
3.2 时钟信号法
利用数据采集卡自带的时钟信号发生器直接产生周期性的脉冲波形。这种方法可以结合NI公司的DAQ Insistant(助手)方便地设置参数,产生所需的脉冲波形。由于采用板卡的时钟信号发生器是完全基于硬件定时的,所以延时时间和脉宽调节精度及稳定性较高,具体参数取决于板卡的时钟频率。但这种方法受数据采集卡的时钟信号发生器个数和输出的路数限制,一个时钟信号的发生器只能输出一路信号,而普通的数据采集卡只有一个或几个时钟信号发生器,所以产生信号路数较少。
3.3 数字波形法
先通过软件产生波形(模拟波形),再转换成数字波形,然后从数字通道输出,循环上述过程,就可以连续产生一路周期性的TTL脉冲信号。如果需要产生多路的时序脉冲信号,只要采用多路数字信号序列同步输出的方法产生即可。比如:需要产生如图2所示的两路脉冲信号波形,可以同步地以1 kS/s的样本输出速率。分别在两个数字通道输出如图3所示的两列数字波形。
如果是多路时序脉冲,只需要增加同步输出路数就可以实现。然而时序脉冲信号的延时精度和脉宽精度调节取决于每个数字通道的样本输出速率,如采用1 MS/s的样本输出速率,则可以实现1μs(1 s/1 MHz)的调节精度,延时时间和脉冲宽度调节则通过改变延时数字样本数和脉宽数字样本数实现,具体关系为:
延时时间一精度×延时数字个数,
脉冲宽度一精度×脉冲宽度数字个数
采用数字波形法来产生时序脉冲波形。由于NIPCI-6229数据采集卡数字I/O的同步时钟采用板卡自带的硬件时钟定时,所以不受计算机操作系统多任务运行时的影响,稳定性好。PCI-6229共有48路DIO通道,因此时序脉冲输出路数扩充方便。在此,采用数字波形法和PCI-6229数据采集卡,实现了多路时序脉冲信号发生器,其延时和脉宽调节精度可以稳定地达到微秒数量级。
4 软件编程
4.1 程序框图
图4为两路脉冲信号发生器的程序框图,多路脉冲发生器只需增加相应的输入端即可。
先用Pulse Pattern.vi子模板产生一个模拟脉冲波形,其中延时、脉宽、周期(即样本数)用控件调节,再用Analog to Digital Waveform.vi子模板将模拟脉冲波形转换成数字波形,同时设定正负逻辑转换开关。再把各单路数字波形用bundle函数进行捆绑,再通过DAQmx Write.vi子模板从选定的数字I/O通道写出,故在各个数字输出通道产生脉冲波形。然而时序脉冲信号的周期性通过For Loop循环实现,一次循环产生一个脉冲波形,即实现一次控制过程,如果需要进行多次控制,只要设定循环次数即可。
数字信号输出过程中的关键是数字通道的样本输出速率。样本输出速率通过一个样本时钟控制,在本发生器中由计数器/定时器通过编程输出设定频率的连续矩形脉冲,再从数据采集卡的PFI12接口输入,作为控制各路数字波形输出的同步时钟,控制各数字通道同步输出波形。其中,同步时钟脉冲的周期就是时序脉冲延时和脉宽调节精度。实际测量表明,在该数据采集卡中最小可达到0.5μs的调节精度。
4.2 前面板图
图5所示为四路时序脉冲发生器的前面板图。其中,时钟频率为延时和脉宽调节精度,也就是数字通道的样本输出速率,如频率为1 kHz,即为1 ms,在该发生器中最大可以稳
定达到2 MHz,即最小延时可达0.5μs。其中,各通道的周期在本发生器中相同,设定为统一调整(也可以设定为不同的周期)。每个通道的延时时间,脉冲宽度可调,并设有正负逻辑开关,可以输出正脉冲或负脉冲波形。信号周期数为过程控制的次数。同时设有产生波形的图形显示(图示为一个周期的波形),所见即所得,非常直观。
5 脉冲信号的硬件输出
信号发生器产生的脉冲信号通过数据采集卡的相应数字I/O通道输出,可以使用专用连接电缆连接到接线盒,再由接线盒从相应的端口输出到相关控制设备。其中,输出为TTL信号电平,如不能直接驱动设备,则需要根据具体设备情况连接相应的接口电路。
设计开发完成的时序脉冲发生器产生的时序脉冲信号经示波器实际测试,信号的延时最小值可以稳定地达到0.5 μs,而脉冲信号的上升沿可以达到50 ns。完全能满足大多数控制的要求。
6 结 语
基于LabVIEW软件和数据采集卡可以方便地实现虚拟的多路时序脉冲信号发生器,具有一定的通用性,可以广泛地应用到各种自动测量和过程控制中,与传统基于硬件设计的脉冲信号发生器相比,具有时序脉冲延时和脉宽调节精度高,脉冲上升沿时间短,路数较多,界面友好,调节方便等优点。选用不同功能的数据采集卡,还可以实现更复杂的控制场合。另外,利用数据采集卡的模拟I/O,还可以产生同步的模拟控制信号,控制不同的设备。因此,基于LabVIEW的时序信号发生器不失为一种实现自动控制的好方法。
因篇幅问题不能全部显示,请点此查看更多更全内容