摘要:利用微震測量技術(shù)、數(shù)據(jù)采集技術(shù)與信號處理技術(shù)可以建立一套監(jiān)測各種振動信號的系統(tǒng),廣泛應用于各種振動事件的監(jiān)測與報警。該文介紹了該系統(tǒng)的軟件的設計思路與實現(xiàn)的效果。采用VC++ ,基于MFC類庫開發(fā)了一套振動信號監(jiān)測與分析軟件,實現(xiàn)數(shù)據(jù)實時采集、信號分析處理、振動事件判別報警、數(shù)據(jù)存儲回放等功能。
關(guān)鍵詞:VC++;MFC;振動信號;分析軟件
中圖分類號:TP311.5文獻標識碼:A文章編號:1009-3044(2009)26-7522-02
Based on MFC Development of Vibration Signal Monitoring and Analysis Software
XIE Zhou-min
(China Seismological Bureau of Crustal Institute, Beijing 100085, China)
Abstract: Using the seismic data acquisition and measurement technology,technology and signal processing technology can establish a set of monitoring system of the vibration signal,widely used in all kinds of vibration monitoring and warning of events.This paper introduces the system design and implement of software.The authors used vc++,based on MFC library has developed a set of vibration signal monitoring and analysis software,realize the real-time data acquisition,data processing and analysis of vibration signal event alarm,data storage playback discriminant functions.
Key words: VC++; MFC; the vibration signal; analysis software
將微地震監(jiān)測技術(shù)和數(shù)據(jù)采集、通信技術(shù)和數(shù)字信號識別技術(shù)相結(jié)合,可以建立一套振動信號的監(jiān)測與分析系統(tǒng),廣泛應用于監(jiān)測各種機械振動、工程振動、環(huán)境振動、巖爆煤爆、礦山動力災害、爆破施工、盜掘爆破等[1-2]。本文給出了根據(jù)一個實際工程建立的振動信號監(jiān)測與分析系統(tǒng)的軟件部分的設計思路與關(guān)鍵技術(shù)。
1 軟件總體設計思路
軟件使用MFC類庫在Visual C++ 6.0環(huán)境中進行應用開發(fā)。
圖1給出了報警監(jiān)控系統(tǒng)的總體結(jié)構(gòu)示意圖,其中監(jiān)控軟件以系統(tǒng)控制為核心控制著監(jiān)控的運行及各種任務,監(jiān)控開始運行后,系統(tǒng)控制首先進行系統(tǒng)自檢,同時在后臺開辟了工作子線程運行數(shù)據(jù)采集、數(shù)據(jù)分析、預警報警判別、數(shù)據(jù)保存等任務,在面向用戶服務方面設立了參數(shù)設置、信息管理、文檔服務、報警服務。
2 關(guān)鍵技術(shù)
2.1 數(shù)據(jù)采集技術(shù)
在數(shù)據(jù)采集中采用FIFO和雙緩沖技術(shù)以保證連續(xù)、實時、高效地采集,使用雙緩沖技術(shù)、中斷方式及事件(EVENT)通知方式實現(xiàn)一邊采集一邊同時處理其它任務。采集過程如圖2所示:當指針在Buffer A中移動時,采集數(shù)據(jù)存入Buffer A;當指針剛移動到Buffer B時,立即產(chǎn)生一個中斷,驅(qū)動函數(shù)發(fā)出事件通知,軟件取出Buffer A中的數(shù)據(jù)進行分析,此時Buffer B中的數(shù)據(jù)采集也同時進行;當Buffer B中數(shù)據(jù)采集滿后指針剛移動到Buffer A時,又立即產(chǎn)生一個中斷,驅(qū)動函數(shù)發(fā)出事件通知,軟件取出Buffer B中的數(shù)據(jù)進行分析,此時Buffer A中的數(shù)據(jù)采集也同時進行。如此形成一個圓循環(huán),不停地同時采集與分析。
2.2 多線程技術(shù)
在監(jiān)控軟件中,首先必須保證連續(xù)、不間斷地獲取原始數(shù)據(jù),不丟一個數(shù)據(jù),不受其它任務的干擾。同時數(shù)據(jù)分析、信息顯示、人機交互等也是同時進行的,因此必須采用多線程技術(shù)實現(xiàn)多種任務的同時進行,并處理好各線程間的資源共享及通信。
1)軟件子線程任務分配:在MFC中,線程分為兩種:用戶接口線程和輔助線程[3]。輔助線程常用于后臺任務處理,比如計算。本軟件中的輔助子線程處理數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)保存,并將分析結(jié)果、報警狀態(tài)等信息發(fā)送給主線程。用戶接口線程常用于接收用戶的輸入,處理相應的事件和消息。在用戶接口線程中,包含一個消息處理循環(huán),負責處理用戶輸入產(chǎn)生的事件和消息,向用戶顯示各種信息等。基于MFC的應用程序有一個應用對象,它是CWinApp派生類的對象,該對象代表了應用進程的主線程,它就是一個最主要的用戶接口線程。本軟件中的主線程負責處理參數(shù)設置、視圖控制、文檔操作、信息提示、波形頻譜顯示、報警信息顯示、驅(qū)動聲光報警裝置等。主線程與子線程之間需要處理好資源共享及通信的問題:
2)軟件子線程間通信:本軟件中主線程使用事件方式通知輔助線程:主線程設置事件(EVENT)對象,同時輔助線程監(jiān)視事件對象,從而實現(xiàn)主線程對輔助線程的通信。利用MFC提供的CEvent類可以方便實現(xiàn)事件對象的構(gòu)造與狀態(tài)設置,利用Win32的WaitForSingleObject函數(shù)可以實現(xiàn)對事件對象的監(jiān)視。本軟件中輔助線程對主線程的通知方式采用PostMessage函數(shù)(消息投遞函數(shù)),當輔助線程通知完主線程后無需等待立即返回,以保證輔助線程不間斷地運行。
3)振動信號分析算法
本軟件采用小波包變換為主要的信號分析工具對振動信號進行信號分析,小波包變換根據(jù)信號的不同頻率成分,自動地采用不同尺度的小波包函數(shù)及不同的分辨時窗。低頻時,使用大尺度值、長周期的小波包函數(shù);高頻時,使用小尺度值、短周期的小波包函數(shù)。小波包變換的數(shù)學原理:
小波包的基本思想是對多分辨分析中的小波子空間也進行分解,信號f(t)可按標準正交小波包基函數(shù)展開后為(Wickerhauser,1992):
其中的即小波包系數(shù),其中j為尺度參數(shù),k為平移參數(shù),n為頻率參數(shù)。
3 振動信號數(shù)據(jù)實例分析
選擇合適的小波能對特定信號有很好的能量集中作用,因此可以在小波包分解后的小波包域中提取微弱信號。對分解后的小波包系數(shù)選取合適的子空間范圍(即濾波通帶),并對小波包系數(shù)進行去噪并進行帶通濾波,再重構(gòu)后可得到增強有效信號、壓制干擾的重構(gòu)波形。
例1:用小耙子輕輕敲擊軟土產(chǎn)生振動,用高靈敏振動速度傳感器接收振動信號,傳感器位于距敲擊源水平距離40m、在地面以下8米深處。圖3(a)為接收到的原始波形,采樣率1024Hz,采樣長度4096點,振動信號較微弱。進行小波包分解,正交鏡像濾波器(QMF)采用離散Daubechies小波,濾波器長度12,分解層數(shù)4層,圖3(b)是分解后的第4層小波包系數(shù),被分成16個子空間,在圖中左起第2~6個子空間內(nèi)(對應頻帶范圍64~224Hz),原始弱信號的能量較好的集中在幾個明顯突出的小波包系數(shù)上。此外,干擾主要集中在第0、1子空間(頻帶范圍0~64Hz),為低頻干擾。選取合適的子空間范圍對小波包系數(shù)求平方后進行同相位疊加成一個子空間(256個點),除以背景平均值后化為無量綱的相對比值,設置信噪比閥值后獲得識別到的3個信號(見圖3(c)),第一個較大信號位于0.594s處,后兩個微弱分別位于2.047s和2.781s處。圖3(d)為經(jīng)系數(shù)放大、帶通濾波、軟閥值法去噪后重構(gòu)的波形,弱信號變得很明顯。
4 小結(jié)
本文介紹了基于MFC開發(fā)的振動信號監(jiān)測與分析軟件的設計思路、關(guān)鍵技術(shù)。
參考文獻:
[1] 姜福興,XUN Luo.微震監(jiān)測技術(shù)在礦井巖層破裂監(jiān)測中的應用[J].巖土工程學報,2002,24(2):147-149.
[2] 趙興東,石長巖,劉建坡,等.紅透山銅礦微震監(jiān)測系統(tǒng)及其應用[J].東北大學學報:自然科學版,2008(3).
[3] Kruglinski D J.Visual C++技術(shù)內(nèi)幕[M].潘愛民,譯.4版.北京:清華大學出版社,2001.