文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)06-0007-03
可控源音頻大地電磁測(cè)深CSAMT[1](Controlled Source Audio Magnetotellurics)法通過同步發(fā)射接收一組不同頻率的信號(hào),,測(cè)量大地的復(fù)電阻頻譜,從而得到地下不同深度介質(zhì)電阻率的變化規(guī)律,。
在CSAMT法勘探過程中,,需要根據(jù)探測(cè)目標(biāo)布置發(fā)射源。在接收端,,要將儀器放置到各采集點(diǎn),,在大部分情況下,工作人員只能通過步行的方式將設(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)采集過程中發(fā)生的問題并分析原因,,盡早采取相應(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ì)受到影響,甚至無法監(jiān)測(cè),。
除了移動(dòng)網(wǎng)絡(luò)之外,,現(xiàn)在應(yīng)用比較廣泛的無線傳輸技術(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))的無線電技術(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)牙無線傳輸技術(shù)[4],,實(shí)現(xiàn)了采集站與Android手機(jī)間的數(shù)據(jù)傳輸。通過在采集站中嵌入藍(lán)牙模塊,,在采集數(shù)據(jù)的同時(shí),,將數(shù)據(jù)以特定格式發(fā)送到手機(jī)中,在手機(jī)端對(duì)接收到的數(shù)據(jù)進(jìn)行預(yù)處理并實(shí)時(shí)顯示,。將該系統(tǒng)應(yīng)用到JLEMI工作過程中,,為工作人員帶來了很多便利。
1 系統(tǒng)組成
本系統(tǒng)由CSAMT采集站與Android手機(jī)端組成,,二者通過藍(lán)牙協(xié)議[5]進(jìn)行數(shù)據(jù)和指令的傳輸,,如圖1所示。其中采集站安裝Windows操作系統(tǒng),,主要負(fù)責(zé)數(shù)據(jù)采集,,并通過嵌入的藍(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)行簡單預(yù)處理,將原始數(shù)據(jù)和預(yù)處理結(jié)果保存到本地磁盤中,。除此以外,,還可以通過嵌入的藍(lán)牙模塊將預(yù)處理結(jié)果傳輸?shù)绞謾C(jī)端。
采集站啟動(dòng)后,,首先開啟藍(lán)牙設(shè)備并監(jiān)聽手機(jī)端接入請(qǐng)求,。當(dāng)有手機(jī)接入后,開啟新的線程并監(jiān)聽處理手機(jī)端發(fā)來的命令,。如果手機(jī)端需要監(jiān)測(cè)數(shù)據(jù),,則必須首先向采集站發(fā)送相應(yīng)指令。當(dāng)采集站收到指令后,,讀取采集到的數(shù)據(jù),,按照自定義的協(xié)議進(jìn)行封裝,并向手機(jī)端傳輸,。在數(shù)據(jù)傳輸期間,,手機(jī)可以通過向采集站發(fā)送命令,,控制數(shù)據(jù)傳輸?shù)臅和Ec退出。
采集站端采用了開源庫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ǔ)上增長45%,,達(dá)到2.514億部,,其中Android市場(chǎng)份額為81.3%,成為現(xiàn)在的主流手機(jī)操作系統(tǒng),。因此本系統(tǒng)的手機(jī)端基于Android操作系統(tǒng)開發(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)代生活帶來了極大便利,。
3.1 工作流程
本系統(tǒng)的手機(jī)端應(yīng)用程序包含1個(gè)Service和2個(gè)Activity。其中Service在后臺(tái)運(yùn)行,,其作用是監(jiān)聽本手機(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)限,,開啟藍(lán)牙。
(2)搜索采集站藍(lán)牙設(shè)備
在手機(jī)端搜索采集站藍(lán)牙設(shè)備前,,先要設(shè)置采集站端藍(lán)牙設(shè)備可見,,以便手機(jī)端發(fā)現(xiàn)采集站藍(lán)牙設(shè)備進(jìn)行配對(duì)。手機(jī)端通過使用BluetoothAdapter的startDiscovery()方法來搜索藍(lán)牙設(shè)備,在這個(gè)過程中,,系統(tǒng)會(huì)發(fā)送以下3個(gè)廣播:
ACTION_DISCOVERY_START:開始搜索
ACTION_DISCOVERY_ FINISHED:搜索結(jié)束
ACTION_FOUND:找到設(shè)備
手機(jī)端可以注冊(cè)相應(yīng)的BroadcastReceiver對(duì)象來接收相應(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)聽端口。當(dāng)手機(jī)端向采集站發(fā)送一個(gè)讀取數(shù)據(jù)指令,,采集站收到該指令后,,首先根據(jù)自定義的協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝,然后利用藍(lán)牙協(xié)議傳輸?shù)绞謾C(jī)端,。手機(jī)端的主Activity監(jiān)聽數(shù)據(jù)端口,,當(dāng)接收到數(shù)據(jù)后,對(duì)其進(jìn)行解析,,得到發(fā)送的原始數(shù)據(jù),,為后期的數(shù)據(jù)預(yù)處理和曲線繪制做準(zhǔn)備。
(5)對(duì)接收到的數(shù)據(jù)進(jìn)行繪圖顯示,,其中可以通過選項(xiàng)來控制是否需要在顯示之前對(duì)數(shù)據(jù)進(jìn)行平滑,。
3.2 曲線繪制
本系統(tǒng)選擇開源類庫Achartengine[9]作為繪圖工具。該類庫針對(duì)Android系統(tǒng)開發(fā),,易于二次開發(fā),,能夠繪制折線圖、餅狀圖,、柱狀圖等多種曲線,。在本系統(tǒng)中,數(shù)據(jù)以折線圖的形式顯示,。
對(duì)于CSAMT數(shù)據(jù)曲線,,由于發(fā)射頻率和幅值都相差多個(gè)數(shù)量級(jí),因此,,需要以對(duì)數(shù)坐標(biāo)的形式顯示,。而Achartengine不直接支持對(duì)數(shù)坐標(biāo),本文通過對(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ù)到來時(shí),,便進(jìn)行一次點(diǎn)集的更新和繪圖的刷新。點(diǎn)觸曲線中某點(diǎn),,可以顯示該點(diǎn)對(duì)應(yīng)的值,,方便現(xiàn)場(chǎng)分析和判斷。
3.3 曲線平滑濾波
CSAMT法測(cè)量過程中,,容易受到噪聲的干擾,,在數(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)牙無線數(shù)據(jù)傳輸技術(shù)引入CSAMT法的數(shù)據(jù)采集過程中,手機(jī)端在接收到采集數(shù)據(jù)后可以進(jìn)行平滑處理,,并通過對(duì)Achartengine類庫中坐標(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無線傳輸技術(shù),,實(shí)現(xiàn)手機(jī)中的遠(yuǎn)距離數(shù)據(jù)監(jiān)測(cè)。
參考文獻(xiàn)
[1] 湯井田,,何繼善.可控源音頻大地電磁法及其應(yīng)用[M].長沙:中南大學(xué)出版社,,2005.
[2] 張文秀.CSAMT與IP聯(lián)合探測(cè)分布式接收系統(tǒng)關(guān)鍵技術(shù)研究[D].長春:吉林大學(xué),2012.
[3] 石明明,,魯周迅.三種無線通信協(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].長春:吉林大學(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.