馬筱青,孫寶華,劉潔,任泓璇,姜童
(西安空間無線電技術(shù)研究所,陜西西安 710000)
綜合孔徑微波輻射計可以搭載于海洋觀測衛(wèi)星或綜合對地觀測衛(wèi)星上,實現(xiàn)對全球海洋鹽度和土壤濕度的大尺度測量[1]。在觀測海洋時可以提供準確的海洋鹽度、海洋環(huán)流和海洋氣候等信息,為海洋上的經(jīng)濟活動提供十分重要的環(huán)境保障[2]。同時,在觀測陸地時可以提供準確的土壤濕度信息,為農(nóng)業(yè)生產(chǎn)提供保障條件,對國民生活有著極其重要的意義[3]。
數(shù)字相關(guān)器是綜合孔徑微波輻射計最為關(guān)鍵的部件,是完成4 個Stocks 矢量參數(shù)測量、提供反演數(shù)據(jù)的直接輸出模塊,對微波輻射計的應(yīng)用有決定性作用。數(shù)字相關(guān)器功能主要包括兩部分:一是綜合孔徑相關(guān)處理,即將兩個通道的同一極化信號相乘并積分,進行復(fù)相關(guān)后分別得到水平極化和垂直極化的可見度函數(shù);二是全極化相關(guān)處理,即對水平極化和垂直極化的信號進行復(fù)相關(guān),得到T3 和T4 分量[4]。
微波輻射計為了獲得足夠高的地面分辨率,通常都采用二維綜合孔徑觀測技術(shù)[5]。現(xiàn)有的二維綜合孔徑陣列的單元數(shù)量為144 個,需要的相關(guān)運算單元個數(shù)為=20 592[6]。表1 為數(shù)字相關(guān)器指標要求。為了減少計算量,數(shù)字相關(guān)器使用1 bit 量化值計算相關(guān)系數(shù)。盡管如此,成千上萬次相關(guān)運算依然要消耗大量硬件資源。以Xilinx公司的XC5VFX130T 現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)為例,利用傳統(tǒng)的乘累加相關(guān)運算實現(xiàn)方法,要同時進行20 592 次相關(guān)運算,至少需要6 片F(xiàn)PGA,因此數(shù)字相關(guān)器復(fù)雜度、功耗和體積大幅增加,這些都使得數(shù)字相關(guān)器的硬件研制、軟件調(diào)試、性能測試等方面難度陡增[7]。
表1 數(shù)字相關(guān)器指標要求
經(jīng)過分析,多通道數(shù)字相關(guān)器的難點主要集中在以下兩個方面:
1)如何在有限的FPGA 硬件資源內(nèi)實現(xiàn)上萬次相關(guān)計算[7-8]。根據(jù)實際需求,信號處理過程計算量大,F(xiàn)PGA 的資源占用率趨近于上限,增加了FPGA布局布線難度。
2)為保證相關(guān)計算精度,設(shè)計要求數(shù)字相關(guān)器對144 路通道進行同步采集,多路AD 一致性要求誤差小于150 ps,多路板間AD 同步對設(shè)計、調(diào)試、測試都提出了很高的要求。
數(shù)字相關(guān)運算本質(zhì)上是乘累加運算,在FPGA 中乘累加運算可以通過兩種方式實現(xiàn):一種是SLICE 邏輯單元,另一種是DSP48E 運算單元。雖然在速度和功耗方面DSP48E 都具有優(yōu)越性,但是由于FPGA 中DSP48E 運算單元成本較高,因而數(shù)量往往相對有限。例如,對于Xilinx XC5VFX130T 芯片,DSP48E 的數(shù)量為320,SLICE 的數(shù)量為20 480[9]。對于綜合孔徑陣列接收系統(tǒng)來說,DSP48E 運算單元和SLICE 邏輯單元的數(shù)量都無法滿足系統(tǒng)處理要求。同時,F(xiàn)PGA 內(nèi)部的大量存儲資源(Random Access Memory,RAM)沒有得到有效利用,因此提出一種創(chuàng)新的相關(guān)處理實現(xiàn)方法,其本質(zhì)是利用FPGA 的內(nèi)部存儲資源來替代SLICE 資源,增加相關(guān)器的運算效率。
相關(guān)處理實現(xiàn)方法首先將大量的相關(guān)計算單元進行分組,每32 個相關(guān)處理單元分為一組。圖1 為一組相關(guān)運算的實現(xiàn)方法。其中,相關(guān)計算模塊使用二進制累加器(Binary counter)IP 核實現(xiàn),32 位加法器使用DSP48E 實現(xiàn),32 bit RAM 地址用于存放累加計算結(jié)果[10]。16 選1 選擇器由4 bit 計數(shù)器控制,對二進制累加器進行循環(huán)迭代,將二進制累加器的計算結(jié)果輸出,與RAM 中存放的數(shù)據(jù)相加再放入RAM 中。這種方法將傳統(tǒng)數(shù)字相關(guān)運算中大位寬的乘法及加法分解為小位寬的二進制計數(shù)器、加法器及RAM 塊,充分利用了FPGA 內(nèi)部的RAM 資源,大大提高了處理效率。
圖1 改進的相關(guān)計算實現(xiàn)方法示意圖
為了對上述方法的正確性進行驗證,使用modelsim 10.1 對FPGA 代碼進行了仿真。FPGA 工作時鐘頻率為60 MHz,仿真積分時間為100 ms。若輸入為完全相關(guān)的信號,則理論輸出值為6 000 000,仿真結(jié)果表明,全相關(guān)累加輸出結(jié)果為5 996 600,這是因為監(jiān)測每1 ms 的計算結(jié)果需要將RAM 的數(shù)據(jù)讀出,此時停止對RAM 的寫操作,此過程耗費的34 個時鐘周期不進行計算,所以100 ms 的積分時間內(nèi)缺少3 400 個時鐘周期的累加值。此偏差為固定值,可以在后續(xù)的處理中進行修正,不影響相關(guān)計算精度。
為了進一步評估上述相關(guān)運算實現(xiàn)方法的可行性,驗證了上述方法在針對大批量輸入數(shù)據(jù)時對FPGA 處理效率的提升。實驗使用傳統(tǒng)的相關(guān)運算實現(xiàn)方法和改進的相關(guān)運算實現(xiàn)方法,進行6 144 路數(shù)字相關(guān)處理。使用的編程語言為VHDL,編譯工具為ISE12.4,硬件平臺為XC5VFX130T FPGA。使用兩種方法,F(xiàn)PGA 工程布局布線后的資源占用率比較如表2 所示。
表2 傳統(tǒng)方法和改進方法資源占用表
從表2 中可以看出,采用改進的相關(guān)運算實現(xiàn)方法將SLICE 的資源占用率從91%降低到39%。當輸入信號為144 路中頻信號時,利用兩片XC5VFX 130T FPGA 即可完成所有輸入信號的相關(guān)運算,大大降低了系統(tǒng)復(fù)雜度,易于工程實現(xiàn)。
多通道數(shù)字相關(guān)器由3 個信號采集器和一個信號處理器構(gòu)成,每個采集器完成48 個通道的信號采集及數(shù)字濾波、正交變換、1 bit 量化處理、48 bit 自相關(guān)計算,處理器完成144 個通道的兩兩相關(guān)處理并對處理結(jié)果進行打包輸出,并且為采集器提供AD 采集參考時鐘、控制指令和時序控制信號。多通道數(shù)字相關(guān)器系統(tǒng)框圖如圖2 所示。
圖2 多通道數(shù)字相關(guān)器系統(tǒng)框圖
其中,每個信號采集器由3 塊相同的信號采集板組成,信號處理器由一塊信號處理板組成。采集器和處理器之間使用高速串行接口GTX 傳輸數(shù)據(jù),每個采集器發(fā)送兩路GTX 高速串行數(shù)據(jù)[11]。為了保證各通道采樣的一致性,將信號處理板上晶振提供的時鐘經(jīng)過多級時鐘分配芯片分發(fā)至各個信號采集板的AD 芯片。
信號采集板使用1 塊XC5VFX130T FPGA 作為處理芯片,時鐘分頻芯片選用AD9516。AD9516具有多路輸出時鐘分配功能,具有亞皮秒級抖動性能和低相位噪聲特性,適用于對相位噪聲和抖動嚴苛的應(yīng)用??紤]到AD9516、傳輸線及接口的非理想性,時鐘源到達每個AD 時鐘輸入端的路徑依然可能有差別,時鐘信號的起點相對終點存在時間延遲,導(dǎo)致各時鐘信號不同步??梢允褂肁D9516的相位微調(diào)功能來保證每個AD 時鐘信號相位差滿足要求[12]。ADI公司的AD9254 是一款單通道14 位的AD 轉(zhuǎn)換芯片,具有低功耗、低成本、高有效位數(shù)的特點,適用于文中相關(guān)器的應(yīng)用場合[13]。AD 采樣率為60 MHz,采集通道間的隔離度可達90 dB。使用FPGA 內(nèi)部的GTX 高速接口傳輸1 bit 量化數(shù)據(jù),采用8b/10b 的編碼方式,線速率為2.4 Gbps。采集板使用兩路GTX將相同的數(shù)據(jù)分別傳輸至處理板上不同的FPGA。使用LVDS 傳輸模塊接收信號處理板的時序控制信號,使用RS485 模塊接收控制指令發(fā)送自相關(guān)結(jié)果等遙測信息。
信號采集板的功能主要包括以下5 點[14]:
1)中頻信號采集功能,接收來自信號處理板的時序控制信號,以此信號為同步參考完成16 路模擬信號的同步采集量化;
2)數(shù)字濾波功能,對輸入信號進行帶通濾波和希爾伯特正交變換;
3)I 路數(shù)據(jù)取16 bit 進行自相關(guān)處理,結(jié)果取高48 bit通過RS485 總線輸出;
4)對數(shù)據(jù)進行量化處理,16個AD對應(yīng)32路IQ變換數(shù)據(jù),再進行1 bit量化,得到32個1 bit量化結(jié)果;
5)高速數(shù)據(jù)傳輸功能,采集板與處理板之間使用GTX 傳輸32 個1 bit量化數(shù)據(jù)。
信號處理板的主處理單元為3 塊XC5VFX130T FPGA,使用1.2 節(jié)中的方法計算144 路數(shù)據(jù)的相關(guān)系數(shù)。其中,每片F(xiàn)PGA 接收來自不同采集器的GTX 數(shù)據(jù),并計算相關(guān)。3 片F(xiàn)PGA 可以遍歷3 個采集器144個通道之間的相關(guān)系數(shù)。兩個不同路信號M、N之間的相關(guān)系數(shù)計算公式為:,其中,MI、MQ是M路信號的I分量和Q分量;NI是N路信號的I分量[15]。
信號處理板的主要功能包括:
1)通過GTX 高速串行接口接收144 個AD 對應(yīng)的288 路IQ數(shù)據(jù)并計算相關(guān)系數(shù);
2)將互相關(guān)結(jié)果和自相關(guān)結(jié)果進行打包,通過RS485 接口發(fā)送至上位機;
3)將控制指令發(fā)送至3 個信號采集器;
4)將板上的晶振通過AD9516 時鐘分頻芯片分成多路發(fā)送至3 個信號采集器;
5)產(chǎn)生用于同步的時序控制信號,并發(fā)送至3 個信號采集器。
數(shù)字相關(guān)器中多路AD 的同步性和實際有效位數(shù)(Effective Number of Bits,ENOB)是決定系統(tǒng)性能的關(guān)鍵指標。實驗使用一路點頻信號經(jīng)過功分器分成16路相同的信號送至一塊信號采集板的16路AD,被測信號頻點選擇為63 MHz。使用chipscope軟件對采集信號進行抓取,得到的采樣結(jié)果如圖3 所示[16]。為了比較各路AD 相位的一致性,將AD 的時域采集結(jié)果使用Matlab 軟件進行傅里葉變換,分析結(jié)果如圖4所示。通過峰值頻點處的相位差計算16路AD之間的相位差,結(jié)果表明,每塊信號采集板中16 路AD之間多路一致性誤差皆小于100 ps,滿足性能要求。
圖3 多通道AD采集時域波形
圖4 信號頻譜分析結(jié)果
頻譜分析結(jié)果表明信納比(SINAD)為55.63 dB。實際有效位數(shù)ENOB=(SINAD-1.76)/6.02[17],結(jié)果表明在帶內(nèi)各頻點有效位數(shù)均大9 bit,滿足指標要求。
考慮到144 個通道相關(guān)結(jié)果數(shù)據(jù)過于龐大,測試過程非常耗時,由于3 個信號采集器采用完全相同的設(shè)計,故文中使用一個信號采集器和一個信號處理器驗證48 個通道之間的相關(guān)系數(shù)測試結(jié)果。實驗的輸入信號是點頻信號經(jīng)過功分器得到的48路相同點頻信號,頻點從60 MHz 到90 MHz,間隔為2 MHz。測試結(jié)果如圖5 所示,結(jié)果表明,相關(guān)系數(shù)計算精度高于0.99。
圖5 不同頻點的相關(guān)系數(shù)計算結(jié)果
對于二維綜合孔徑微波輻射計系統(tǒng),相關(guān)器是核心部分,其復(fù)相關(guān)的運算量往往達到千次量級,因而需要研究高效的實時處理數(shù)字相關(guān)器,以滿足綜合孔徑微波輻射計的實時成像需求。文中提出了一種高效的相關(guān)運算實現(xiàn)方法,該方法能夠有效提高FPGA 工作效率,節(jié)省硬件資源,簡化數(shù)字相關(guān)器系統(tǒng)設(shè)計復(fù)雜度。
文中基于該方法設(shè)計了一種多通道數(shù)字相關(guān)器,使用3 個信號采集器和一個信號處理器完成144路數(shù)據(jù)的數(shù)字相關(guān)處理。數(shù)字相關(guān)器使用XC5 VFX130T FPGA 作為核心處理芯片,AD9516 作為時鐘管理芯片,AD9254 用于數(shù)模轉(zhuǎn)換,GTX 接口用于進行高速數(shù)據(jù)傳輸。測試結(jié)果表明,多通道數(shù)字相關(guān)器各路AD 之間多路一致性誤差皆小于100 ps,有效位數(shù)高于9 bit。對于單個信號采集器的測試結(jié)果表明,相關(guān)系數(shù)計算精度高于0.99。