APP下载

基于LabVIEW 的海量数据处理系统软件设计

2015-11-28赵榉云张敬帅

山西电子技术 2015年3期
关键词:海量频域曲率

赵榉云,张敬帅

(广东省汕头市超声仪器研究所有限公司,广东 汕头 515041)

为准确掌握某一物理量的特点属性,需要对其进行长时间的监测,在得到的海量测试数据中分析归纳其变化规律,随着科技日新月异的发展,电子测试技术突飞猛进,在开展上述测试时,将会产生大量的测试数据,即“海量数据”[1]。在对海量数据进行后期处理时,受数据量过大、处理设备性能有限等因素的制约,不能够准确、快速的从数据中提取关键信息,因此如何实现数据的稀化成为了海量数据处理的重要环节,针对以上问题,本文在进行理论研究的基础上提出了一种基于曲率变化的海量数据稀化算法,并以LabVIEW编程语言为平台,设计了一个具备数据稀化、信号时频域处理、数据存储、系统控制等功能的海量数据处理软件,并利用实测信号对算法及软件进行了验证。

LabVIEW(Laboratory Virtual Instrument Engineering)是一种图形化的编程语言和开发环境,除系统自带多种功能函数控件用于满足基本编程外,还可通过购置的方式获得专用函数包以实现编程软件的功能拓展,LabVIEW 图形化的编程语言简洁易懂,能够实现算法到软件的快速转变,是效率极高的“工程师语言”[2]。

1 海量数据稀化及重构方法

数据稀化是指对信号数据进行降频采样,删减冗余数据,保留信号关键特征,减少信号数据量;数据重构是指对稀化后的信号数据,采取一定方法,使之恢复至未稀化前数据状态的过程。

1.1 数据稀化算法

数据稀化是对数据进行降频重采样的过程,本文提出一种基于曲率变化的数据稀化方法:将海量测试数据抽象为横轴为采样时间、纵轴为采样数值的一个二维平面内的连续曲线,每个采样点在曲线上都有对应的曲率值,曲率的大小代表曲线波动幅度,即数据变化的幅度,基于曲率变化的数据稀化算法是以采样点曲率大小为依据进行降频重采样来实现数据的稀化。

根据曲率变化对海量数据进行稀化的步骤如下:将采样数据看作二维数组A,从数组A 依次抽取三个相邻采样点Pi,j、Pi,j+1、Pi,j+2,根据公式(1)至(3)推算出点Pi,j+1处的曲率[3]。

按以上方法遍历数组A 中所有点,计算出各点的曲率,并求出平均曲率¯k;抽取A 中曲率大于¯k 的点保存至数组B中,完成海量数据的初步重采样;以数组B 中最小采样间隔Tmin为标准,从数组A 中调取数据插入至数组B 中,并插入起始点、终止点、峰值等关键信息点数据,完成对重采样数据的平滑处理,最终实现对海量数据的降频重采样。

1.2 数据重构方法

对海量数据进行降频重采样,必然会丢失一部分数据细节信息,如果这部分数据恰恰是需要重点关注的关键信息,将会对数据结果造成重大影响,为把这种影响发生的概率降至最低,在数据后期处理时,需要对感兴趣部分的数据进行重构,即对重采样后的数据进行局部重构,使之恢复至稀化之前的状态,以利于对该部分数据进行深入分析。本文所用的数据重构主要是通过数据的定位和调取来实现的,数据定位是指对感兴趣信号范围的准确界定,进而确定该部分数据在原始测试数据中的起始、终止位置;调取是指根据上述定位方法确定的数据起始、终止位置,从原始数据中选择读取对应部分数据,并将该部分数据调入至数据处理系统,进行信号的深度分析处理[4]。

2 系统软件设计

系统采取模块化方式设计,主要由海量数据稀化模块、信号特征分析模块、用户登录模块、数据存储模块、报表打印模块等5 部分构成[5],其结构关系如图1 所示。

图1 海量数据处理系统结构框图

2.1 用户登录模块设计

