当前位置:文档之家› 基于LabVIEW的虚拟音频数据采集系统的分析与设计

基于LabVIEW的虚拟音频数据采集系统的分析与设计

基于LabVIEW的虚拟音频数据采集系统的分析与设计∗刘延华1 合肥工业大学计算机信息学院,安徽合肥 2300092 安徽师范大学教育科学学院,安徽芜湖 241000摘要:利用声卡DSP技术和LabVIEW多线程技术,提出了一种在LabVIEW平台下设计开发基于声卡的数据采集与分析系统的廉价方案。

该系统在LabVIEW环境中实现了音频信号的采集分析及数据存储及重载,具有实现简单、界面友好、性能稳定可靠等优点。

可推广到语音识别、环境噪声监测和实验测量等多种领域,应用前景比较广阔。

关键词: 声卡数据采集信号分析 LabVIEW1 前言伴随着DSP(数字信号处理)技术不断走向成熟,PC声卡逐步成为一个成熟的数据采集系统,它同时具有A/D和D/A转换功能,不仅价格低廉,而且兼容性好、性能稳定、灵活通用。

声卡采用的是DMA(直接内存读取)方式传送数据,充分发挥了DSP芯片的性能,极大地降低了CPU占用率。

一般声卡16位的A/D 转换精度,比通常12位A/D卡的精度高,对于许多工程测量和科学实验来说已能满足需要。

如果利用声卡作为数据采集设备,可以组成一个低成本高性能的数据采集与分析系统。

当然,它只适合采集音频域的信号,即输入信号频率必须处于20~20000Hz的音频范围内。

如果需要处理直流或缓变信号,则需要其他技术的配合[1]。

本文的系统设计将信号频率的范围限定在20~20000Hz范围内。

2 声卡工作原理声音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。

声卡作为语音信号与计算机的通用接口,其主要功能就是实现模拟信号和数字信号之间的转换,即将所获取的模拟音频信号转换为数字信号,经过DSP音效芯片的处理,再将该数字信号转换为模拟信号输出。

衡量声卡的技术指标包括复音数量、采样频率、采样位数(即量化精度)、声道数、信噪比(SNR)和总谐波失真(THD)等参数[2]。

目前一般的声卡最高采样频率可达96KHz;采样位数可达16位甚至32位;声道数为2,即立体声双声道,可同时采集两路信号,需要时还可选用多路输入的高档声卡或配置多块声卡;每路输入信号的最高频率可达22.05 KHz,输出16位的数字音频信号,信噪比可达96dB。

3 系统功能设计3.1 硬件实现声卡一般有Line In和Mic In两个信号输入插孔,声音传感器信号可通过这两个插孔连接到声卡。

若∗基金项目:安徽师范大学2006年教学研究项目(项目编号:XJJYB200614)。

作者简介:刘延华(1970—),男,安徽芜湖人,实验师,合肥工业大学在读研究生,安徽师范大学教育科学学院教师。

由Mic In 输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,故推荐使用Line In ,其噪声干扰小且动态特性良好。

声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干扰。

若输入信号电平高于声卡所规定的最大输入电平,则应在声卡输入插孔和被测信号之间配置一个衰减器,将被测信号衰减至不大于声卡最大允许输入电平。

LabVIEW 对声音采集的设置默认于其所处的操作系统,本文使用的是最普通的声卡,对于高级的声卡采集信号时,要注意关闭如混响之类的一些特效,避免影响测量结果的真实性。

3.2 系统设计根据VI 结构化的特征,把整个系统分为声卡设置、数据采集和信号分析三个模块[3],以友好的图形界面与用户进行交互。

3.2.1声卡设置模块在进行数据采集之前,首先需要对声卡参数,如设备ID (对由多块声卡组成的多通道数据采集系统,ID的设置是必须的)、采样模式(连续采样/有限采样)、每通道采样数(512/1024/2048/8196)、采样率、通道数(单通道/双通道)以及比特率(8位/16位)进行设置,其界面如图1所示,对应的程序框图如图2 所示。

图1 声卡设置面板图2 声卡设置模块程序框图3.2.2 数据采集模块数据采集模块的功能是根据用户设置的声音格式从声卡获得数据,采集的数据以直观的图形方式呈现于用户面前,并对所采集的数据进行实时保存。

数据采集过程分为三步:①初始化/配置声卡;②采样;③释放声卡。

图3为数据采集面板,图4为数据采集部分框图程序。

3.2.3 信号分析模块LabVIEW 把声卡的声道分为mono 8-bit(单声道8位)、mono 16-bit(单声道16位)、stereo 8-bit(立体声8位)和stereo 16-bit(立体声16位)。

