李 勤,李慶春,王亞妮
(1.西安科技大學(xué)地質(zhì)與環(huán)境學(xué)院,陜西 西安 710054;2.長(zhǎng)安大學(xué)地質(zhì)工程與測(cè)繪學(xué)院,陜西 西安 710054)
?
多分量地震波交互式速度計(jì)算方法的實(shí)現(xiàn)
李 勤1,李慶春2,王亞妮2
(1.西安科技大學(xué)地質(zhì)與環(huán)境學(xué)院,陜西 西安 710054;2.長(zhǎng)安大學(xué)地質(zhì)工程與測(cè)繪學(xué)院,陜西 西安 710054)
針對(duì)地震波多分量進(jìn)行速度分析的技術(shù)進(jìn)行討論,引入選擇性相關(guān)法理論,利用精確速度時(shí)差方程,結(jié)合計(jì)算機(jī)圖形技術(shù),充分利用C++提供的友好界面和Fortran語(yǔ)言在算法方面的優(yōu)勢(shì),自主研發(fā)出一套針對(duì)金屬礦的地震波多分量速度分析軟件,實(shí)現(xiàn)了速度分析的算法優(yōu)化和交互性,在一定程度上提高了速度分析的精度,同時(shí),該軟件可以方便地移植到其它的大型軟件中。
地震波;速度譜;速度分析
多分量地震勘探已成為現(xiàn)在的一個(gè)熱門(mén)研究課題,速度分析是地震數(shù)據(jù)處理中必不可少的步驟,速度參數(shù)也是地震數(shù)據(jù)處理和解釋中最為重要的參數(shù)之一。多分量地震勘探技術(shù)在海上勘探已經(jīng)非常成熟,在陸上尤其在金屬礦勘探方面有待于進(jìn)一步深入研究[1-10]。其中,劉春成[4]將多分量地震技術(shù)用于渤海,取得了良好的應(yīng)用效果。劉建勛[7]指出金屬礦中地震波反射信號(hào)較弱,對(duì)信號(hào)處理要求采用更高精度的方法,王華忠[8]對(duì)速度分析的研究現(xiàn)狀進(jìn)行了論述,指出速度分析的精度有待提高,郭樹(shù)祥[9]通過(guò)優(yōu)化數(shù)據(jù)量的方法提高速度分析的精度。目前對(duì)于速度分析的研究主要集中在算法方面,但在實(shí)際工作中,速度分析的精度還依賴于速度譜的質(zhì)量和速度分析的交互性程度。然而,目前的大型地震數(shù)據(jù)處理軟件所帶的速度分析模塊大多是針對(duì)單分量進(jìn)行速度分析,不具備多分量速度分析的功能,而且通常是適用于油氣開(kāi)發(fā)中,軟件的速度分析模塊也受封裝限制,不能加載到其它軟件中。
針對(duì)上述問(wèn)題,本文開(kāi)發(fā)了一套適用于金屬礦地震波多分量速度分析的開(kāi)放式模塊,其中的地震波多分量速度分析模塊通過(guò)C++和Fortran混合編程實(shí)現(xiàn),提供友好的界面,實(shí)現(xiàn)交互式速度分析,便于速度信息的準(zhǔn)確拾取,同時(shí)通過(guò)選擇性相關(guān)法和精確的地震波多分量時(shí)差計(jì)算公式,實(shí)現(xiàn)算法優(yōu)化,減小速度分析過(guò)程的誤差,提高速度分析的效率和精度。
地震波多分量速度分析模塊實(shí)際包含速度譜生成和動(dòng)校正兩部分,需要將界面開(kāi)發(fā)和算法實(shí)現(xiàn)相結(jié)合,本文充分利用VC++提供的強(qiáng)大界面開(kāi)發(fā)平臺(tái)[11]和Fortran語(yǔ)言在科學(xué)計(jì)算方面的優(yōu)勢(shì)[12],通過(guò)VC++和Fortran混合編程,實(shí)現(xiàn)交互式速度分析。
1.1 速度譜
地震資料處理中制作速度譜的方法有多種,針對(duì)金屬礦反射波信號(hào)信噪比較低的特點(diǎn),本文采用選擇性相關(guān)法,實(shí)現(xiàn)將弱速度信號(hào)從復(fù)雜信號(hào)中分離,利用選擇相關(guān)量測(cè)公式(式1)計(jì)算能量值UCSC(νtrial,t0)[13]:
UCSC(νtrial,t0)
(1)
式中:t0和vtrial分別為計(jì)算能量時(shí)所選取的時(shí)間和速度值;w是給定的時(shí)窗;j,k為所選道號(hào),M是抽取道集的總道數(shù);fk,t(k)和fj,t(j)分別是第k道在t(k)時(shí)的樣值和第j道在t(j)時(shí)的樣值;dm=min(j-k),jm(k)=k+dm。
1.2 交互式速度分析
地震波多分量交互式速度分析實(shí)際包含速度譜的顯示和交互式動(dòng)校正兩部分,需要將界面開(kāi)發(fā)和算法實(shí)現(xiàn)相結(jié)合。本文通過(guò)VC++和Fortran混合編程,實(shí)現(xiàn)多分量交互式速度分析。VC++和Fortran混合編程通過(guò)程序調(diào)用來(lái)實(shí)現(xiàn),常見(jiàn)的調(diào)用方式有兩種:直接調(diào)用和動(dòng)態(tài)鏈接庫(kù)(DLL)調(diào)用。直接調(diào)用時(shí),通常會(huì)由于兩種語(yǔ)言的約定不同(包括命名約定、調(diào)用約定、參數(shù)傳遞約定等)(表1),出現(xiàn)鏈接錯(cuò)誤;而動(dòng)態(tài)鏈接庫(kù)(DLL)的調(diào)用方式,由兩種語(yǔ)言獨(dú)立執(zhí)行,遵守這些基本約定后再混合,從而實(shí)現(xiàn)成功鏈接。
表1 C++和Fortran不同約定對(duì)照表
下面我們以轉(zhuǎn)換波速度分析為例提供一個(gè)解決方案,本文使用的編譯環(huán)境為Microsoft Visual C++ 2010 和 Compaq Visual Fortran 6.5,操作系統(tǒng)為Windows XP 平臺(tái)。
(1)創(chuàng)建Fortran動(dòng)態(tài)鏈接庫(kù)
首先在Fortran內(nèi)部對(duì)Fortran子程序進(jìn)行編譯,生成可以在VC++中調(diào)用的動(dòng)態(tài)鏈接庫(kù)DLL文件,在Fortran子程序中采用以下方法對(duì)動(dòng)態(tài)鏈接庫(kù)文件DLL進(jìn)行說(shuō)明:
SUBROUTINE ANIANA(infile, outfile)
!DEC$ ATTRIBUTES DLLEXPORT:: Aniana
!DEC$ ATTRIBUTES ALIAS : "Aniana" :: Aniana
……
END SUBROUTINE
這里使用關(guān)鍵字DLLEXPORT說(shuō)明子程序Aniana在動(dòng)態(tài)鏈接庫(kù)DLL文件中可被外部調(diào)用,并使用關(guān)鍵字ALIAS給該程序名賦一個(gè)別名,限定函數(shù)名Aniana為大小寫(xiě)混寫(xiě)的形式,以協(xié)調(diào)C++和Fortran在命名約定方面存在的不一致,遵守各自約定,確保Fortran函數(shù)名在VC++中調(diào)用時(shí)不發(fā)生變化。
同時(shí),為了協(xié)調(diào)兩者在堆棧管理方面的參數(shù)傳遞約定,F(xiàn)ortran子程序中必須添加編輯器的通用編輯指令!DEC$來(lái)協(xié)調(diào),并通過(guò)可選項(xiàng)STDCALL或C參數(shù)來(lái)實(shí)現(xiàn)。
(2)VC++實(shí)現(xiàn)調(diào)用
VC++調(diào)用Fortran動(dòng)態(tài)鏈接庫(kù)的方式有兩種:顯式調(diào)用和隱式調(diào)用。顯式調(diào)用可以減少應(yīng)用程序加載的時(shí)間,提高運(yùn)算速度;而隱式調(diào)用一定程度上會(huì)加大內(nèi)存的消耗。本文對(duì)Fortran動(dòng)態(tài)鏈接庫(kù)(DLL)文件采用顯式調(diào)用。
顯式調(diào)用需要借助API函數(shù),首先在VC++中使用API函數(shù)LoadLibrary裝載動(dòng)態(tài)庫(kù)DLL文件:
hDLL=LoadLibrary((LPCWSTR)TEXT("ANIANA.dll"));
ANIANA.dll是Fortran生成的DLL文件名,也是VC++需要裝載的DLL文件名。成功加載動(dòng)態(tài)庫(kù)文件后,返回裝載模塊的實(shí)例句柄。然后通過(guò)API函數(shù)GetProcAddress獲得裝載模塊中導(dǎo)出函數(shù)的地址:
pANiana lpANiana=(pANiana)GetProcAddress(hDLL,"ANIANA");
hDLL包含被調(diào)用的函數(shù)庫(kù)模型的句柄,LoadLibrary函數(shù)返回函數(shù)值。lpANiana為指針,指向函數(shù)在程序中的次序值或以NULL結(jié)尾且包含函數(shù)名的字符,如要實(shí)現(xiàn)強(qiáng)制類型變換的功能使用無(wú)類型指針FARPROC。
函數(shù)執(zhí)行成功后,要通過(guò)API函數(shù)FreeLibrary釋放,卸載動(dòng)態(tài)庫(kù)文件,并將函數(shù)從內(nèi)存中移出:
FreeLibrary(hDLL);
通過(guò)混合編程實(shí)現(xiàn)速度分析時(shí),從VC++提供的界面中直觀地讀取數(shù)據(jù),提高了數(shù)據(jù)輸入的效率;并通過(guò)調(diào)用Fortran算法精確計(jì)算,提高數(shù)據(jù)輸出的準(zhǔn)確性,完全實(shí)現(xiàn)與用戶的交互式速度分析過(guò)程。
地震波多分量速度分析模塊是一個(gè)開(kāi)放式模塊,能脫離Fortran環(huán)境單獨(dú)運(yùn)行,可以加載到其它的地震數(shù)據(jù)處理軟件中,為地震數(shù)據(jù)解釋提供更豐富的信息量,在一定程度上可減少地震數(shù)據(jù)解釋的多解性。
為檢驗(yàn)本文開(kāi)發(fā)的金屬礦地震波多分量速度分析模塊的效果,設(shè)計(jì)了一個(gè)3層理想地層模型(圖1),模型參數(shù)見(jiàn)表2。觀測(cè)系統(tǒng)參數(shù)為:?jiǎn)芜叿排冢?50炮,每炮100道,道距3 m,炮距3 m。用本文的速度分析模塊對(duì)由模型經(jīng)射線追蹤產(chǎn)生的PP波(即P波入射,P波反射)和PSV轉(zhuǎn)換波(即P波入射,SV波反射)進(jìn)行試算。地震記錄采用地震數(shù)據(jù)正演模擬程序計(jì)算獲得。圖2、3分別為對(duì)抽取的PP波和PSV波的兩個(gè)道集進(jìn)行速度分析的結(jié)果。
圖1 地層模型Fig.1 Strata model
在進(jìn)行多分量交互式速度分析時(shí),首先從圖2的PP波速度譜中拾取速度、時(shí)間等信息,然后將PP波速度分析所得到的信息作為PSV波速度分析時(shí)的已知參數(shù),進(jìn)行PSV波速度分析,系統(tǒng)自動(dòng)讀入相應(yīng)的PP波數(shù)據(jù)信息以節(jié)約數(shù)據(jù)輸入的時(shí)間,如果拾取的信息在PSV波中進(jìn)行分析時(shí)得到的分析結(jié)果不滿意,可以通過(guò)一鍵式菜單返回PP波模塊重新進(jìn)行速度分析,這就實(shí)現(xiàn)了在一個(gè)模塊中進(jìn)行多分量速度分析,在一定程度上提高了速度分析的精度。
表2為速度分析結(jié)果與理論疊加速度對(duì)比表。從表2可以看出,交互式速度分析結(jié)果與理論疊加速度基本一致,達(dá)到地震波多分量速度分析的精度要求。從圖2、3可以看出,通過(guò)交互式數(shù)據(jù)分析拾取速度后,動(dòng)校正效果較好,達(dá)到地震數(shù)據(jù)處理的基本要求。
圖2 PP波道集速度分析圖Fig.2 Velocity analysis on PP dataa—交互速度譜; b—模型數(shù)據(jù)道集;c—捕獲速度動(dòng)校正后的道集。
圖3 PSV波道集速度分析圖Fig.3 Velocity analysis on PSV dataa—交互速度譜; b—模型數(shù)據(jù)道集;c—捕獲速度動(dòng)校正后的道集。
地層層厚(m)密度(kg/m3)PP波PSV波理論疊加速度(m/s)速度分析結(jié)果(m/s)相對(duì)誤差(%)理論疊加速度(m/s)速度分析結(jié)果(m/s)相對(duì)誤差(%)層1110200025002558021583157107層2200220030093115352033196434層3∞2900
本文采用選擇性相關(guān)法制作速度譜,用優(yōu)化的PP波和PSV波時(shí)差方程進(jìn)行時(shí)差分析,并通過(guò)C++和Fortran語(yǔ)言混合編程,簡(jiǎn)化了速度分析的流程,實(shí)現(xiàn)了界面友好、算法精確的交互式速度分析,編制了一套適合地震波多分量速度分析的軟件,為金屬礦多分量地震勘探提供了技術(shù)支持。經(jīng)模型實(shí)驗(yàn)驗(yàn)證,該軟件實(shí)現(xiàn)了速度分析的算法優(yōu)化和交互性,在一定程度上提高了速度分析的精度。地震波多分量速度分析模塊是開(kāi)放式模塊,能脫離Fortran環(huán)境單獨(dú)運(yù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]王華忠,馮 波,李 輝,等.各種速度分析與反演方法的對(duì)比研究[J].巖性油氣藏,2012,24(5):1-12.
[9]郭樹(shù)祥.一種優(yōu)化數(shù)據(jù)量以提高地震速度分析精度的方法[J].石油物探,2013,52(1):35-42.
[10]莊祖垠,麻志國(guó),王志亮,等.高密度各向異性速度分析技術(shù)及應(yīng)用[J].工程地球物理學(xué)報(bào),2013,10(2):227-235.
[11]李 娟,張 欽.基于動(dòng)態(tài)鏈接庫(kù)的Visual C++混合編程[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(9):2140-2144.
[12]柳建新,籍 煒,劉 穎,等.基于Matlab與Fortran混合編程的一維fCSEM正演可視化[J].物探化探計(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
國(guó)家自然科學(xué)基金項(xiàng)目(編號(hào):41304105);高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金項(xiàng)目(20120205130002);陜西省教育廳專項(xiàng)科研計(jì)劃項(xiàng)目(編號(hào):12JK0470)資助。
2013-07-29 [改回日期]2015-04-22
李 勤(1979—),女,講師,博士,從事地震勘探技術(shù)研究工作。E-mail: eriliqin@126.com
1000-0658(2015)04-0467-05
P631.4+4
A