为系统设置用户登录功能可对待处理数据及系统本身提供有效的保护,防止数据失泄密或因无关人员误操作造成程序损坏。本模块主要通过使用数据库访问工具包Lab SQL 访问Access 数据库的方式来实现“用户名、密码”的读取核验。系统利用事件结构实现前面板操作对后台程序的触发,“用户名、密码验证.vi”主要实现核验用户输入的用户名、密码等信息,判断是否符合登录条件。

2.2 海量数据稀化模块设计

根据本文第一节中的研究内容,设计基于曲率变化的海量数据稀化算法流程图如图2。

图2 稀化算法流程图

调用数组函数面板中相关功能函数,按以上流程图编写程序如图3 所示,通过起始位置、读取点数两个功能控件实现对数据的定量读取。

图3 稀化算法程序图

2.3 信号特征分析模块设计

本模块主要包括时域分析、频域分析、时频域联合分析3种信号处理方法,其中时域分析主要包括信号时域参数测量与自相关分析,频域分析主要是分析经过FFT 变换后信号的谱图,时频联合域分析主要是对信号进行短时傅里叶变换、小波变换与魏格纳-威尔分布等时频域分析处理。其中时频域联合分析程序图如图4 所示。

图4 时频域联合分析程序图

2.4 数据存储模块设计

本模块能够实现对波形数据、波形图及谱图的存储,主要是通过调用文件操作专用控件实现。

2.5 报表打印模块设计

该模块通过调用报表生成相关控件实现,主要表头、报表形文字输入选择、打印设置、打印控制等部分组成。

3 系统运行结果及分析

为检验基于曲率变化的海量数据稀化算法实际运用效果及软件系统功能,将海量数据稀化系统软件应用到水声信号检测数据处理中,水声信号是通过专用设备监听采集到的水下振动信号,监听时间长、采样频率高,采集信号数据量较大,将采集到的数据读取到软件系统中,分别得到原始数据、稀化后数据波形如图5、6 所示;在稀化后数据中选定需重构数据范围,软件系统调取相应数据,完成数据重构。

图5 水声信号波形图

图6 稀化后波形图

本文使用40 962 个采样点的水声信号,通过稀化处理后采样点个数为4 497 个,稀化率为10.9%,从波形对比及关键部位信息保留情况看,稀化后波形未发生明显的失真;从重构后数据信息看,重构范围定位较准,数据操作运行速度快,重构数据完整,说明该基于曲率变化的数据稀化算法能够对海量数据进行有效的稀化,重构算法能快速、完整地进行数据重构。

通过对水声信号进行特征分析,获取其信号内容信息,并利用数据存储模块、报表打印模块实现对处理结果的保存,生成信号处理报表。

4 结束语

本文为解决海量数据处理困难的问题,研究提出了基于曲率变化的海量数据处理算法以及稀化后数据重构的方法,并以此为基础,以LabVIEW 软件为平台,设计了海量数据处理系统软件,利用水声信号实测数据对算法及软件功能进行了验证分析。

[1]邱泽阳,宋晓宇.海量数据的均匀稀化[J].兰州交通大学学报,2006,25(4):63-67.

[2]荣鑫.基于虚拟仪器的数据采集与处理系统设计[D].太原:中北大学,2011.

[3]张丽艳,周儒荣,蔡炜斌,等.海量测量数据简化技术研究[J].计算机辅助设计与图形学学报,2001,13(1):1019-1023.

[4]汤劲.海量数据处理系统框架关键技术研究[D].南京:南京航空航天大学,2006.

[5]张敬帅,张丕状.基于虚拟仪器的多通道数据分析系统设计[J].电子技术应用,2011,4:74-76.

猜你喜欢

海量频域曲率
大曲率沉管安装关键技术研究
大型起重船在规则波中的频域响应分析
一种傅里叶域海量数据高速谱聚类方法
一类双曲平均曲率流的对称与整体解
半正迷向曲率的四维Shrinking Gradient Ricci Solitons
海量快递垃圾正在“围城”——“绿色快递”势在必行
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
一个图形所蕴含的“海量”巧题
基于改进Radon-Wigner变换的目标和拖曳式诱饵频域分离
基于频域伸缩的改进DFT算法