logo资料库

基于声卡的LabVIEW数据采集与分析系统设计.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
摘 要:利用声卡 DSP 技术和 LabVIEW 多线程技术,提出了一种基于声卡的数据 采集与分析的廉 价方案,具有实现简单、界面友好、性能稳定可靠等诸多优点。 在 LabVIEW 环境中实现了音频信号的采集分析及数据存盘重载。PC 上配置多块 声卡即可构成 实时、高信噪比的多通道数据采集系统。可以推广到语音识别、 环境噪声监测和实验室测量等多种领域,应用前景广阔。 关键词:声卡;数据采集;信号分析;LabVIEW;多线程 Sound card based Data Acquisition and Analysis System in LabVIEW MA Hai-rui1,ZHOU Ai-jun2 (1. Postgraduate Team 2 of Dalian Naval Academy, Dalian 116018, China; 2. Dept. of Equip System and Automation, Dalian Naval Academy, Dalian 116018, China) Abstract: Based on DSP technology and LabVIEW multithreading, this paper brings forward a low price solution of sound card based data acquisition and analysis system, with its advantages of easy implementation, friendly interface and steady performance. In the range of voice frequency,data saving and overloading is successful in LabVIEW. If more sound cards configured in a PC, it’s feasible to build a multi-channel real-time DAQ system with high SNR. With broad application prospect, this solution can be extended to the field of speech recognition, ambient noise monitoring and laboratory measurement etc. Key words:sound card;data acquisition;signal analysis;LabVIEW; Multithreading 目 前市售的数据采集卡都包含了完整的数据采集电路和与计算机的接口电路, 但其价格与性能基本成正比,一般比较昂贵。随着 DSP(数字信号处理)技术走向 成 熟,PC 声卡本身就成为一个优秀的数据采集系统,它同时具有 A/D 和 D/A 转 换功能,不仅价格低廉,而且兼容性好、性能稳定、灵活通用,软件特别是驱动 程 序升级方便。ISA 总线向 PCI 总线的过渡,解决了以往声卡与系统交换数据 的瓶颈问题,同时也充分发挥了 DSP 芯片的性能。而且声卡用 DMA(直接内存读 取) 方式传送数据,极大地降低了 CPU 占用率。一般声卡 16 位的 A/D 转换精度,比 通常 12 位 A/D 卡的精度高,对于许多工程测量和科学实验来说都是足够 高的, 其价格却比后者便宜得多。 如果利用声卡作为数据采集设备,可以组成一个低成本高性能的数据采集与分析 系统。当然,它只适合采集音频域的信号,即输入信号频率必须处于 20~20000Hz 的音频范围内。如果需要处理直流或缓变信号,则需要其他技术的配合。 1 LabVIEW 简介 LabVIEW 是美国 NI 公司具有革命性的图形化虚拟仪器开发环境,是业界领先的 测试、测量和控制系统的开发工具。它内置信号采集、测量分析与数据显示功能, 集开发、调 试、运行于一体,不仅提供了几乎所有经典的信号处理函数和大量 现代的高级信号分析工具,而且 LabVIEW 虚拟仪器程序(Virtual Instrument, 简称 VI)可以非常容易的与各种数据采集硬件、以太网系统无缝集成,与各种主
流的现场总线通信以及与大多数通用数据库链接。 “软件就是仪器”反映了其 虚拟仪器技术的本质特征[1]。 LabVIEW 7.0 版本推出了 Express 技术,简化了测试测量应用系统的开发进程, 其灵活的交互式 VI 易与各种范围的 I/O 信号连接,用户只需点击鼠标配置应用 系 统,即可完成搭建工作并开始运行。通过简单地修改 Express VI 的配置,可 以快速反复地修改应用程序以适应新的测试测量需求。 2 声卡工作原理及性能指标 声 音的本质是一种波,表现为振幅、频率、相位等物理量的连续性变化。声卡 作为语音信号与计算机的通用接口,其主要功能就是将所获取的模拟音频信号转 换为数字 信号,经过 DSP 音效芯片的处理,将该数字信号转换为模拟信号输出。 声卡的基本工作流程为[2]:输入时,麦克风或线路输入(Line In)获取的音频信 号通过 A/D 转换器转换成数字信号,送到计算机进行播放、录音等各种处理;输 出时,计算机通过总线将数字化的声音信号以 PCM(脉冲编 码调制)方式送到 D/A 转换器,变成模拟的音频信号,进而通过功率放大器或线路输出(Line Out)送到 音箱等设备转换为声波,人耳侦测到环境空气压力的改变,大脑将其解释为声音。 衡量声卡的技术指标包括复音数量、采样频率、采样位数(即量化精度)、声道数、 信噪比(SNR)和总谐波失真(THD)等,主要介绍如下: (1)复音数量 代表了声卡能够同时发出多少种声音。复音数越大,音色就越好, 播放声音时可以听到的声部越多、越细腻。 (2)采样频率 每秒采集声音样本的数量。采样频率越高,记录的声音波形就越准 确,保真度就越高,但采样数据量相应变大,要求的存储空间也越多。 (3)采样位数 将声音从模拟信号转化为数字信号的二进制位数(bit)。位数越高, 在定域内能表示的声波振幅的数目越多,记录的音质也就越高。例如,16 位声 卡把音频信号的大小分为 216=65536 个量化等级来实施上述转换。 目 前一般的声卡最高采样频率可达 96KHz;采样位数可达 16 位甚至 32 位;声 道数为 2,即立体声双声道,可同时采集两路信号,需要时还可选用多路输入的 高 档声卡或配置多块声卡;每路输入信号的最高频率可达 22.05 KHz,输出 16 位的数字音频信号,而 16 位数字系统的信噪比可达 96dB。 3 系统功能设计 3.1 硬件实现 声 卡一般有 Line In 和 Mic In 两个信号输入插孔,声音传感器(本文采用通用 的麦克风)信号可通过这两个插孔连接到声卡。若由 Mic In 输入,由于有前置放 大器,容易引入噪声且会导致信号过负荷,故推荐使用 Line In,其噪声干扰小 且动态特性良好。声卡测量信号的引入应采用音频电缆或屏蔽电缆以降低噪声干
扰。若输入信号电平高于声卡所规定的最大输入电平,则应在声 卡输入插孔和 被测信号之间配置一个衰减器,将被测信号衰减至不大于声卡最大允许输入电 平。此外,将声卡的 Line Out 端口接到耳机上还可以实时的监听声音信号。 LabVIEW 对声音采集的设置默认于其所处的操作系统,本文使用的是最普通的声 卡,对于高级的声卡采集信号时,要注意关闭如混响之类的一些特效,避免影响 测量结果的真实性。 3.2 软件设计 根据 VI 结构化的特征,把整个系统分为数据采集和信号分析两个模块,以友好 的图形界面与用户进行交互。 3.2.1 数据采集 数 据采集模块根据用户设置的声音格式从声卡获得数据。采集到的数据及其频 谱特性以直观的图形方式呈现于用户面前。该模块还提供保存所有或部分数据以 及转到信 号分析模块的功能。由于 PCM 波形音频格式输出的信号质量最好,所 以本文使用该格式对信号进行数字化处理、存盘和重载。数据采集过程分为三步: ①初始化/ 配置声卡;②采样;③释放声卡。图 1 为数据存盘部分框图程序。 图 1 数据存盘框图程序 LabVIEW 把声卡的声道分为 mono 8-bit(单声道 8 位)、mono 16-bit(单声道 16 位)、stereo 8-bit(立体声 8 位)和 stereo 16-bit(立体声 16 位)。若用单声道 采样,左右声道信号都相同,而且幅值为原信号的 1/2;用立体声采样,左右声 道互不干扰,可以采集两路不同的信 号,而且幅值与原信号相同。声卡的采样 频率分为 8000Hz、11025Hz、22050Hz 和 44100Hz,应根据具体情况采用合适的 频率。 本 文根据主流声卡的性能指标,默认设置采样频率为 44.1KHz,采样位数为 16 位,采样方式为单声道,这样采样的波形稳定,而且干扰小。声卡对外部信号的 采样在起始部分会有几十个不稳定的数据,所以无特殊要求时忽略了前 100 个数 据。图 2 所示局部用户界面中的波形是通过麦克风实时采集的女士高音,其效果 已 经满足了普通测量要求,在采集暂停和终止时可以通过 LabVIEW 波形显示器
(Waveform Graph)自带的功能对波形进行观察和测量,对稳定的周期信号还可以 直接准确的读出幅值和频率。 图 2 数据采集和谱分析预览部分的用户界面 3.2.2 信号分析 信 号分析模块从采集模块获得数据,或者从文件重载以前采集并存盘的数据; 对全部数据进行时域和频域分析并显示相应的时域图和频域图;重新做增强的数 据保存工 作,即保存所选时段数据的谱信息,以便作进一步的分析。用户还可 以对数据进行分段处理,甚至对该段数据按频段进行分析。 LabVIEW 完 全图形化的编程环境和数据流的驱动方式使用户可以非常直观的观 察到程序代码的并行执行。该系统充分利用 LabVIEW 的多线程 (Multithreading) 技术,为整个系统中的用户接口、数据采集、信号分析以及文件读写等多个操作 自动分配优先级,让它们相互独立运行,避免了 单线程系统中的调用阻塞,且 不会浪费 CPU 时间[3]。例如,用户接口操作被分配在一个特定的线程并被赋予 较低的优先级,移动面板窗口这样的事件不会影响 数据采集等对时间要求非常 严格的操作,从而保证了系统的可靠性。 LabVIEW 还有自动错误处理功能[1],利用其函数节点的 error in 和 error out 端口可在程序运行中某一个函数发生错误时自动挂起,弹出错误信息对话框,高 亮显示出错函数的图标并将出错信息依次向后传递,后续函数将不再进行任何 操作,直到程序最后做出相应的错误处理。 图 3 为信号分析模块的框图程序。该 VI 主要使用了 LabVIEW 中 While Loop 结构
来实现整个程序的信号采集、存储和运行退出等功能,并且应用了 Sound Input 和 Signal Processing 模板中的节点完成信号采集、时域图实时显示、加窗和功 率谱分析等操作。在信号分析之前加入了 Butterworth 低通滤波器,对原 始信 号进行平滑滤波处理以消除高次谐波失真和噪声干扰,提高信噪比。和模拟滤波 器相比,该数字滤波器不需要精度组件,不会因温度、湿度的变化产生误差。 图 3 信号分析模块的局部框图程序 4 结 语 本 文采用 PC 技术、DSP 技术和 LabVIEW 多线程技术,实现了对音频信号实时、 高保真的采集与处理。实践证明,整个系统性价比高,通用性强,界面友好, 数 据存储方便,性能稳定可靠,其个别性能指标甚至优于市售数据采集板卡,而价 格却不到后者的十分之一。在 PC 上配置多块声卡并行工作,完全可以构成一个 多 通道数据采集系统,满足特定应用范围内数据采集的需要。如果采用笔记本 电脑则无需添加任何硬件就可以构成便携式测量系统。 在声卡性能越来 越好,成本越来越低,普及率越来越高的情况下,这种方法值 得在工程测量应用及相关实验室中进一步推广和扩充。例如,对环境噪声进行实 时监测,采集语音信号 并进行分析和处理来实现语音识别,还可以实现示波器、 信号发生器及万用表等设备在音频信号范围内的基本功能,其应用前景较为广 阔。 参考文献: [1] National Instruments. LabVIEW User Manual [M]. Texas: National Instruments, 2003. [2] 刘国福,张 屺,淳 静,等. DSP 与 ISA 总线声卡的接口技术研究[J]. 测 控技术,2002(3):61-63. [3] National Instruments. Using LabVIEW to Create Multithreaded VIs [M].
Texas: National Instruments, 2000.
分享到:
收藏