国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的HDB3編碼方法及其在測井電纜傳輸中的應(yīng)用研究

2010-02-27 00:33:02李豐波鞠曉東盧俊強
測井技術(shù) 2010年3期
關(guān)鍵詞:譯碼極性測井

李豐波,鞠曉東,盧俊強

(中國石油大學(xué)油氣資源與探測國家重點實驗室,北京102249)

0 引 言

測井技術(shù)的新發(fā)展迫切需要獲取井下更豐富更真實的巖性、物性、含油性及滲透性等方面的數(shù)據(jù)信息,這使得井下數(shù)據(jù)信息量成級數(shù)式的增長。國內(nèi)外電纜測井的數(shù)據(jù)信息傳輸通道通常是鎧裝7芯電纜,國產(chǎn)的如W7BP/W7BPP型,國外的如Rochester Wire &Cable公司7-H-464A型等。然而,受電纜自身性能及制造工藝的限制,還有井下高溫、高壓及沖擊、振動和井下空間狹小等惡劣環(huán)境的影響,測井電纜數(shù)據(jù)傳輸速率低,信號衰減、失真及干擾也比較嚴(yán)重,而且數(shù)據(jù)容量、帶寬亦有限。由此可見,測井電纜數(shù)據(jù)傳輸?shù)膯栴}已經(jīng)成為了現(xiàn)代測井系統(tǒng)發(fā)展的瓶頸。因此,對先進的數(shù)據(jù)編碼調(diào)制方式及適合測井實際應(yīng)用環(huán)境的高速數(shù)據(jù)傳輸系統(tǒng)的研究很有意義。

1 幾種主要的電纜測井?dāng)?shù)據(jù)傳輸編碼技術(shù)

測井電纜的傳輸性能與所傳輸信號的頻率關(guān)系密切[1],當(dāng)頻率超過100kHz時,信號衰減和時延特性變差使得難以對信道解碼。而且測井電纜的兩端是通過變壓器實現(xiàn)耦合,低頻信號(<100Hz)在耦合時必然衰減嚴(yán)重,故可將其視為頻帶寬度有限的帶通信道。

因此,為了充分利用測井電纜有限的帶寬資源,提高信息的傳輸速率,數(shù)據(jù)必須有適當(dāng)?shù)木幋a調(diào)制方式,研究更適合測井電纜數(shù)據(jù)傳輸?shù)臄?shù)據(jù)編碼調(diào)制方式便顯得尤為重要。

(1)雙二進制碼/調(diào)制雙二進制碼。Halliburton EXCELL-2000成像測井系統(tǒng)使用的數(shù)字通信系統(tǒng)DITS,上傳數(shù)據(jù)用的是調(diào)制雙二進制碼。這種碼的特點是用同樣的帶寬可以傳輸2倍的數(shù)據(jù)量,但代價是信噪比降低,波形畸變嚴(yán)重,接收端恢復(fù)困難變大,增加了地面通信接口D2MP的難度和復(fù)雜性。

(2)正交振幅調(diào)制QAM。這是高速傳輸系統(tǒng)中使用的一種編碼技術(shù),如Schlumberger公司MAXIS-500測井系統(tǒng)中的DTS數(shù)字遙測系統(tǒng),上傳數(shù)據(jù)可以實現(xiàn)高達500kbit/s的傳輸速率。還有國產(chǎn)的EILog系統(tǒng),采用COFDM(正交頻分復(fù)用)調(diào)制,上傳數(shù)據(jù)時其子信道內(nèi)即采用16/32QAM方式,傳輸速率可以達到300kbit/s。QAM雖然傳輸速率高,但其編譯碼過程相當(dāng)復(fù)雜[2],井下部分更要考慮其特殊環(huán)境下的工藝要求。

(3)曼徹斯特碼。它是測井?dāng)?shù)據(jù)傳輸中最常用的編碼方式之一,如BAKER ATLAS公司早期的PCM3508系統(tǒng)即是采用的曼徹斯特碼[3],以及后來的ECLIPS-5700測井系統(tǒng)中的WTS電纜遙傳系統(tǒng)中仍然采用的是曼徹斯特碼。編解碼實現(xiàn)通常的做法是用HD6408(HD15530)與并入串出、串入并出移位寄存器及輸入輸出緩沖器等外部電路配合完成。

此外還有Schlumberger公司CTS電纜遙測系統(tǒng)中采用的BPSK編碼技術(shù)[3],以及通過引入受控制的碼間干擾來達到壓縮傳輸頻帶、提高傳輸速率的相關(guān)編碼技術(shù)[4]等。

