資源描述:
《基于蝙蝠式算法的dv-hop算法改進(jìn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、MATLAB大作業(yè)題目:基于蝙蝠算法的DV-Hop算法改進(jìn)院(系)信息工程學(xué)院專業(yè)班級12級網(wǎng)絡(luò)工程本(1)班學(xué)號學(xué)生姓名指導(dǎo)教師目錄1引言32DV-Hop定位算法及誤差分析32.1DV-Hop定位算法工作步驟32.2DV-Hop定位誤差分析53BADV-Hop算法的節(jié)點(diǎn)定位53.1改進(jìn)的蝙蝠算法53.2適應(yīng)值函數(shù)設(shè)計(jì)63.3BADV-Hop算法的節(jié)點(diǎn)定位步驟73.4BADV-Hop算法的工作流程74仿真實(shí)例84.1仿真環(huán)境84.2結(jié)果與分析95結(jié)束語11摘要:為了減少DV-Hop算法對于無線傳感網(wǎng)絡(luò)的定位誤差,我利用編蝠算法(BA)和DV-Hop算法相融合的傳感器
2、節(jié)點(diǎn)定位方法(BADV-Hop)。在DV-Hop算法的第三階段,利用編蝠算法代替最小二乘法來計(jì)算未知節(jié)點(diǎn)的坐標(biāo),以降低定位誤差。相對于DV-Hop算法,BADV-Hop算法提高了傳感器的節(jié)點(diǎn)定位精度,具有較高的應(yīng)用價(jià)值,利用MATLAB仿真工具仿真出的結(jié)果驗(yàn)證了BADV-Hop的有效性。關(guān)鍵詞:DV-Hop算法;編蝠算法;節(jié)點(diǎn)定位1引言無線傳感器網(wǎng)絡(luò)的關(guān)鍵技術(shù)是節(jié)點(diǎn)定位技術(shù),當(dāng)前傳感器節(jié)點(diǎn)定位算法分為:距離有關(guān)和距離無關(guān)的定位算法[2]。距離有關(guān)定位算法由于受到外界環(huán)境因素的干擾比較大,所以獲得的誤差較大,且成本高[3];距離無關(guān)定位算法主要有質(zhì)心算法、DV-Hop
3、算法,這類定位算法無需額外硬件支持,功耗低,成為當(dāng)前主要研究方向[4-5]。DV-Hop算法實(shí)現(xiàn)比較簡單,只需要少量的錨節(jié)點(diǎn)就可以實(shí)現(xiàn)對未知節(jié)點(diǎn)的定位,備受關(guān)注,但是精度有待提高[6]。為此,學(xué)者們提出一些改進(jìn)的DV-Hop算法,如文獻(xiàn)[7]中將RSSI策略引入到DV-Hop算法節(jié)點(diǎn)距離計(jì)算中,減小節(jié)點(diǎn)間誤差,提高定位精度;文獻(xiàn)[8]在DV-Hop算法中引入介質(zhì)訪問機(jī)制來調(diào)節(jié)距離誤差;文獻(xiàn)[9]通過引入最佳調(diào)整因子對每個(gè)錨節(jié)點(diǎn)計(jì)算的距離進(jìn)行修正,從而減小了平均跳距的計(jì)算誤差。采用遺傳算法、模擬退火算法、蛙跳算法、粒子群算法等群智能算法對DV-Hop算法的誤差進(jìn)行校正
4、,一定程度上提高了DV-Hop算法的定位精度[9-11]。蝙蝠算法(BA)是一種群智能優(yōu)化算法,在準(zhǔn)確性和有效性方面相較其他算法有很大優(yōu)勢,且沒有許多參數(shù)要調(diào)整,為DV-Hop算法誤差校正提供了一種新的研究思路[1-2]。為了減少無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的定位誤差,提出一種改進(jìn)蝙蝠算法(BA)和DV-Hop算法相融合的傳感器節(jié)點(diǎn)定位方法(BA-DVHop)。在DV-Hop算法的第三階段,利用蝙蝠算法代替最小二乘法來計(jì)算未知節(jié)點(diǎn)的坐標(biāo),并對蝙蝠算法進(jìn)行改進(jìn)避免算法陷入局部最優(yōu),最后在Matlab上對算法性能進(jìn)行仿真分析。仿真結(jié)果表明,BADV-hop定位算法在不同錨節(jié)點(diǎn)密度
5、、不同通信半徑、不同節(jié)點(diǎn)數(shù)量以及定位精確度等方面表現(xiàn)出良好性能。2DV-Hop定位算法及誤差分析2.1DV-Hop定位算法工作步驟第一階段:計(jì)算節(jié)點(diǎn)的最小跳數(shù)。信標(biāo)節(jié)點(diǎn)向網(wǎng)絡(luò)發(fā)送一個(gè)廣播信號,鄰居節(jié)點(diǎn)接收到信號后,記錄信標(biāo)節(jié)點(diǎn)的坐標(biāo)信息,并保存每個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù),然后向其他的鄰居傳感器節(jié)點(diǎn)傳播,通過該方法,WSN網(wǎng)絡(luò)中全部節(jié)點(diǎn)可以得到信標(biāo)節(jié)點(diǎn)的位置信息和與信標(biāo)節(jié)點(diǎn)間的跳數(shù)。第二階段:估算到信標(biāo)節(jié)點(diǎn)的跳段距離。通過第一階段后,每個(gè)信標(biāo)節(jié)點(diǎn)就可以得到其他信標(biāo)節(jié)點(diǎn)的坐標(biāo)值和跳數(shù),然后通過式(1)計(jì)算平均每跳距離,同時(shí)將每跳平均距離廣播至網(wǎng)絡(luò)中,未知節(jié)點(diǎn)將平均每跳距離值
6、與最小跳數(shù)值相乘,得到其與信標(biāo)節(jié)點(diǎn)間的距離:(1)式中,hi是信標(biāo)節(jié)點(diǎn)i和j之間的跳數(shù),(xi,yi)、(xi,yi)是信標(biāo)節(jié)點(diǎn)i,j的坐標(biāo)。第三階段:通過最大似然法計(jì)算自身位置。設(shè)P1(x1,y1),P2(X2,Y2),…,Pn(Xn,yn)表示n個(gè)信標(biāo)節(jié)點(diǎn)的坐標(biāo)位置,待定位節(jié)點(diǎn)位置為(x,y),其與信標(biāo)節(jié)點(diǎn)估計(jì)距離分別為d1,d2,…dn-1,可以建立式(2)的方程:(2)第一個(gè)方程組減去最后一個(gè)方程后,得到:(3)用線性方程組表示為AL=b,其中:在無線傳感器節(jié)點(diǎn)測距過程中,不可避免會產(chǎn)生一些隨機(jī)誤差,這樣線性方程組為AL+N=b,N為誤差向量,最小二乘法的求
7、解方程為:(4)2.2DV-Hop定位誤差分析設(shè)信標(biāo)節(jié)點(diǎn)(xi,yi),i=1,2,…,n,與未知節(jié)點(diǎn)(x,y)的實(shí)際距離為ri,i=1,2,???,n測距誤差為εi,那么ri-di<εi,i=1,2,???,n。根據(jù)式(2)可知,(x,y)應(yīng)該滿足如下約束條件:(5)求解(x,y),使得:(6)由于式(5)代表可行解的區(qū)域,那么該區(qū)域一定存在最優(yōu)解,且當(dāng)fx,y取最小值時(shí),節(jié)點(diǎn)定位總誤差最小,此時(shí)的坐標(biāo)(x,y)將為最優(yōu)值,這樣無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)定位問題轉(zhuǎn)化成一個(gè)約束優(yōu)化問題,然后采用BA算法進(jìn)行求解,提高傳感器定位精度。3BADV-Hop算法的節(jié)點(diǎn)定位3.1