魏 穎,郭 魯
(沈陽(yáng)工學(xué)院 信息與控制學(xué)院,遼寧 撫順 113122)
無(wú)線傳感器網(wǎng)絡(luò)(WSN,wireless sensor network)是當(dāng)今比較重要的高科技技術(shù),其主要思想是在被測(cè)環(huán)境中布置相應(yīng)的無(wú)線傳感器設(shè)備,檢測(cè)相應(yīng)的環(huán)境數(shù)據(jù),并根據(jù)檢測(cè)的信息實(shí)時(shí)的將信息相融合,構(gòu)成網(wǎng)絡(luò)連接。目標(biāo)跟蹤是無(wú)線傳感器網(wǎng)絡(luò)的基礎(chǔ)研究領(lǐng)域之一,同時(shí)也是研究的熱點(diǎn),主要應(yīng)用于交通監(jiān)控和戰(zhàn)爭(zhēng)檢測(cè)等[1-2]。例如,要實(shí)現(xiàn)對(duì)一個(gè)目標(biāo)進(jìn)行及時(shí)準(zhǔn)確跟蹤,可以將其放在布置有無(wú)線傳感器的環(huán)境中,通過(guò)無(wú)線傳感器網(wǎng)絡(luò)實(shí)時(shí)采集目標(biāo)運(yùn)動(dòng)中的測(cè)量數(shù)據(jù),結(jié)合跟蹤系統(tǒng)的控制,對(duì)跟蹤目標(biāo)的位置實(shí)時(shí)預(yù)估,達(dá)到準(zhǔn)確跟蹤的效果。應(yīng)用WSN進(jìn)行目標(biāo)跟蹤時(shí),如果監(jiān)測(cè)的準(zhǔn)確性不高,系統(tǒng)就可能無(wú)法自動(dòng)集中,導(dǎo)致目標(biāo)跟蹤丟失。粒子濾波(PF,particle filter)通過(guò)非參數(shù)化的蒙特卡洛模擬實(shí)現(xiàn)遞推貝葉斯濾波,更新推斷系統(tǒng)的下一個(gè)狀態(tài),精確逼近最優(yōu)估計(jì)值,因此,粒子濾波比較適用于處理目標(biāo)跟蹤等非線性系統(tǒng)的狀態(tài)估計(jì)問(wèn)題。粒子濾波算法在多次重復(fù)迭代后會(huì)出現(xiàn)粒子貧化現(xiàn)象,導(dǎo)致目標(biāo)跟蹤的準(zhǔn)確性降低。粒子貧化問(wèn)題一般可以通過(guò)改進(jìn)重要性分布函數(shù)或者是改進(jìn)重新提取粒子來(lái)解決,使粒子的多樣性得到了保證[3-4]。為了使粒子群優(yōu)化過(guò)程中持續(xù)保持具有局部多樣性的特性,本文通過(guò)對(duì)粒子濾波算法加以改進(jìn),克服粒子貧化問(wèn)題,解決了粒子退化的缺陷。
現(xiàn)代粒子濾波領(lǐng)域有多種發(fā)展方向,其中群智能優(yōu)化粒子濾波算法是一個(gè)比較新的發(fā)展方向。群集智能粒子濾波方法的主要思想是對(duì)粒子分布實(shí)行反復(fù)迭代優(yōu)化,對(duì)于粒子群中低權(quán)重粒子不存在放棄問(wèn)題,從而增加了粒子迭代過(guò)程中的多樣性,在根本上解決粒子貧化問(wèn)題。文獻(xiàn)[5]在粒子樣本更新過(guò)程中,將粒子群算法和螞蟻群算法相結(jié)合,實(shí)現(xiàn)了信息融合和共享,大大提高了粒子群的全局優(yōu)化能力。采用文獻(xiàn)[6]進(jìn)行優(yōu)化的粒子濾波算法應(yīng)用到自適應(yīng)粒子群中,對(duì)樣本粒子數(shù)量進(jìn)行了適應(yīng)性調(diào)整,合理調(diào)整了粒子空間分布狀態(tài)和正確性。
布谷鳥算法(Cuckoo Search)CS算法是劍橋大學(xué)學(xué)者Yang和Deb提出的一種全局搜索的算法,該種算法實(shí)質(zhì)上是通過(guò)對(duì)布谷鳥尋窩產(chǎn)卵的行為的模擬過(guò)程。CS算法作為最新的智能優(yōu)化算法之一,還處于早期研究和擴(kuò)展階段,與PF融合的報(bào)道較少。作為最新的智能優(yōu)化算法之一,布谷鳥算法還處于早期研究和擴(kuò)展階段,關(guān)于與PF融合的報(bào)道較少。文獻(xiàn)[7]表明,布谷鳥算法優(yōu)化的綜合能力比螞蟻算法,粒子群等算法更強(qiáng),因而布谷鳥算法和粒子濾波相結(jié)合時(shí),智能優(yōu)化的粒子濾波性能進(jìn)一步提高,具有重要意義。CS 算法基本上只需要調(diào)整宿主發(fā)現(xiàn)卵的概率pi的大小,算法較簡(jiǎn)單,所以通用性很好,魯棒性較強(qiáng),但是,該種算法的缺點(diǎn)是在算法的運(yùn)算后期存在收斂速度慢、精確度低等問(wèn)題。CS算法的Han 等[8-9]用布谷鳥搜索算法與粒子濾波器(CS-PF)相結(jié)合的算法應(yīng)用于故障檢測(cè)中,用此來(lái)估計(jì)測(cè)量信號(hào)的缺陷輪廓,其結(jié)果表明,該算法明顯優(yōu)于單獨(dú)使用布谷鳥算法,但算法的搜索效率還有待提高。因此,如果將標(biāo)準(zhǔn)的布谷鳥計(jì)算方法加入到粒子濾波算法中,通過(guò)兩者相結(jié)合,就不能滿足現(xiàn)代高頻精密跟蹤雷達(dá)精度的需要。黃辰等[10]在布谷鳥算法中加入策略差分變異過(guò)程,從而改變排隊(duì)機(jī)制,增加優(yōu)選機(jī)制,同時(shí)將粒子濾波與改進(jìn)的布谷鳥算法(ICS-PF)相結(jié)合,增加了粒子的多樣性,解決了粒子貧化問(wèn)題。但上述方法中,出現(xiàn)搜索速度慢,精度不高等缺點(diǎn)。為了使布谷鳥算法局部尋優(yōu)與全局尋優(yōu)的能力達(dá)到相協(xié)調(diào)的效果,本文對(duì)布谷鳥算法進(jìn)行改進(jìn):針對(duì)算法中在解向量微調(diào)中起主要作用的兩個(gè)參數(shù),用它們來(lái)控制調(diào)整算法的收斂速度。一個(gè)參數(shù)是被宿主鳥發(fā)現(xiàn)的概率pi,另一個(gè)參數(shù)是Le′vy飛行過(guò)程中改變步長(zhǎng)值α,它們的作用分別是通過(guò)對(duì)局部隨機(jī)搜索以獲得最優(yōu)解的能力,通過(guò)對(duì)全局搜索時(shí)以獲得種群多樣性。將改進(jìn)的布谷鳥算法和粒子濾波結(jié)合,提出一種改進(jìn)的布谷鳥算法優(yōu)化粒子濾波方法(ICS-PF, improved cuckoo search algorithm particle filter),該算法更有效地探索搜索空間算法的局部尋優(yōu)與全局尋優(yōu)得到平衡,進(jìn)一步提高了算法精度。
針對(duì)粒子濾波算法粒子退化問(wèn)題,本文提出了一種改進(jìn)的布谷鳥與粒子濾波相結(jié)合跟蹤算法。改進(jìn)布谷鳥的粒子濾波算法基本思想是在粒子濾波算法的基礎(chǔ)上加入改進(jìn)的布谷鳥算法,代替了粒子濾波重采樣過(guò)程,通過(guò)改進(jìn)布谷鳥算法中的搜索步長(zhǎng)值α和發(fā)現(xiàn)外來(lái)鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時(shí)在步長(zhǎng)更新方程中實(shí)時(shí)引入函數(shù)值的變化趨勢(shì),引導(dǎo)粒子整體上向較高的隨機(jī)區(qū)域移動(dòng), 有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問(wèn)題,增加粒子群多樣化從而提高跟蹤性能。結(jié)果表明,該算法可以保持種群多樣性,收斂速度大大提高。
ICS-PF算法是通過(guò)改進(jìn)的布谷鳥算法優(yōu)化粒子濾波重采樣過(guò)程,來(lái)實(shí)現(xiàn)無(wú)線傳感器目標(biāo)跟蹤。其主要思想是在傳統(tǒng)粒子濾波算法中結(jié)合改進(jìn)布谷鳥算法,增加了粒子多樣性,提高了跟蹤準(zhǔn)確性,減少監(jiān)測(cè)時(shí)間,監(jiān)測(cè)能力得到了提高。實(shí)驗(yàn)結(jié)果表明,該算法具有較好的跟蹤性能。
粒子濾波主要是采用隨機(jī)加權(quán)隨機(jī)樣本來(lái)近似表征的后概率密度u(xg|z1:g)。
(1)
δ是delta 函數(shù)。一般通過(guò)后驗(yàn)概率密度函數(shù)來(lái)估計(jì)目標(biāo)狀態(tài),按照重要樣本的原則,根據(jù)重要性分布函數(shù)來(lái)獲得重要性大的即為權(quán)值大的粒子。已知的樣本分布, 得到粒子對(duì)應(yīng)的重要度(權(quán)重)如公式(2),以及隨后的后驗(yàn)概率如公式(3):
(2)
(3)
通過(guò)上述的公式,代入式(2),可以確加權(quán)粒子集的更新過(guò)程(4):
(4)
通過(guò)公式(3)和式(4)形成基于粒子濾波算法的方法,通過(guò)粒子重采樣的方法,解決粒子退化問(wèn)題。重新采樣算法將所有粒子的權(quán)重值同樣更改為1/N,退化問(wèn)題得到緩解。
但是為了保持樣本粒子的集中分布和合理分布功能,通常采用采樣算法復(fù)制大值粒子,刪除小值的方法,結(jié)果導(dǎo)致權(quán)重大值粒子出現(xiàn)了重復(fù)粒子增多的現(xiàn)象,即粒子貧化的現(xiàn)象,最終會(huì)導(dǎo)致粒子樣本多樣性減少,使整個(gè)算法的性能變差,因此在重要的采樣過(guò)程中,為了要保持其多樣性,要對(duì)粒子進(jìn)行適當(dāng)調(diào)整。
現(xiàn)有的重新采樣算法中,為了保留粒子集中有代表性的粒子,因此,通常只選擇高權(quán)重值的粒子進(jìn)行更新,結(jié)果使重復(fù)性粒子增加較多,粒子群失去多樣性,導(dǎo)致出現(xiàn)粒子貧化現(xiàn)象。引入一種改進(jìn)的布谷鳥算法來(lái)取代粒子濾波重采樣過(guò)程,該算法通過(guò)改變改進(jìn)布谷鳥算法中的搜索步長(zhǎng)值α和發(fā)現(xiàn)外來(lái)鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時(shí)在步長(zhǎng)更新方程中實(shí)時(shí)引入函數(shù)值的變化趨勢(shì),有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問(wèn)題,增加粒子群多樣化從而提高跟蹤性能[11]。
目前對(duì)于粒子濾波重采樣方法,通常保留大權(quán)重的粒子,而刪除小權(quán)重粒子,這樣多次迭代后,導(dǎo)致粒子缺乏,出現(xiàn)粒子貧化現(xiàn)象。對(duì)于上述問(wèn)題,本文研究運(yùn)用改進(jìn)布谷鳥算法優(yōu)化了粒子濾波。
標(biāo)準(zhǔn)粒子濾波通常是通過(guò)后驗(yàn)概率密度函數(shù)對(duì)樣本進(jìn)行采樣,在此過(guò)程中,如果不考慮當(dāng)前的觀測(cè)值,結(jié)果就會(huì)導(dǎo)致發(fā)生粒子加權(quán)值減小退化。為了克服權(quán)重值退化問(wèn)題,主要通過(guò)重采樣過(guò)程中放棄小權(quán)重值粒子來(lái)實(shí)現(xiàn)。但是這樣經(jīng)過(guò)多次重復(fù)迭代,最終會(huì)導(dǎo)致粒子退化。針對(duì)以上問(wèn)題,本文采用粒子濾波算法結(jié)合改進(jìn)布谷鳥算法的新方法,為了保持粒子分布的合理性,在樣本的粒子集在權(quán)值更新前,通過(guò)全局最優(yōu)值逐漸引導(dǎo)大部分粒子向于高似然區(qū)域移動(dòng),同時(shí)高似然區(qū)域附近不會(huì)是全體粒子集。通過(guò)此方法優(yōu)化重采樣過(guò)程,最終可以改善粒子的分布,提高跟蹤精度算法[[12-14]。
布谷鳥搜索CS算法一種適用于全局搜索能力的算法。在文獻(xiàn)[15] 對(duì)于標(biāo)準(zhǔn)CS假設(shè)條件:①每個(gè)布谷鳥產(chǎn)卵方式是通過(guò)隨機(jī)選擇一個(gè)可用的巢穴方式進(jìn)行的,同時(shí)在飛行中執(zhí)行Le′vy(λ)方式尋找新窩;②能夠延續(xù)到下一代通常是有高質(zhì)量卵的巢穴;③巢穴數(shù)量是固定的,宿主巢中每個(gè)布谷鳥的卵都有可能被宿主鳥發(fā)現(xiàn),被發(fā)現(xiàn)后舍棄。在上述假設(shè)中,尋找宿主鳥窩的位置和路徑的更新公式為
(5)
(6)
改進(jìn)布谷鳥算法:
CS 算法的優(yōu)點(diǎn)是參數(shù)少,簡(jiǎn)單,魯棒性強(qiáng),易于實(shí)現(xiàn),缺點(diǎn)是算法后期存在搜索速度慢、精度低等問(wèn)題。為了克服其缺點(diǎn),通常需要通過(guò)優(yōu)化CS來(lái)提高算法的性能[16-17]。為了使布谷鳥算法的全局搜索能力得到提高,在CS 算法中有兩個(gè)參數(shù)Pi和α,它們是用于解向量微調(diào)的非常重要的參數(shù),分別用來(lái)幫助算法找到全局和局部改進(jìn)的解,提高算法的收斂速度。在標(biāo)準(zhǔn)的CS算法中,使用固定值設(shè)置Pi和α。但是這些值在新一代中不能更改,導(dǎo)致需要更多次迭代才能找到最優(yōu)解。如果適當(dāng)調(diào)整兩個(gè)參數(shù)值的大小,則能提高算法的尋優(yōu)能力。設(shè)定Pi的值很小,同時(shí)設(shè)定α的值很大,導(dǎo)致算法迭代次數(shù)的明顯增加。相反,使得收斂速度變快,最終結(jié)果可能無(wú)法找到最佳解。所以在算法中調(diào)整Pi和α值的大小,達(dá)到最佳設(shè)定值,可以提高CS 算法的性能,因此,改進(jìn)的算法使用變量Pi和α。
針對(duì)標(biāo)準(zhǔn)布谷鳥算法的收斂速度慢、精度不高等缺點(diǎn),本文提出改進(jìn)的布谷鳥算法,一方面通過(guò)采用動(dòng)態(tài)發(fā)現(xiàn)概率替換原來(lái)的固定發(fā)現(xiàn)概率,使算法迭代后可獲得最優(yōu)解,另一方面,在步長(zhǎng)更新公式中,為了平衡搜索精度和搜索速度之間的關(guān)系,引入動(dòng)態(tài)變化的函數(shù)值的變化趨勢(shì)。
改進(jìn)的布谷鳥算法中采用動(dòng)態(tài)發(fā)現(xiàn)概率Pi后,用數(shù)值s與發(fā)現(xiàn)概率Pi進(jìn)行比較,其中s為[0,1]之間的隨機(jī)數(shù),通過(guò)在寄主鳥發(fā)現(xiàn)鳥蛋的這個(gè)過(guò)程中,確定是否產(chǎn)生新個(gè)體,公式如下:
(7)
通過(guò)新的鳥窩位置迭代更新,能夠保證個(gè)體集合理分布在高似然區(qū)域。為了便于跳出局部最優(yōu)解,在該算法初始迭代前期取較大值,但隨著運(yùn)算的迭代次數(shù)的增多,個(gè)體質(zhì)量漸漸增強(qiáng),這時(shí)適當(dāng)減小Pi的取值,該算法的收斂性可以加快。本文采用余割策略實(shí)現(xiàn)Pi動(dòng)態(tài)變化:
(8)
式中,n表示最大迭代次數(shù);c表示當(dāng)前迭代次數(shù);Pi,max和Pi,min為Pi的控制參數(shù),Pi,max為0.3,Pi,min為0.01。
該算法的步長(zhǎng)因子α的取值可以有效的控制搜索范圍,步長(zhǎng)取值大搜索范圍就越大,搜索最優(yōu)解的速度就越快,反之,很容易偏離最優(yōu)解的位置。傳統(tǒng)的CS算法步長(zhǎng)值是完全隨機(jī)的,理由是它由μ和v共同決定,并且它們都滿足正態(tài)分布。隨機(jī)步長(zhǎng)的好處是既可以避免陷入局部最優(yōu)解,又可以滿足解的多樣性,但在局部范圍內(nèi)步長(zhǎng)的m大小不確定,則導(dǎo)致全局算法的收斂速度逐漸變差,影響算法的性能。為了實(shí)現(xiàn)算法綜合最優(yōu)性能,前期采用大步長(zhǎng),后期采用小步長(zhǎng),這樣可以加快全局搜索速度,同時(shí)提高了算法的搜索精度。同時(shí)實(shí)現(xiàn)步長(zhǎng)隨著迭代次數(shù)的增加而調(diào)整其值,根據(jù)公式(9)即可實(shí)現(xiàn)。
(9)
式中,fmax為最大步長(zhǎng)因子,fmax= 0.5;fmin為最小步長(zhǎng)因子,αmin=0.01。
因此,調(diào)整搜索精度和速度之間的關(guān)系后的位置更新公式為:
(10)
在公式中,要同時(shí)考慮函數(shù)值的變化趨勢(shì)和位置更新公式的計(jì)算。計(jì)算的步長(zhǎng)跟隨變化趨勢(shì)Δk改變而改變,當(dāng)Δk變大,步長(zhǎng)也變大,保證較快的搜索速度;反之,當(dāng)Δk變小,步長(zhǎng)也變小保證搜索的精度。
改進(jìn)布谷鳥算法具體步驟如下。
步驟一:進(jìn)行初始化條件相關(guān)參數(shù)的設(shè)定,算法的終止條件;使用F(x)表示目標(biāo)函數(shù),其中x=(x1,x2…x3)T,用xq(q=1,2,3…N)表示N個(gè)鳥窩初始化種群;
步驟二:隨機(jī)初始化的鳥窩用x=(x1,x2…x3)T,的N個(gè)解來(lái)表示,同時(shí)計(jì)算每個(gè)解的目標(biāo)函數(shù)值;
步驟三:當(dāng)計(jì)算迭代次數(shù)為c時(shí),通過(guò)公式(9)計(jì)算出上一代最優(yōu)解同時(shí)保留下來(lái),同時(shí)再計(jì)算步長(zhǎng)因子值,將其步長(zhǎng)因子結(jié)果帶入公式(10)中,更新得到最新解,同時(shí)與上一代通過(guò)比較函數(shù)值大小,保留最優(yōu)值;
對(duì)于算法的收斂性來(lái)說(shuō),改進(jìn)的布谷鳥的收斂性比較CS 算法大大提高。通過(guò)自適應(yīng)調(diào)整pi和α的值大小,使算法避免因其值過(guò)大或過(guò)小而導(dǎo)致算法的收斂性降低設(shè)定Pi的值很小,若設(shè)定α的值過(guò)大,迭代次數(shù)增加較大,性能變差。反之,導(dǎo)致收斂速度很快,但可能無(wú)法找到最佳解。
改進(jìn)的布谷鳥算法的優(yōu)點(diǎn)是明顯增加種群的多樣性。本文算法的方法是在鳥窩更新迭代后,進(jìn)行算法的改進(jìn),通過(guò)實(shí)時(shí)調(diào)整概率的大小控制各個(gè)時(shí)期的種群多樣性,具有實(shí)時(shí)動(dòng)態(tài)性,提高了算法的收斂速度,效果較顯著。
針對(duì)PF算法中的粒子貧化問(wèn)題,本文將改進(jìn)的布谷鳥算法來(lái)取代原來(lái)PF算法中的重采樣過(guò)程。改進(jìn)CS-PF 算法具體實(shí)現(xiàn)步驟如下:
1)初始化。設(shè)定j=0是初始時(shí)刻,進(jìn)行初始樣本采樣按照分布p(x0) 進(jìn)行,使用產(chǎn)生的N個(gè)粒子作為初始樣本{xg(0)}(g=1,2,3…N),xg(j)服從重要性密度函數(shù)。
xg(j)_p(xg(j)|xg(j-1),z(j))
(11)
3)采用改進(jìn)的CS 來(lái)優(yōu)化粒子進(jìn)行全局搜索。
①進(jìn)入優(yōu)化的初始粒子
{i(j)}={xg(j)}(i=1,2,…,N)
(12)
②在CS算法中加入粒子樣本,根據(jù)步驟1~5
每次重復(fù)都能得到新的粒子集合,鳥窩離最佳位置越近,步長(zhǎng)就越小,而鳥窩離最佳位置越遠(yuǎn),步幅就越大。因此,每一次更新移動(dòng)步長(zhǎng)都是根據(jù)上一次重復(fù)的結(jié)果而進(jìn)行的,提高了搜索速度和精度。改進(jìn)后的布谷鳥算法采用的適應(yīng)度函數(shù)是:
(13)
③改進(jìn)的CS搜索算法用來(lái)執(zhí)行粒子濾波重新采樣過(guò)程。
4)計(jì)算新粒子的重要性權(quán)值,同時(shí)進(jìn)行歸一化處理。
(14)
5)輸出粒子狀態(tài),即求ICS-PF 后輸出粒子的均值。
對(duì)于ICS-PF收斂性來(lái)說(shuō),首先ICS-PF算法每重復(fù)一次就使群體有一次最佳位置,這樣可以使隨機(jī)算法具有收斂性。ICS-PF算法經(jīng)過(guò)多次重復(fù)迭代后,使得鳥窩位置的群體序列具有更好的狀態(tài),即最佳狀態(tài)。因此,無(wú)法連續(xù)無(wú)限次搜索全局最佳解的可能性為0。因此,ICS-PF算法會(huì)收斂到全局的最佳值。
對(duì)于ICS-PF時(shí)間復(fù)雜度來(lái)說(shuō),粒子濾波時(shí)間復(fù)雜程度主要受兩個(gè)因素影響:一個(gè)是初始化種群粒子數(shù),另一個(gè)是重新采樣粒子集,通常來(lái)說(shuō),時(shí)間復(fù)雜度與粒子數(shù)成比例,粒子也多,復(fù)雜度越高。另一個(gè)影響算法計(jì)算效率的因素是宿主發(fā)現(xiàn)卵的概率為pi和隨機(jī)步長(zhǎng)α。在通常情況下,給定個(gè)體的目標(biāo)函數(shù)執(zhí)行時(shí)間較小,因此ICS-PF的時(shí)間復(fù)雜度較低。
選擇過(guò)程模型和測(cè)量的非靜態(tài)增長(zhǎng)模型,模型如下:
8cos[1.2(u-1)]+w(u)
(15)
(16)
在這里,w(u)和v(u)是零均值高斯噪聲,系統(tǒng)噪聲方差Q=1,x(u)是系統(tǒng)u時(shí)刻的狀態(tài),z(u)是系統(tǒng)u時(shí)刻的測(cè)量值。初始狀態(tài)x=0.1,過(guò)程噪聲和測(cè)量噪聲都是1,將其應(yīng)用于PF、CS-PF和ICS-PF用于非線性系統(tǒng)的狀態(tài)估算、跟蹤。
平方根差公式為:
(17)
4.1.1 精度測(cè)試
1)當(dāng)粒子數(shù)為N=30,Q=1時(shí),模擬結(jié)果如圖1和圖2所示。
圖1 濾波狀態(tài)估計(jì)
圖2 濾波誤差絕對(duì)值
2) 當(dāng)粒子數(shù)為N=100,Q=1時(shí),模擬結(jié)果如圖3和圖4所示。
圖3 濾波狀態(tài)估計(jì)
圖4 濾波誤差絕對(duì)值
從圖1~4可以看出,3種濾波算法相比,改進(jìn)布谷鳥粒子濾波算法效果最好,得到了優(yōu)化。
由于ICS-PF 在PF的基礎(chǔ)上的原因,ICS-PF模擬以PF為基礎(chǔ)的個(gè)體或群體尋找布谷鳥產(chǎn)卵與CS-PF相比,ICS-PF可精確控制全局優(yōu)化能力和局部?jī)?yōu)化能力其算法具有更高的狀態(tài)值預(yù)測(cè)準(zhǔn)確度,從而優(yōu)化粒子在狀態(tài)空間的分布,可以粒子分布更合理,使用更少重復(fù)迭代次數(shù),達(dá)到尋優(yōu),用較少的粒子并進(jìn)一步提高粒子過(guò)濾的精度。從表1可以看出,ICS-PF的運(yùn)算精度在粒子數(shù)為20時(shí),就高于PF算法粒子數(shù)為100的運(yùn)算精度,并且運(yùn)算時(shí)間與CS-PF差不多。ICS-PF同時(shí)還可以提高綜合性價(jià)比的濾波精度和保持較快的計(jì)算速度。
從表1還可以看出,如果粒子數(shù)為20和50,則PF、CS-PF、ICS-PF三種算法相比較,ICS-PF的精確度有了很大的提高,但當(dāng)粒子數(shù)為100時(shí),ICS-PF的準(zhǔn)確度沒(méi)有太大的提高。這是因?yàn)楫?dāng)粒子數(shù)量非常少時(shí),各粒子的平均權(quán)重較大,各粒子的質(zhì)量會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生很大影響。這就體現(xiàn)了對(duì)ICS-PF的全局優(yōu)化能力和局部?jī)?yōu)化能力的精確控制優(yōu)勢(shì)。但是,當(dāng)粒子數(shù)量較大時(shí),各粒子質(zhì)量的平均重要度就會(huì)降低,因此ICS-PF的自適應(yīng)探索機(jī)制的優(yōu)勢(shì)不會(huì)很大。這表明ICS-PF非常適合于快速、精確的預(yù)測(cè),如果粒子數(shù)量少,如雷達(dá)、無(wú)線傳感器目標(biāo)跟蹤等。
表1 實(shí)驗(yàn)結(jié)果對(duì)比
4.1.2 粒子多樣性測(cè)試
在ICS-PF濾波估算中,為測(cè)定樣本的多樣性,得出了以下結(jié)果:
當(dāng)g=10,g=30,g=90時(shí),PF,CS-PF,ICS-PF的粒子分布如圖5~7所示。從5~7圖可以看出,PF、CS-PF、ICS-PF算法相比,標(biāo)準(zhǔn)PF算法按重復(fù)采樣進(jìn)行的濾波過(guò)程中,粒子的多樣性明顯減少。在這個(gè)階段,大部分粒子只集中在幾個(gè)狀態(tài)值上,可能會(huì)嚴(yán)重影響濾波器的估計(jì)性能。而在CS-PF、ICS-PF的情況中,大部分粒子集中向高似然區(qū)域移動(dòng),與此同時(shí),部分粒子在低相似性區(qū)域被合理地保存了下來(lái),其中,ICS-PF算法合理優(yōu)化了每個(gè)階段的粒子分布,具有粒子相對(duì)最集中的優(yōu)點(diǎn),利用ICS-PF采樣可以有效地清除每個(gè)階段多余的粒子,并穩(wěn)定地控制粒子的規(guī)模。ICS-PF算法的情況比CS-PF算法的情況更為明顯,ICS-PF粒子在空間的分布更加廣泛,以粒子群體目前的最佳位置為目標(biāo),以提高整個(gè)群體的重復(fù)搜索效率和粒子分布的多樣性。本文提出的算法大大提高了粒子的多樣性,而使用CS-PF算法,粒子的多樣性略有增加。ICS-PF證明了通過(guò)減小粒子大小和布谷鳥算法優(yōu)化穩(wěn)定性,可以提高計(jì)算效率。結(jié)果表明,雖然ICS-PF采樣可以減少粒子的數(shù)量,但根據(jù)動(dòng)態(tài)粒子數(shù),ICS-PF采樣可以去除不必要的粒子,改進(jìn)布谷鳥算法可以獲得更好的優(yōu)化性能。
圖5 g=10時(shí)粒子狀態(tài)分布情況
圖6 g=30時(shí)粒子狀態(tài)分布情況
圖7 g=90時(shí)粒子狀態(tài)分布情況
本文在進(jìn)行性能測(cè)試分析時(shí),主要針對(duì)單個(gè)目標(biāo)做勻速直線運(yùn)動(dòng),在設(shè)定的有效監(jiān)測(cè)范圍內(nèi)。其中,它的測(cè)量方程和運(yùn)動(dòng)狀態(tài)方程如下:
(18)
通常反映目標(biāo)跟蹤算法性能好壞用跟蹤精度的大小來(lái)表示,通常用平均平方根誤差來(lái)表示。本文采用3種算法分別為PF算法、CS-PF算法、ICS-PF算法,通過(guò)它們的平均平方根誤差的計(jì)算數(shù)值和比較曲線分析性能。平均平方根誤差跟蹤的計(jì)算公式為(15~16)。
(19)
在仿真實(shí)驗(yàn)中,取比值為0.72,在本實(shí)驗(yàn)中得到跟蹤軌跡曲線圖,如圖8所示。
如圖8所示,ICS-PF算法相比較PF算法和CS-PF算法更接近目標(biāo)的真實(shí)軌跡。PF算法和CS-PF算法跟蹤性能不夠理想,效果較差,不能實(shí)時(shí)準(zhǔn)確跟蹤,但本文提出的ICS-PF算法更接近目標(biāo),跟蹤精度、性能更好,效果顯著,可以實(shí)現(xiàn)穩(wěn)定的準(zhǔn)確的跟蹤。如圖9~10所示,ICS-PF算法跟蹤精度最高,跟蹤誤差最小,其次為CS-PF算法,PF算法的跟蹤精度最低,PF算法與CS-PF算法的跟蹤誤差較大。同時(shí)從圖9和圖10可以看出,PF的濾波速度估計(jì)誤差最大,CS-PF比PF的濾波效果好些,ICS-PF濾波誤差最小,效果最好,最能推算目標(biāo)運(yùn)動(dòng)速度。PF、CS-PF和ICS-PF算法的運(yùn)行時(shí)間分別為50.36秒、35.32秒和28.36秒。全面比較后,通過(guò)ICS-PF控制,合理兼顧了全局尋優(yōu)能力和局部尋優(yōu)能力,使粒子趨于更合理的分布,提高了濾波的精度,提高了跟蹤性能。本文用3種濾波PF算法、CS-PF算法和ICS-PF算法分別進(jìn)行了100次模擬實(shí)驗(yàn),得到目標(biāo)位置和速度的平均平方根誤差。通過(guò)對(duì)比分析,評(píng)價(jià)算法的性能,3種過(guò)濾算法的平均平方根誤差如表2所示。
圖9 目標(biāo)運(yùn)動(dòng)速在x軸的分量比較
圖10 目標(biāo)運(yùn)動(dòng)速度在y軸的分量比較
表2 3種濾波算法的均方根誤差
在表2中ICS-PF算法和PF算法、CS-PF算法相比,其中跟蹤精度最低是PF算法,其次是PF算法CS-PF算法,ICS-PF的跟蹤精度最高,可以看出具有較好的跟蹤性能。
從圖11可以看出,本文所提出的跟蹤算法的準(zhǔn)確性優(yōu)于PF和CS-PF算法。由于ICS-PF是根據(jù)狀態(tài)后驗(yàn)的概率分布的粒子集合來(lái)推測(cè)狀態(tài),所以對(duì)非高斯的雜音沒(méi)有太大反應(yīng),因此曲線幾乎沒(méi)有變化。標(biāo)準(zhǔn)PF算法的RMSE曲線彎曲程度最明顯,精度更低。實(shí)驗(yàn)結(jié)果表明,本文提出的改進(jìn)布谷鳥粒子濾波的無(wú)線傳感器的目標(biāo)跟蹤方法。主要思想是用改進(jìn)的布谷鳥算法取代粒子濾波的重采樣過(guò)程,通過(guò)改進(jìn)的布谷鳥算法代替粒子濾波的重采樣過(guò)程,主要通過(guò)改進(jìn)布谷鳥算法中的搜索步長(zhǎng)值α和發(fā)現(xiàn)外來(lái)鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時(shí)在步長(zhǎng)更新方程中實(shí)時(shí)引入函數(shù)值的變化趨勢(shì),使粒子向整體上較高的隨機(jī)區(qū)域移動(dòng),有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問(wèn)題,增加粒子群多樣化從而提高跟蹤性能。改進(jìn)布谷鳥粒子濾波算法重采樣方法可以防止粒子的退化,增加粒子的多樣性,減少跟蹤誤差,可以減少算法的運(yùn)行時(shí)間,實(shí)時(shí)追蹤性能大幅提高。ICS-PF算法的計(jì)算時(shí)間最短。與CS-PF算法和PF算法相比,ICS-PF算法的位置和速度的平均平方根誤差最小(位置0.030 6、0.021 3、速度0.025 3、0.010 2),ICS-PF的跟蹤精度最高,表明了ICS-PF算法跟蹤性能較好。
圖11 3種算法的跟蹤精度
針對(duì)粒子濾波中的粒子貧化問(wèn)題和采用群體智能優(yōu)化算法后的計(jì)算效率低下問(wèn)題,本文提出了一種改進(jìn)布谷鳥粒子濾波算法,用于無(wú)線傳感器網(wǎng)絡(luò)中的目標(biāo)跟蹤。通過(guò)修改后的pi和α值來(lái)提高布谷鳥算法性能,通過(guò)ICS搜索策略代替粒子濾波重采樣階段,均衡局部和全局優(yōu)化能力,避免粒子樣本的貧化。采用改進(jìn)的布谷鳥算法,使粒子模仿布谷鳥個(gè)體,在全局搜索范圍內(nèi)更精確地分布在最佳位置,即實(shí)際值附近。采用改進(jìn)的布谷鳥算法替代粒子濾波重采樣過(guò)程,使整體粒子向更高的隨機(jī)區(qū)域移動(dòng),有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子退化和局部極值問(wèn)題,提高無(wú)線傳感器網(wǎng)絡(luò)目標(biāo)跟蹤性能。由于后驗(yàn)概率密度函數(shù)通過(guò)不斷更新產(chǎn)生新粒子,維持較優(yōu)粒子,持續(xù)保持了粒子的多樣性,有效緩解樣本枯竭問(wèn)題,從而大大改善了濾波功能。結(jié)果表明,該算法的整體濾波效果比普通粒子濾波效果增強(qiáng),可很好地實(shí)現(xiàn)準(zhǔn)確的目標(biāo)跟蹤,具有一定的實(shí)用價(jià)值。但是,粒子濾波算法具有運(yùn)算量較大,能耗較大的缺點(diǎn),需要在有限能量無(wú)線傳感器網(wǎng)絡(luò)、高精度測(cè)試、跟蹤問(wèn)題、能耗等方面進(jìn)行深入研究[18-20]。由粒子濾波不斷重復(fù)迭代更新,改進(jìn)布谷鳥算法使粒子的分布更為集中在最優(yōu)點(diǎn)且分布合理,可以穩(wěn)定控制粒子集規(guī)模在較小的范圍內(nèi),提高粒子濾波的計(jì)算精度和效率。ICS-PF算法可實(shí)現(xiàn)粒子間的信息交換可以有效地壓縮粒子的規(guī)模,與人工智能進(jìn)一步結(jié)合跟蹤領(lǐng)域?qū)⒌玫礁玫陌l(fā)展和應(yīng)用。