文獻標識碼: A
文章編號: 0258-7998(2014)06-0007-03
可控源音頻大地電磁測深CSAMT[1](Controlled Source Audio Magnetotellurics)法通過同步發射接收一組不同頻率的信號,測量大地的復電阻頻譜,從而得到地下不同深度介質電阻率的變化規律。
在CSAMT法勘探過程中,需要根據探測目標布置發射源。在接收端,要將儀器放置到各采集點,在大部分情況下,工作人員只能通過步行的方式將設備送到采集點。這些特點決定了對數據進行補測要浪費大量的人力和物力,因此,迫切需要能夠在工作現場或遠程實時監測采集的數據質量,以便工作人員及時發現采集過程中發生的問題并分析原因,盡早采取相應措施。
目前,加拿大鳳凰公司的V8采用TDMA進行各站之間的數據傳輸;吉林大學儀器科學與電氣學院自主研發的JLEMI[2]分布式采集系統采用了GPRS,可以在遠程工作站實時監測采集的數據。這些方法依賴于移動網絡,在信號質量不好的情況下工作會受到影響,甚至無法監測。
除了移動網絡之外,現在應用比較廣泛的無線傳輸技術[3]有ZigBee、紅外線數據傳輸、WiFi等。但當前的手機中很少直接支持ZigBee,紅外線數據傳輸方式要求進行傳輸的設備之間必須對準,而且中間不能有阻擋。藍牙是一種支持設備短距離通信(一般10 m內)的無線電技術,采用分散式網絡結構以及快跳頻和短包技術,支持點對點及點對多點通信,工作在全球通用的2.4 GHz ISM頻段,其數據速率為1 Mb/s,采用時分雙工傳輸方案實現全雙工傳輸,現在手機、平板電腦等基本都配置了藍牙設備。
基于上述分析,本文采用藍牙無線傳輸技術[4],實現了采集站與Android手機間的數據傳輸。通過在采集站中嵌入藍牙模塊,在采集數據的同時,將數據以特定格式發送到手機中,在手機端對接收到的數據進行預處理并實時顯示。將該系統應用到JLEMI工作過程中,為工作人員帶來了很多便利。
1 系統組成
本系統由CSAMT采集站與Android手機端組成,二者通過藍牙協議[5]進行數據和指令的傳輸,如圖1所示。其中采集站安裝Windows操作系統,主要負責數據采集,并通過嵌入的藍牙模塊將采集的數據傳輸到手機端;手機端接收數據,并對數據進行平滑預處理,然后以曲線的形式顯示在屏幕上,提供給工作人員進行實時監測。
圖1 系統組成示意圖
2 采集站
本系統中采集站[6]主要負責數據采集,并對采集的數據進行簡單預處理,將原始數據和預處理結果保存到本地磁盤中。除此以外,還可以通過嵌入的藍牙模塊將預處理結果傳輸到手機端。
采集站啟動后,首先開啟藍牙設備并監聽手機端接入請求。當有手機接入后,開啟新的線程并監聽處理手機端發來的命令。如果手機端需要監測數據,則必須首先向采集站發送相應指令。當采集站收到指令后,讀取采集到的數據,按照自定義的協議進行封裝,并向手機端傳輸。在數據傳輸期間,手機可以通過向采集站發送命令,控制數據傳輸的暫停與退出。
采集站端采用了開源庫bluecove[7]實現對藍牙模塊編程,并引入jdom.jar包實現對xml文件的讀取與解析[8]。
3 手機端
當前應用比較廣泛的手機操作系統包括Android、iOS、BlackBerry和Windows Phone等。市場研究公司Strategy Analytics在2013年11月1日發表報告稱,2013年第3季度全球智能手機出貨量在2012年同期的1.728億部基礎上增長45%,達到2.514億部,其中Android市場份額為81.3%,成為現在的主流手機操作系統。因此本系統的手機端基于Android操作系統開發。
目前,市面上已經存在許多基于Android操作系統的應用軟件,如基于藍牙的健康服務終端應用軟件、基于GPRS通信的遠程監控應用軟件以及基于各種通信協議的應用軟件等,這些應用軟件給現代生活帶來了極大便利。
3.1 工作流程
本系統的手機端應用程序包含1個Service和2個Activity。其中Service在后臺運行,其作用是監聽本手機端的狀態,當有事件產生時,與2個Activity產生交互,控制程序的運行。主Activity控制程序初始化、數據接收、預處理和曲線繪制;Activity2的作用是搜索周圍的藍牙設備,顯示搜索結果,接受用戶選擇,并將選擇結果傳遞給主Activity。手機端程序流程圖如圖2所示。
圖2 手機端整體流程圖
(1)啟動藍牙
首先檢查手機是否支持藍牙,如果支持,則獲取藍牙適配器對象,并在AndroidManifest中申明藍牙使用權限,開啟藍牙。
(2)搜索采集站藍牙設備
在手機端搜索采集站藍牙設備前,先要設置采集站端藍牙設備可見,以便手機端發現采集站藍牙設備進行配對。手機端通過使用BluetoothAdapter的startDiscovery()方法來搜索藍牙設備,在這個過程中,系統會發送以下3個廣播:
ACTION_DISCOVERY_START:開始搜索
ACTION_DISCOVERY_ FINISHED:搜索結束
ACTION_FOUND:找到設備
手機端可以注冊相應的BroadcastReceiver對象來接收相應的廣播,以便做出響應。
(3)請求建立連接
手機端搜索到采集站藍牙設備后,可以獲取其BluetoothService,然后利用listenUsingRfcomm_WithServiceRecord(String, UUID)方法獲取對應的BluetoothSocket,最后調用BluetoothSocket的connect()方法請求連接。如果手機端的UUID同采集站藍牙設備的UUID匹配,并且連接被采集站端藍牙設備接受,則連接成功。
(4)接收指令和數據
請求連接成功后,手機端和采集站的藍牙設備分別監聽端口。當手機端向采集站發送一個讀取數據指令,采集站收到該指令后,首先根據自定義的協議對數據進行封裝,然后利用藍牙協議傳輸到手機端。手機端的主Activity監聽數據端口,當接收到數據后,對其進行解析,得到發送的原始數據,為后期的數據預處理和曲線繪制做準備。
(5)對接收到的數據進行繪圖顯示,其中可以通過選項來控制是否需要在顯示之前對數據進行平滑。
3.2 曲線繪制
本系統選擇開源類庫Achartengine[9]作為繪圖工具。該類庫針對Android系統開發,易于二次開發,能夠繪制折線圖、餅狀圖、柱狀圖等多種曲線。在本系統中,數據以折線圖的形式顯示。
對于CSAMT數據曲線,由于發射頻率和幅值都相差多個數量級,因此,需要以對數坐標的形式顯示。而Achartengine不直接支持對數坐標,本文通過對坐標軸的改進,實現了自定義坐標軸,從而實現了數據的對數顯示。主要步驟如下:
(1)將x軸改造為對數坐標
利用addXTextLabel函數實現x軸坐標轉換,該函數的基本格式為:addXTextLabel(double x,String text),其中x為x軸坐標點,text為轉換后顯示在x點的坐標值,如果不顯示,則可以設為空。x和text之間的關系為x=log10(text)。利用該方法,可以添加一系列的x軸對數坐標點。
(2)將y軸改造為對數坐標
原理和x軸相同,利用addYTextLabel(double y,String text)函數實現y坐標轉換。
(3)數據顯示
將接收到的數據轉換成對數,并利用series.add()添加到繪圖中顯示。圖3顯示了手機中基于Achartengine繪制的數據曲線圖。因為本系統所應用的采集站有4個通道,所以共有8條曲線,包括4條幅頻特性曲線(上半部分)與4條相頻特性曲線(下半部分)。
圖3 采集數據的曲線圖
Achartengine為靜態繪圖,為達到實時更新的動態效果,需要對其進行動態刷新,即每當有新數據到來時,便進行一次點集的更新和繪圖的刷新。點觸曲線中某點,可以顯示該點對應的值,方便現場分析和判斷。
3.3 曲線平滑濾波
CSAMT法測量過程中,容易受到噪聲的干擾,在數據中出現“飛點”現象,會對后期的數據處理造成極大的干擾,甚至導致假結果。本文使用基于各向異性擴散的濾波方法[10]對數據進行預處理,算法模型為:
該方法以梯度的降函數做擴散速度,在梯度大的點擴散量較小,在梯度小的點擴散量較大,其優點是在濾除噪聲的同時能保護曲線的局部特征。梯度的降函數相當于邊界保護函數的作用,如式(2)所示:
其中,k為閾值參數。
利用該算法對數據進行平滑的效果如圖4所示。
圖4 基于各向異性擴散算法的數據平滑效果圖
本文根據CSAMT法工作環境的特點,將藍牙無線數據傳輸技術引入CSAMT法的數據采集過程中,手機端在接收到采集數據后可以進行平滑處理,并通過對Achartengine類庫中坐標軸的改進,實現對數坐標顯示,在實際應用中得到了較好的效果。本系統既有利于進行CSAMT數據的集中監測,也可以為現場工作人員觀察數據采集質量、判斷故障點提供參考和支持,提高其工作效率。本系統的應用可以使采集設備不再配備顯示屏,有助于進一步減小體積,降低功耗。
藍牙的數據傳輸距離有限,不能達到遠距離數據監測的目的,下一步工作是基于GPRS或WiFi無線傳輸技術,實現手機中的遠距離數據監測。
參考文獻
[1] 湯井田,何繼善.可控源音頻大地電磁法及其應用[M].長沙:中南大學出版社,2005.
[2] 張文秀.CSAMT與IP聯合探測分布式接收系統關鍵技術研究[D].長春:吉林大學,2012.
[3] 石明明,魯周迅.三種無線通信協議綜述[J].通信技術,2011,7(44):0072-0073.
[4] 楊瑞.基于藍牙通信的短信平臺設計與實現[J].計算機應用與軟件,2011,2(28):218-219.
[5] 錢志宏,劉丹.藍牙技術數據傳輸綜述[J].通信學報,2012,4(33):0143-0152.
[6] 陳健.寬頻帶時頻電磁接收機關鍵技術研究[D].長春:吉林大學,2012.
[7] BRUCE H,RANJITH A.Bluetooth for java[M].Berkeley:Apress,2003.
[8] 方躍堅,余枝強,翟磊,等.一種混合并行XML解析方法[J].軟件學報,2013,24(9):1196-1206.
[9] Google.Achartengine-Charting library for Android Google Project[EB/OL].(2010-08)[2013-12-10].http://code.google.com/p/achartengine.
[10] 嚴家斌,劉貴忠.基于各向異性擴散的ROBUST阻抗估計方法[J].地球物理學進展,2007,22(5):1403-1407.