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