APP下载

基于Lab VIEW的声卡数据采集与分析系统设计

2014-10-22符为榕

机械工程与自动化 2014年1期
关键词:程序框图声卡离线

武 晨,符为榕

(合肥工业大学 噪声振动研究所,安徽 合肥 230009)

0 引言

与传统测量仪器的设计方法相比,虚拟仪器具有成本低、功能强大、集成度高、质量可靠、维护方便等优点。结合文献[1,2],本文利用NI公司推出的虚拟仪器开发平台软件Lab VIEW通过计算机上的声卡编写了一套多功能数据采集与分析系统。

1 系统硬件

本系统的硬件是笔记本声卡,声卡一般有Line In和Mic In两个信号输入插孔,若由Mic In输入,由于有前置放大器,容易引入噪声且会导致信号过负荷,所以本系统使用Line In,其噪声干扰小且动态特性良好。一般的声卡最高采样频率可达96 k Hz,采样位数可达16位甚至32位,每路输入信号的最高频率可达22.05 k Hz,而16位数字系统的信噪比可达96 d B。所以声卡完全可用来对音频范围内的信号进行采集,声卡成本也比专业数据采集卡低,这是该系统优势之一。

2 系统的程序设计

2.1 软件架构

该系统利用Lab VIE W的生产者/消费者循环模式搭建总体框架。该模式是NI公司推出的程序设计概念,包含多个并行循环,一个循环作为生产数据的循环,其他循环作为处理数据的循环,且不会相互干扰。如果处理数据的速度小于生产数据的速度,数据会存储在队列函数创建的缓冲区内,当数据满足消费者循环的调用条件时,系统即从缓冲区中按照“先进先出”的原则进行读取队列元素操作,队列元素调入其他进程进行处理的同时,生产循环还将不断产生新的元素并送入队列,保证生产和消费能够同步地并行执行。所以对于多任务处理和实时性、连续性要求严格的程序设计,生产者/消费者设计模式是较好的选择。该模式的程序框架如图1所示。

图1 生产者/消费者模式的程序框图

2.2 数据库管理程序设计

该系统利用Lab SQL数据库访问方法实现对数据库的访问。在Lab VIE W中使用Lab SQL调用数据库非常方便、简单,无需深入了解 Active X技术和SQL语言,只需知道各vi的功能和数据库的设计及相关概念,即可设计出满足要求的程序。在开发过程中,选用常用的Access作为数据库,实现数据库访问的主要程序框图如图2所示。

从图2中可以看出利用简单的功能函数的组合就可以方便地对数据库中的数据进行添加和删除等操作。

2.3 主要功能模块介绍

2.3.1 数据采集与存储模块

生产者循环中的数据采集程序利用Lab VIEW自带的声卡采集函数vi编写,这些vi在函数面板-编程-图形与声音-声音中可以找到,主要用到的是配置声音输入、启动声音输入、读取声音输入、停止声音输入、声音输入清零5个函数vi。在采集的同时数据将会根据指令被存储为TDMS格式的文件。数据采集的前面板如图3所示。

图2 实现数据库访问的主要程序框图

图3 数据采集前面板

在数据采集时可以选择采集方式,数据采集程序框图如图4所示。

图4 数据采集程序框图

2.3.2 在线信号分析模块

该系统可以在数据采集的同时对信号进行功率谱分析、FFT变换、声级测量、倍频程分析、窄带谱分析、联合时频域分析、相关分析、相位差测量、频响函数与相干函数分析、倒频谱分析。运用各个分析模块或其组合即可实现信号的处理与分析。声级测量模块可以直接用作声级计;频谱分析模块可以在频域对信号进行分析,由此确定主要噪声源;利用频响函数模块和相干分析模块可以准确地找到固有频率。图5为声级测量的前面板,由于篇幅的原因,本文中没有给出该模块的程序框图。

在声级测量的程序设计中,利用Lab VIEW最新推出的声音与振动工具包,只需把工具包中的函数进行组合便可实现各种声音与振动的分析,在此我们主要用到3个子函数包:Weighting Sound level Octave analysis。

2.3.3 离线分析模块

离线分析模块主要是读取TDMS格式的文件并进行分析。该模块的程序设计和在线分析完全一致,用到的函数都是相同的,可以对信号进行功率谱分析、倍频程分析、窄带谱分析等。因此通过离线分析模块也可以对在线分析程序编写的正确性进行验证。下面我们将离线分析模块与coco80分析仪的分析结果进行对比以说明该系统的可靠性。

图5 声级测量前面板

某一信号的离线分析模块的分析结果如图6所示。图6中,横坐标为频率(Hz),纵坐标为声压值(Pa2)。从图6中可以看到在100 Hz处出现峰值,峰值为0.014 488 7 Pa2。

图6 离线分析结果

对同一信号,用coco80分析仪的分析结果如图7所示。图7中,横坐标为频率(Hz),纵坐标为声压值(Pa2)。从coco80分析仪的结果中可以看出主要频率成分和该系统离线分析的结果一致。证明了该系统的正确性。

图7 coco80分析仪结果

3 结论

本文利用Lab VIEW开发平台和计算机声卡,开发了一款操作简单、具有友好的人机交互界面的数据采集及分析系统。该系统利用生产者/消费者循环模式,实现声卡数据的采集进程和数据处理并行执行,还可进行离线分析。同时数据库技术的应用增加了系统的安全性和专业性。另外,Lab VIE W声音与振动工具包和自己编写的功能模块使得系统的结构更加清晰合理,便于维护和扩展。最后结合实例与现在的主流分析仪coco80进行对比,说明了该系统的可靠性。

[1]尚晓辉,王健,刘锐,等.基于Lab VIEW的声卡数据采集与实时处理系统设计[J].军事通讯技术,2012,33(2):77-80.

[2]于琳,陈健.基于Lab VIEW的声卡信号采集及其分析系统设计[J].仪器仪表用户,2009,16(4):40-42.

猜你喜欢

程序框图声卡离线
异步电机离线参数辨识方法
呼吸阀离线检验工艺与评定探讨
“顺势而下”破解程序框图
浅谈ATC离线基础数据的准备
算法与程序框图常考类型
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
程序框图问题的精彩交汇
ALSA声卡驱动程序设计
程序框图题盘点
声卡数据采集系统设计方式分析