摘 要: 對無源雷達的直通信號和反射信號進行互相關運算可以檢測目標是否存在。本文介紹了基于FPGA流水線操作的陣列運算器,該運算器有32個并行乘加運算單元時分,完成256個探測距離的互相關值計算,在128MHz的時鐘下,能夠對二路信號進行實時互相關處理。
關鍵詞: 互相關運算器 現場可編程邏輯門陣列(FPGA) 硬件描述語言 無源雷達
同傳統雷達相比,無源雷達利用民用照射源(如FM調頻廣播,頻率在100MHz左右)作為發射源,使雷達成本大幅度下降,并且體積小、重量輕、耗電小,具有抗隱身和自身隱身等眾多優點。但無源雷達最大的缺點就是對直通信號和反射信號做實時自相關運算需要巨大的運算能力。當用500kHz的采樣頻率對無源雷達的二路信號進行采樣時,若距離分辨率為600m、探測距離為0~150km,則至少需要4GHz復數乘加/秒的計算能力才能實時地對二路信號做互相關處理。對信號處理所需的巨大運算量限制了無源雷達的發展,而數字處理技術的發展,使無源雷達的實現成為可能。
本文重點介紹了基于FPGA的實時互相關運算器的實現方案?;ハ嚓P運算器要計算的信號是直通信號(來自FM調頻廣播電臺)和反射信號(飛行器或者其他運動的目標反射FM調頻信號的反射信號),二路信號通過32個并行運算單元的計算,流水線式地計算出每一時刻的256個互相關值,并把互相關值送往高速DSP處理器做進一步處理,檢測出目標在哪個距離上出現。
1 互相關運算法則
計算目標的位置,關鍵在于找到時延參數Δt取何值時,二路信號的互相關值最大。時延參數Δt的計算方法描述如下。
x(t)和y(t)分別為接收到的直通信號和反射信號:
式(1)中:a是衰減系數,s(t)是源信號,Δt是時延量,n1(t)、n2(t)為零均值平穩白噪聲過程。在這個模型中,噪音信號是附加的。假設n1(t)、n2(t)與s(t)是相互獨立的變量,則二路信號的互相關運算公式可以描述為:
2 互相關運算器的硬件結構
互相關運算器的框架結構如圖1所示。互相關運算器由量化模塊(其中包括RAM部分)、控制模塊、互相關運算模塊以及峰值查找模塊組成。量化模塊對直通信號x(t)和反射信號y(t)進行A/D采樣,得到1路2位(包括實部和虛部)和1路12位(包括實部和虛部)的數字信號送往SRAM中,再由控制模塊把SRAM所存的數據按照一定的邏輯送給互相關運算模塊(對FPGA編程實現)做互相關運算。互相關運算模塊把每一時刻t0的所有互相關值,按A(t0,0)、A(t0,1)……A(t0,R)的順序送往峰值查找模塊中的雙端口異步FIFO中。以FIFO作為FPGA與DSP的接口,最后峰值查找模塊的DSP從FIFO中取出時刻t0的所有互相關值。比較這些值找出時刻t0有目標出現的r,并把結果送往顯示終端顯示。峰值查找模塊由高速DSP來完成。
3 互相關運算模塊的實現
若需要探測距離為0~150km的所有目標,距離分辨率為600m,則每一時刻需要計算256個互相關值。如果窗口T取32,采樣模塊的采樣頻率F設為1MHz,互相關運算器的運算能力需要達到F×T×R=500kHz×32×256=4GHz復數乘加/秒。這就決定FPGA芯片在不太高的工作頻率下需要并行盡可能多的運算單元。圖2是本文所設計的互相關運算模塊結構圖。它有32個復數乘加運算單元,每一個運算單元都是相互獨立的,因此每個時鐘能進行32次復數乘加運算,在128MHz的工作頻率下,能夠達到128MHz×32=4GHz的復數乘加/秒的運算能力。
若把方程式(4)映射到一個具有32個并行運算單元的循環陣列,循環T次就可計算出32個距離上的互相關值,順序計算8個這樣的距離塊就可以完成256個單元的計算。把上述結構映射到FPGA上實現,則FPGA上并行32個運算單元,且每1個運算單元具有1個與其他運算單元獨立的復數乘加模塊、寄存器組和1個互相關值輸出鎖存寄存器。這種并行結構的最大優點在于:使運算模塊中的存儲單元獨立于32個運算模塊之外,簡化了FPGA的外圍電路,極大地方便了硬件的實現。
二路信號在接收信噪比條件下量化成直通信號x(t)和反射信號y(t)。在本系統中直通信號x(t)和反射信號y(t)的量化位寬分別是6位和1位,二路信號都是復變量,因此數據通路的寬度分別是12位和2位。由于反射信號僅需要1位量化,因此可以用組合加法操作代替乘法操作。加法的實現比乘法簡單得多,在FPGA中占用的資源也比乘法器少得多,因而能夠在1塊50萬門左右的FPGA中實現32個運算單元或者更多的運算單元。為了使窗口值T取128時計算的結果不會溢出,運算器選取了26位位寬的加法器。在數據流上,直通信號x(t)傳送到32級距離的運算單元,反射信號y(t)以逐步右移鎖存的方式送往每一個運算單元上。x(t)和y(t)都由一個15位地址計數器來控制SRAMs,讀出所需要的數據。
為了消除計算不同時刻之間以及相同時刻不同距離塊之間互相關值所需要的額外時間,使FPGA中的計算資源不會因為準備運算數據而閑置,本設計采用了一個寄存器組給每一個復數乘加模塊加載運算數據,其寄存器組的結構如圖3所示。
每一個寄存器組由4個寄存器和7個2路復用器組成。寄存器組工作時的時序圖如圖4所示。4個寄存器分成2個小組,小組1:Reg1;Reg2,小組2:Reg3、Reg4。每次小組1動作,小組2則預裝;反之亦然。圖4中第1階段為全部寄存器組的預裝(預裝t1時刻的數據);從第2階段起開始計算互相關值,這時小組1動作,計算t1時的互相關值,
小組2預裝并計算t2時刻所需要的數據;第3階段,小組1繼續動作,直到計算完成256個互相關值,小組2不動作;第4階段,小組2動作,小組1預裝并計算t3時刻所需要的數據;第5階段,小組2繼續動作,小組1不動作,直到計算完成t2時刻的256個互相關值后,整個寄存器組轉往第2階段。
在圖2中,復數乘法模塊根據Y寄存器組的輸出值對RegX傳送過來的值進行累加。當Y寄存器組的輸出值為0時,CM送0值給累加器,這時累加器把當前累加值與0相加,并把結果鎖存;當Y寄存器組的輸出值為1時,CM送RegX傳送過來的值給累加器,累加器則把當前累加值與RegX傳送過來的值相加,并把結果鎖存。累加器進行T(本文中T=32)次累加之后,把累加結果鎖存到互相關值輸出鎖存器(見圖2)對應的寄存器中,這時發出reset命令把結果鎖存器清零,為計算下一個互相關值做初始為零的準備工作。
當屬于某一時刻t0上32個互相關值計算完畢之后,控制邏輯模塊發出鎖存信號把這32個互相關值送往互相關值輸出鎖存寄存器組中。假設從n0時鐘開始計算t0時刻的某32個互相關值,在n0+31時刻下32個互相關值計算完成,這時的結果同時鎖存到互相關值輸出鎖存器中。在計算t0時刻下一組32個互相關值或者t0+1時刻0~31個互相關值時,輸出鎖存寄存器組把計算結果加上幀的標志(由控制邏輯模塊給出,如果t0時刻為0,則t0+1時刻為1,用于區分當前互相關值是屬于前一時刻的互相關值還是屬于后一時刻的互相關值,便于峰值查找模塊的實現)。數據按照A(t0,32k+0)、A(t0,32k+1)……A(t0,32k+31)(k=0~7)的順序送往峰值查找模塊的FIFO中?;ハ嚓P值輸出鎖存寄存器的時序如圖5所示。
互相關運算器中的FPGA模塊采用的是1片Xilinx 2v500fg256芯片,500 000門的規模。其VHDL語言實現代碼已在Xilinx 2v500fg256上通過了Xilinx ISE5.1的仿真、綜合布局及布線?;ハ嚓P運算模塊加上地址控制單元和邏輯控制單元總共占用了2317個Slices(75%),2952個Slice Flip Flops(48%),2792個4輸入查找表(Look-Up-Table,LUT)s(45%)和1個全局時鐘(7%)等。從互相關運算器的結構可以得到:FPGA芯片上集成的并行運算單元越多,數據處理能力就越強,但FPGA芯片的規模限制不能集成太多的并行運算單元。
4 結 論
本文闡述了無源雷達系統中基于FPGA的實時互相關運算器的一種實現方案。該運算器由1塊500 000門的FPGA芯片完成2路信號的互相關運算(或積分運算)。經實驗模擬,在探測距離為0~150km、距離分辨率為600m時,互相關運算器能夠實時完成直通與反射2路信號的互相關運算。該運算器還可以擴展到和其他的接收機相連,處理其他的數據,例如目標的方位角等。
參考文獻
1 Tuan T,Figueroa M,Lind F et al.An FPGA-Based Array Processor for an Ionospheric-Imaging Radar.California:
Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines.Napa Valley. 2000
2 Sahr J D,Gidner D M,Zhou C et al.Passive VHF radar for Ionospheric Physics.Journal of Atmospheric and Solar-Terrestrial Physics,2001;(63)
3 George P,Kostas E,Li Yiqi et al.Development of a Passive Acoustic System for Realime Source Detection,Tracking and Recognition.In:Proceedings of the IEEE International Symposium.Industrial Electronics,1992;(1)
4 唐小明,何友,夏明革.基于機會發射的無源雷達系統發展評述.現代雷達,2002;24(2)
5 Xilinx Inc.Xilinx 5 Software Manuals Online.2002
6 盧毅,賴杰.VHDL與數字電路設計.北京:科學出版社,2001