基于LabVIEW的虚拟音频数据采集系统的分析与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW的虚拟音频数据采集系统的分析与设计∗
刘延华
1 合肥工业大学计算机信息学院,安徽合肥 230009
2 安徽师范大学教育科学学院,安徽芜湖 241000
摘要:利用声卡DSP技术和LabVIEW多线程技术,提出了一种在LabVIEW平台下设计开发基于声卡的数据采集与分析系统的廉价方案。该系统在LabVIEW环境中实现了音频信号的采集分析及数据存储及重载,具有实现简单、界面友好、性能稳定可靠等优点。可推广到语音识别、环境噪声监测和实验测量等多种领域,应用前景比较广阔。
关键词: 声卡数据采集信号分析 LabVIEW
1 前言
伴随着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]。如果采用笔记本电脑则无需添加任何硬件就可以构成便携式测量系统。
在声卡性能越来越好,成本越来越低,普及率越来越高的情况下,这种方法值得在工程测量应用及相关实验室中进一步推广和扩充。例如,对环境噪声进行实时监测,采集语音信号并进行分析和处理来实现