2 HDB3碼原理

HDB3碼(High Density Bipolar of order 3,三階高密度雙極性碼)是在AMI碼(Alternative Mark Inversion,傳號交替反轉(zhuǎn)碼)的基礎(chǔ)上改進的一種雙極性歸0碼。它除具有AMI碼功率譜中無直流分量,可進行差錯自檢等優(yōu)點外,還克服了AMI碼當(dāng)信息中出現(xiàn)連0碼時定時提取困難的缺點,而且HDB3碼頻譜能量主要集中在時鐘頻率1/2范圍內(nèi),提高了信道頻帶的利用率。

AMI碼就是把單極性脈沖序列中相鄰的1碼(即正脈沖)變?yōu)闃O性交替的正、負(fù)脈沖。即將0碼保持不變,把1碼變?yōu)椋玪、-1交替的脈沖。HDB3碼的編碼規(guī)則如下:當(dāng)輸入碼流連0碼小于或等于3個時,用0表示信息0,把1碼變?yōu)椋玪、-1交替的脈沖,分別用+B、-B來表示。當(dāng)出現(xiàn)4個或4個以上連0碼時,每4個連0為1節(jié),稱為取代節(jié),把每節(jié)的第4個0碼變?yōu)?碼,用V碼來表示,稱為破壞點。而且規(guī)定V碼的極性與前一非0碼相同以便識別,用+V、-V表示。但為了防止破壞碼流極性交替反轉(zhuǎn),必須保證相鄰V碼的極性交替反轉(zhuǎn)。當(dāng)相鄰V碼間非0碼的個數(shù)為奇數(shù)時是可以的,但若為偶數(shù),則必須將其變?yōu)槠鏀?shù),方法是將取代節(jié)中第1個0碼變成1,極性與前一非0碼相反,亦用+B、-B表示,并讓后面的非0碼從V碼開始再交替變化。

在同樣的頻帶寬度下,HDB3碼的傳輸速率能達到曼徹斯特碼的2倍左右。若傳輸速率相同,HDB3碼的頻帶寬度是相關(guān)編碼信號頻帶寬度的1倍左右,這對于頻帶資源十分寶貴的測井電纜來說,大大提高了頻帶的利用率。相關(guān)編碼信號在測井電纜中傳輸時,是一種偽三元序列,有+2、-2電平和0電平,與HDB3的3個電平(+l、0、-1)類似,但其電平比HDB3碼的高1倍,這意味著傳輸相同的信息相關(guān)編碼需要更大的驅(qū)動功率,這對電源及驅(qū)動電路提出了更高的要求,而且限于井下的特殊環(huán)境,設(shè)計中應(yīng)該盡量減小系統(tǒng)的功耗。

由HDB3碼的編碼原理可以發(fā)現(xiàn),HDB3碼自身就具有檢錯能力,當(dāng)傳輸過程中出現(xiàn)單個誤碼時,破壞點序列的極性交替規(guī)律將受到破壞,因而可以在使用過程中監(jiān)測傳輸質(zhì)量,而其他的編碼技術(shù)多數(shù)需要加上循環(huán)冗余檢驗單元(CRC)來檢查信息傳輸?shù)臏?zhǔn)確性。

3 試驗系統(tǒng)整體設(shè)計

該系統(tǒng)將核心HDB3編、譯碼模塊及相應(yīng)接口控制模塊集成在同一片F(xiàn)PGA(Field Programmable Gate Array)目標(biāo)芯片中,并通過外接相應(yīng)模擬電路單元,實現(xiàn)了雙極性的HDB3碼輸出。經(jīng)過試驗用的模擬信道的傳輸及信號恢復(fù)后,再輸入到譯碼模塊的輸入端進行譯碼。而且通過RS-232C接口實現(xiàn)同PC機的通訊。PC端將準(zhǔn)備好的一批測試數(shù)據(jù)通過串口發(fā)送給編碼模塊進行編碼輸出,通過模擬電路進行單雙極性轉(zhuǎn)換及驅(qū)動,經(jīng)過在模擬信道上的傳輸及信號恢復(fù)后再經(jīng)過譯碼,再將譯碼得到的數(shù)據(jù)又通過串口傳回給PC端作對比分析處理,通過設(shè)計的PC端應(yīng)用軟件,可以得到我們關(guān)心的一些信息,如誤碼率及傳輸數(shù)率等。系統(tǒng)整體示意框圖見圖1。

圖1 系統(tǒng)整體示意框圖

