基于多线程并行模式的数据采集系统设计

2015-11-02 00:34王园园
关键词:声卡数据处理波形

王园园

(商洛学院电子信息与电气工程学院,陕西商洛726000)

数据采集和处理技术在各个方面都有广泛应用,在测量和控制领域,应用空间更为广阔,具有强大的数据处理能力的计算机成为数据采集和处理技术良好的基础平台[1].常见的数据采集结构依赖于传统的采集-处理-存储的单行模式[2],易造成数据的丢失,影响采集处理速度.此处充分利用LabVIEW 软件中事件结构的整合功能以及多线程(Multithreading)技术,为整个系统的数据采集和存储、数据分析处理以及波形信号显示、文件读取和存储等多个操作自动分配优先级,保证了独立运行,避免系统中的各个独立操作时的调用阻塞,同时提高了CPU工作效率,节省了时间,保证了系统的可靠性.

1 设计思路

系统主要由计算机麦克风、声卡以及LabVIEW软件组成.音频信号通过麦克风由声卡进行采集,LabVIEW软件编程进行声音的采集与处理,并将声音以波形的形式进行显示.在程序设计中将程序划分为3个层次.最上层为程序的界面以及与用户进行交互;第2层为功能层,主要进行数据的采集、分析处理、显示、存储等;第3层为声卡驱动,LabVIEW提供了所需要的所有驱动.本次设计主要针对第1,2层进行设计.常见程序的采集、处理为单线程运行,虽然逻辑简单容易设计,但各模块之间存在依赖关系,计算机执行完前一个模块再运行下一个模块.数据采集中,若采样率高,则处理速度与存储速度相对较慢,造成采集数据的丢失[3],因此采用“生产者—消费者”模式进行第2层程序设计.总体框架结构如图1所示,通过队列将数据采集放在生产者循环中,数据处理和存储放在消费者循环中,以此实现多线程采集处理,彼此之间互相关联且不影响程序运行速度.

2 数据采集模块

数据采集模块主要进行数据的采集,其中采用时间结构响应前面板采集按钮,将采集数据放在时间结构中进行处理.数据采集模块利用计算机自带的声卡,由用户自主设置声音格式、采样参数来获取声音数据.采样频率可由用户自主设置,根据声音的采样特性,此处可以自主选择输入多种采样频率,以及选择不同的通道.采集程序如图2所示.

图1 程序总体框架设计

图2 音频数据采集程序

3 数据处理模块

设计主要对采集到的声音信号进行滤波,并进行时域分析和频域分析,实现分析声音信号的幅度谱、相位谱和功率谱等功能.时域分析是一种直接在时间域中对波形信号进行分析处理的方法,直观、准确,可以对数据采集系统时间响应的全部信息进行处理[4].频域分析是通过傅里叶变换将时域信号变换到频域,主要用来分析信号的频谱成分,用来了解信号的幅度变化和功率变化.数据处理模块流程图如图3所示.

后面板程序如图4所示.当外层事件结构的选择器标签数值为[1]时,执行“开始采集数据”.时间结构内侧为层叠式顺序结构,当选择器标签数值为数值为[0]时,执行弹窗,让用户自己选择所要处理的文件;当选择器标签数值为数值为[1]时,让用户选择是否“分析刚采集到的声音文件”;当选择器标签数值为[2]时,开始分析处理文件.数据信号的处理过程:声音信号通过“读取并打开文件”,弹窗显示“输入启示和终止时间”,用户填好时间后,再通过“读取声音文件”来分析声音信息,再通过“获取波形成分”,连接“波形信号显示”,显示声音信号波形,分离信号后,通过“FFT频谱处理”获取频率谱、功率谱,并在前面板的波形信号显示模块显示波形.

图3 数据处理模块流程图

图4 数据处理部分程序代码

4 数据存储模块

生产者循环将采集到的原始数据通过队列传送给存储循环程序,程序选择将数据用二进制格式进行存储,存储内容包括测试时间、测试地点、采样率等信息.后面板程序如图5所示.

图5 数据存储部分程序代码

5 系统测试

程序上层界面,采用直观的按钮与布尔控件的形式进行参数选择,直观明了,便于操作,原始数据与处理后信号用波形的形式进行显示,前面板程序如图6所示.

图6 基于声卡数据采集与处理系统程序界面

测试结果表明:该系统具有设计简便、采样精度高、扩展性好、界面大方简洁等特点,采用笔记本电脑无需添加任何硬件就可以构成便携式测量系统.在降低设备成本的同时,大大提高仪器设备的灵活性和数据处理能力,整个系统按照模块化的思想划分,模块内部功能明确,模块之间相互独立,体现出高内聚、低耦合的良好特性.可广泛应用于科学实验室与基础工程测量.

[1]李超,焦瑞莉,陈家田.基于 LabVIEW的并行数据采集系统设计[J].辽宁工程技术大学学报,2012,31(1):89-92

[2]周益青,王勇.基于 LabVIEW 软件的数据采集与分析系统[J].制导与引信,2012,33(1):24-28

[3]王福明,于丽霞,刘吉.LabVIEW程序设计与虚拟仪器[M].西安:西安电子科技大学出版社,2009

[4]张宇.基于LabVIEW的数据采集与多功能分析系统研究[D].天津:天津工业大学,2013

猜你喜欢
声卡数据处理波形
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
基于Halbach阵列磁钢的PMSM气隙磁密波形优化
用于SAR与通信一体化系统的滤波器组多载波波形
基于ARM的任意波形电源设计
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
凿岩钎具波形螺纹检测探讨
提升笔记本电脑音质
聊天室背景放音乐 为啥我的本本就不行?