趙櫸云,張敬帥
(廣東省汕頭市超聲儀器研究所有限公司,廣東 汕頭 515041)
為準(zhǔn)確掌握某一物理量的特點(diǎn)屬性,需要對(duì)其進(jìn)行長(zhǎng)時(shí)間的監(jiān)測(cè),在得到的海量測(cè)試數(shù)據(jù)中分析歸納其變化規(guī)律,隨著科技日新月異的發(fā)展,電子測(cè)試技術(shù)突飛猛進(jìn),在開(kāi)展上述測(cè)試時(shí),將會(huì)產(chǎn)生大量的測(cè)試數(shù)據(jù),即“海量數(shù)據(jù)”[1]。在對(duì)海量數(shù)據(jù)進(jìn)行后期處理時(shí),受數(shù)據(jù)量過(guò)大、處理設(shè)備性能有限等因素的制約,不能夠準(zhǔn)確、快速的從數(shù)據(jù)中提取關(guān)鍵信息,因此如何實(shí)現(xiàn)數(shù)據(jù)的稀化成為了海量數(shù)據(jù)處理的重要環(huán)節(jié),針對(duì)以上問(wèn)題,本文在進(jìn)行理論研究的基礎(chǔ)上提出了一種基于曲率變化的海量數(shù)據(jù)稀化算法,并以LabVIEW編程語(yǔ)言為平臺(tái),設(shè)計(jì)了一個(gè)具備數(shù)據(jù)稀化、信號(hào)時(shí)頻域處理、數(shù)據(jù)存儲(chǔ)、系統(tǒng)控制等功能的海量數(shù)據(jù)處理軟件,并利用實(shí)測(cè)信號(hào)對(duì)算法及軟件進(jìn)行了驗(yàn)證。
LabVIEW(Laboratory Virtual Instrument Engineering)是一種圖形化的編程語(yǔ)言和開(kāi)發(fā)環(huán)境,除系統(tǒng)自帶多種功能函數(shù)控件用于滿足基本編程外,還可通過(guò)購(gòu)置的方式獲得專用函數(shù)包以實(shí)現(xiàn)編程軟件的功能拓展,LabVIEW 圖形化的編程語(yǔ)言簡(jiǎn)潔易懂,能夠?qū)崿F(xiàn)算法到軟件的快速轉(zhuǎn)變,是效率極高的“工程師語(yǔ)言”[2]。
數(shù)據(jù)稀化是指對(duì)信號(hào)數(shù)據(jù)進(jìn)行降頻采樣,刪減冗余數(shù)據(jù),保留信號(hào)關(guān)鍵特征,減少信號(hào)數(shù)據(jù)量;數(shù)據(jù)重構(gòu)是指對(duì)稀化后的信號(hào)數(shù)據(jù),采取一定方法,使之恢復(fù)至未稀化前數(shù)據(jù)狀態(tài)的過(guò)程。
數(shù)據(jù)稀化是對(duì)數(shù)據(jù)進(jìn)行降頻重采樣的過(guò)程,本文提出一種基于曲率變化的數(shù)據(jù)稀化方法:將海量測(cè)試數(shù)據(jù)抽象為橫軸為采樣時(shí)間、縱軸為采樣數(shù)值的一個(gè)二維平面內(nèi)的連續(xù)曲線,每個(gè)采樣點(diǎn)在曲線上都有對(duì)應(yīng)的曲率值,曲率的大小代表曲線波動(dòng)幅度,即數(shù)據(jù)變化的幅度,基于曲率變化的數(shù)據(jù)稀化算法是以采樣點(diǎn)曲率大小為依據(jù)進(jìn)行降頻重采樣來(lái)實(shí)現(xiàn)數(shù)據(jù)的稀化。
根據(jù)曲率變化對(duì)海量數(shù)據(jù)進(jìn)行稀化的步驟如下:將采樣數(shù)據(jù)看作二維數(shù)組A,從數(shù)組A 依次抽取三個(gè)相鄰采樣點(diǎn)Pi,j、Pi,j+1、Pi,j+2,根據(jù)公式(1)至(3)推算出點(diǎn)Pi,j+1處的曲率[3]。
按以上方法遍歷數(shù)組A 中所有點(diǎn),計(jì)算出各點(diǎn)的曲率,并求出平均曲率ˉk;抽取A 中曲率大于ˉk 的點(diǎn)保存至數(shù)組B中,完成海量數(shù)據(jù)的初步重采樣;以數(shù)組B 中最小采樣間隔Tmin為標(biāo)準(zhǔn),從數(shù)組A 中調(diào)取數(shù)據(jù)插入至數(shù)組B 中,并插入起始點(diǎn)、終止點(diǎn)、峰值等關(guān)鍵信息點(diǎn)數(shù)據(jù),完成對(duì)重采樣數(shù)據(jù)的平滑處理,最終實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的降頻重采樣。
對(duì)海量數(shù)據(jù)進(jìn)行降頻重采樣,必然會(huì)丟失一部分?jǐn)?shù)據(jù)細(xì)節(jié)信息,如果這部分?jǐn)?shù)據(jù)恰恰是需要重點(diǎn)關(guān)注的關(guān)鍵信息,將會(huì)對(duì)數(shù)據(jù)結(jié)果造成重大影響,為把這種影響發(fā)生的概率降至最低,在數(shù)據(jù)后期處理時(shí),需要對(duì)感興趣部分的數(shù)據(jù)進(jìn)行重構(gòu),即對(duì)重采樣后的數(shù)據(jù)進(jìn)行局部重構(gòu),使之恢復(fù)至稀化之前的狀態(tài),以利于對(duì)該部分?jǐn)?shù)據(jù)進(jìn)行深入分析。本文所用的數(shù)據(jù)重構(gòu)主要是通過(guò)數(shù)據(jù)的定位和調(diào)取來(lái)實(shí)現(xiàn)的,數(shù)據(jù)定位是指對(duì)感興趣信號(hào)范圍的準(zhǔn)確界定,進(jìn)而確定該部分?jǐn)?shù)據(jù)在原始測(cè)試數(shù)據(jù)中的起始、終止位置;調(diào)取是指根據(jù)上述定位方法確定的數(shù)據(jù)起始、終止位置,從原始數(shù)據(jù)中選擇讀取對(duì)應(yīng)部分?jǐn)?shù)據(jù),并將該部分?jǐn)?shù)據(jù)調(diào)入至數(shù)據(jù)處理系統(tǒng),進(jìn)行信號(hào)的深度分析處理[4]。
系統(tǒng)采取模塊化方式設(shè)計(jì),主要由海量數(shù)據(jù)稀化模塊、信號(hào)特征分析模塊、用戶登錄模塊、數(shù)據(jù)存儲(chǔ)模塊、報(bào)表打印模塊等5 部分構(gòu)成[5],其結(jié)構(gòu)關(guān)系如圖1 所示。
圖1 海量數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)框圖
為系統(tǒng)設(shè)置用戶登錄功能可對(duì)待處理數(shù)據(jù)及系統(tǒng)本身提供有效的保護(hù),防止數(shù)據(jù)失泄密或因無(wú)關(guān)人員誤操作造成程序損壞。本模塊主要通過(guò)使用數(shù)據(jù)庫(kù)訪問(wèn)工具包Lab SQL 訪問(wèn)Access 數(shù)據(jù)庫(kù)的方式來(lái)實(shí)現(xiàn)“用戶名、密碼”的讀取核驗(yàn)。系統(tǒng)利用事件結(jié)構(gòu)實(shí)現(xiàn)前面板操作對(duì)后臺(tái)程序的觸發(fā),“用戶名、密碼驗(yàn)證.vi”主要實(shí)現(xiàn)核驗(yàn)用戶輸入的用戶名、密碼等信息,判斷是否符合登錄條件。
根據(jù)本文第一節(jié)中的研究?jī)?nèi)容,設(shè)計(jì)基于曲率變化的海量數(shù)據(jù)稀化算法流程圖如圖2。
圖2 稀化算法流程圖
調(diào)用數(shù)組函數(shù)面板中相關(guān)功能函數(shù),按以上流程圖編寫程序如圖3 所示,通過(guò)起始位置、讀取點(diǎn)數(shù)兩個(gè)功能控件實(shí)現(xiàn)對(duì)數(shù)據(jù)的定量讀取。
圖3 稀化算法程序圖
本模塊主要包括時(shí)域分析、頻域分析、時(shí)頻域聯(lián)合分析3種信號(hào)處理方法,其中時(shí)域分析主要包括信號(hào)時(shí)域參數(shù)測(cè)量與自相關(guān)分析,頻域分析主要是分析經(jīng)過(guò)FFT 變換后信號(hào)的譜圖,時(shí)頻聯(lián)合域分析主要是對(duì)信號(hào)進(jìn)行短時(shí)傅里葉變換、小波變換與魏格納-威爾分布等時(shí)頻域分析處理。其中時(shí)頻域聯(lián)合分析程序圖如圖4 所示。
圖4 時(shí)頻域聯(lián)合分析程序圖
本模塊能夠?qū)崿F(xiàn)對(duì)波形數(shù)據(jù)、波形圖及譜圖的存儲(chǔ),主要是通過(guò)調(diào)用文件操作專用控件實(shí)現(xiàn)。
該模塊通過(guò)調(diào)用報(bào)表生成相關(guān)控件實(shí)現(xiàn),主要表頭、報(bào)表形文字輸入選擇、打印設(shè)置、打印控制等部分組成。
為檢驗(yàn)基于曲率變化的海量數(shù)據(jù)稀化算法實(shí)際運(yùn)用效果及軟件系統(tǒng)功能,將海量數(shù)據(jù)稀化系統(tǒng)軟件應(yīng)用到水聲信號(hào)檢測(cè)數(shù)據(jù)處理中,水聲信號(hào)是通過(guò)專用設(shè)備監(jiān)聽(tīng)采集到的水下振動(dòng)信號(hào),監(jiān)聽(tīng)時(shí)間長(zhǎng)、采樣頻率高,采集信號(hào)數(shù)據(jù)量較大,將采集到的數(shù)據(jù)讀取到軟件系統(tǒng)中,分別得到原始數(shù)據(jù)、稀化后數(shù)據(jù)波形如圖5、6 所示;在稀化后數(shù)據(jù)中選定需重構(gòu)數(shù)據(jù)范圍,軟件系統(tǒng)調(diào)取相應(yīng)數(shù)據(jù),完成數(shù)據(jù)重構(gòu)。
圖5 水聲信號(hào)波形圖
圖6 稀化后波形圖
本文使用40 962 個(gè)采樣點(diǎn)的水聲信號(hào),通過(guò)稀化處理后采樣點(diǎn)個(gè)數(shù)為4 497 個(gè),稀化率為10.9%,從波形對(duì)比及關(guān)鍵部位信息保留情況看,稀化后波形未發(fā)生明顯的失真;從重構(gòu)后數(shù)據(jù)信息看,重構(gòu)范圍定位較準(zhǔn),數(shù)據(jù)操作運(yùn)行速度快,重構(gòu)數(shù)據(jù)完整,說(shuō)明該基于曲率變化的數(shù)據(jù)稀化算法能夠?qū)A繑?shù)據(jù)進(jìn)行有效的稀化,重構(gòu)算法能快速、完整地進(jìn)行數(shù)據(jù)重構(gòu)。
通過(guò)對(duì)水聲信號(hào)進(jìn)行特征分析,獲取其信號(hào)內(nèi)容信息,并利用數(shù)據(jù)存儲(chǔ)模塊、報(bào)表打印模塊實(shí)現(xiàn)對(duì)處理結(jié)果的保存,生成信號(hào)處理報(bào)表。
本文為解決海量數(shù)據(jù)處理困難的問(wèn)題,研究提出了基于曲率變化的海量數(shù)據(jù)處理算法以及稀化后數(shù)據(jù)重構(gòu)的方法,并以此為基礎(chǔ),以LabVIEW 軟件為平臺(tái),設(shè)計(jì)了海量數(shù)據(jù)處理系統(tǒng)軟件,利用水聲信號(hào)實(shí)測(cè)數(shù)據(jù)對(duì)算法及軟件功能進(jìn)行了驗(yàn)證分析。
[1]邱澤陽(yáng),宋曉宇.海量數(shù)據(jù)的均勻稀化[J].蘭州交通大學(xué)學(xué)報(bào),2006,25(4):63-67.
[2]榮鑫.基于虛擬儀器的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2011.
[3]張麗艷,周儒榮,蔡煒斌,等.海量測(cè)量數(shù)據(jù)簡(jiǎn)化技術(shù)研究[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,13(1):1019-1023.
[4]湯勁.海量數(shù)據(jù)處理系統(tǒng)框架關(guān)鍵技術(shù)研究[D].南京:南京航空航天大學(xué),2006.
[5]張敬帥,張丕狀.基于虛擬儀器的多通道數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2011,4:74-76.