該系統(tǒng)主要由主FPGA模塊、配置模塊、UART接口模塊、電源模塊、時鐘模塊等構(gòu)成。①主FPGA模塊。目標(biāo)FPGA芯片采用Altera支持Nios II嵌入式軟核的Cyclone II EP2C35高性價比芯片。它有33 216個Les,4個PLLs,105個M4K RAM blocks,475個用戶管腳,有很大的設(shè)計利用及升級擴展空間。②配置模塊。使用EPCS16配置芯片通過JTAG接口完成對目標(biāo)FPGA的配置,將.sof文件燒到配置芯片中可以方便地進行在線調(diào)試。③UART接口模塊。為通用串行通信接口RS-232C,通過MAX232電平轉(zhuǎn)換芯片和9-pin DSUB實現(xiàn)和PC機的通訊及數(shù)據(jù)交互。④電源模塊。EP2C35內(nèi)核供電電壓Vccint為1.2V,I/O供電電壓Vccio為3.3V,Cyclone II系列Datasheet上對上電順序沒有特殊說明,但一般先給內(nèi)核供電。⑤時鐘模塊。1個50MHz晶振,提供固定時鐘頻率。1個外部時鐘輸入通道,可以根據(jù)需要另行設(shè)置時鐘頻率。

4 編譯碼核心模塊實現(xiàn)方法

4.1 編碼模塊原理及設(shè)計

根據(jù)HDB3碼的編碼規(guī)則,編碼過程首先要做連續(xù)0000的檢測,目的是要找到插入V碼的位置(也稱破壞點),同時也為下一步插入B碼提供位置參照依據(jù),所以此處如何快速便捷地識別V碼也成為關(guān)鍵。故設(shè)計在此引入雙相碼表示法來解決這一難題,V碼用11表示,而信碼1用01表示,以示區(qū)別。根據(jù)相鄰V碼間非0碼的奇偶性來判斷是否要插入B碼,奇偶性的正確判斷是此步的關(guān)鍵。FPGA只支持單極性電平,所以要實現(xiàn)單極性到雙極性的轉(zhuǎn)換。有的做法是在插入V碼、B碼的同時就附帶極性信息[5],例如+1用101,-1用001表示,這樣雙相碼就變成了三相碼,所以最后還要額外進行處理,將三相碼轉(zhuǎn)變成雙相碼,才能轉(zhuǎn)化為2路單極性輸出,以便后續(xù)模擬電路的處理。為了使設(shè)計簡潔和節(jié)省FPGA內(nèi)部資源,設(shè)計將極性處理放在最后一個環(huán)節(jié)。編碼模塊原理示意框圖見圖2。

圖2 HDB3碼編碼模塊流程圖

VHDL實體部分端口有時鐘端clk、異步清0端clr、源碼輸入端datain、以及2路單極性輸出(HDB3)端dataout等。結(jié)構(gòu)體部分由插V碼、插B碼及單雙極性變換3個process構(gòu)成。

4.1.1 連0檢測及插V碼模塊設(shè)計

因為要通過計連續(xù)0碼的個數(shù)實現(xiàn)連0000檢測,所以定義一個內(nèi)部信號count0計算0的個數(shù)。另一個內(nèi)部信號Vout來表示及暫存插V碼后輸出的雙相碼,如前文所述,V碼用11表示,信碼1用01表示,信碼0用00表示。當(dāng)檢測到4個連0時,將第4個0變成V碼輸出,即Vout≤11,其余則按原碼輸出。其中要注意的是原碼輸入為1時,count0也要及時清0,而不僅僅是在檢測到連續(xù)第4個0后才清0,因為破壞點V碼的位置必須是連續(xù)的第4個0處。

4.1.2 插B碼模塊設(shè)計

如果把上述插V碼后的字符串000V稱之為取代節(jié),那么插入B碼的位置也即是該節(jié)的首個0碼處,由于V已用11表示,就很容易識別取代節(jié)。B碼插入與否是由相鄰V碼間的非0碼(此處也可理解為信碼1)的奇偶性來決定的,那么要解決的首要問題是信碼1奇偶性的判斷問題,由于只需要知道它的奇偶性而不需要知道確切數(shù)目,所以該步需用到一個內(nèi)部信號count1判斷奇偶性,值為0表示偶數(shù)個1碼(0個1也視為偶數(shù)),值為1表示有奇數(shù)個1碼。同時還必須設(shè)置一個標(biāo)志位firstV檢測首個V碼的位置,作為起始位。B碼亦采用雙相碼10表示,以區(qū)別表示1碼的01。

