陳洋,聶在平
(電子科技大學(xué)電子工程學(xué)院,四川 成都 611731)
電阻率測井儀器一般是通過發(fā)射單頻的正弦波或多種頻率的正弦波疊加信號激勵地層,通過線圈或電極接收感興趣的電壓或電流信號,根據(jù)該信號的變化反映出地層電阻率的變化[1]。由于地質(zhì)結(jié)構(gòu)復(fù)雜以及井下環(huán)境惡劣,地層的電阻率變化范圍很大,因此接收到的正弦信號同樣具有很大的變化范圍;同時,由于噪聲干擾,接收信號的信噪比低,因此,在測井儀器的信號采集處理中,精確地從噪聲中測量微弱信號是一項(xiàng)重要的任務(wù)。
DPSD(Digital Phase Sensitive Detector)作為一種能在低信噪比情況下檢測正余弦信號幅度和相位的有效算法,相對于傳統(tǒng)的模擬相敏檢波(APSD)有明顯的優(yōu)勢,在近年來測井儀器設(shè)計中,DPSD已經(jīng)被廣泛地應(yīng)用于微弱信號檢測中。文獻(xiàn)[2]研究了DPSD算法,并且給出了DPSD算法的主要參數(shù)之間的關(guān)系以及在納伏級電壓測量的實(shí)際應(yīng)用。文獻(xiàn)[3]給出了DPSD技術(shù)在隨鉆電阻率測井中的應(yīng)用,采用FPGA(Field Programmable Gate Array)作為采樣控制邏輯控制器,提高了時序控制精度,同時采用高性能的浮點(diǎn)處理器實(shí)現(xiàn)高速信號的DPSD。由于隨鉆測井的發(fā)射頻率一般為400 kHz與2MHz,且采用低通采樣方法,因此需要較高的采樣率以及高的數(shù)據(jù)處理能力。文獻(xiàn)[4]給出了DPSD在陣列感應(yīng)測井中的應(yīng)用,同樣采用DSP實(shí)現(xiàn)DPSD。在三分量感應(yīng)測井儀器中,通過在x、y、z的3個方向發(fā)送不同頻率的正弦波(頻率范圍一般為10~200kHz)或混合波形激勵地層,可以獲得比傳統(tǒng)感應(yīng)測井儀器更多的地層信息[5]。在該儀器中,一般有多個通道的信號需要采集以及處理;在采用DSP實(shí)現(xiàn)DPSD算法檢測時,將對DSP處理能力提出較高要求。
在測井系統(tǒng)中,需要對多路信號或高速信號進(jìn)行DPSD,由于DSP修改、實(shí)現(xiàn)、測試算法的簡易以及靈活性,目前基本都是采用DSP實(shí)現(xiàn),F(xiàn)PGA僅作為時序控制器;然而,對于定型的算法實(shí)現(xiàn),DSP實(shí)現(xiàn)不及FPGA實(shí)現(xiàn)對硬件利用的高效性以及實(shí)時計算能力。本文提出2種分別用于多通道DPSD以及高速DPSD的FPGA架構(gòu),采用單片F(xiàn)PGA可實(shí)現(xiàn)信號采集控制以及DPSD運(yùn)算。相對于傳統(tǒng)的實(shí)現(xiàn),它有效降低了多通道DPSD實(shí)現(xiàn)的硬件資源消耗,對于高速DPSD實(shí)現(xiàn),極大地降低了對DPS實(shí)時計算的要求,同時保證計算精度。
在數(shù)字信號處理算法的硬件實(shí)現(xiàn)中,根據(jù)系統(tǒng)時鐘頻率與采樣率之間的比率,一般存在2種硬件映射形式:展開與折疊[5]。在展開設(shè)計中,可以提供并行處理能力,提高數(shù)據(jù)處理的吞吐量。在高速設(shè)計中,流水線技術(shù)是提高系統(tǒng)時鐘頻率的有效手段,進(jìn)而可提高采樣率,滿足高速信號的采集要求,但是一般占用的資源較多。而在折疊設(shè)計中當(dāng)系統(tǒng)時鐘頻率至少是2倍于采樣率時,一般可采用時分復(fù)用硬件資源的方法,有效地降低資源消耗。文獻(xiàn)[6]中就是采用時分復(fù)用的折疊結(jié)構(gòu)實(shí)現(xiàn)多通道的信號源而有效地降低了硬件資源的消耗。這種方式可行的原因在于采樣信號在多個系統(tǒng)時鐘頻率下有效。理想的折疊因子為
式中,fc和fs分別為系統(tǒng)時鐘和采樣率。同時需要控制器分時對結(jié)構(gòu)進(jìn)行控制,一般來說簡單的可采用計數(shù)器產(chǎn)生控制信號,對于較復(fù)雜的可采用FSM實(shí)現(xiàn)。針對三維感應(yīng)測井的應(yīng)用需求,采樣率相對于時鐘頻率較低,因此可采用折疊結(jié)構(gòu)高效實(shí)現(xiàn)多通道的DPSD,并以四通道為例展示可行性。在隨鉆測井中,由于較高采樣率選擇展開結(jié)構(gòu)實(shí)現(xiàn)DPSD。下面對2種架構(gòu)進(jìn)行設(shè)計,在設(shè)計中以正弦波每周期采樣4個點(diǎn),一共累加1024個周期為例。
圖1為四通道DPSD的FPGA實(shí)現(xiàn)結(jié)構(gòu)。該結(jié)構(gòu)主要包括3部分:以乘累加為主的數(shù)據(jù)通路、以FSM為核心的控制邏輯以及正余弦系數(shù)表。對于每一路信號先計算實(shí)部再計算虛部,當(dāng)新數(shù)據(jù)標(biāo)志sp_c有效時,通過FSM依次選擇輸入信號以及系數(shù),輸入信號寬度為16bit。由于采用定點(diǎn)實(shí)現(xiàn)DPSD算法,為了降低系數(shù)量化誤差,采用18bit存儲系數(shù)。為了減少乘積截斷舍入誤差的多周期累積,乘積結(jié)果全部保留寄存。累加器的寬度由乘積寬度以及累加周期數(shù)決定,設(shè)計中為46bit。當(dāng)累加完成后,由FSM產(chǎn)生的real_acc_we或者imag_acc_we有效,將累加結(jié)果寫入相應(yīng)的累加器。對于每次的實(shí)部、虛部計算都是通過多路選擇器實(shí)現(xiàn),同時累加結(jié)果通過多路復(fù)用器寫入累加寄存器。當(dāng)4路計算完畢后,累加次數(shù)遞增,同時等待sp_c有效,然后直到所累加的次數(shù)完成,此時dpsd_result_we將累加結(jié)果高32bit存入實(shí)部/虛部結(jié)果寄存器,得到最終結(jié)果,同時清零累加器。設(shè)計中的關(guān)鍵是FSM的設(shè)計,它是多通道DPSD計算實(shí)現(xiàn)的核心。圖2為FSM的狀態(tài)轉(zhuǎn)移圖以及控制信號輸出。由于采用了流水線寄存,當(dāng)每次新的計算開始3個時鐘周期后得到第1路信號的實(shí)部累加結(jié)果,之后每1個時鐘周期都將完成1次計算,因此對于1次新數(shù)據(jù)4路計算一共需要3+2×4=11個時鐘周期。根據(jù)式(1),該結(jié)構(gòu)支持的最大采樣率為fs/11。為簡便起見,控制信號默認(rèn)輸出為S0左邊方框所示,如果某信號出現(xiàn)在用藍(lán)線指示的方框中,那么該值作為當(dāng)前輸出。
實(shí)現(xiàn)高速數(shù)字信號處理硬件結(jié)構(gòu)是以資源換速度。為了實(shí)現(xiàn)高的速度,一般采用流水線分割各個功能模塊以達(dá)到高的時鐘頻率。因此,設(shè)計中不再時分復(fù)用乘法器以及累加器,而是并行計算實(shí)虛部,同時采用三級流水線結(jié)構(gòu)。圖3為該系統(tǒng)架構(gòu)圖,圖3中的復(fù)位信號均已省略。
設(shè)計中,所有寄存器都在時鐘上升沿有效,輸入數(shù)據(jù)、系數(shù)都有一級寄存,乘法器內(nèi)部有一級流水線,第4個時鐘的上升沿得到累加結(jié)果。4個時鐘流水線延遲之后每1個sp_c有效將實(shí)現(xiàn)累加1次,當(dāng)在所有的累加周期內(nèi),sp_c一直有效將實(shí)現(xiàn)系統(tǒng)時鐘的采樣率,此時,系統(tǒng)時鐘(或是與其有一定相位偏移的時鐘)可作為采樣時鐘。由于輸入數(shù)據(jù)、系數(shù)以及累加寄存都是系統(tǒng)時鐘上升沿同時sp_c有效時才寄存,因此,可支持任意的不超過系統(tǒng)時鐘頻率的采樣率。需要注意的是sp_c信號為新數(shù)據(jù)有效標(biāo)志,且已經(jīng)被系統(tǒng)時鐘所同步且脈寬為1個系統(tǒng)時鐘周期。圖3中控制器即為簡單的以累加次數(shù)計數(shù)器為基礎(chǔ)的控制器。當(dāng)復(fù)位時次數(shù)累加器清零,當(dāng)完成第1次的4096次累加后(此時次數(shù)累加器值為4099),加載流水線延遲4作為計數(shù)初值,這樣之后每4096次sp_c有效就將產(chǎn)生1次正確結(jié)果。同時實(shí)部與虛部累加器高32B作為最終結(jié)果寄存輸出。對于隨鉆測井應(yīng)用中對于400kHz以及2MHz不同頻率信號時通過coef_sel信號選擇相應(yīng)的系數(shù)。這個信號產(chǎn)生可根據(jù)實(shí)際要求產(chǎn)生,比如每1個頻點(diǎn)的檢測完成的次數(shù),這可以通過1個簡單的計數(shù)器實(shí)現(xiàn)。
圖3 高速DPSD系統(tǒng)FPGA結(jié)構(gòu)圖
設(shè)計的2種FPGA架構(gòu)都是以ACTEL FPGA A3P400作為綜合、實(shí)現(xiàn)、測試、應(yīng)用的目標(biāo)器件。所有設(shè)計均在Libero IDE v8.4平臺實(shí)現(xiàn)。表1為2種結(jié)構(gòu)的仿真實(shí)現(xiàn)結(jié)果以及支持的采樣率。
表1 FPGA實(shí)現(xiàn)結(jié)果
多通道DPSD結(jié)構(gòu)的核心之一就是FSM控制邏輯的設(shè)計。圖4為FSM控制信號仿真時序圖。設(shè)計中計算結(jié)果仿真與測試的是2種結(jié)構(gòu)實(shí)現(xiàn)DPSD算法的可行性與正確性以及與浮點(diǎn)計算對比精度。同時對比了結(jié)構(gòu)在低信噪比、實(shí)虛部較大差異(即相位為0°或90°)時與浮點(diǎn)計算的檢測精度,測試數(shù)據(jù)為不同相位、幅度時添加高斯白噪聲且信噪比為-20dB的信號。由于采用計算機(jī)產(chǎn)生的白噪聲,只有在序列足夠長才是真正意義的白噪聲,所以使用了16組信號進(jìn)行處理,以提高實(shí)驗(yàn)準(zhǔn)確度。
數(shù)據(jù)都是由DSP讀取FPGA運(yùn)行結(jié)果得到,然后用MATLAB作圖顯示。圖5中橫坐標(biāo)為測試信號幅度占用的位數(shù),縱坐標(biāo)分別為相位/幅度相對誤差。
由于DPSD的計算精度關(guān)系到信號檢測性能,因此,采用定點(diǎn)實(shí)現(xiàn)的上述2種架構(gòu)應(yīng)當(dāng)具有與浮點(diǎn)計算相近甚至相同的計算精度。圖6為同等條件下的浮點(diǎn)計算結(jié)果。
用于測試數(shù)據(jù)的高斯白噪聲不是真正的白噪聲,所以測試輸入數(shù)據(jù)的信噪比并不一定是-20dB,測試結(jié)果會出現(xiàn)跳動。但多組測試、平均處理在一定程度上抑制了這種跳動。從定點(diǎn)與浮點(diǎn)計算結(jié)果看只顯示了信號有效位數(shù)為6bit到11bit的性能對比,因?yàn)橐獙Ρ仍谛旁氡葹椋?0dB時的性能,所以信號有效位數(shù)不能大于11bit,否則加噪聲后的信號會超出16bit定點(diǎn)的表示范圍,精度基本相同。同等幅度情況下不同相位時相對誤差不同,但絕對值基本一致,這和理論分析的結(jié)果一致。
圖4 FSM控制信號仿真時序圖
(1)本文簡要回顧了測井儀器中DPSD技術(shù)的應(yīng)用與實(shí)現(xiàn),并根據(jù)實(shí)際應(yīng)用需要,提出了2種基于FPGA實(shí)現(xiàn)DPSD的架構(gòu)。
(2)多通道DPSD結(jié)構(gòu)采用折疊技術(shù)實(shí)現(xiàn)多通道DPSD計算,高效地利用硬件資源,同時可支持最大4.63Mbit/s的采樣率。高速DPSD結(jié)構(gòu)充分利用流水線技術(shù),有效提高了系統(tǒng)時鐘頻率,最大支持系統(tǒng)時鐘的采樣率,因此,可以滿足高速計算的需要。由于結(jié)構(gòu)的靈活性,可以根據(jù)實(shí)現(xiàn)需要設(shè)置每周期采樣點(diǎn)數(shù)、累加次數(shù)以及通道數(shù)量。
(3)這2種定點(diǎn)DPSD結(jié)構(gòu)不僅極大地降低了DSP處理能力的要求,計算精度與用DSP實(shí)現(xiàn)DPSD精度基本相同。本文提出以及實(shí)現(xiàn)的DPSD硬件結(jié)構(gòu)能夠高效地應(yīng)用于實(shí)際測井儀器設(shè)計中,達(dá)到了所需要的檢測精度。
[1]李科,魯寶平,張家田.數(shù)字相敏檢波器在測井儀器中的應(yīng)用研究 [J].石油儀器,2011,25(1):35-38.
[2]戴逸松.測量低信噪比電壓的數(shù)字相敏解調(diào)算法及性能分析 [J].計量學(xué)報,1997,18(2):126-132.
[3]劉升虎,邢亞梅 .DPSD技術(shù)在隨鉆電阻率測井中的應(yīng)用 [J].測井技術(shù),2008,32(1):69-71.
[4]張家田,梁亞萍,嚴(yán)正國.基于數(shù)字相敏的三維感應(yīng)測井信號處理方法研究 [J].石油儀器,2009,23(6):1-3.
[5]Shoab Ahmed Khan.Digital Design of Signal Processing Systems:A Practical Approach [M].United Kingdom:John Wiley&Sons,2011.
[6]陳洋,管國云,聶在平.基于DDS和DSM的多通道信號源的設(shè)計與實(shí)現(xiàn) [J].測井技術(shù),2013,37(1):75-79.