若用`单声道采样,左右声道信号都相同,而且幅值为原信号的1/2;用立体声采样,左右声道互不干扰,可以采集两路不同的信号,而且幅值与原信号相同。

声卡的采样频率分为8000Hz 、11025Hz 、22050Hz 和44100Hz ,应根据具体情况采用合适的频率。

信号分析模块从采集模块获得数据,或者从文件重载以前采集并存盘的数据;对全部数据进行时域和频域分析并显示相应的时域图和频域图;重新做增强的数据保存工作,即保存所选时段数据的频谱信息,以便作进一步的分析。

用户还可以对数据进行分段处理,对该段数据按频段进行分析。

其面板如图5所示。

图3 数据采集面板图图4 数据采集模块程序框图图5 信号分析面板图6 信号分析模块程序框图LabVIEW完全图形化的编程环境和数据流的驱动方式使用户可以非常直观的观察到程序代码的并行执行。

该系统充分利用LabVIEW的多线程(Multithreading)技术,为整个系统中的用户接口、数据采集、信号分析以及文件读写等多个操作自动分配优先级,让它们相互独立运行,避免了单线程系统中的调用阻塞,且不会浪费CPU时间[4]。

例如,用户接口操作被分配在一个特定的线程并被赋予较低的优先级,移动面板窗口这样的事件不会影响数据采集等对时间要求非常严格的操作,从而保证了系统的可靠性。

图6为信号分析模块的框图程序。

该VI主要使用了LabVIEW中While Loop结构来实现整个程序的信号采集、存储和运行退出等功能,并且应用了Sound Input和Signal Processing模板中的节点完成信号采集、时域图实时显示、加窗和功率谱分析等操作。

在信号分析之前加入了Butterworth低通滤波器,对原始信号进行平滑滤波处理以消除高次谐波失真和噪声干扰,提高信噪比。

和模拟滤波器相比,该数字滤波器不需要精度组件,不会因温度、湿度的变化产生误差。

4 结束语本文采用PC技术、DSP技术和LabVIEW多线程技术,实现了对音频信号实时、高保真的采集与处理。

实践证明,整个系统性价比高,通用性强,界面友好,数据存储方便,性能稳定可靠。

在PC上配置多块声卡并行工作,完全可以构成一个多通道数据采集系统,满足特定应用范围内数据采集的需要[5]。

如果采用笔记本电脑则无需添加任何硬件就可以构成便携式测量系统。

在声卡性能越来越好,成本越来越低,普及率越来越高的情况下,这种方法值得在工程测量应用及相关实验室中进一步推广和扩充。

例如,对环境噪声进行实时监测,采集语音信号并进行分析和处理来实现语音识别,还可以实现示波器、信号发生器及万用表等设备在音频信号范围内的基本功能,其应用前景较为广阔。

参考文献[1]郑诗推,黄文达.基于LabVIEW的网络实验仪器的开发[J].实验室研究与探索,2005(1):26-29.[2]刘国福,张屺,淳静等.DSP与ISA总线声卡的接口技术研究[J].测控技术,2002(3):61-63.[3]张仁亮,刘北英,李占锋.基于LabVIEW虚拟仪器自动测试系统的设计开发[J].机械制造与自动化,2006(1):143-145.[4]李力,耿军晓.基于LabVIEW的试验装置测控系统的设计及实现[J].凿岩机械气动工具,2006(2):23-26.[5]刘子民,何广军,白云,金凤杰.基于LabVIEW和MATLAB的虚拟仪器设计及实现[J].弹箭与制导学报,2006(2):788-789,793.[6]邓焱,王磊等.LabVIEW 7.1.测试技术与仪器应用[M].北京,机械工业出版社,2004.[7]雷振山.LabVIEW7 Express实用技术教程[M].北京,中国铁道出版社,2004.[8]杨乐平,李海涛,赵勇,杨磊.LabVIEW高级程序设计[M].北京,清华大学出版社,2003.[9]National Instruments. LabVIEW User Manual [M]. Texas: National Instruments, 2003.[10]National Instruments. Using LabVIEW to Create Multithreaded VIs [M]. Texas: National Instruments, 2000.Analysis and Design for Virtual Audio Data Acquisition SystemBased on LabVIEWLIU Yan-hua1 College of Computer Science, Hefei university of technology, Hefei, Anhui, 2300002 College of Education Science , Anhui Normal University, Wuhu, Anhui, 241000Abstruct: Based on DSP technology and LabVIEW multithreading, this paper brings forward a low price solution of sound card based data acquisition and analysis system, In the range of voice frequency,data saving and overloading is successful in LabVIEW. with its advantages of easy implementation, friendly interface and steady performance. With broad application prospect, this solution can be extended to the fieldof speech recognition, ambient noise monitoring and laboratory measurement etc.Keywords: sound card; data acquisition; signal analysis; LabVIEW。

相关主题