郝小龍,高國寅,王偉,楊誠
(西安石油大學電子工程學院,陜西西安 710065)
測井是油氣勘探與開發(fā)的“眼睛”,聲波測井在地層評價、儲層改造和隨鉆地質導向等方面發(fā)揮著重要作用[1-2]。隨著探測深度和精度的提高,聲波測井的數據量越來越大,給實時上傳和高效測井帶來了巨大挑戰(zhàn)[3]。對數據進行井下處理是一種有效的途徑。
在聲波測井中,使用較多的數據處理算法有深度校正、增益還原和噪聲濾波等預處理算法[4],全波列中求取縱橫波時差的慢度-時間分析、頻譜分析等算法[5-7],處理反射波的波場分離和偏移疊加算法[8-9]以及用于增強方位分辨率的相控陣接收算法等[10]。這些算法大多在PC 機中對測井后的數據進行處理,未考慮算法的運行時間和內存占用量,不能作為測井過程中的井下實時處理算法。必須開發(fā)井下儀器硬件支持、滿足測井時效性的井下實時處理算法。
上位機軟件是開發(fā)井下處理算法的重要輔助工具,甚至是算法的必要組成部分。本文在分析井下處理算法開發(fā)流程的基礎上,提煉了上位機軟件需要具備的功能,設計了測井數據轉換、USB 文件傳輸和數據處理三個模塊,并使用實際測井數據和井下算法驗證系統(tǒng)前端機對上位機軟件進行了測試。
聲波測井井下算法驗證系統(tǒng)的總體框架見圖1。系統(tǒng)主要包括前端機和上位機兩部分,二者通過USB線連接。前端機是系統(tǒng)的核心,實現相應的井下處理算法,它通過USB 接口與外部交換數據。為了確保井下算法的可行性和可移植性,前端機使用的處理器與井下儀器相同,一般為數字信號處理器(DSP)或者現場可編程門陣列(FPGA)。上位機主要包括文件轉換、USB 傳輸和數據處理三個模塊,其中文件轉換模塊實現測井數據文件的解析和轉換,USB 傳輸模塊與前端機進行通信,數據處理模塊對算法的效果進行驗證和評價。
圖1 井下算法驗證系統(tǒng)總體框架
開發(fā)井下處理算法主要包含以下幾個流程:(1)上位機文件轉換模塊先將實際測井數據轉換成前端機能夠識別的數據格式,然后通過USB 傳輸模塊發(fā)送到前端機中。(2)前端機運行井下處理算法,對接收到的測井數據進行處理,將處理結果通過USB 接口回傳給上位機。(3)上位機對經過前端機處理后的數據進行二次處理,分析與評價井下算法的效果。
聲波測井井下處理算法的上位機軟件開發(fā)在VS2010 環(huán)境中進行,主要包含三個模塊:文件轉換模塊、USB 傳輸模塊和數據處理模塊。
文件轉換是根據輸入文件的數據記錄格式,將其轉換成所需格式的新文件[11]。井下算法驗證系統(tǒng)中的文件轉換模塊見圖2,它能夠將不同儀器測量的不同記錄格式的聲波測井數據轉換為井下算法驗證系統(tǒng)前端機能夠識別的數據文件,為后續(xù)的井下處理算法開發(fā)提供測試數據。
圖2 文件轉換模塊
文件轉換模塊由文件輸入、文件輸出和文件回放三個功能子模塊組成。文件輸入子模塊中可以導入聲波測井原始數據文件,并識別出數據所對應的起始深度、終止深度和采樣間隔,供文件轉換使用。文件輸出子模塊根據井下算法驗證系統(tǒng)前端機所需的數據內容和格式,選擇導出數據的深度、站和道,進而實現聲波測井數據文件的格式化輸出。文件回放子模塊主要用于快速檢查測井文件和數據的質量[12]。該模塊可以選擇回放文件的類型并在繪圖區(qū)顯示波形。若是選擇“輸入”類型,則文件回放輸入子模塊中的原始數據文件;若是選擇“輸出”類型,則文件回放輸出子模塊轉換得到的導出文件。此外,通過調用定時器功能,可以設置文件回放的周期。
文件傳輸模塊基于USB 2.0 協議設計,實現了上位機與前端機之間的雙向通信,進行井下算法處理前后的數據交換。設計的文件傳輸模塊見圖3,該模塊在USB 設備初始化的基礎上實現了數據文件的下傳和讀取兩個功能,并顯示傳輸狀態(tài)。
圖3 文件傳輸模塊
USB 設備的初始化調用Cypress 公司提供的庫文件CyAPI.lib 和相應的控制函數CyAPI.h、cyioctl.h 來創(chuàng)建USB 設備結構體,打開USB 設備以及初始化設備端點,獲取USB 設備的連接數目與名稱等信息[13-14]。本設計中,USB 設備與前端機連接正常后,該模塊顯示連接狀態(tài)和該設備的PID 和VID。
文件下傳子模塊通過USB 接口,將算法處理系統(tǒng)前端機能夠識別的處理前數據文件傳入前端機。而文件讀取模塊接收來自前端機處理后的數據文件。文件下傳和讀取是以512 字節(jié)的數據包為單位進行的。每個數據包中,前511 個字節(jié)為測井數據,最后一個字節(jié)為校驗和。文件傳輸的狀態(tài)使用傳輸速度和誤碼率來表示,其中誤碼率的計算是通過上位機和前端機對收發(fā)的數據包進行校驗實現的。文件傳輸完畢后,若誤碼率不為0,則重新傳輸該文件。
數據處理模塊是上位機軟件中的可擴展模塊,可根據需要隨時增加處理功能。該模塊可以實現井下處理算法的驗證功能甚至作為算法的必要部分。針對參數計算一類的算法,該模塊可以使用相同程序進行算法效果的驗證。而對聲波測井數據壓縮算法來說,上位機的數據處理模塊是必不可少的組成部分。該算法的壓縮部分在井下儀器的處理器中實現,而解壓縮功能在上位機中完成。
本設計對文件轉換模塊和傳輸模塊分別進行了測試。測試文件轉換模塊時,先依次執(zhí)行文件導入和文件轉換操作,將聲波測井原始數據文件轉換為前端機識別的數據文件,然后對兩個文件分別進行回放。結果顯示,文件轉換模塊的3 個子模塊均能正常工作,回放的一道波形見圖4。
圖4 文件回放結果圖
傳輸模塊的測試是通過在前端機和上位機之間傳輸1 GB 的數據文件進行的,其中前端機的處理器為FPGA。測試表明,該文件傳輸的下傳速度可達43.36 MB/s,上傳讀取速度可達34.78 MB/s,誤碼率均為0。這表示文件傳輸模塊是正常的。
對數據進行井下處理是實現聲波測井實時上傳和高效測井的有效途徑。上位機軟件是開發(fā)井下處理算法的重要輔助工具,甚至是算法的必要組成部分。
本文設計了包含測井數據轉換、USB 文件傳輸和數據處理三個模塊的上位機軟件,實現了測井原始數據的格式轉換與快速傳輸功能,滿足了開發(fā)井下數據處理算法的上位機需求。該上位機軟件有利于加快聲波測井井下處理算法的開發(fā),從而為提高測井速度和實現降本增效服務。