??? 摘 要: 一種基于FPGA的適用于中小壓縮比情況的時域數(shù)字脈沖壓縮" title="脈沖壓縮">脈沖壓縮處理器的實現(xiàn)方案。該處理器具有使用靈活、便于功能擴展,、成本低的特點,,已用于某雷達信號處理機中,,性能穩(wěn)定,。
??? 關(guān)鍵詞: 脈沖壓縮? 自適應(yīng)FIR濾波器? 現(xiàn)場可編程邏輯門陣列
?
??? 在現(xiàn)代雷達系統(tǒng)中,,數(shù)字脈沖壓縮技術(shù)以其性能穩(wěn)定、抗干擾能力強,、控制方式靈活等優(yōu)點而被廣泛使用,。基于現(xiàn)場可編程門陣列(FPGA)實現(xiàn)的數(shù)字脈沖壓縮處理器受到了國內(nèi)外學(xué)者的青睞[1][2],。
??? 數(shù)字脈壓系統(tǒng)實現(xiàn)算法有兩種方案:頻域法和時域法,。頻域法的優(yōu)點是大時寬信號時可采用FFT(快速傅立葉轉(zhuǎn)換)算法,從而大大減少運算量,;但在小壓縮比,、距離單元數(shù)較大時,相對于時域法成本較高,,運算過程較復(fù)雜,。本文介紹一種基于時域的FPGA數(shù)字脈壓處理器,能夠完成四通道63位M序列二相" title="二相">二相編碼數(shù)字脈壓,,具有使用靈活,、便于功能擴展、成本低的特點,。
1 設(shè)計原理
1.1 時域脈壓算法原理
??? 時域匹配濾波法等效于求離散接收信號與發(fā)射信號波形離散樣本之間的復(fù)相關(guān)運算,,其輸入輸出關(guān)系可表示為[3]:
???
??? 其中si、h和s0分別表示輸入信號,、權(quán)系數(shù)和輸出信號(均為復(fù)數(shù)),,*表示卷積運算。對于有限沖擊響應(yīng)的情況,,式(1)可寫為:
???
??? 對于M序列碼,,h(n)應(yīng)為發(fā)射脈沖M序列的本原碼,即發(fā)射脈沖碼元,。
1.2 FIR實現(xiàn)方法
??? 時域脈壓算法結(jié)構(gòu)清晰,,其數(shù)字實現(xiàn)系統(tǒng)為FIR濾波器結(jié)構(gòu)。本文設(shè)計的四通道63位M序列二相編碼數(shù)字脈壓處理器實質(zhì)是要實現(xiàn)四個高速,、高精度的64級數(shù)字式橫向濾波器" title="橫向濾波器">橫向濾波器,。該濾波器能夠?qū)崿F(xiàn)高速自適應(yīng)濾波,其輸入數(shù)據(jù)和系數(shù)均采用二進制補碼形式,,濾波系數(shù)能夠修改,,可以與不同的頻率碼相匹配,模塊具有自檢功能,。
在處理器設(shè)計過程中,關(guān)鍵是充分考慮脈壓算法特點和FPGA結(jié)構(gòu),減少硬件實現(xiàn)的資源開銷,,提高處理速度,。為此,可考慮將兩個32級的自適應(yīng)數(shù)字橫向濾波器通過級聯(lián)的方式來實現(xiàn)64級自適應(yīng)橫向濾波器,,然后通過“流水線”的設(shè)計思想,,并行實現(xiàn)四個64級自適應(yīng)橫向濾波器。在實現(xiàn)32級自適應(yīng)橫向濾波器時,,考慮了兩種實現(xiàn)結(jié)構(gòu),,一種是經(jīng)典的橫向濾波器結(jié)構(gòu),如圖1所示,;另一種是經(jīng)過修改的具有相同功能的濾波器結(jié)構(gòu),,稱之為轉(zhuǎn)置式FIR濾波器,如圖2所示,。
?????? ????? ?
??? 通過分析發(fā)現(xiàn),,修改后的濾波器結(jié)構(gòu)中,每個輸入采樣點數(shù)據(jù)都是同時送到32級的每一級,。在每一級中,,當(dāng)前輸入的樣點與存儲在存儲器中的系數(shù)相乘,并與前一級的經(jīng)一個時鐘周期延時后的輸出值相加,,從而實現(xiàn)整個脈壓過程,。該結(jié)構(gòu)的優(yōu)點在于不需要給輸入數(shù)據(jù)提供額外的移位寄存器,也不必為達到高吞吐量給乘積的加法器添加額外的流水線級,。所以,,在工程實現(xiàn)時采用修改后的結(jié)構(gòu)。
2 脈壓處理器的FPGA實現(xiàn)
??? 脈壓處理器完成的運算操作主要是:乘加運算,、系數(shù)存取和自檢驗證,。實現(xiàn)脈壓處理器的硬件資源主要包括:RAM Blocks(塊靜態(tài)存儲器)、MULT 18X18-bit(乘法器" title="乘法器">乘法器)等,。Altera公司生產(chǎn)的Stratix系列芯片EP1S25是一種超大規(guī)模集成電路芯片, 該系列采用0.13微米和全銅SRAM工藝, 為需要高數(shù)據(jù)吞吐量的復(fù)雜應(yīng)用進行優(yōu)化,,且片內(nèi)資源豐富:其中包括25 660個邏輯門,1 944KB的RAM存儲器,,40個MULT 18X18-bit,、10個數(shù)字時鐘管理模塊等。在實際工作中,,4路信號采用1片EP1S25完成,。圖3給出了基于FPGA實現(xiàn)的數(shù)字脈壓處理器的結(jié)構(gòu)框圖(單路)。
2.1 乘法器的FPGA實現(xiàn)
??? 由于所要設(shè)計的四通道63位M序列二相編碼數(shù)字脈壓處理器含有64×4個乘法器,,如果設(shè)計不好就會導(dǎo)致資源的浪費和速度的下降,。為此,在FPGA的快速陣列乘法器的樹中引入流水線級的思想,。FPGA的快速陣列乘法器為實現(xiàn)二叉樹乘法器(并行)[4]提供了條件,。二叉樹乘法器的步驟總數(shù)為log2(N),表1顯示了最大吞吐量所需要的流水線級的數(shù)量與位寬之間的關(guān)系,。
??? 根據(jù)以上分析,,結(jié)合實際輸入數(shù)據(jù)為12位的二進制補碼,濾波系數(shù)為4位二進制補碼,,因此需要構(gòu)造含有兩個流水線級的二進制補碼乘法器,。乘法器的帶寬為:
???
??? 式中W1為輸入數(shù)據(jù)位寬,W2為濾波系數(shù)位寬,,L為濾波器的深度,,log2L為采用無符號算法時乘積和(SOP)的保護位。當(dāng)采用有符號算法時保護位個數(shù)為(log2L-1),,此時,,乘法器的帶寬為:
???
??? 對于本濾波器,數(shù)據(jù)均采用有符號數(shù),,W1為12位,,W2為4位,濾波器的深度為32級,,所設(shè)計的乘法器帶寬為20位,。
為實現(xiàn)自適應(yīng)濾波器,濾波器系數(shù)需隨外部送來的頻率碼的變化而變化,。為此,,需要在復(fù)位信號(PT5)到來時,在雷達休止期進行系數(shù)的重新存儲,,以達到匹配濾波的效果,。
2.2 自檢碼及脈壓系數(shù)存儲模塊的設(shè)計
??? 由于自適應(yīng)濾波系數(shù)是4位有符號數(shù),可將兩級相同濾波深度的系數(shù)值放到同一個地址單元里,,規(guī)定高4位是第二級濾波器的系數(shù)值,,低4位是第一級濾波器系數(shù)值,在輸出到數(shù)據(jù)處理模塊" title="處理模塊">處理模塊進行乘法運算時再將它們分開,。由于自檢碼存的是8位有符號數(shù),,輸出時也要進行4位符號位擴展。為抗干擾,,規(guī)定每次在時鐘的下降沿取地址位,,存儲器輸出碼值,在每次時鐘的上升沿數(shù)據(jù)處理模塊讀存儲器送過來的碼值,,以減少不確定性,。
2.3 邏輯控制模塊的設(shè)計
??? 脈壓處理器的工作時序必須與整個雷達的工作時序和自適應(yīng)濾波的時序相一致。為滿足邏輯要求,,設(shè)計一個有限狀態(tài)機(FSM),,把整個時序邏輯過程分為四個狀態(tài),,分別是初始狀態(tài)(S0)、置數(shù)狀態(tài)(S1),、計數(shù)狀態(tài)(S2),、保持狀態(tài)(S3)。由于采取的是Mealy型狀態(tài)機,,故邏輯控制模塊的輸出依賴于數(shù)字處理模塊的當(dāng)前狀態(tài)和輸入的值,。例如在S2狀態(tài)時,當(dāng)輸入不同時,,輸出的值也會不同,。采取Mealy型狀態(tài)機能夠有效減少一些狀態(tài)變量,但帶來的后果是描述難度增加,。圖4是整個脈壓處理器的MDS圖,。
??? 為了提高抗干擾能力,增加了一些保護邏輯電路,,例如在雷達休止期由于干擾而沒有出現(xiàn)復(fù)位信號時,,狀態(tài)機就會做出判斷,直接進入自檢前的狀態(tài),,等待自檢信號的到來,,避免進入不確定狀態(tài)。
3 仿真測試
??? 對所設(shè)計的處理器進行了軟件仿真,,從圖5中可以清楚地看到處理器的輸入輸出時序,。其中x_in_I(Q)PH(L)為輸入數(shù)據(jù),pc_I(Q)PH(L)為輸出數(shù)據(jù),,check_code為自檢時的信號,。從圖6中可以看到,脈壓數(shù)據(jù)在63位M序列碼輸完以后,,延遲8個時鐘周期,,準(zhǔn)確地計算出脈壓值H07C(124),最大旁瓣-13dB,,主副瓣比達到19.6dB,,滿足設(shè)計要求。完成仿真后,,在QUARTUS編譯后下載到Altera器件EP1S25中進行了調(diào)試,,與仿真結(jié)果一致。
圖5 處理器的仿真波形(一)
?
圖6 處理器的仿真波形(二)???
?
??? 采用超大規(guī)模FPGA并結(jié)合流水線設(shè)計,,降低了處理時間,減少了設(shè)計成本,,取得了較好的效果。整個處理器共使用了22 405個邏輯單元(LC),,占到了芯片總邏輯單元的87%,,使用了99 840bit的內(nèi)存,,占到了芯片總內(nèi)存的5%,以87.57MHz的Registered Performance運行,,工作性能穩(wěn)定,。目前該處理器已應(yīng)用于某信號處理機中。
參考文獻
[1] LIU Zhenyu.Tracking radar digital matched-filter ASIC?design and its error analysis.IEEE?5th International Conference on?ASIC,,Tsinghua University,,2003:777-782.
[2] DAY R H,,GERMON R,,O NEILLl?B C.A real time digital signal processing solution for radar pulse?compression.IEE Colloquium on?Digital Filters,1998,,252:1-6.
[3] 馬曉巖,,向家彬,朱裕生,,等.雷達信號處理[M].湖南:湖南科學(xué)技術(shù)出版社,,1999.
[4] ARMSTRONG J R.Chip-level modeling with VHDL,Prentice Hall?PTR,,Englewood Cliffs,,NJ,1999.