與插入V碼過程不同,B碼的插入不是立即進行的,而是要綜合當(dāng)前的狀態(tài)信息對過去狀態(tài)進行判斷修改的,即只有當(dāng)前的輸入是V碼且與前一V碼間的1碼個數(shù)為偶數(shù)(count1=0)時才插入B碼,所以該步須定義2個4級移位寄存器作為緩存,R1(3downto 0)存入Vout的高位碼,R0(3downto 0)存入Vout的低位碼,再定義一個內(nèi)部信號Bout來表示及暫存插B碼后輸出的雙相碼,Bout值為R1(3)&R0(3)。

4.1.3 單雙極性變換模塊設(shè)計

由HDB3碼編碼規(guī)則及前面插V和插B過程知道,B碼的極性是和前一非0碼極性相反的,這與信碼1的極性規(guī)律相同。而V碼是與前一非0碼極性相同的,但相鄰V碼間的極性仍然滿足反轉(zhuǎn)交替,所以可以將B碼和信碼1看成一類,統(tǒng)一完成極性的反轉(zhuǎn)交替,而V碼的極性則由前一相鄰的非0碼(即B碼或1碼)的極性來決定,即與之同極性即可。所以定義一個內(nèi)部信號last_polarity作標(biāo)志位,表示前一個碼的極性,并附初值為0。0表示極性為正,1表示極性為負(fù)。最終的雙路單極性編碼輸出dataout則用10表示+1,01表示-1,00表示無極性的0,當(dāng)然也可以采用其他形式的編碼安排。然后將dataout的輸出外接到模擬電路單元,實現(xiàn)編碼到實際的正負(fù)脈沖及0電平的轉(zhuǎn)換。

4.2 譯碼模塊原理及設(shè)計

譯碼過程首先得通過模擬電路單元將輸入的雙極性HDB3碼變換恢復(fù)成2路單極性數(shù)字編碼,然后輸入給目標(biāo)FPGA芯片做譯碼處理。譯碼過程流程框圖見圖3。

圖3 HDB3碼譯碼模塊流程圖

譯碼的過程就是將取代節(jié)還原成0000的過程。取代節(jié)的形式通常為000V、B00V等2類,若帶上極性,則為+1000+V、-1000-V和+B 00+V、-B 00-V等4種。在正負(fù)交替的碼流中,只有V碼的極性是與前一非0碼的極性相同的。利用這一特點便可以找到取代節(jié)的位置。所以,碼元的極性及碼流的組成形式便是譯碼過程的關(guān)鍵依據(jù)。

為此,定義一個內(nèi)部信號polarity作為標(biāo)志位來提取碼元的極性信息,即當(dāng)codein為10時,polarity≤1,代表+;當(dāng)codein為01時,polarity≤0,代表-。還要定義1個內(nèi)部信號S,表示1個4級的移位寄存器,暫存碼流,并根據(jù)極性信息及組成形式判斷是否為取代節(jié)。例如當(dāng)S(2downto 0)為100或S為1000時,若此時codein為10(即+1)且polarity=1,說明寄存器中的碼流即為取代節(jié),將其還原即可,反之亦然;若極性不同,則說明不是取代節(jié),直接移位并且低位S(0)≤1,然后輸出即可。若codein為00,則直接移位并且低位S(0)≤0,然后輸出即可。譯碼模塊的輸出codeout為寄存器的最高位S(3)。

通常的做法是定義2組4級的移位寄存器,分別存放譯碼輸入的高、低位碼,再按取代節(jié)的不同組合形式分別檢測及還原。但設(shè)計由于編碼時對±1及0編碼形式的安排,再加上特意提取極性信息后將2路信號變成1路的設(shè)計,故設(shè)計只需用1組寄存器S(3downto 0),程序也相對簡化,既達到了目的又節(jié)省了FPGA內(nèi)部資源,從而相對優(yōu)化了設(shè)計過程。

5 PC端軟件設(shè)計

PC端軟件主要實現(xiàn)數(shù)據(jù)的發(fā)送和接收,編、譯碼數(shù)據(jù)的顯示,以及通過對2份數(shù)據(jù)的對比校驗,計算該時段的誤碼率等功能。在VC++下通過ActiveX控件MSComm完成PC端的通訊程序。原碼數(shù)據(jù)的發(fā)送通過MSComm控件的Output屬性完成,譯碼數(shù)據(jù)的接收可以通過捕獲MSComm控件的OnComm事件完成。程序主要流程示意圖見圖4。

