(中國電子科技集團公司第三十八研究所,安徽合肥230088)
在雷達、電子對抗、成像等系統(tǒng)的應用中,數(shù)字接收機面臨著帶寬不斷加大的挑戰(zhàn),這同時給模數(shù)變換器件(ADC)和數(shù)字信號處理器件帶來了很大困難。隨著ADC技術(shù)的高速發(fā)展,數(shù)字信號處理器件對數(shù)字接收機帶寬的制約尤為明顯。多相濾波理論的提出有效緩解了數(shù)字信號處理器件對寬帶數(shù)字化接收的制約,其濾波器位于抽取器之后,即濾波是在降速之后進行的,這就大大降低了對器件處理速度的要求,提高了系統(tǒng)的實時處理能力[1-2]。多相濾波的本質(zhì)是,在進行數(shù)字濾波的同時實現(xiàn)了抽取。多相濾波之所以能夠提高系統(tǒng)的實時處理能力,也正是由于這種同時進行的“抽取”操作,可以說,抽取是多相濾波的“牛鼻子”。
傳統(tǒng)多相濾波算法將濾波處理的速度降為輸入信號速度的1/D(D為多相分解的階數(shù)),并實現(xiàn)了D倍抽取,即多相分解的階數(shù)與抽取比是一致的[3]。在工程實踐中,這只是情形之一,另一個經(jīng)常遇到的情形是,多相分解的階數(shù)與所需的抽取比并不一致。筆者在研究傳統(tǒng)多相濾波算法的基礎(chǔ)上,試圖通過一種“廣義多相濾波”的概念,為這兩種情形找到一種統(tǒng)一的表述方式,即,使得多相濾波在實現(xiàn)D倍降速(D為多相分解的階數(shù))的同時進行K倍抽取(K為抽取比,D=K或者D≠K)。
在使用多相濾波時,人們對輸入數(shù)據(jù)進行多相分解,并對多相分解后的各路數(shù)據(jù)進行分支濾波,以此實現(xiàn)所需處理速度的下降,如圖1所示,虛線框內(nèi)即為多相分解的過程[4]。在寬帶數(shù)字接收的工程實際中,ADC采樣后得到的高速數(shù)字信號在進入數(shù)字信號處理器件時往往需要進行串并轉(zhuǎn)換,這一串并轉(zhuǎn)換過程正好實現(xiàn)了多相濾波所需的多相分解操作[5]。
圖1 傳統(tǒng)多相濾波過程
一般而言,多相分解的“階數(shù)”由兩個因素決定,一是數(shù)字信號處理器件的處理速度,二是實現(xiàn)多相分解的硬件結(jié)構(gòu)。第一個因素順理成章,這里對第二個因素舉例說明。
某L波段數(shù)字接收機,需要對中心頻率1 200 MHz、帶寬300 MHz的信號進行直接采樣和數(shù)字下變頻,使用現(xiàn)場可編程門陣列(FPGA)作為數(shù)字信號處理器件,在FPGA中對ADC送來的高速數(shù)字信號進行串并轉(zhuǎn)換。為了減少芯片輸出引腳數(shù),便于板級集成,ADC輸出的高速數(shù)據(jù)采用DDR格式,在這一前提下,集成在該FPGA中的串并轉(zhuǎn)換器,其轉(zhuǎn)換比只能是固定的4,6,8三種。設(shè)計者別無選擇,只能進行這三種階數(shù)的多相分解,這就是多相分解的階數(shù)受實際硬件結(jié)構(gòu)影響的典型情形。
對于一個多速率信號處理系統(tǒng),其抽取比主要由采樣率和信號帶寬決定,比如在上述數(shù)字接收機中,當采樣率為960 MHz時,抽取比不能超過3,否則便不能滿足系統(tǒng)帶寬對輸出信號速率的需求。當然,人們可以通過將串并轉(zhuǎn)換后的數(shù)據(jù)再進行并串轉(zhuǎn)換的方式來實現(xiàn)數(shù)據(jù)的“提速”,可是這意味著系統(tǒng)需要更高速度的數(shù)字信號處理器件。
針對這里遇到的多相分解的階數(shù)D與抽取比K不一致的情形,筆者設(shè)想,為了實現(xiàn)對D階多相分解數(shù)據(jù)的K倍抽取(K≤D、P=D/K為正整數(shù)),可以在傳統(tǒng)多相濾波的基礎(chǔ)上進行P-1倍“補相”操作,使其輸出為并行的P路數(shù)據(jù)。如圖2所示,圖中X′(n)為抽取結(jié)果,X″(n)為補相結(jié)果,只需找出X′(n)和X″(n)的關(guān)系即可由傳統(tǒng)多相濾波的結(jié)果得到各路補相輸出,從而達到進行K倍抽取(K≤D)的目的。
圖2 “補相”示意圖
我們首先從頻域考察如圖3所示的兩個過程。
圖3 濾波抽取及延遲后濾波抽取過程
假設(shè)圖中X(n),Y(n),Y D(n),X′(n),Y′(n),Y′D(n)的z變換分別為X(z),Y(z),Y D(z),X′(z),Y′(z),Y′D(z),其 傅 里 葉 變 換 分 別 為X(ejω),Y(ejω),Y D(ejω),X′(ejω),Y′(ejω),Y′D(ejω),并設(shè)圖中FIR濾波器的單位脈沖響應為H(n),其z變換、傅里葉變換分別為H(z),H(ejω),則
而X′(z)=X(z)z-N,代入上式,可得
因此Y′D(n)的傅里葉變換為
考慮其傅里葉變換的周期性,可以只關(guān)注(-π,π)之間的頻譜,即令i=0,同時省去常數(shù)因子,此時
將N=K?i(K為抽取比)代入式(6)中,即可得到,第i路補相輸出的頻譜為普通多相濾波輸出乘以,這本質(zhì)上就是一個相移的過程,將這一過程與分支濾波過程的順序進行顛倒,即可得到如圖4所示的結(jié)構(gòu)。如前所述,虛線框中的過程由數(shù)字信號處理器件的串并轉(zhuǎn)換器完成。
圖4 多相濾波的第i路補相輸出頻譜(i=0,1,…,P-1)
為了探求圖4所述濾波處理結(jié)構(gòu)的實現(xiàn)途徑,考察傳統(tǒng)多相分解得到的分支數(shù)據(jù)的頻譜,分別將多相分解及隨后的分支濾波分為P組,每組K個分支(K=D/P),如圖5所示,其中,每個分支數(shù)據(jù)的頻譜如圖中所述。由圖5可知,為了得到圖4所述結(jié)構(gòu)的處理結(jié)果,可以將多相分解的分組結(jié)果和分支濾波的分組結(jié)果重新進行組合,并對部分分支進行一個節(jié)拍延遲,再進行對應分支濾波,如圖6所示。
圖5 多相濾波的分組及頻譜
圖6 第i路補相結(jié)果的產(chǎn)生
由此可得到廣義多相濾波的具體步驟如下:
a) 進行傳統(tǒng)多相分解。
b) 將多相分解的結(jié)果分為P組,每組K個分支。
c) 將分組結(jié)果按圖6所示順序重新組合,將部分分組(如圖6所示)寄存,進行分支濾波,得到第i路補相結(jié)果。
d) 按照c)所述重復進行所需的各路補相,將各路補相結(jié)果并行輸出。
以上文所述L波段數(shù)字接收機為例,該數(shù)字接收機對L波段的寬帶信號進行直接采樣,中心頻率1.2 GHz,帶寬300 MHz,采樣時鐘960 MHz,在FPGA中完成寬帶數(shù)字接收處理后使用光纖送出基帶信號,基于廣義多相濾波構(gòu)建數(shù)字接收機,如圖7所示。
圖7 基于廣義多相濾波的數(shù)字接收機架構(gòu)
ADC采用某公司XXX190芯片,該芯片模擬帶寬達3 GHz,可以對四路信號同時進行1.25 GHz采樣。該芯片輸出為串行高速lvds信號,以DDR模式傳輸。為了滿足高速源同步系統(tǒng)的應用需求,所用FPGA中集成了具有專用時鐘和邏輯性能的串并轉(zhuǎn)換器,當輸入數(shù)據(jù)采用DDR模式時,該串并轉(zhuǎn)換器的轉(zhuǎn)換比可以為4,6,8??紤]到后續(xù)處理資源的使用,選用的轉(zhuǎn)換比為6,此時串并轉(zhuǎn)換器的輸出為6路160 MHz并行數(shù)字信號。
由于采樣頻率和信號中心頻率之間正好滿足最佳采樣率的要求,在進行數(shù)字混頻時可以避免乘法器的使用,直接與“1,0,-1,0”和“0,-1,0,1”相乘即完成數(shù)字混頻和正交變換。這里不難根據(jù)前述的串并轉(zhuǎn)換比推導出每一路160 MHz信號的轉(zhuǎn)換規(guī)律,比如第一路應依次乘以“1,-1,1,-1…”第二路為全0,以此類推。
在該數(shù)字接收機中,信號帶寬達300 MHz,這就決定了該數(shù)字接收機的抽取比不能大于3。但是,由于硬件的限制,無法直接進行轉(zhuǎn)換比為3的串并轉(zhuǎn)換。解決該問題有兩個途徑,一是將轉(zhuǎn)換后的數(shù)據(jù)提速,由此帶來的問題是處理速度的提高,這將是數(shù)字信號處理器件面臨的嚴重挑戰(zhàn)。本文使用的是另一個辦法,即基于廣義多相濾波進行系統(tǒng)架構(gòu),多相分解因子D=6,抽取因子K=3,需進行P=2倍補相。廣義多相濾波共輸出2路信號,整個數(shù)字接收機輸出4路i/q信號,每路信號速率為160 M Hz,這里數(shù)字濾波的速率仍然為160 M Hz,可以有效緩解對數(shù)字信號處理器件的速度要求。同時,廣義多相濾波還為實際應用提供了更多的選擇。比如,當帶寬更寬時,可以令K=1,P=6,即不對數(shù)據(jù)進行抽取,但是同樣可以通過多相分解降低處理速率,而當帶寬更窄時,可以令K=6,P=1,此時成了傳統(tǒng)的多相濾波,它是廣義多相濾波的一個特例。由此可見,設(shè)計者可以在廣義多相濾波概念的框架內(nèi)靈活進行速度與面積的互換。
為了對所述廣義多相濾波及數(shù)字接收機進行驗證,使用Matlab軟件產(chǎn)生測試數(shù)據(jù),使用Verilog語言實現(xiàn)上述功能模塊,在目標芯片中進行布局布線,將產(chǎn)生的網(wǎng)表文件和測試數(shù)據(jù)一起導入Modelsim軟件進行仿真,并使用Matlab讀出仿真結(jié)果。
假定輸入信號頻率為1350 MHz,載頻為1200 MHz,按上述架構(gòu)實現(xiàn)數(shù)字接收機,其中廣義多相濾波的階數(shù)為96階,輸出時域信號如圖8所示,上圖為廣義多相濾波輸出的第1路同相/正交分量,下圖為廣義多相濾波輸出的第2路同相/正交分量。圖9為廣義多相濾波輸出的信號頻譜。
圖8 廣義多相濾波輸出信號時域波形
圖9 廣義多相濾波輸出信號頻譜
上述廣義多相濾波(96階FIR濾波)的綜合結(jié)果在某FPGA芯片上進行布局布線,所需的資源如下:
Combinational ALUTa:2127
Dedicated logic registers:5135
Total registers:5135
DSP block 18-bit elements:384(即192個18×18乘法器)
這里我們重點關(guān)注的是乘法器資源的使用,96階FIR濾波器在進行P=2廣義多相濾波時,所需的乘法器資源為384個DSP block 18-bit elements,即192個18×18乘法器。在進行P=1廣義多相濾波,即傳統(tǒng)多相濾波時,所需的乘法器資源為192個DSP block 18-bit elements,即96個18×18乘法器。這說明廣義多相濾波對乘法器資源的需求是數(shù)據(jù)提速的方式的P倍(P=D/K,為多相分解階數(shù)和抽取比之間的比例)。設(shè)計者可以靈活調(diào)節(jié)P的值,從而按實際需求在速度與面積之間進行權(quán)衡。
本文所述廣義多相濾波解決了工程中常見的多相分解的階數(shù)與所需抽取比不一致的問題。傳統(tǒng)多相濾波器可以看作廣義多相濾波在P=1時的一個特例。本文在廣義多相濾波的基礎(chǔ)上構(gòu)建了一個寬帶數(shù)字接收機,仿真驗證表明,該算法能夠滿足寬帶數(shù)字接收機的使用要求,為工程實踐中的速度與面積互換原則提供了一種新的理解方式,可操作性強,對于寬帶數(shù)字接收機的研制有一定的實際意義。
[1]James Tsui.寬帶數(shù)字接收機[M].楊小牛,陸安南,金飚,譯.北京:電子工業(yè)出版社,2002:7-13.
[2]朱擁建,王宏.寬帶數(shù)字接收機的設(shè)計與實現(xiàn)[J].中國電子科學研究院學報,2010,5(1):86-89.ZHU Yong-jian,WANG Hong.The Design and Implementation of the Wide-band Digital Receiver[J].Journal of CAEIT,2010,5(1):86-89.(in Chinese)
[3]楊小牛,樓才義,徐建良.軟件無線電原理與應用[M].北京:電子工業(yè)出版社,2005:28-31.
[4]劉寧,何子述.空間譜估計系統(tǒng)中信道化接收機的實現(xiàn)[J].雷達科學與技術(shù),2010,8(5):469-473.LIU Ning,HE Zi-shu.Implementation of Digital Channelized Receiver for Spatial Spectrum Estimation System[J].Radar Science and Technology,2010,8(5):469-473.(in Chinese)
[5]鄧嵐,康懷祺,李宏波,等.基于FPGA的寬帶信號數(shù)字下變頻設(shè)計與實現(xiàn)[J].火控雷達技術(shù),2011,40(4):52-55.