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