梁中英,沈煒
(廣州海格通信集團(tuán)股份有限公司廣東廣州510663)
基于FPGA的信道化接收機(jī)設(shè)計(jì)及工程應(yīng)用
梁中英,沈煒
(廣州海格通信集團(tuán)股份有限公司廣東廣州510663)
基于最小化資源實(shí)現(xiàn)寬帶多信道接收機(jī)的目的,采用基于多相濾波的信道化接收機(jī)設(shè)計(jì)結(jié)構(gòu),在分析原理的基礎(chǔ)上,結(jié)合實(shí)際工程應(yīng)用,使用Xi1inx公司的Virtex_4系列FPGA實(shí)現(xiàn)了256信道接收機(jī)的設(shè)計(jì)。設(shè)計(jì)中充分有效地利用了FPGA中的硬件資源(DSP48、B1ock RAM、OSERDES等),優(yōu)化實(shí)現(xiàn)結(jié)構(gòu),提高資源利用率,工程應(yīng)用證明該結(jié)構(gòu)是可靠有效的。
多相濾波;信道化接收機(jī);Xi1inx;FPGA
在電子對(duì)抗中,一般對(duì)偵察接收機(jī)的要求有:寬帶接收、高靈敏度、大動(dòng)態(tài)范圍等。實(shí)現(xiàn)信號(hào)的全概率截獲是非常重要的,模擬接收機(jī)已經(jīng)很難滿足上述要求,而數(shù)字信道化接收機(jī)的設(shè)計(jì)靈活,能夠滿足處理的要求[1]。鑒于該理論需要主運(yùn)算器件具有并行處理的能力,而FPGA在硬件結(jié)構(gòu)上具有極大的靈活性,可適用于這種需要并行處理的理論,所以在設(shè)計(jì)中選擇FPGA對(duì)其進(jìn)行實(shí)現(xiàn)。硬件實(shí)現(xiàn)結(jié)果顯示,設(shè)計(jì)可以達(dá)到預(yù)期的要求。
實(shí)際信號(hào)處理中,首先通常需要對(duì)接收到的信號(hào)進(jìn)行正交變換,將其變?yōu)閺?fù)信號(hào)。復(fù)信號(hào)的信道劃分如圖1所示[2]。文中所提到的設(shè)計(jì)是將中頻采樣的信號(hào)進(jìn)行正交插值后變?yōu)閺?fù)信號(hào)進(jìn)行后續(xù)處理,所以這里只討論復(fù)信號(hào)的信道化接收機(jī)實(shí)現(xiàn)。
圖1 復(fù)信號(hào)的信道化劃分
圖2 復(fù)信號(hào)濾波器組的低通實(shí)現(xiàn)
對(duì)復(fù)信號(hào)進(jìn)行濾波時(shí)可以采用低通型濾波器組來(lái)實(shí)現(xiàn),如圖2所示。圖中hLP(n)為原型低通濾波器,本振角頻率ωk=其作用是將圖1中的第K個(gè)子頻帶(信道)移至基帶(零中頻),然后通過(guò)后接的低通濾波器hLP(n)濾出對(duì)應(yīng)的子頻帶,由于濾波后的信號(hào)帶寬為2π/ D,故可進(jìn)行D倍抽取,以獲得低采樣率的信號(hào)[3]。
由圖2可得第K路信道的輸出為:
將式(1)代入上式得:
則:
其中DFT(.)表示離散傅里葉變換。根據(jù)上述推導(dǎo)過(guò)程,得到基于多相濾波結(jié)構(gòu)的信道化接收機(jī)數(shù)學(xué)模型[4]如圖3所示。
圖3 復(fù)信號(hào)的信道化接收機(jī)框圖
在圖3中,第一個(gè)乘法器的本振信號(hào),當(dāng)D為偶數(shù)時(shí)?。╛1)m,D為奇數(shù)時(shí)取1。從圖中可以看出,此時(shí)不僅D倍抽取器已位于濾波器之前,而且現(xiàn)在每個(gè)信道的抽取濾波器不是原來(lái)的原型低通濾波器hLP(n),而是多相濾波器hp(m),其運(yùn)算量降至了原來(lái)的1/D并且極大的提高了這種信道化接收機(jī)的實(shí)時(shí)處理能力。另外,圖中的DFT可以采用其高效算法FFT來(lái)實(shí)現(xiàn),運(yùn)算速度可以大大提高。
由圖3的信號(hào)化接收機(jī)結(jié)構(gòu)可以得出FPGA的實(shí)現(xiàn)框圖如圖4所示。
圖4 信道化接收機(jī)FPGA實(shí)現(xiàn)框圖
由圖4可知,整個(gè)設(shè)計(jì)由6部分組成:符號(hào)變換、抽取器、通道濾波、復(fù)乘、FFT和輸出模塊。設(shè)計(jì)中選擇Xi1inx公司的XC4VSX55來(lái)實(shí)現(xiàn),XC4VSX55擁有硬件資源[5]:320個(gè)B1ockRAM,每個(gè)180Kbit,共5 760 Kbit;24 576個(gè)S1ices;512 個(gè)XtremeDSP;640個(gè)IO。下面介紹一下各個(gè)模塊的實(shí)現(xiàn)。
2.1符號(hào)變換和抽取器的實(shí)現(xiàn)
本設(shè)計(jì)中D=256,圖3中第一個(gè)乘法器的本振信號(hào)為,沒(méi)有必要通過(guò)乘法器來(lái)實(shí)現(xiàn),直接使用組合邏輯進(jìn)行符號(hào)變換即可。設(shè)計(jì)中將符號(hào)變換模塊在抽取之前實(shí)現(xiàn),可以將一批數(shù)據(jù)(256個(gè))同時(shí)實(shí)現(xiàn)符號(hào)翻轉(zhuǎn)。符號(hào)變換由一個(gè)9位計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)數(shù)器小于256時(shí),數(shù)據(jù)符號(hào)取反,反之,則不變。
若使用觸發(fā)器實(shí)現(xiàn)抽取器,需要22*2*16*256=180 224 個(gè)1 bit觸發(fā)器,即需要90 112個(gè)S1ice來(lái)實(shí)現(xiàn),已經(jīng)超出了FPGA的資源,此時(shí)觸發(fā)器工作頻率很低,但也不能復(fù)用。若使用數(shù)據(jù)選擇器來(lái)實(shí)現(xiàn),也需要占用大量的邏輯資源。設(shè)計(jì)中采用FIFO來(lái)實(shí)現(xiàn)抽取,只占用22個(gè)B1ockRAM和154個(gè)S1ices,154個(gè)S1ices用于控制FIFO的讀寫使能信號(hào),主要應(yīng)用FPGA的硬件資源(B1ockRAM),B1ockRAM既可以作為RAM使用,也可以作為FIFO來(lái)使用,并且不占用其它的邏輯資源。抽取器使用FIFO實(shí)現(xiàn)時(shí),22個(gè)FIFO依次相連,如圖5所示,每個(gè)FIFO中放入256個(gè)數(shù)據(jù),當(dāng)22個(gè)FIFO都已存放了256個(gè)數(shù)據(jù)時(shí),第22個(gè)FIFO開(kāi)始輸出,其它FIFO也同時(shí)輸出,對(duì)輸出的并行數(shù)據(jù)進(jìn)行通道濾波處理。
圖5 抽取器及通道濾波的實(shí)現(xiàn)
使用FIFO來(lái)實(shí)現(xiàn)抽取器,具有如下優(yōu)點(diǎn):1)能夠提高抽取的速度;2)節(jié)省邏輯資源,Virtex4系列FPGA中有大量的B1ockRAM,使用B1ockRAM來(lái)實(shí)現(xiàn)FIFO不占用額外的邏輯資源;3)有利于后級(jí)通道濾波的復(fù)用。
2.2通道濾波和復(fù)乘的實(shí)現(xiàn)
乘法器是FPGA中的重要資源,為了減少乘法器的使用數(shù)目,必須設(shè)法對(duì)乘法器進(jìn)行復(fù)用。通道濾波時(shí)如果每個(gè)通道都用一個(gè)乘法器的話,共需使用256個(gè)乘法器,兩個(gè)相同的結(jié)構(gòu)在FPGA中實(shí)現(xiàn),已經(jīng)用盡了所選擇的FPGA(XC4VSX55)的乘法器(512個(gè)),并且前端DDC部分還要使用乘法器,所以需要對(duì)乘法器進(jìn)行復(fù)用。
通道濾波使用Virtex4系列FPGA中的DSP48模塊來(lái)搭建,因?yàn)镈SP48模塊不僅是一個(gè)18*18 bit的乘法器,還包含許多寄存器,加法器及相鄰DSP48互連的接口。設(shè)計(jì)中充分利用其硬件資源,通道濾波模塊復(fù)用256次,第1次輸出是第0通道濾波后的數(shù)據(jù),第2次輸出是第1通道的數(shù)據(jù),第n次輸出是第n_1通道的數(shù)據(jù)。通道濾波是I,Q兩路同時(shí)實(shí)現(xiàn)的,通道濾波結(jié)束后直接進(jìn)行復(fù)乘。通道濾波結(jié)果是流水輸出的,為FFT的輸入提供了方便。
通道濾波的系數(shù)存放在22個(gè)B1ockRAM中,22個(gè)B1ockRAM采用統(tǒng)一的地址信號(hào),如圖7所示。設(shè)計(jì)中地址信號(hào)從0遞增到255,然后返回到0,循環(huán)往復(fù)。
圖6 DSP48模塊結(jié)構(gòu)
圖7 系數(shù)輸出框圖
2.3FFT的實(shí)現(xiàn)和輸出
FFT變換通過(guò)調(diào)用Xi1inx的IP核來(lái)實(shí)現(xiàn)。FFT采用流水方式,輸入數(shù)據(jù)由復(fù)乘后直接進(jìn)入FFT,經(jīng)過(guò)若干個(gè)時(shí)鐘周期后,結(jié)果就源源不斷地輸出。輸出將64個(gè)通道的數(shù)據(jù)放入一個(gè)RAM中,作為一組,并轉(zhuǎn)串之后通過(guò)高速的LVDS輸出,以320 MHz的速率輸出到其它信號(hào)處理板。RAM采用雙口RAM,雙口RAM一端以32位數(shù)據(jù)輸入,另外一端以8位數(shù)據(jù)輸出。再調(diào)用FPGA硬并轉(zhuǎn)串模塊OSERDES,轉(zhuǎn)為串行數(shù)據(jù)。也可以自己編寫程序?qū)崿F(xiàn)并轉(zhuǎn)串模塊,但那樣不但不能完全利用FPGA的硬件資源,也浪費(fèi)FPGA內(nèi)部的邏輯資源,無(wú)法達(dá)到FPGA硬件并轉(zhuǎn)串模塊的性能。
實(shí)現(xiàn)上述結(jié)構(gòu)后,使用信號(hào)源產(chǎn)生不同頻點(diǎn)的信號(hào),對(duì)應(yīng)于不同的通道,觀測(cè)多相濾波后的結(jié)果即可對(duì)該結(jié)構(gòu)進(jìn)行驗(yàn)證。信號(hào)源輸出某頻點(diǎn)信號(hào),頻率值對(duì)應(yīng)本設(shè)計(jì)中的第125個(gè)通道,chipscope采樣結(jié)果如圖8所示,其中濾波結(jié)果的通道號(hào)xk_index的值從0~255,表示256個(gè)通道。從圖中可以看出,通道號(hào)124(即第125個(gè)通道)的結(jié)果遠(yuǎn)大于其他通道的結(jié)果,即多相濾波的結(jié)果為第125個(gè)通道,與輸入的頻點(diǎn)所在通道相符。
用上述驗(yàn)證方法對(duì)不同通道結(jié)果都進(jìn)行了驗(yàn)證,結(jié)果與理論通道相符,說(shuō)明了這種實(shí)現(xiàn)結(jié)構(gòu)的正確性和可行性。
圖8 多相濾波結(jié)果輸出的chipscope采樣圖
FPGA的硬件資源為信號(hào)處理帶來(lái)了便利,本文所使用的設(shè)計(jì)方法合理利用了FPGA自身的硬件資源,使用較少的邏輯資源實(shí)現(xiàn)信道化接收機(jī)的結(jié)構(gòu),提高了FPGA的資源利用率,在單片F(xiàn)PGA上實(shí)現(xiàn)了2路寬帶信號(hào)的接收和處理,且性能滿足了設(shè)計(jì)的要求。
[1]楊成山.基于FPGA的數(shù)字信道化接收機(jī)研究和實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[2]楊小牛,樓才義,徐建良.軟件無(wú)線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.
[3]楊靜.信道化數(shù)字接收機(jī)技術(shù)的研究[D].成都:電子科技大學(xué),2003.
[4]Fredric J.Harris,Chris Dick,Michae1 Rice.Digita1 Receivers and Transmitters Using Po1yphase Fi1ter Banks for Wire1ess Communications[J].IEEE Transactions On Microwave Theory and Techniques,2003,51(4):3_5.
[5]Xi1inx.Virtex_4 User Guide[S].March 21,2006.
[6]Xi1inx.XtremeDSP for Virtex_4 FPGAs User Guide[S].Ju1y 5,2006.
Deslgn and lmPlementatlon of channellzed recelVer based on FPGA
LIANG Zhong_ying,SHEN Wei
(Guangzhou haige communications group incorporated company,Guangzhou 510663,China)
Based on the purpose of designing broadband mu1ti_channe1 receiver with 1east resources,adopting the design structure of channe1ized receiver based on po1yphase fi1ters,on the basis of ana1yzing the princip1e,combined with practica1 app1ication,the design of 256 channe1 receiver are rea1ized by Virtex_4 FPGA of Xi1inx Corporation.In the design,the hardware resources of the FPGA are made fu11 use of,such as DSP48,B1ock RAM,OSERDES and so on,the design structure is optimized and the resource uti1ization is improved.The experiments i11ustrate the effectiveness of this design.
po1yphase fi1tersj channe1ized receiverj Xi1inxj FPGA
TN859
A
1674_6236(2016)10_0147_03
2015_06_02稿件編號(hào):201506038
梁中英(1985—),女,黑龍江綏濱人,碩士,設(shè)計(jì)師。研究方向:衛(wèi)星通信領(lǐng)域中的基帶數(shù)字信號(hào)處理。