將HDB3碼經(jīng)過試驗系統(tǒng)模擬信道傳輸并經(jīng)信號恢復(fù)及譯碼后的數(shù)據(jù)通過串口發(fā)送給PC機,PC接收數(shù)據(jù)后并以文檔文件txt形式保存下來。每次從txt文件中讀取2個字符即1個字的數(shù)據(jù),并將其轉(zhuǎn)化為二進制碼顯示,讀取前均要判斷txt文件結(jié)束標(biāo)識符EOF(-1)以判斷文件是否結(jié)束。通過與原碼數(shù)據(jù)的對比便可以計算誤碼率。

圖4 主要流程示意圖

6 結(jié) 論

試驗系統(tǒng)充分發(fā)揮了FPGA的優(yōu)勢,將相應(yīng)功能模塊集成在1塊芯片上,簡化了硬件的結(jié)構(gòu),減小了系統(tǒng)的體積,提高了系統(tǒng)的穩(wěn)定性,縮短了開發(fā)周期,而且也便于修改調(diào)試,系統(tǒng)小巧靈活。實驗系統(tǒng)有效地對電纜測井?dāng)?shù)據(jù)傳輸過程的關(guān)鍵環(huán)節(jié)如HDB3編碼、模擬信道上的傳輸、以及接收端譯碼等進行了實驗?zāi)M分析,取得了預(yù)期的效果。但仍有進一步研究的空間,如相應(yīng)數(shù)字濾波處理、消除碼間干擾的時域均衡處理等,或者為了更進一步提高傳輸效率而在編碼之前先進行數(shù)據(jù)壓縮處理等,均是進一步研究探討的方向。系統(tǒng)設(shè)計時采用高性價比的有豐富資源的EP2C35芯片,正是考慮了系統(tǒng)的擴展性和冗余性,使得在試驗系統(tǒng)的基礎(chǔ)上進行進一步的研究具有可行性。同時從實現(xiàn)技術(shù)上,因為EP2C35還支持Nios II嵌入式軟核,所以可以將相應(yīng)功能模塊封裝成一個基于Avalon內(nèi)部總線的軟IP核,也即基于Nios II的自定義外設(shè),由Nios II內(nèi)核控制,實現(xiàn)軟硬件協(xié)同設(shè)計,形成一個SOPC應(yīng)用系統(tǒng)。

[1] 陳國瑞.成像測井系統(tǒng)中影響電纜傳輸性能因素的分析[J].現(xiàn)代電子技術(shù),2004,27(04):40-42,45.

[2] 陶立偉,張 伏,王小波,等.全數(shù)字16QAM解調(diào)器設(shè)計與實現(xiàn)[J].無線電工程,2008,38(10):53-55.

[3] 楊建軍,林興春,郝秀權(quán),等.測井電纜通信系統(tǒng)綜述[J].石油儀器,2007,21(03):1-4.

[4] 葛 輝,龐巨豐,張芳向,等.幾種應(yīng)用在高速測井電纜傳輸系統(tǒng)中的編碼技術(shù)[J].電子測試,2007,(11).

[5] 吳翠娟.基于SOPC技術(shù)的HDB3編碼器的建模與設(shè)計[J].湖南科技學(xué)院學(xué)報,2009,30(04):82-85.

猜你喜歡
譯碼極性測井
本期廣告索引
基于校正搜索寬度的極化碼譯碼算法研究
八扇區(qū)水泥膠結(jié)測井儀刻度及測井?dāng)?shù)據(jù)處理
中國煤層氣(2021年5期)2021-03-02 05:53:12
跟蹤導(dǎo)練(四)
從霍爾的編碼譯碼理論看彈幕的譯碼
新聞傳播(2016年3期)2016-07-12 12:55:27
表用無極性RS485應(yīng)用技術(shù)探討
一種新型的雙極性脈沖電流源
基于測井響應(yīng)評價煤巖結(jié)構(gòu)特征
中國煤層氣(2015年4期)2015-08-22 03:28:01
LDPC 碼改進高速譯碼算法
遙測遙控(2015年2期)2015-04-23 08:15:19
中石油首個全國測井行業(yè)標(biāo)準(zhǔn)發(fā)布
阿巴嘎旗| 乌兰浩特市| 沙河市| 政和县| 芷江| 鄱阳县| 重庆市| 全南县| 崇义县| 育儿| 双峰县| 理塘县| 平泉县| 辰溪县| 怀集县| 呈贡县| 浦东新区| 喀什市| 南投市| 青海省| 峨边| 昭通市| 水富县| 团风县| 额济纳旗| 迁西县| 绥德县| 麻城市| 珲春市| 太原市| 衡东县| 共和县| 苏尼特右旗| 白银市| 福清市| 巴楚县| 友谊县| 贺州市| 随州市| 平顶山市| 遂溪县|