摘 要:針對伯努利粒子濾波器在嵌入式應(yīng)用環(huán)境中的高速、高效計算問題,以雷達微弱目標聯(lián)合檢測估計伯努利粒子濾波器為例,提出一種功能模塊化、粒子規(guī)模可擴展的現(xiàn)場可編程門陣列(field programmable gate array, FPGA)實現(xiàn)架構(gòu),并通過粒子狀態(tài)流水計算、分層累加求和、并行化重采樣等手段進一步提高濾波計算速度。Xilinx ZC706評估板板載測試實驗證明了所提架構(gòu)良好的可擴展性和優(yōu)異的加速比,當粒子數(shù)量為1 024時,相較于Intel Core i3 4130 CPU計算環(huán)境下的加速比約為104量級,該結(jié)果對伯努利粒子濾波技術(shù)在雷達、機器人、導(dǎo)航制導(dǎo)等領(lǐng)域的應(yīng)用具有重要參考價值。
關(guān)鍵詞: 伯努利粒子濾波器; 現(xiàn)場可編程門陣列; 實時信號處理; 流水并行化; 重采樣; 聯(lián)合檢測估計
中圖分類號: TN 953
文獻標志碼: ADOI:10.12305/j.issn.1001 506X.2025.02.07
FPGA implementation of a Bernoulli particle filter
LIAN Hongfei, LI Dongsheng, JIANG Yanwen, FAN Hongqi*, XIAO Huaitie, WANG Guoyan
(National Key Laboratory of Automatic Target Recognition, College of Electronic Science and Technology,
National University of Defense Technology, Changsha 410073, China)
Abstract:Aiming at the high speed and efficient computing problem of Bernoulli particle filters in embedded application environments, taking the Bernoulli particle filters for joint detection and estimation of radar weak targets as an example, a function modularized and particle size scalable field programmable gate array (FPGA) implementation architecture is proposed. The computing speed of filtering calculation is further improved through approaches as particle state pipelining, layered accumulation and sum, and parallel resampling, etc. Xilinx ZC706 evaluation board on board testing experiments have demonstrated the good scalability and excellent acceleration ratio of the proposed architecture. When the number of particles is 1 024, the acceleration ratio is about 104 orders of magnitude compared to the Intel Core i3 4130 CPU computing environment. The results have important reference value for the application of Bernoulli particle filtering technology in radar, robotics, and navigation guidance fields.
Keywords:Bernoulli particle filter; field programmable gate array (FPGA); real time signal processing; pipelining parallelization; resample; joint detection and estimation
0 引 言
作為貝葉斯框架下的最優(yōu)單目標聯(lián)合檢測估計濾波器,伯努利粒子濾波器對微弱非線性非高斯信號具有優(yōu)良的處理性能[1-3],在雷達信號檢測估計、無人系統(tǒng)定位感知、機器視覺等多個應(yīng)用中獲得廣泛關(guān)注并表現(xiàn)出良好的應(yīng)用前景[4-7]。但當前的伯努利粒子濾波器多基于數(shù)字信號處理器(digital signal processor, DSP)、中央處理器(central processing unit, CPU)等通用處理器實現(xiàn)[8-11],粒子濾波巨大的計算需求限制了其在上述領(lǐng)域、特別是在智能無人飛行器、制導(dǎo)雷達等嵌入式強實時場景下的應(yīng)用[12]。
現(xiàn)場可編程門陣列(field programmable gate array, FPGA)是一種硬件可重構(gòu)的嵌入式處理器[13-16],具有算力功耗比高、易于結(jié)構(gòu)化并行計算等特點,特別適合粒子濾波器的計算實現(xiàn)[17-18]。當前,尚未見到討論伯努利粒子濾波器FPGA實現(xiàn)的相關(guān)論文,而有關(guān)一般單目標粒子濾波器FPGA實現(xiàn)的研究則主要集中在以下兩個方面。
一是粒子濾波器的FPGA實現(xiàn)架構(gòu),主要可分為數(shù)據(jù)并行和任務(wù)并行兩類。Hong等[19]提出了一個數(shù)據(jù)并行的粒子濾波實現(xiàn)架構(gòu),包括一個中央單元(central unit, CU)和多個處理單元(processing element, PE),粒子被等額劃分到各PE中,并獨立完成濾波器的預(yù)測和更新操作,CU負責(zé)重采樣。El Halym等[20]在上述架構(gòu)的基礎(chǔ)上,重點設(shè)計了多個PE和CU之間的互聯(lián)網(wǎng)絡(luò),降低了時間及資源消耗。Miao等[21]將上述數(shù)據(jù)并行架構(gòu)應(yīng)用于神經(jīng)元活動的偶極子源跟蹤問題并在Xilinx Virtex 5 FPGA芯片上進行了實現(xiàn)。數(shù)據(jù)并行架構(gòu)可充分發(fā)揮FPGA信號PE數(shù)量多、結(jié)構(gòu)可編程的特點,可大幅節(jié)省執(zhí)行時間,但同時例化多個PE也會導(dǎo)致FPGA資源開銷的增加。另一種任務(wù)并行架構(gòu)則側(cè)重于通過復(fù)雜時序和數(shù)據(jù)緩存設(shè)計來消解各濾波操作單元間的數(shù)據(jù)依賴性,使不同濾波操作單元可被同時計算,從而達到提高計算速度的目的。文獻[22-23]通過時序控制實現(xiàn)粒子預(yù)測單元與更新單元的流水并行計算,但各濾波操作單元復(fù)雜的時序關(guān)系不利于單元的更新迭代,也影響濾波器的可擴展性。
二是重采樣的FPGA實現(xiàn)。由于在重采樣步驟粒子權(quán)重歸一化的全局性和隨機采樣操作的結(jié)果依賴性,重采樣后的粒子索引難以進行逐粒子并行計算,從而制約粒子濾波器FPGA實現(xiàn)的效率。為此,學(xué)者們開展了大量研究。Bolic等[24]針對多PE的數(shù)據(jù)并行架構(gòu),提出了近似的分布式重采樣算法,不僅簡化了各PE之間的數(shù)據(jù)通信,而且具有良好的并行性和可擴展性,但在一定程度上是通過犧牲重采樣性能換取了計算效率。Schwiegelshohn等[25-26]提出了一種優(yōu)化重采樣算法,通過在每個真實粒子周圍引入虛擬粒子來實現(xiàn)重采樣操作的并行化,但是這種方法會消耗大量資源。Murray等[27]通過將Metropolis重采樣算法引入粒子濾波重采樣步驟實現(xiàn)了重采樣操作的并行化,在圖形處理單元(graphic processing unit, GPU)上取得了較好的加速效果[27],但并未討論Metropolis重采樣算法的FPGA實現(xiàn)。
伯努利粒子濾波器在傳遞單目標后驗概率密度的同時,還需要傳遞目標存在概率并考慮目標新生事件,在濾波原理上有別于一般單目標粒子濾波器。因此,在上述研究基礎(chǔ)上進一步討論伯努利粒子濾波器的FPGA實現(xiàn),具有重要的工程應(yīng)用價值和學(xué)術(shù)意義。鑒于雷達微弱信號檢測與估計問題的重要性以及伯努利粒子濾波器在解決該問題上表現(xiàn)出的優(yōu)異性能,這里以雷達微弱信號聯(lián)合檢測估計伯努利粒子濾波器的FPGA實現(xiàn)為例,介紹一種面積資源約束下的模塊化FPGA架構(gòu)及其加速實現(xiàn)方法,為伯努利粒子濾波器在智能無人飛行器、導(dǎo)引系統(tǒng)等嵌入式強實時環(huán)境下的應(yīng)用提供設(shè)計參考。
1 伯努利粒子濾波器原理
1.1 雷達微弱信號檢測估計問題
本文考慮典型高重頻脈沖多普勒雷達的微弱信號檢測估計問題。假設(shè)感興趣多普勒波門內(nèi)最多有一個目標,則第k個相參處理間隔(coherent processing interval, CPI)的接收信號矢量zk可表示為
H0:zk=vk
H1:zk=η(xk)+vk(1)
式中:H0和H1分別為無/有目標情況下的假設(shè);xk=[x1,x2,x3]Tk=[φk,fk,ak]T為目標狀態(tài)矢量,φk為第k個相干幀回波信號的初始相位,fk為目標多普勒頻率,ak為目標信號復(fù)幅度;vk為復(fù)高斯噪聲矢量,vk~CN(0,2σ2N·IL),σ2N為噪聲功率,L為相干積累點數(shù)或信號矢量長度;η(xk):R2C→CL為非線性的觀測函數(shù),將目標回波信號矢量記作sk=[sk,1,sk,2,…,sk,L]T,則其中的sk,l可表示為
sk,l=ηl(xk)=ak·exp(j2πfk(l-1)Ts+φk),
l=1,2,…,L(2)
式中:Ts為采樣間隔,一般等于多普勒雷達脈沖重復(fù)間隔。定義相干積累后的瞬時信噪比ρk為
ρk=L·|ak|22σ2N(3)
因此,高重頻脈沖多普勒雷達微弱信號檢測估計問題的一般性描述為:已知k時刻的觀測序列Zk=[z1,z1,…,zk],在信噪比ρk較低的情況下(一般遠小于雷達可靠檢測目標所要求的13 dB),判斷信號sk存在與否并估計目標狀態(tài)xk。
1.2 伯努利粒子濾波器的工作步驟
伯努利粒子濾波器為解決上述檢測估計問題提供了一種最優(yōu)解。根據(jù)伯努利粒子濾波器原理,后驗分布fk|k(X)封裝了關(guān)于伯努利隨機有限集(random finite set, RFS)X與檢測和估計相關(guān)的[28-29]所有信息:
fk|k(X)=
1-pk|k, X=
pk|k·fk|k(x), X={x}
0, 其他
(4)
式中:X=表示目標不存在(H0);X={x}表示目標存在(H1),且其狀態(tài)x滿足概率密度函數(shù)f(x),存在概率為pk|k。在伯努利粒子濾波理論框架下,高重頻脈沖多普勒雷達微弱信號檢測估計可重新表述為:已知k時刻的觀測序列Zk、隨時間傳遞伯努利RFS Xk的后驗概率密度fk|k(X),并依此密度估計Xk。
由于觀測轉(zhuǎn)換函數(shù)η(x)的強非線性,上述問題的求解計算通常采用序貫蒙特卡羅(也稱粒子濾波)方法實現(xiàn),該方法隨時間傳遞伯努利RFS Xk的目標存在概率pk∣k,以及以粒子集{x(n)k|k,ω(n)k|k}Nn=1形式近似的狀態(tài)后驗概率密度fk|k(x),其中x(n)k|k和ω(n)k|k分別為第n個粒子的狀態(tài)和權(quán)重。每個濾波周期包含預(yù)測、更新、重采樣和狀態(tài)提取4個步驟。整個伯努利粒子濾波器的數(shù)據(jù)流圖如圖1所示,各濾波步驟可簡單描述如下。
(1) 預(yù)測
已知k-1時刻的粒子集{x(n)k-1|k-1,ω(n)k-1|k-1}Nn=1及存在概率pk-1∣k-1,則k時刻存在概率和粒子集的預(yù)測[30]可表示為
pk∣k-1=pb(1-pk-1∣k-1)+pspk-1∣k-1(5)
x(n)k|k-1~πk|k-1(x|x(n)k-1|k-1), n=1,2,…,N
bk(x), n=N+1,N+2,…,N+B(6)
ω(n)k|k-1=pspk-1∣k-1Npk∣k-1, n=1,2,…,N
pb(1-pk-1∣k-1)Bpk∣k-1, n=N+1,N+2,…,N+B(7)
式中:pb和ps分別為目標新生概率和存活概率;N為存活粒子個數(shù);πk|k-1(x|xk-1|k-1)為狀態(tài)轉(zhuǎn)移密度;B為新生粒子數(shù);bk(x)為新生目標的概率密度函數(shù)。
(2) 更新
已知預(yù)測存在概率和預(yù)測粒子集,則在獲得k時刻的觀測zk后,更新的后驗存在概率為
pk∣k≈pk∣k-1∑N+Bn=1lk(zk∣x(n)k∣k-1)ω(n)k∣k-11-pk∣k-1+pk∣k-1∑N+Bn=1lk(zk∣x(n)k∣k-1)ω(n)k∣k-1(8)
更新后的粒子狀態(tài)和歸一化權(quán)重[1]為
x~(n)k|k=x(n)k|k-1, n=1,2,…,N+B(9)
ω~(n)k|k=lk(zk∣x(n)k∣k-1)ω(n)k∣k-1∑N+Bn=1lk(zk∣x(n)k∣k-1)ω(n)k∣k-1(10)
式中:lk(zk∣x(n)k∣k-1)為k時刻的量測似然比,其定義為
lk(zk∣x(n)k∣k-1)g1(zk∣x(n)k∣k-1)g0(zk)(11)
式中:g1(zk∣x)與g0(zk)分別為目標存在和不存在時的似然函數(shù),依據(jù)式(1)模型,二者為復(fù)高斯形式,即有
g1(zk|x)=CN2σ2N·IL(zk-η(x))(12)
g0(zk)=CN2σ2N·IL(zk)(13)
(3) 重采樣
為避免粒子權(quán)重退化和粒子數(shù)量隨時間增長,需要進行重采樣,即根據(jù)不同重采樣算法,從更新粒子集{x~(n)k|k,ω~(n)k|k}N+Bn=1中采樣,獲得權(quán)值均等的粒子集{x(n)k|k,ω(n)k|k}Nn=1,即
x(n)k|k~fk|k(x)≈∑N+Bn=1δx~nk|k(x)ω~(n)k|k(14)
ω(n)k|k=1N(15)
(4) 狀態(tài)提取
伯努利RFS Xk的狀態(tài)提取包括檢測與估計兩部分。首先依據(jù)pk∣k做檢測判決,得到目標存在變量γ^k的估計,判決表達式具體如下:
γ^k=1, pk|k≥τ,τ∈(0,1)
0, 其他(16)
式中:τ為判決門限。
若γ^k=1,則進一步估計目標狀態(tài)x^k,即
x^k=∑N′n=1ω~(n)kx~(n)k∣k-1(17)
1.3 FPGA設(shè)計實現(xiàn)要求
本文實現(xiàn)的目標是在一定的FPGA資源約束下,一是盡量降低輸入輸出(input and output, IO)延時,從而可為后續(xù)處理留出盡可能多的處理時隙;二是盡量提高濾波計算速度,減少單步濾波計算時間,從而在每個濾波周期內(nèi)處理更多波門的檢測估計,具體要求和約束如下。
(1) 輸入zk:長度為L的復(fù)數(shù)序列,設(shè)計中L=250,數(shù)據(jù)類型為16位有符號定點。
(2) 輸出:檢測結(jié)果γ^k,數(shù)據(jù)類型為布爾型;估計結(jié)果x^k,數(shù)據(jù)類型為32位浮點。
(3) 單次濾波計算時間Tc:完成一次濾波迭代計算所需要的總時間?;疽笫荰c小于雷達CPI,即Tc<TCPI,本文中TCPI=5 ms。但考慮可同時濾波的波門數(shù)量,要求Tc≤100 μs。
(4) IO延遲時間TIO:定義為從讀取zk序列的第一個數(shù)據(jù)到輸出結(jié)果的時間,要求是在小于單步計算時間Tc的前提下越小越好。
(5) 資源開銷比:考慮系統(tǒng)其他功能的資源開銷以及多個波門數(shù)據(jù)并行處理的需求,約定在Xilinx ZC706中,Kintex 7 FPGA芯片上的資源開銷不大于30%。
2 伯努利粒子濾波器實現(xiàn)架構(gòu)
數(shù)據(jù)并行架構(gòu)通過例化多個計算單元實行并行處理,在減小總計算時間的同時會帶來資源消耗的成倍增加。依據(jù)上述設(shè)計要求,本設(shè)計需要在有限資源約束下實現(xiàn)最高執(zhí)行速度,因此優(yōu)先采用任務(wù)并行架構(gòu),主要通過對粒子濾波器各計算部件的模塊化設(shè)計和粒子計算的流水并行處理來提升計算效率,伯努利粒子濾波器FPGA實現(xiàn)的系統(tǒng)架構(gòu)如圖2所示。圖2系統(tǒng)架構(gòu)中的主要部件包括計算單元(processing unit, PU)、存儲單元(memory unit, MU)和控制單元(control unit, CU)3個部分。
架構(gòu)中各主要部件的功能如下。PU完成濾波器的主要計算功能。在設(shè)計中,將濾波過程劃分為更新、狀態(tài)提取、重采樣、存活粒子預(yù)測、粒子新生、隨機數(shù)產(chǎn)生6個計算單元模塊。模塊化的設(shè)計有助于算法的更新迭代和重載,極大提高設(shè)計的靈活性。
在濾波過程中,一方面,由于粒子狀態(tài)和權(quán)重需要迭代計算更新,因此需要分配空間進行存儲。另一方面,各個PU之間數(shù)據(jù)流的設(shè)計也關(guān)系到最終執(zhí)行時間及資源的消耗。因此,設(shè)計中將MU分為兩部分:一部分用于粒子狀態(tài)和權(quán)重存儲的內(nèi)存空間;另一部分是PU之間的緩存空間。粒子的狀態(tài)和權(quán)重采用塊隨機存儲器(block random access memory, BRAM)進行存儲,即圖2中的MU1和MU2,數(shù)據(jù)類型均為32位浮點。緩存空間分為3個部分:一是隨機數(shù)緩存MU3,用于重采樣、存活粒子預(yù)測和粒子新生單元,數(shù)據(jù)類型均為32位浮點。粒子數(shù)量確定后,處理過程中隨機數(shù)的個數(shù)不發(fā)生變化。因此,在設(shè)計中,所有隨機數(shù)一次性全部生成,每次濾波過程將重新生成隨機數(shù)。二是重采樣單元輸出的粒子索引緩存MU4。三是存活粒子狀態(tài)緩存MU5。在存活粒子預(yù)測單元中,由于輸入的粒子索引是不連續(xù)的,如果同時對粒子狀態(tài)空間進行讀寫,會大大增加內(nèi)存空間尋址的難度。因此,為預(yù)測后的粒子狀態(tài)單獨開辟一個緩存,深度為存活粒子個數(shù)N。以上3個緩存均設(shè)計為先進先出(first input first output, FIFO)存儲形式,不需要地址管理,簡化了訪存操作,提高了模塊之間數(shù)據(jù)傳輸?shù)男?,同時可以靈活地配置內(nèi)存空間大小。
CU的主要功能是產(chǎn)生系統(tǒng)各單元協(xié)調(diào)運行所需的各種同步和觸發(fā)控制信號,實現(xiàn)各單元和IO的時序控制。
各個PU的執(zhí)行時序編排如圖3所示。時序編排的原則如下:一是與IO延遲相關(guān)的計算前置,最小化IO延時;二是無數(shù)據(jù)和計算部件依賴的單元并行執(zhí)行,減少總計算時間。待觀測zk到達后,首先執(zhí)行更新步驟;由于狀態(tài)提取步驟基于重采樣之前的粒子,因此狀態(tài)提取可與重采樣單元并行執(zhí)行。由于隨機數(shù)單元可一次性產(chǎn)生一個濾波周期所需的所有隨機數(shù),因此隨機數(shù)產(chǎn)生單元也可與更新單元并行執(zhí)行。因此,單次濾波計算時間Tc=(2N+2B+LFFT+LPU1+LPU3+LPU4+LPU5)TCLK。由圖2可知,數(shù)據(jù)IO延遲為更新單元與狀態(tài)提取單元時間之和,即TIO=(2N+2B+LFFT+LPU1+LPU2)TCLK。其中,LPU1、LPU2、LPU3、LPU4和LPU5分別為更新、狀態(tài)提取、重采樣、存活粒子預(yù)測及粒子新生單元完成一個粒子計算所需的時鐘周期數(shù);LFFT為輸入數(shù)據(jù)完成快速傅里葉變換(fast Fourier transformation, FFT)所需要的周期數(shù);TCLK為系統(tǒng)時鐘周期。
3 FPGA并行優(yōu)化方法
為了進一步提高濾波計算速度,減小運行時間,本節(jié)通過數(shù)組分層和并行化重采樣兩種通用的優(yōu)化方法加快濾波運算速度。
3.1 數(shù)組分層優(yōu)化
式(17)中采用加權(quán)和計算的方式對目標狀態(tài)進行提取,其實現(xiàn)的邏輯電路如圖4(a)所示。目標的每一維狀態(tài)提取均需進行N+B次乘累加運算,且由于其輸出要反饋到輸入,導(dǎo)致相鄰兩次累加運算之間存在依賴性,將會增加所需要的時鐘周期,進而增加計算時間。
針對此問題,提出了一種數(shù)組分層求和的方法,對累加和數(shù)組分為兩層進行計算。首先,將數(shù)組等量切分為4個子數(shù)組,如圖4(b)中的MU1i、MU2i(i=1,2,3,4)。然后,分別計算每個子數(shù)組的累加和。最后,再對結(jié)果進行求和計算,得到目標狀態(tài)。數(shù)組分層后的邏輯電路圖如圖4(b)所示。
經(jīng)過數(shù)組分層計算,4個子數(shù)組的乘累加運算可以并行執(zhí)行,因此時間相較于優(yōu)化之前節(jié)省了3/4,且整個運算過程僅增加了3個乘法器和3個加法器。
通過數(shù)組分層計算,以較小的資源代價將累加和運算部分的執(zhí)行時間減小至原來的1/4。
3.2 并行化重采樣
在傳統(tǒng)的重采樣算法,如系統(tǒng)重采樣、殘差重采樣等算法中,首先需要計算歸一化粒子權(quán)重的累加和序列,并根據(jù)隨機數(shù)與累加和序列比較的結(jié)果選擇粒子。這些算法的粒子選擇存在較強的數(shù)據(jù)依賴性,不易于并行化處理。本節(jié)針對此問題,基于Metropolis重采樣算法設(shè)計了粒子流水并行采樣的重采樣單元。
在Metropolis重采樣算法中,對于每一個粒子,在經(jīng)過D次迭代之后,算法將認為已經(jīng)收斂到正確的粒子分布[27]。其偽代碼如算法1所示。
算法 1 Metropolis重采樣算法
a=Metropolis(N,ω):ω∈RN+B→RN
1. for i=1 to N do
2." k=i;
3." for n=1 to D do
4.u~U[0,1];
5.j~U[1,2,…,N+B];
6.if u≤ωj/ωk then
7. k=j;
8.end if
9." end for
10." ai=k;
11. end for
由上述算法的偽代碼可以看出,在Metropolis重采樣算法中,每個粒子的采樣僅依賴于隨機的兩個權(quán)重,而不需要計算累加和序列。因此,在設(shè)計中,將重采樣模塊并行處理,解決了傳統(tǒng)重采樣算法中粒子之間的依賴問題。
4 實驗驗證與測試
本節(jié)在Xilinx ZC706評估板中的Kintex 7 FPGA芯片上實現(xiàn)了上述設(shè)計。首先,給出設(shè)計實現(xiàn)結(jié)果,對照第1.3節(jié)FPGA設(shè)計實現(xiàn)要求,評估設(shè)計實現(xiàn)結(jié)果。然后,將伯努利粒子濾波器算法在FPGA上的實現(xiàn)結(jié)果與其在CPU上的實現(xiàn)結(jié)果進行一致性對比,驗證實現(xiàn)的正確性。接著,對比分析了伯努利粒子濾波器算法在FPGA上實現(xiàn)的加速性能。最后,對設(shè)計的靈活性和可擴展性進行測試。設(shè)計中的參數(shù)配置如表1所示。各個PU對應(yīng)的時間消耗情況如表2所示。觸發(fā)器(flip flop, FF)、查找表(look up table, LUT)、BRAM及數(shù)字信號處理器片(digital signal processor slices, DSP Slices)等的資源開銷如表3所示。
由第3節(jié)計算公式和上述結(jié)果可知,單次濾波執(zhí)行時間為80.4 μs,數(shù)據(jù)IO延時為67.01 μs,且各項資源占用率控制在30%以內(nèi),實現(xiàn)結(jié)果達到設(shè)計中對時間和資源的要求。下面對上述設(shè)計實現(xiàn)結(jié)果進行驗證和測試。
4.1 一致性驗證
為了驗證FPGA設(shè)計實現(xiàn)的正確性,在同樣的輸入數(shù)據(jù)和參數(shù)配置下,將FPGA與CPU計算環(huán)境下的實現(xiàn)結(jié)果進行對比,統(tǒng)計輸出結(jié)果的一致性。參數(shù)配置如表1所示,設(shè)置目標多普勒頻率為-500 Hz,統(tǒng)計500幀數(shù)據(jù)并進行對比,在兩種不同計算環(huán)境下的目標檢測結(jié)果如圖5所示,圖中縱坐標中的數(shù)值0代表未檢測出目標,1代表檢測出目標。目標狀態(tài)中的多普勒頻率估計結(jié)果如圖6所示。
通過對圖5中的結(jié)果進行統(tǒng)計可知,在CPU與FPGA計算環(huán)境下檢測出的目標的幀數(shù)分別為493與491,檢測正確率分別為98.6%與98.2%。
由圖6結(jié)果可以看出,兩種不同計算環(huán)境下的多普勒頻率估計結(jié)果基本一致,且與真值相差不大。接下來,對其均值和誤差進行量化統(tǒng)計。由于濾波過程需要一定的收斂時間,因此在初始階段偏差較大。去除統(tǒng)計過程中的前3幀數(shù)據(jù)后,兩種不同計算環(huán)境下處理結(jié)果的均值與誤差數(shù)據(jù)如表4所示。
從表4中的處理結(jié)果可以計算得到,F(xiàn)PGA與CPU計算環(huán)境下的估計均值相差僅0.44 Hz,且與真實值的誤差遠遠小于多普勒分辨率200 Hz。
綜上所述,由檢測和狀態(tài)估計結(jié)果分析可以得出,F(xiàn)PGA計算環(huán)境與CPU計算環(huán)境下的結(jié)果具有統(tǒng)計一致性。
4.2 加速性能測試
為了進一步驗證所提FPGA設(shè)計實現(xiàn)的并行加速性能,首先開展FPGA計算環(huán)境與Intel Core i3 4130 CPU計算環(huán)境下處理時間的對比實驗。定義加速比為CPU與FPGA計算環(huán)境下的單次濾波計算時間之比,加速比測試結(jié)果如圖7所示。從圖7可以看出,F(xiàn)PGA計算環(huán)境下的執(zhí)行速度約為Intel Core i3 4130 CPU下執(zhí)行速度的0.7~1.2萬倍,且加速比隨著粒子數(shù)量的增加而增加。其次,為了驗證所提并行加速方案的加速效果,對進行數(shù)組分層和并行化重采樣優(yōu)化前后的IO延遲和單次濾波計算時間結(jié)果進行對比,計算環(huán)境均為FPGA,結(jié)果如圖8所示。
由圖8中的數(shù)據(jù)可知,優(yōu)化后數(shù)據(jù)IO延遲約降低了55.9%,單次濾波計算時間降低約76.1%,證實了數(shù)組分層優(yōu)化及并行化重采樣方法的有效性。
4.3 可擴展性測試
為了驗證設(shè)計架構(gòu)的可擴展性,本實驗在粒子數(shù)不同的情況下,評估FPGA實現(xiàn)資源占用的情況。在本設(shè)計中,隨著粒子數(shù)的增加,F(xiàn)F、DSP Slices及LUT的消耗幾乎不發(fā)生變化,但由于設(shè)計中內(nèi)存及緩存大小與粒子數(shù)直接相關(guān),因此統(tǒng)計不同粒子數(shù)下BRAM的資源占用情況如圖9所示。
從圖9中的數(shù)據(jù)可以看出,隨著粒子數(shù)量的增加,BRAM資源占用也在相應(yīng)地增加,且當粒子數(shù)量超過1 024時,粒子數(shù)與資源占比大致呈線性關(guān)系,表明設(shè)計架構(gòu)具有良好的可擴展性。
5 結(jié) 論
為了提高伯努利粒子濾波器的實時處理性能,本文提出了一種高速FPGA實現(xiàn)架構(gòu)。首先,通過模塊化的頂層設(shè)計,提升了靈活性和可擴展性;其次,提出了數(shù)組分層優(yōu)化和重采樣算法并行化的方法,大大降低了濾波器運算時間。基于Xilinx ZC706評估板的實驗結(jié)果表明,在性能與CPU處理保持統(tǒng)計一致性的前提下,在粒子數(shù)為1 024時,F(xiàn)PGA運行環(huán)境下的計算速度是CPU的約10 000倍,實時處理性能得到較大提升。本文的FPGA實現(xiàn)方法對于伯努利粒子濾波技術(shù)在雷達、制導(dǎo)與導(dǎo)航等其他領(lǐng)域的應(yīng)用具有重要參考價值。
參考文獻
[1]蔡飛. 雷達弱小目標檢測與跟蹤技術(shù)研究[D]. 長沙: 國防科學(xué)技術(shù)大學(xué), 2015.
CAI F. Research on detection and tracking technologies for dim targets in radar[D]. Changsha: National University of Defense Technology, 2015.
[2]LIANG T, BATTISTELLI G, CHISCI L, et al. Joint emitter detection and tracking based on the Bernoulli filter[C]∥Proc.of the 26th International Conference on Information Fusion, 2023.
[3]CHENG X, JI H B, ZHANG Y Q. Effective implementation and improvement of fast labeled multi Bernoulli filter[J]. Journal of Systems Engineering and Electronics, 2023, 34(3): 661-673.
[4]DAVIES E S, GARCIA FERNANDEZ A F. Information exchange track before detect multi Bernoulli filter for superpositional sensors[J]. IEEE Trans.on Signal Processing, 2024, 72: 607-621.
[5]ISHTIAQ N, GOSTAR A K, BAB HADIASHAR A, et al. Interaction aware labeled multi Bernoulli filter[J]. IEEE Trans.on Intelligent Transportation Systems, 2023, 24(11): 11668-11681.
[6]陳壯壯, 宋驪平. 機動目標跟蹤的交互多模型泊松多伯努利混合濾波[J]. 系統(tǒng)工程與電子技術(shù), 2024, 46(3): 786-794.
CHEN Z Z, SONG L P. Interacting multiple model Poisson multi Bernoulli mixture filter for tracking maneuvering targets[J]. Systems Engineering and Electronics, 2024, 46(3): 786-794.
[7]CHISHOLM T, LINS R, GIVIGI S. FPGA based design for real time crack detection based on particle filter[J]. IEEE Trans.on Industrial Informatics, 2020, 16(9): 5703-5711.
[8]KIM D, LEE H, KWON H H, et al. Parallelized particle filter with efficient pipelining on FPGA for real time ballistic target tracking[J]. IEEE Access, 2023, 11: 104830-104838.
[9]KIM D, HAN Y, LEE H, et al. Accelerated particle filter with GPU for real time ballistic target tracking[J]. IEEE Access, 2023, 11: 12139-12149.
[10]TANG X Y, FU Z J. CPU GPU utilization aware energy efficient scheduling algorithm on heterogeneous computing systems[J]. IEEE Access, 2020, 8: 58948-58958.
[11]SZWOCH G. Performance evaluation of the parallel object tracking algorithm employing the particle filter[C]∥Proc.of the IEEE Conference on Signal Processing: Algorithms, Architectures, Arrangements, and Applications, 2016: 119-124.
[12]KRISHNA A, SCHAIK A V, THAKUR C S. FPGA implementation of particle filters for robotic source localization[J]. IEEE Access, 2021, 9: 98185-98203.
[13]DIAKITE D, GAC N. X ray tomography reconstruction acce lerated on FPGA through high level synthesis tools[J]. IEEE Trans.on Biomedical Circuits and Systems, 2023, 17(2): 375-389.
[14]ZHANG J H, HE X, ZHAO G, et al. FPGA implementation for finite time and fixed time neurodynamic algorithms in constrained optimization problems[J]. IEEE Trans.on Circuits and Systems I: Regular Papers, 2023, 70(9): 3584-3597.
[15]SUN H, DENG Q, LIU X Z, et al. An energy efficient stream based FPGA implementation of feature extraction algorithm for LiDAR point clouds with effective local search[J]. IEEE Trans.on Circuits and Systems I: Regular Papers, 2023, 70(1): 253-265.
[16]ZHOU X W, ZHAO D D, GENG Z S, et al. FPGA implementation of non commensurate fractional order state space models[J]. IEEE Trans.on Circuits and Systems I: Regular Papers, 2023, 70(9): 3639-3652.
[17]汪敏, 馮一倫, 蔣彥雯, 等. 雷達波形通用調(diào)制引擎設(shè)計[J]. 系統(tǒng)工程與電子技術(shù), 2023, 45(6): 1684-1692.
WANG M, FENG Y L, JIANG Y W, et al. Design of general modulation engine for radar waveform[J]. Systems Engineering and Electronics, 2023, 45(6): 1684-1692.
[18]TAHARA A, HAYASHIDA Y, THU T T, et al. Power performance analysis of FPGA based particle filtering for realtime object tracking[C]∥Proc.of the Conference on Complex, Intelligent, and Software Intensive Systems, 2018: 451-462.
[19]HONG S J, CHIN S S, DJURIC P M, et al. Design and implementation of flexible resampling mechanism for high speed parallel particle filters[J]. Journal of VLSI Signal Processing, 2006, 44(1/2): 47-62.
[20]EL HALYM H A A, MAHMOUD I I, HABIB S. Proposed hardware architectures of particle filter for object tracking[J]. EURASIP Journal on Advances in Signal Processing, 2012: 17.
[21]MIAO L F, ZHANG J J, CHAKRABARTI C, et al. Efficient Bayesian tracking of multiple sources of neural activity: algorithms and real time FPGA implementation[J]. IEEE Trans.on Signal Processing, 2013, 61(3): 633-647.
[22]ALAM S A, GUSTAFSSON O. Improved particle filter resampling architectures[J]. Journal of Signal Processing Systems, 2020, 92(6): 555-568.
[23]AKSHAY A, BOLIC M, SANGJIN H, et al. Generic hardware architectures for sampling and resampling in particle filters[J]. EURASIP Journal on Advances in Signal Processing, 2005(17): 476167.
[24]BOLIC M, DJURIC P M, HONG S J. Resampling algorithms and architectures for distributed particle filters[J]. IEEE Trans.on Signal Processing, 2005, 53(7): 2442-2450.
[25]SCHWIEGELSHOHN F, OSSOVSKI E, HUBNER M. A fully parallel particle filter architecture for FPGAs[C]∥Proc.of the Conference on Applied Reconfigurable Computing, 2015: 91-102.
[26]SCHWIEGELSHOHN F, OSSOVSKI E, HBNER M. A resamp ling method for parallel particle filter architectures[J]. Microprocessors and Microsystems, 2016, 47: 314-320.
[27]MURRAY L M, LEE A, JACOB P E. Parallel resampling in the particle flter[J]. Journal of Computational and Graphical Statistics, 2016, 25(3): 789-805.
[28]辛懷聲, 宋鵬漢, 曹晨. 多模型廣義標簽多伯努利濾波器[J]. 系統(tǒng)工程與電子技術(shù), 2022, 44(12): 3603-3613.
XIN H S, SONG P H, CAO C. Multiple model based generali zed labeled muti Bernoulli filter[J]. Systems Engineering and Electronics, 2022, 44(12): 3603-3613.
[29]吳孫勇, 鄒寶紅, 薛秋條, 等. 基于單快拍空間平滑的多伯努利DOA跟蹤算法[J]. 系統(tǒng)工程與電子技術(shù), 2021, 43(9): 2430-2438.
WU S Y, ZOU B H, XUE Q T, et al. DOA tracking algorithm based on single snapshot spatial smoothing with multi Bernoulli[J]. Systems Engineering and Electronics, 2021, 43(9): 2430-2438.
[30]GNING A, RISTIC B, MIHAYLOVA L. Bernoulli particle/box particle filters for detection and tracking in the presence of triple measurement uncertainty[J]. IEEE Trans.on Signal Processing, 2012, 60(5): 2138-2151.
作者簡介
連紅飛(1997—),男,博士研究生,主要研究方向為毫米波雷達陣列成像、嵌入式實時信號處理。
李東升(1994—),男,博士研究生,主要研究方向為多目視覺即時定位與地圖創(chuàng)建、目標跟蹤。
蔣彥雯(1991—),女,副教授,博士,主要研究方向為陣列雷達成像、精確制導(dǎo)應(yīng)用。
范紅旗(1978—),男,研究員,博士,主要研究方向為主動感知系統(tǒng)、目標跟蹤、信息融合與智能導(dǎo)引。
肖懷鐵(1966—),男,教授,博士,主要研究方向為自動目標識別、 雷達信號處理、機器學(xué)習(xí)。
王國嫣(1989—),女,講師,博士,主要研究方向為激光、多目視覺即時定位與地圖創(chuàng)建、多源信息融合、人機交互。