李忠偉,崔學榮,吳春雷
無線隨鉆測量系統(tǒng)的數(shù)據(jù)壓縮協(xié)議研究
李忠偉,崔學榮,吳春雷
在隨鉆測量系統(tǒng)中,目前采用的主要傳輸技術是泥漿壓力波正負脈沖的方法,該方法所固有的缺點是信號傳輸速率低,因此,在低信號傳輸速率下,研究數(shù)據(jù)的壓縮技術,從而提高信號的傳輸效率具有非常重要的意義。提出采用Huffman技術對數(shù)據(jù)進行壓縮,從而實現(xiàn)隨鉆測量系統(tǒng)的高效傳輸。實驗證明:壓縮比可以滿足實際應用需求,具有廣泛的應用意義。
隨鉆測量;連續(xù)波;數(shù)據(jù)報協(xié)議;增量數(shù)據(jù)報;完全數(shù)據(jù)報;數(shù)據(jù)域定界
從井下到地面的信息傳輸技術是導向鉆進與定向鉆進領域中研究的熱點與難點問題,也是隨鉆測量系統(tǒng)應用和發(fā)展的技術“瓶頸”。目前的研究熱點主要集中在傳輸設備硬件以及傳輸?shù)木幋a方面,在數(shù)據(jù)的壓縮傳輸方面少有研究。由于鉆井液信道傳輸帶寬有限、鉆井液壓力波信號的產(chǎn)生速率有待提高,因此,設計新型鉆井液壓力波信號發(fā)生器與引進數(shù)據(jù)壓縮技術成為大幅提高井下信息傳輸效率的有效途徑。
目前,國內(nèi)井下數(shù)據(jù)壓縮技術的研究主要集中在聲波測井數(shù)據(jù)、成像測井數(shù)據(jù)、隨鉆地震數(shù)據(jù)等。例如,劉付斌等根據(jù)聲波信號的特點,研究了基于字典的LZW壓縮算法在偶極子數(shù)字陣列聲波測井儀數(shù)據(jù)壓縮方面的應用;張偉等引入了整數(shù)小波變換,采用最大幅值、最小閾值、最小輸出位等多種方法,降低了 SPIHT算法的復雜度,提高了小波變換的速度,并設計了算法的并行實現(xiàn)結(jié)構(gòu),滿足了聲波測井數(shù)據(jù)高速實時處理的要求[4];賈安學等以正交多極子聲波測井儀 MPAL專家模式的井下數(shù)據(jù)為測試數(shù)據(jù),采用算術編碼、預測編碼、FLAC和APE壓縮算法分別測試了對聲波測井數(shù)據(jù)的壓縮效果,其中FLAC和APE壓縮算法具有較好的壓縮率[5];嚴正國等利用小波變換的視頻圖像壓縮技術,通過質(zhì)量盒控制、背景對比度控制和場頻控制等技術實現(xiàn)了井下圖像數(shù)據(jù)的高度壓縮[6]。
由于隨鉆測量數(shù)據(jù)參數(shù)在一定時間以及一定的地層下,許多參數(shù)具有一定的穩(wěn)定性,而且僅僅使用有限的表示數(shù)字的符號(共11個),所以在對其進行壓縮時,可以根據(jù)數(shù)字出現(xiàn)的頻率,極大提高數(shù)據(jù)的壓縮比,即壓縮后的二進制數(shù)據(jù)的長度將更短,從而保證了其傳輸?shù)母咝浴?/p>
數(shù)據(jù)壓縮是指按照一定的算法對數(shù)據(jù)進行重新組織,從而減少數(shù)據(jù)的長度,進而減少信道中傳輸?shù)亩M制比特流。數(shù)據(jù)壓縮可以分為無損壓縮和有損壓縮兩種,前者在接收端可以完整恢復出壓縮前的數(shù)據(jù)(例如WinRAR壓縮軟件),后者只能部分恢復出壓縮前的數(shù)據(jù)(例如:視頻、音頻的壓縮),在隨鉆測量數(shù)據(jù)傳輸中顯然要使用的是無損壓縮。
1.1 Huffman編碼簡介
Huffman編碼是1952年由Huffman提出的一種無損數(shù)據(jù)壓縮技術,是基于統(tǒng)計模型的數(shù)據(jù)壓縮技術,是無損壓縮當中最好的方法之一。它使用二進制來替換每個符號,長度由每個符號出現(xiàn)的頻率(權值)決定。Huffman編碼充分考慮了被編碼的符號的統(tǒng)計特性,將出現(xiàn)概率大的符號轉(zhuǎn)換為較短的二進制編碼,將出現(xiàn)概率小的符號轉(zhuǎn)換為較長的二進制編碼,從而實現(xiàn)對字符的壓縮,也轉(zhuǎn)換為了二進制。Huffman壓縮和解壓縮是通過Huffman樹來實現(xiàn)的。
1.2 Huffman樹的構(gòu)造
Huffman樹,即帶權路徑長度最短的樹。其構(gòu)造步驟如下:
① 根據(jù)給定的n個權值{w1,w2,……wn},構(gòu)造n棵只有根結(jié)點的二叉樹,令其權值為wj;
② 在森林中選取兩棵根結(jié)點權值最小的樹作為左右子樹,構(gòu)造一棵新的二叉樹,置新二叉樹根結(jié)點的權值為其左右子樹根結(jié)點權值之和;
③ 在森林中刪除這兩棵樹,同時將新得到的二叉樹加入森林中;
④ 重復上述② ③兩步,直到只含一棵樹為止,這棵樹即Huffman樹。
1.3 Huffman壓縮
首先,要根據(jù)Huffman樹獲得Huffman編碼表,方法是從根節(jié)點開始遍歷樹,左孩子的所有路徑標注為0,右孩子的所有路徑標注為1。然后,再根據(jù)生成的Huffman樹對數(shù)據(jù)進行編碼,方法是從葉子結(jié)點開始向根結(jié)點回溯,組合路徑上所有的符號(0或1),即可得到該葉子結(jié)點對應的符號的編碼。
1.4 Huffman解碼
解碼的過程本質(zhì)上就是一個遍歷二叉樹的過程,一直遍歷到葉子結(jié)點,此時完成第一個字符的解碼;接著再重新從樹根開始遍歷二叉樹,一直再遍歷到葉子結(jié)點,此時完成第二個字符的解碼;直到所有的二進制都遍歷完畢為止。
在隨鉆測量中從井下向地面?zhèn)鬟f的參數(shù)均為數(shù)值型數(shù)據(jù),所以只用到10個數(shù)字、負號(-)、和小數(shù)點(.),共12個字符,所以只需要對這12個字符進行Huffman編碼即可。隨鉆測量數(shù)據(jù)在某個時間段內(nèi)具有一定的穩(wěn)定性,即參數(shù)的取值變化不大。這樣,字符出現(xiàn)的頻率也就相對穩(wěn)定。發(fā)送方在井下自動計算在某個周期內(nèi),各個字符出現(xiàn)的概率,如果符號出現(xiàn)的概率有了較大變化則擇期將其發(fā)送到地面主控計算機,同時修改自己的 Huffman編碼。其更新流程圖如圖1所示:
圖1 Huffman編碼表的更新過程
2.1 系統(tǒng)初始化
在第一次使用系統(tǒng)發(fā)送編號為i的數(shù)據(jù)報Pi時,需要對其參數(shù)進行初始化,主要包括:
1)權值和編碼初始化
12個字符的權值都設置為1,這樣生成的Huffman樹的形狀如圖2所示:
圖2 系統(tǒng)初始化時生成的Huffman樹
各字符對應的Huffman編碼如表1所示:
表1 系統(tǒng)初始化時生成的Huffman編碼
例如,根據(jù)表1所示的Huffman編碼,如果需要發(fā)送數(shù)值“0.34”,則壓縮碼為“00011100111000”;如果地面主控計算機收到的是“001010”,則解碼結(jié)果為“12”。
2)設定時間周期
用戶可以設定每類數(shù)據(jù)報的 Huffman編碼的更新周期,只有自上次重構(gòu)編碼后的時間超過這個更新周期,系統(tǒng)才重新計算是否需要更新Huffman編碼。
3)標準差閾值
只有當在新的一個發(fā)送周期內(nèi)所有12個字符的概率標準差超過這個閾值,才更新 Huffman編碼;否則如果在很長時間內(nèi)字符的概率變化很少,即使到了更新周期,也不更新。
2.2 發(fā)送數(shù)據(jù)
在該模塊內(nèi)完成數(shù)據(jù)報的封裝、壓縮、校驗和發(fā)送。
2.3 修改該序號的數(shù)據(jù)報的權值
每發(fā)送完一個數(shù)據(jù)報,系統(tǒng)都重新更新該序號的報文中所涉及到的所有字符的權值,注意只是更新權值,并不重新計算Huffman編碼。
2.4 判斷自上次重構(gòu)編碼后的時間是否大于設定時間周期
因為在很長一段時間內(nèi)或者在某個地層上參數(shù)的取值都會保持相對穩(wěn)定,而且考慮到盡量減少 Huffman權值表發(fā)送的次數(shù),所以并不是每次發(fā)送完數(shù)據(jù)報都更新Huffman編碼,只有在經(jīng)過某個已經(jīng)設定的時間周期后,才考慮是否更新Huffman編碼,否則再轉(zhuǎn)回第2步,繼續(xù)發(fā)送后續(xù)數(shù)據(jù)。
2.5 計算所有字符的權值的標準差
標準差的計算公式為公式(1):
2.6 判斷標準差是否大于設定閾值
如果計算出的標準差很大,說明各個字符的出現(xiàn)概率發(fā)生了很大的變化,此時就需要重新計算 Huffman編碼。如果標準差變化不大,即使到了 Huffman編碼更新周期,也不更新,此時再轉(zhuǎn)回第2步,繼續(xù)發(fā)送后續(xù)數(shù)據(jù)。
2.7 發(fā)送該序號數(shù)據(jù)報的Huffman權值表
Huffman權值表的數(shù)據(jù)報,采用如表所示的格式(假定數(shù)據(jù)報編號為99),其中:
(1)數(shù)據(jù)報類型標識:使用“1”,說明發(fā)送的是完全數(shù)據(jù)報,要求地面主控計算機使用支持重傳的否定確認協(xié)議,確保井下和地面Huffman編碼的一致性。
(2)數(shù)據(jù)域定界:表明后邊各個域中字符的長度,其中第一位一定為2,因為數(shù)據(jù)報編號為99,長度為2。第2位為0、1或者2表示編號的長度,因為編號最大為99,所以長度最大為2。后邊12個域的長度最大為2,即數(shù)據(jù)域定界后12位的取值只能是0、1、2。
(3)數(shù)據(jù)報編號:取固定值,99。
(4)編號:指定當前發(fā)送的權值表是屬于哪個數(shù)據(jù)報的,即數(shù)據(jù)報的編號,如表2所示:
表2 Huffman權值表的數(shù)據(jù)報的格式
2.8 對本地該序號的數(shù)據(jù)報的字符重新進行Huffman編碼
重新按照Huffman編碼的規(guī)則,構(gòu)造Huffman樹,重新編碼。該步驟在井下和地面主控計算機同時進行,這樣保證下次發(fā)送的數(shù)據(jù)采用的是新的Huffman編碼。
注意:如果地面接收站沒有正確接收到該數(shù)據(jù)報,則地面主控計算機會發(fā)送一個否認幀,此時井下接收到該否認幀后,需要重新發(fā)送 Huffman權值表和隨后已經(jīng)發(fā)送的使用新的Huffman編碼發(fā)送的所有數(shù)據(jù)。
衡量數(shù)據(jù)壓縮方法好壞的重要指標是壓縮比,壓縮比=壓縮后代碼長度/源代碼長度×100%,其含義是被壓縮后的代碼占源代碼的比例。為了對算法進行分析,本文選用勝利油田“高43-平51”井測深從993.81米到1079.7米的10條井史資料進行分析。假設Huffman權值表如表3所示,根據(jù)該表產(chǎn)生的Huffman樹如圖3所示:
圖3 仿真中采用的字符的Huffman樹
根據(jù)該Huffman樹生成的各個字符的Huffman編碼如表3所示:
表3 仿真中采用的字符的Huffman編碼表
根據(jù)表3 Huffman編碼表對仿真的數(shù)據(jù)進行Huffman壓縮的結(jié)果如表4所示:
表4 仿真的數(shù)據(jù)報及Huffman壓縮后的幀
被方框框起來的部分是數(shù)據(jù)報報頭。
從整個數(shù)據(jù)報考慮:從表4中可以看出如果采用7位的ASCII碼進行傳輸,其長度明顯比Huffman壓縮的長。所有10條數(shù)據(jù)的平均壓縮比為43%。另外,因為第1、6條是完全數(shù)據(jù)報,其Huffman編碼的長度明顯比增量數(shù)據(jù)報長。
根據(jù)無線隨鉆測量系統(tǒng)獨特的特征設計了基于Huffman編碼的無線隨鉆測量系統(tǒng)的數(shù)據(jù)壓縮協(xié)議,通過對真實井史資料的仿真,發(fā)現(xiàn)該方法與傳統(tǒng)的 ASCII碼以及浮點數(shù)的表示方法相比,可以大大減少傳輸?shù)亩M制比特流的長度,從而提高無線隨鉆測量信道的數(shù)據(jù)傳輸效率。
[1] 張煜,熊軻,裘正定,王升輝. 基于壓縮感知的隨鉆測井編碼傳輸方法[J]. 地球物理學報,2013,01:335-347.
[2] 謝小勇. 基于網(wǎng)絡傳輸測井數(shù)據(jù)無損壓縮算法的研究[D].電子科技大學,2013.
[3] 劉付斌, 李艾華. 偶極子數(shù)字陣列聲波測井儀中數(shù)據(jù)壓縮的實現(xiàn)[J]. 設計與研發(fā), 2007, 12: 58-61.
[4] 張偉, 師奕兵. 聲波測井數(shù)據(jù)壓縮的一種 SPIHT改進算法[J]. 電子測量與儀器學報, 2008, 22(1): 15-19.
[5] 賈安學, 喬文孝, 鞠曉東等. 聲波測井井下數(shù)據(jù)壓縮算法壓縮效果測試[J]. 測井技術, 2011, 35(3): 288-291.
[6] 嚴正國, 張家田. 井下電視圖像壓縮技術[J]. 西安石油大學學報(自然科學版), 2007, 22(5): 94-97.
Study on Data Compression Protocol of Wireless Measurement While Drilling System
Li Zhongwei, Cui Xuerong, Wu Chunlei
(Department of Computer and Communication Engineering, China University of Petroleum (Huadong), Qingdao 266580, China)
In the measurement while drilling system, the main transmission technology currently used is the mud pressure wave of positive and negative pulse. The demerit of which is the low signal transmission rate. Thus in the low rate of signal transmission, to study the compression technology so as to improve the transmission efficiency of the signal is of great importance. The paper proposes Huffman technology to compress the data and consequently enable the drilling with the measurement system to transfer efficiently. The experiment shows that the compression ratio can meet the needs of practical application, and has wide application significance.
Measurement While Drilling; Continuous Wave; Datagram Protocol; Incremental Datagram; Complete Datagram; Data Domain Bound
TE243
A
2014.10.15)
1007-757X(2014)12-0015-03
中國石油科技創(chuàng)新基金項目(2012D-5006-0304)
李忠偉(1978-),中國石油大學(華東),計算機與通信工程學院,副教授,博士,研究方向:井下系統(tǒng)、信息與控制工程研究,青島,266580
崔學榮(1979-),中國石油大學(華東),計算機與通信工程學院,副教授,博士,研究方向:UWB無線定位、隨鉆測量系統(tǒng)、位置服務、車聯(lián)網(wǎng),青島,266580
吳春雷(1980-),中國石油大學(華東),計算機與通信工程學院,講師,碩士,研究方向:UWB無線通信、隨鉆測量系統(tǒng)、60GHz無線通信,青島,266580