李 勤,李慶春,王亞妮
(1.西安科技大學(xué)地質(zhì)與環(huán)境學(xué)院,陜西 西安 710054;2.長安大學(xué)地質(zhì)工程與測繪學(xué)院,陜西 西安 710054)
?
多分量地震波交互式速度計算方法的實現(xiàn)
李 勤1,李慶春2,王亞妮2
(1.西安科技大學(xué)地質(zhì)與環(huán)境學(xué)院,陜西 西安 710054;2.長安大學(xué)地質(zhì)工程與測繪學(xué)院,陜西 西安 710054)
針對地震波多分量進(jìn)行速度分析的技術(shù)進(jìn)行討論,引入選擇性相關(guān)法理論,利用精確速度時差方程,結(jié)合計算機(jī)圖形技術(shù),充分利用C++提供的友好界面和Fortran語言在算法方面的優(yōu)勢,自主研發(fā)出一套針對金屬礦的地震波多分量速度分析軟件,實現(xiàn)了速度分析的算法優(yōu)化和交互性,在一定程度上提高了速度分析的精度,同時,該軟件可以方便地移植到其它的大型軟件中。
地震波;速度譜;速度分析
多分量地震勘探已成為現(xiàn)在的一個熱門研究課題,速度分析是地震數(shù)據(jù)處理中必不可少的步驟,速度參數(shù)也是地震數(shù)據(jù)處理和解釋中最為重要的參數(shù)之一。多分量地震勘探技術(shù)在海上勘探已經(jīng)非常成熟,在陸上尤其在金屬礦勘探方面有待于進(jìn)一步深入研究[1-10]。其中,劉春成[4]將多分量地震技術(shù)用于渤海,取得了良好的應(yīng)用效果。劉建勛[7]指出金屬礦中地震波反射信號較弱,對信號處理要求采用更高精度的方法,王華忠[8]對速度分析的研究現(xiàn)狀進(jìn)行了論述,指出速度分析的精度有待提高,郭樹祥[9]通過優(yōu)化數(shù)據(jù)量的方法提高速度分析的精度。目前對于速度分析的研究主要集中在算法方面,但在實際工作中,速度分析的精度還依賴于速度譜的質(zhì)量和速度分析的交互性程度。然而,目前的大型地震數(shù)據(jù)處理軟件所帶的速度分析模塊大多是針對單分量進(jìn)行速度分析,不具備多分量速度分析的功能,而且通常是適用于油氣開發(fā)中,軟件的速度分析模塊也受封裝限制,不能加載到其它軟件中。
針對上述問題,本文開發(fā)了一套適用于金屬礦地震波多分量速度分析的開放式模塊,其中的地震波多分量速度分析模塊通過C++和Fortran混合編程實現(xiàn),提供友好的界面,實現(xiàn)交互式速度分析,便于速度信息的準(zhǔn)確拾取,同時通過選擇性相關(guān)法和精確的地震波多分量時差計算公式,實現(xiàn)算法優(yōu)化,減小速度分析過程的誤差,提高速度分析的效率和精度。
地震波多分量速度分析模塊實際包含速度譜生成和動校正兩部分,需要將界面開發(fā)和算法實現(xiàn)相結(jié)合,本文充分利用VC++提供的強(qiáng)大界面開發(fā)平臺[11]和Fortran語言在科學(xué)計算方面的優(yōu)勢[12],通過VC++和Fortran混合編程,實現(xiàn)交互式速度分析。
1.1 速度譜
地震資料處理中制作速度譜的方法有多種,針對金屬礦反射波信號信噪比較低的特點,本文采用選擇性相關(guān)法,實現(xiàn)將弱速度信號從復(fù)雜信號中分離,利用選擇相關(guān)量測公式(式1)計算能量值UCSC(νtrial,t0)[13]:
UCSC(νtrial,t0)
(1)
式中:t0和vtrial分別為計算能量時所選取的時間和速度值;w是給定的時窗;j,k為所選道號,M是抽取道集的總道數(shù);fk,t(k)和fj,t(j)分別是第k道在t(k)時的樣值和第j道在t(j)時的樣值;dm=min(j-k),jm(k)=k+dm。
1.2 交互式速度分析
地震波多分量交互式速度分析實際包含速度譜的顯示和交互式動校正兩部分,需要將界面開發(fā)和算法實現(xiàn)相結(jié)合。本文通過VC++和Fortran混合編程,實現(xiàn)多分量交互式速度分析。VC++和Fortran混合編程通過程序調(diào)用來實現(xiàn),常見的調(diào)用方式有兩種:直接調(diào)用和動態(tài)鏈接庫(DLL)調(diào)用。直接調(diào)用時,通常會由于兩種語言的約定不同(包括命名約定、調(diào)用約定、參數(shù)傳遞約定等)(表1),出現(xiàn)鏈接錯誤;而動態(tài)鏈接庫(DLL)的調(diào)用方式,由兩種語言獨立執(zhí)行,遵守這些基本約定后再混合,從而實現(xiàn)成功鏈接。
表1 C++和Fortran不同約定對照表
下面我們以轉(zhuǎn)換波速度分析為例提供一個解決方案,本文使用的編譯環(huán)境為Microsoft Visual C++ 2010 和 Compaq Visual Fortran 6.5,操作系統(tǒng)為Windows XP 平臺。
(1)創(chuàng)建Fortran動態(tài)鏈接庫
首先在Fortran內(nèi)部對Fortran子程序進(jìn)行編譯,生成可以在VC++中調(diào)用的動態(tài)鏈接庫DLL文件,在Fortran子程序中采用以下方法對動態(tài)鏈接庫文件DLL進(jìn)行說明:
SUBROUTINE ANIANA(infile, outfile)
!DEC$ ATTRIBUTES DLLEXPORT:: Aniana
!DEC$ ATTRIBUTES ALIAS : "Aniana" :: Aniana
……
END SUBROUTINE
這里使用關(guān)鍵字DLLEXPORT說明子程序Aniana在動態(tài)鏈接庫DLL文件中可被外部調(diào)用,并使用關(guān)鍵字ALIAS給該程序名賦一個別名,限定函數(shù)名Aniana為大小寫混寫的形式,以協(xié)調(diào)C++和Fortran在命名約定方面存在的不一致,遵守各自約定,確保Fortran函數(shù)名在VC++中調(diào)用時不發(fā)生變化。
同時,為了協(xié)調(diào)兩者在堆棧管理方面的參數(shù)傳遞約定,F(xiàn)ortran子程序中必須添加編輯器的通用編輯指令!DEC$來協(xié)調(diào),并通過可選項STDCALL或C參數(shù)來實現(xiàn)。
(2)VC++實現(xiàn)調(diào)用
VC++調(diào)用Fortran動態(tài)鏈接庫的方式有兩種:顯式調(diào)用和隱式調(diào)用。顯式調(diào)用可以減少應(yīng)用程序加載的時間,提高運算速度;而隱式調(diào)用一定程度上會加大內(nèi)存的消耗。本文對Fortran動態(tài)鏈接庫(DLL)文件采用顯式調(diào)用。
顯式調(diào)用需要借助API函數(shù),首先在VC++中使用API函數(shù)LoadLibrary裝載動態(tài)庫DLL文件:
hDLL=LoadLibrary((LPCWSTR)TEXT("ANIANA.dll"));
ANIANA.dll是Fortran生成的DLL文件名,也是VC++需要裝載的DLL文件名。成功加載動態(tài)庫文件后,返回裝載模塊的實例句柄。然后通過API函數(shù)GetProcAddress獲得裝載模塊中導(dǎo)出函數(shù)的地址:
pANiana lpANiana=(pANiana)GetProcAddress(hDLL,"ANIANA");
hDLL包含被調(diào)用的函數(shù)庫模型的句柄,LoadLibrary函數(shù)返回函數(shù)值。lpANiana為指針,指向函數(shù)在程序中的次序值或以NULL結(jié)尾且包含函數(shù)名的字符,如要實現(xiàn)強(qiáng)制類型變換的功能使用無類型指針FARPROC。
函數(shù)執(zhí)行成功后,要通過API函數(shù)FreeLibrary釋放,卸載動態(tài)庫文件,并將函數(shù)從內(nèi)存中移出:
FreeLibrary(hDLL);
通過混合編程實現(xiàn)速度分析時,從VC++提供的界面中直觀地讀取數(shù)據(jù),提高了數(shù)據(jù)輸入的效率;并通過調(diào)用Fortran算法精確計算,提高數(shù)據(jù)輸出的準(zhǔn)確性,完全實現(xiàn)與用戶的交互式速度分析過程。
地震波多分量速度分析模塊是一個開放式模塊,能脫離Fortran環(huán)境單獨運行,可以加載到其它的地震數(shù)據(jù)處理軟件中,為地震數(shù)據(jù)解釋提供更豐富的信息量,在一定程度上可減少地震數(shù)據(jù)解釋的多解性。
為檢驗本文開發(fā)的金屬礦地震波多分量速度分析模塊的效果,設(shè)計了一個3層理想地層模型(圖1),模型參數(shù)見表2。觀測系統(tǒng)參數(shù)為:單邊放炮,150炮,每炮100道,道距3 m,炮距3 m。用本文的速度分析模塊對由模型經(jīng)射線追蹤產(chǎn)生的PP波(即P波入射,P波反射)和PSV轉(zhuǎn)換波(即P波入射,SV波反射)進(jìn)行試算。地震記錄采用地震數(shù)據(jù)正演模擬程序計算獲得。圖2、3分別為對抽取的PP波和PSV波的兩個道集進(jìn)行速度分析的結(jié)果。
圖1 地層模型Fig.1 Strata model
在進(jìn)行多分量交互式速度分析時,首先從圖2的PP波速度譜中拾取速度、時間等信息,然后將PP波速度分析所得到的信息作為PSV波速度分析時的已知參數(shù),進(jìn)行PSV波速度分析,系統(tǒng)自動讀入相應(yīng)的PP波數(shù)據(jù)信息以節(jié)約數(shù)據(jù)輸入的時間,如果拾取的信息在PSV波中進(jìn)行分析時得到的分析結(jié)果不滿意,可以通過一鍵式菜單返回PP波模塊重新進(jìn)行速度分析,這就實現(xiàn)了在一個模塊中進(jìn)行多分量速度分析,在一定程度上提高了速度分析的精度。
表2為速度分析結(jié)果與理論疊加速度對比表。從表2可以看出,交互式速度分析結(jié)果與理論疊加速度基本一致,達(dá)到地震波多分量速度分析的精度要求。從圖2、3可以看出,通過交互式數(shù)據(jù)分析拾取速度后,動校正效果較好,達(dá)到地震數(shù)據(jù)處理的基本要求。
圖2 PP波道集速度分析圖Fig.2 Velocity analysis on PP dataa—交互速度譜; b—模型數(shù)據(jù)道集;c—捕獲速度動校正后的道集。
圖3 PSV波道集速度分析圖Fig.3 Velocity analysis on PSV dataa—交互速度譜; b—模型數(shù)據(jù)道集;c—捕獲速度動校正后的道集。
地層層厚(m)密度(kg/m3)PP波PSV波理論疊加速度(m/s)速度分析結(jié)果(m/s)相對誤差(%)理論疊加速度(m/s)速度分析結(jié)果(m/s)相對誤差(%)層1110200025002558021583157107層2200220030093115352033196434層3∞2900
本文采用選擇性相關(guān)法制作速度譜,用優(yōu)化的PP波和PSV波時差方程進(jìn)行時差分析,并通過C++和Fortran語言混合編程,簡化了速度分析的流程,實現(xiàn)了界面友好、算法精確的交互式速度分析,編制了一套適合地震波多分量速度分析的軟件,為金屬礦多分量地震勘探提供了技術(shù)支持。經(jīng)模型實驗驗證,該軟件實現(xiàn)了速度分析的算法優(yōu)化和交互性,在一定程度上提高了速度分析的精度。地震波多分量速度分析模塊是開放式模塊,能脫離Fortran環(huán)境單獨運行,可方便地移植到其它的大型軟件中。
[1]Taner M T, Koehler F. Velocity spectra-digital computer derivation and applications of velocity function[J]. Geophysics,1969,34(6):859-881.
[2]Allen B. Cunningham, Harland H. Herffring. Interpretation of velocity spectra[J]. Geophysics, 1980,45(12):1741-1752.
[3]Abbad B., Ursin B., Rappin D. Automatic nonhyperbolic velocity analysis[J]. Geophysics, 2009, 74(2): U1-U12.
[4]劉春成,劉寶睿.渤海多波地震勘探在復(fù)雜構(gòu)造研究中的初步應(yīng)用[J].鈾礦地質(zhì),2006,22(4):235-239.
[5]王立明,李慶春.選擇相關(guān)法提高轉(zhuǎn)換波速度分析精度[J].地球物理學(xué)進(jìn)展,2006,21(4):1213-1220.
[6]潘宏勛,方伍寶.基于起伏地表的疊加速度分析[J].石油地球物理勘探,2008,43(1):29-33.
[7]劉建勛,王小江.金屬礦轉(zhuǎn)換波地震勘查技術(shù)[J].物探與化探,2012,36(4):607-611.
[8]王華忠,馮 波,李 輝,等.各種速度分析與反演方法的對比研究[J].巖性油氣藏,2012,24(5):1-12.
[9]郭樹祥.一種優(yōu)化數(shù)據(jù)量以提高地震速度分析精度的方法[J].石油物探,2013,52(1):35-42.
[10]莊祖垠,麻志國,王志亮,等.高密度各向異性速度分析技術(shù)及應(yīng)用[J].工程地球物理學(xué)報,2013,10(2):227-235.
[11]李 娟,張 欽.基于動態(tài)鏈接庫的Visual C++混合編程[J].計算機(jī)工程與設(shè)計,2010,31(9):2140-2144.
[12]柳建新,籍 煒,劉 穎,等.基于Matlab與Fortran混合編程的一維fCSEM正演可視化[J].物探化探計算技術(shù),2012,34(2):224-228.
[13]Ken Larner, Valmore Celis. Selective-correlation velocity analysis[J]. Geophysics,2007,72(2):U11-U19.
Implementation of Interactive Velocity Computation Method for Multi-component Seismic Wave
LI Qin1, LI Qing-chun2, WANG Ya-ni2
(1.Xi’anUniversityofScienceandTechnology,CollegeofGeologicalandEnvironmentalSciences,Xi’an,Shaanxi710054,China;2.Chang’anUniversity,CollegeofGeologyEngineeringandGeomatics,Xi’an,Shaanxi710054,China)
This paper mainly discussed the technique of multi-component seismic wave velocity analysis and programed a set of software for interactive velocity analysis of seismic wave in mining exploration. Velocity analysis and moveout equation were used together with computer graphics technque on the basis of selected-correlation method. The accuracy of velocity analysis was improved someway by combining graphic user interface (GUI) provided by VC++ and strong algorithmic function provided by Fortran. The software is an open module and can be planted in other software easily.
seismic wave; velocity spectrum; velocity analysis
10.3969/j.issn.1000-0658.2015.04.008
國家自然科學(xué)基金項目(編號:41304105);高等學(xué)校博士學(xué)科點專項科研基金項目(20120205130002);陜西省教育廳專項科研計劃項目(編號:12JK0470)資助。
2013-07-29 [改回日期]2015-04-22
李 勤(1979—),女,講師,博士,從事地震勘探技術(shù)研究工作。E-mail: eriliqin@126.com
1000-0658(2015)04-0467-05
P631.4+4
A