本發(fā)明專利技術(shù)公布了一種基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,所述方法如下:(1)粒子生成模塊用于接收輸入向量生成粒子后分別輸出至粒子更新模塊、重采樣模塊;(2)粒子更新模塊用于對步驟(1)生成的粒子進(jìn)行更新即權(quán)值計(jì)算和權(quán)值歸一化后輸出至重采樣模塊;(3)重采樣模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行重采樣過程和狀態(tài)更新后反饋至步驟(1)粒子生成模塊;(4)輸出生成模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行數(shù)據(jù)生成輸出。
【技術(shù)實(shí)現(xiàn)步驟摘要】
基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法
本專利技術(shù)涉及一種基于FPGA實(shí)現(xiàn)的粒子濾波算法的硬件實(shí)現(xiàn)方法,采用數(shù)據(jù)流結(jié)構(gòu)的模塊級流水線設(shè)計(jì)方法,屬于非線性系統(tǒng)濾波和電子
技術(shù)介紹
粒子濾波是一種基于蒙特卡羅方法和遞推貝葉斯估計(jì)的統(tǒng)計(jì)濾波方法,適用于任何能用狀態(tài)空間模型以及傳統(tǒng)的卡爾曼濾波表示的非高斯背景的非線性隨機(jī)系統(tǒng)。但是粒子濾波存在粒子退化、粒子多樣性喪失、粒子數(shù)與計(jì)算復(fù)雜度同比增長等問題。另一方面,粒子濾波算法比較復(fù)雜,運(yùn)算量比較大,從而使得粒子濾波的實(shí)時性很差,阻礙了其實(shí)際應(yīng)用。考慮到各粒子的獨(dú)立性及其操作的并行性,硬件實(shí)現(xiàn)不失為提高粒子濾波實(shí)時性的有效途徑之一。目前,絕大部分粒子濾波文獻(xiàn)是關(guān)于其理論研究和算法仿真的,而關(guān)于其硬件實(shí)現(xiàn)的則很少。粒子濾波器在硬件系統(tǒng)上的應(yīng)用還只是初級階段,而粒子濾波器從理論、算法研究走向?qū)嶋H應(yīng)用的過程中,硬件實(shí)現(xiàn)是一個關(guān)鍵環(huán)節(jié)。隨著粒子濾波算法的深入研究和嵌入式微處理器技術(shù)的發(fā)展,使粒子濾波算法的硬件實(shí)現(xiàn)成為可能??芍貥?gòu)計(jì)算最早由加利福尼亞大學(xué)洛杉磯分校的Estrin教授于1962年提出??芍貥?gòu)計(jì)算是指使用集成了可編程硬件的系統(tǒng)進(jìn)行計(jì)算,并且可編程硬件的功能可由一系列定時變化的物理可控點(diǎn)來定義,其計(jì)算硬件結(jié)構(gòu)可以改變(可重構(gòu))。上世紀(jì)70年代末,SuetlanaP.等人提出了動態(tài)可重構(gòu)系統(tǒng)的概念,研究在系統(tǒng)運(yùn)行時對系統(tǒng)的局部進(jìn)行重構(gòu),改變其配置,提高了系統(tǒng)性能和資源利用率。20世紀(jì)90年代末,隨著FPGA技術(shù)的進(jìn)一步成熟,F(xiàn)PGA成為可重構(gòu)計(jì)算的主流硬件平臺,很多算法(如卡爾曼濾波算法)都出現(xiàn)了基于FPGA的硬件計(jì)算方法。目前,F(xiàn)PGA器件已支持更加先進(jìn)靈活的動態(tài)重構(gòu)技術(shù)。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)為了提高硬件實(shí)現(xiàn)粒子濾波算法的計(jì)算效率和精度,提出一種基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,應(yīng)用FPGA設(shè)計(jì)粒子濾波算法的各個模塊,從而為工程應(yīng)用中復(fù)雜粒子濾波算法的高效計(jì)算和硬件實(shí)現(xiàn)問題,提供一種新穎的解決思路。本專利技術(shù)基于FPGA的樣本重要性重采樣粒子濾波器(SamplesImportanceResamplingParticleFilter—SIRF)的硬件實(shí)現(xiàn)方法,所述粒子濾波器包括粒子生成模塊、粒子更新模塊、重采樣模塊和輸出生成模塊,其中:(1)粒子生成模塊用于接收輸入向量生成粒子后分別輸出至粒子更新模塊、重采樣模塊;(2)粒子更新模塊用于對步驟(1)生成的粒子進(jìn)行更新即權(quán)值計(jì)算和權(quán)值歸一化后輸出至重采樣模塊;(3)重采樣模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行重采樣過程和狀態(tài)更新后反饋至步驟(1)粒子生成模塊;(4)輸出生成模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行數(shù)據(jù)生成輸出。步驟(1)所述粒子生成模塊所有輸入輸出都是M維向量,即M=4維向量,且緩沖控制器的參數(shù)相同。所述重采樣模塊所有的輸入輸出數(shù)據(jù)都是M維向量,即M=4維向量。步驟(2)所述的粒子更新模塊分成三個處理模塊:PU1、PU2和PU3;PU1處理模塊接收來自粒子生成模塊的輸入,將輸出M維臨時數(shù)據(jù)tPU1輸送到PU2處理模塊;PU2模塊接收來自PU1處理模塊的M維臨時數(shù)據(jù)tPU1和外部觀測輸入(z(n))進(jìn)行權(quán)值計(jì)算形成輸出流tPU2,同時生成權(quán)值累加值sum;PU3處理模塊接收來自PU2處理模塊的輸出流tPU2和權(quán)值累加值sum進(jìn)行權(quán)值歸一化,然后將標(biāo)準(zhǔn)化權(quán)重w存儲在輸出緩沖區(qū),并輸出至重采樣模塊以及粒子生成模塊。步驟(4)所述的輸出生成模塊標(biāo)準(zhǔn)化輸出為:其中:μx為輸出生成模塊的輸出變量;sum為權(quán)值和;tPU2為PU2模塊的輸出。本專利技術(shù)提出的硬件設(shè)計(jì)方法可以擴(kuò)展到不同粒子濾波的動態(tài)重新配置。對于每個粒子濾波器,首先定義每個處理模塊的操作,然后定義數(shù)據(jù)流結(jié)構(gòu),最后設(shè)計(jì)緩沖控制器和全局控制器。最重要的部分是數(shù)據(jù)中心,它負(fù)責(zé)處理模塊之間大量的數(shù)據(jù)傳輸。整個濾波器使用模塊級流水線設(shè)計(jì),大大簡化了設(shè)計(jì)流程。模塊級流水線通過分布式控制器來實(shí)現(xiàn)同步執(zhí)行,該控制器控制各個處理模塊的數(shù)據(jù)生成和傳輸。本專利技術(shù)設(shè)計(jì)的主要有益效果就是給出了應(yīng)用模塊級流水線設(shè)計(jì)思想設(shè)計(jì)粒子濾波器硬件的具體過程,同時采用循環(huán)融合的方式去除了粒子濾波算法中的權(quán)值歸一化步驟去掉,從而實(shí)現(xiàn)了采樣、權(quán)值計(jì)算和重采樣過程的并行分布式結(jié)構(gòu)。這種粒子濾波器的設(shè)計(jì)方法加快了濾波器的執(zhí)行時間,同時降低了粒子濾波算法的算法復(fù)雜度。附圖說明圖1SIRF的數(shù)據(jù)流圖;圖2SIRF算法各個模塊之間的數(shù)據(jù)關(guān)系;圖3SIRF在FPGA中實(shí)現(xiàn)的數(shù)據(jù)流圖。具體實(shí)施方式粒子濾波算法有如下兩個獨(dú)特的執(zhí)行特性:(1)可以表示為數(shù)據(jù)流圖,節(jié)點(diǎn)(或模塊)可以并發(fā)執(zhí)行。雖然每個模塊的復(fù)雜性不同,但是數(shù)據(jù)流圖都可以清楚地表示各模塊之間的數(shù)據(jù)依賴關(guān)系;(2)數(shù)據(jù)流圖中的每個模塊處理每個周期的一組數(shù)據(jù)。為了應(yīng)用硬件實(shí)現(xiàn)粒子濾波,本專利技術(shù)采用模塊級流水線設(shè)計(jì)方法,將粒子濾波分為粒子生成模塊、粒子更新模塊、重采樣模塊和輸出生成模塊,各個模塊并行執(zhí)行,能顯著提高算法的運(yùn)行效率。同時為了充分利用緩沖控制器,按如下三個要求設(shè)計(jì)處理模塊:(1)在消除各處理模塊之間控制信號的依賴關(guān)系(除了數(shù)據(jù)依賴)的基礎(chǔ)上設(shè)計(jì)處理模塊。如果任何兩個處理模塊之間的控制信號有依賴關(guān)系,則通過時間數(shù)據(jù)來設(shè)計(jì)這些依賴關(guān)系。如果控制信號間的依賴關(guān)系完全不可避免,則將控制信號作為數(shù)據(jù)并通過緩沖控制器實(shí)現(xiàn)控制。(2)確保數(shù)據(jù)的生成和使用速度一定的前提下選擇處理模塊的大小,同時還要確保生成和使用數(shù)據(jù)的數(shù)量一致。(3)只有一個全局時鐘,其他處理模塊的時鐘信號都來自于全局時鐘。本專利技術(shù)采用分布式控制器,使用模塊級流水線設(shè)計(jì)方法設(shè)計(jì)樣本重要性重采樣粒子濾波器(SIRF),以二維純方位目標(biāo)跟蹤為處理對象,主要估計(jì)的未知狀態(tài)是笛卡爾坐標(biāo)系中跟蹤對象的位置和速度,其中x,y是指目標(biāo)的位置坐標(biāo),Vx,Vy分別是x,y方向上的速度分量。整個粒子濾波器由若干個處理模塊組成,每個模塊處理各種復(fù)雜的算術(shù)運(yùn)算,同時每個處理模塊具有用于控制其操作的局部控制器。分布式控制能夠高效地處理各個數(shù)據(jù)模塊之間的數(shù)據(jù)依賴關(guān)系。整個粒子濾波器被分成了幾個處理模塊,每個處理模塊有一個用于控制其操作的局部控制器。首先定義每個處理模塊的操作,然后定義數(shù)據(jù)流結(jié)構(gòu)。同時設(shè)計(jì)一個緩沖控制器和全局控制器,全局控制器控制各個處理模塊的數(shù)據(jù)生成和傳輸,采用分布式控制高效地處理各個數(shù)據(jù)模塊之間的數(shù)據(jù)依賴關(guān)系,模塊級流水線通過分布式控制器來實(shí)現(xiàn)同步執(zhí)行。整個濾波器使用模塊級流水線設(shè)計(jì),大大簡化了設(shè)計(jì)流程。本專利技術(shù)設(shè)計(jì)了SIRF的各個處理模塊,包括粒子生成模塊(PG)、粒子更新模塊(PU)、均值計(jì)算/生成輸出(MC/OG)、重采樣(RS)模塊等,如圖1所示為SIRF的模塊數(shù)據(jù)流圖。(1)模塊設(shè)計(jì)粒子生成模塊(PG):該模塊的主要功能就是生成粒子。在PG處理模塊中,有四個連接輸入向量的緩沖區(qū)和4個連接輸出向量(x,Vx,y,Vy)的緩沖區(qū)。PG模塊的輸出用于重采樣(RS)模塊。此外,兩個連接(x,y)的緩沖區(qū)用于粒子更新模塊PU1。所有輸入輸出都是M維向量,即M=4維向量,且緩沖控制器的參數(shù)相同。粒子生成模塊通過并行計(jì)本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,其特征在于所述粒子濾波器包括粒子生成模塊、粒子更新模塊、重采樣模塊和輸出生成模塊,其中:(1)粒子生成模塊用于接收輸入向量生成粒子后分別輸出至粒子更新模塊、重采樣模塊;(2)粒子更新模塊用于對步驟(1)生成的粒子進(jìn)行更新即權(quán)值計(jì)算和權(quán)值歸一化后輸出至重采樣模塊;(3)重采樣模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行重采樣過程和狀態(tài)更新后反饋至步驟(1)粒子生成模塊;(4)輸出生成模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行數(shù)據(jù)生成輸出。
【技術(shù)特征摘要】
1.一種基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,其特征在于所述粒子濾波器包括粒子生成模塊、粒子更新模塊、重采樣模塊和輸出生成模塊,其中:(1)粒子生成模塊用于接收輸入向量生成粒子后分別輸出至粒子更新模塊、重采樣模塊;(2)粒子更新模塊用于對步驟(1)生成的粒子進(jìn)行更新即權(quán)值計(jì)算和權(quán)值歸一化后輸出至重采樣模塊;(3)重采樣模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行重采樣過程和狀態(tài)更新后反饋至步驟(1)粒子生成模塊;(4)輸出生成模塊用于對步驟(2)所述更新后的粒子或者步驟(1)生成的粒子進(jìn)行數(shù)據(jù)生成輸出。2.根據(jù)權(quán)利要求1所述的基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,其特征在于步驟(1)所述粒子生成模塊所有輸入輸出都是M維向量,即M=4維向量,且緩沖控制器的參數(shù)相同。3.根據(jù)權(quán)利要求1所述的基于FPGA的樣本重要性重采樣粒子濾波器的硬件實(shí)現(xiàn)方法,其特征在于所述重采樣模塊所有的輸入輸出數(shù)據(jù)都是M維向...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:朱志宇,吳將,王彪,李陽,沈舒,陳迅,薛文濤,黃巧亮,戴曉強(qiáng),
申請(專利權(quán))人:江蘇科技大學(xué),
類型:發(fā)明
國別省市:江蘇;32
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。