測井數據實時無損壓縮研討和實踐
時間:2022-07-22 10:39:59
導語:測井數據實時無損壓縮研討和實踐一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
隨著新型井下儀器的不斷涌現及多種井下儀器的組合應用,測井信息通道也不斷增加,傳輸的數據量越來越大。由于數據傳輸率與數據的實時存取以及井下系統的功耗是矛盾的,要實現井下幾千米的測井數據的實時傳輸,就必須盡量提高數據傳輸率,但隨著傳輸率的提高,信號的衰減和系統功耗也隨之增加。為了滿足新型測井系統對數據傳輸的要求,本系統采用了較高的傳輸率,測井時必須把采集的井下信息可靠而實時地傳輸到地面,由于測井信息傳輸通道的傳輸距離遠,無線傳輸速度慢等特性的限制,解決好傳輸率的問題并非易事。因此,為了滿足井下數據的實時傳輸,便通過將井下采集的數據進行壓縮處理后再進行傳輸,這樣就間接地提高了傳輸率。
本文以研究LzW算法為基礎,以FPGA為硬件平臺,以解決軟件壓縮解壓所存在的速度慢、占用內存多的缺點。即:a.提高壓縮解壓速度,有利于實時性處理;b.節省寶貴的CPU資源,從而取得非常好的效果匡3〕。用不同的無損壓縮方法對數據(b)進行處理,從圖2可以看出,與RLE[4]、Huffinan算法[5]、幀相關壓縮[6]相比,LZW的壓縮效果明顯高于其他算法,尤其是遠遠高于通用的(未考慮測井數據特征)RLE、Huffillan算法。幾種無損壓縮結果的比較信息頭一數據區{CRC校驗位1FAAF圖1觀叮井數據格式測井數據是以區為單位連續讀取的,每個區有258個字節組成,如圖1所示,每個區有四部分組成:信息頭(6個Bytes)、數據區(246個字節)、CRC校驗位(4個Bytes)、信息尾(FAAF)。為了獲得更好的壓縮效果,將測井數據進行預處理,處理后的數據分為三部分:數據(a)包括信息頭、FAAF,數據(b)包括數據區,數據(c)包括cRc校驗位。由于數據(a)是固定的,用特殊的代碼(100H)表示即可。由于數據(c)位數相對較少,故主要對數據區進行處理。從圖3可以看出,隨著數據字節數的增多,數據的重復率越高,壓縮效果越好。但是,壓縮效果不能無限制地提高,這是因為隨著測井數據差別的增大,數據重復率降低,壓縮效果受到限制。因此,根據實際情況確定合適的字典大小是非常關鍵的,本文采用兩個字典輪流工作,取得了很好的效果。另外,LZW算法的實時性較好,運算快,易于硬件的實現,這也正是選擇該算法的重要原因。
2LZW算法的過程描述LZW算法有三個重要的對象:輸入數據流、輸出編碼流和一張用于編碼的字典。輸入數據流是指被壓縮的數據;輸出編碼流是指壓縮后輸出的代碼流;字典存儲的是字符串及其索引號,從而實現了數據的無損壓縮。其壓縮算法的過程見文獻【7]。該算法的基本思想是用簡單的代碼來代替復雜的字符串以實現壓縮,在壓縮過程中自適應建立一個字典,反應了字符串和代碼的對照關系,通過查詢字典來確定字符串壓縮代碼的輸出。LZW編碼能夠有效地利用重復出現的字符,只需掃描一次,無需有關輸入數據統計量的先驗信息,其運算時間正比于數據的長度。圖4是對數據(b)進行編碼的過程,如果字典中沒有當前組成的字符串,則給該字符串編碼,并且放入字典中,否則,繼續讀取下一個字符組成新的字符串,如此循環。可以看出,隨著輸入的增多,字典的存儲也會增多,每個存儲地址代表更長的字符串,編碼效果也會越來越好。7只吞二奮591硯種170451556眾16習4多87t4U苦4人凌56卜礴9子4子〕2矛八口6封吞〔一14月5(1044公129盆O嗚65t78455717B今,17臼38t7日_.{尸圖5編碼輸出圖5是對數據(b)編碼后的數據輸出,如果字典中沒有當前組成的字符串,則將前綴輸出,否則,不進行任何輸出,繼續讀取字符,組成新的字符串,如此循環。3硬件數據壓縮算法的基本原理及過程本文采用FPGA[8]實現了數據的實時無損壓縮。以Altera公司的Cyclonexl系列中的EPZe5T一1418作為目標器件,經過Quartusll軟件編譯綜合,ModelsimSE仿真,得到工程的綜合報告和仿真情況。圖6是整個工程的FPGA資源占用情況。由綜合結果得到,系統能夠穩定運行的最高工作頻率是134MHz,平均每12個周期壓縮一個數據點,數據點輸入位寬為shits,所以整個系統能夠有效處理的能力為:89.3M/S。
其中,使用Verilog語言進行功能描述設計的FPGA芯片是整個算法的核心部分。系統運行時,井下的測井數據經過一些預處理(去冗余:將幀頭去陶后傳送給FpG入進行存儲、壓縮處理等操作。綜合該算法和FPGA的特點,提高算法的壓縮性能與FPGA的資源利用率,做出了如下處理。
(l)為提高測井數據的壓縮率,對數據(c)先進行差值處理后,再進行LZW壓縮。
(2)為保證異步時鐘域數據同步,采用FPG內的雙口RAM構成一個FIFO對預處理后的數據進行緩存。
(3)對于HASH地址查找[9],難免會有沖突發生,解決該問題的途徑有兩種:a.改變HASH函數;b.記錄法:將每個字符串是否被用過、被哪個段用過記錄下來,當然這樣會占用額外內存,但是用這點內存換取時間也是非常值得的。
(4)字典存儲器模塊。字典的一個詞條包括字典編碼、前綴、后綴(當前字節)。每個詞條的寬度為咒位(字典編碼12位,前綴12位,當前字節8位)。
(5)由于數據具有局部平穩性,隨著數據的增多,數據間的相關性降低,影響壓縮效率。可采用雙字典輪流工作機制,使字典適應于數據流的輸入。圖8所示是數據(b)的仿真截圖,圖中的code是字典編碼,dataout是12位的輸出,對照圖4、圖5對應的理論壓縮過程,可見LZW模塊仿真的結果無誤。3硬件數據壓縮算法的基本原理及過程本文采用FPGA[8]實現了數據的實時無損壓縮。以Altera公司的Cyclonexl系列中的EPZe5T一1418作為目標器件,經過Quartusll軟件編譯綜合,ModelsimSE仿真,得到工程的綜合報告和仿真情況。圖6是整個工程的FPGA資源占用情況。4結語本文用硬件方法實現測井數據的實時無損壓縮,能夠將高速信號變成緩變信號進行傳輸,對于提高通信的信道容量,提高數據的可靠性具有重要的意義。
通過實踐證明,數據的壓縮比能達到19%左右,這大大提高了無線測井數據傳輸的效率。本技術對于石油探測數據的采集具有重要的意義,具有廣闊的應用前景。本文創新點:與其他同類文章相比,本文將LZW壓縮算法應用于測井數據特征的數據壓縮處理,并通過FPGA對LZW算法進行完善,充分利用硬件資源,避免了在處理過程中有可能會出現的遺漏采樣點情況。
- 上一篇:全市教育紀檢監察情況打算
- 下一篇:長春市民主政治建設推進與發展