版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
。精選資料,歡迎下載物聯(lián)網(wǎng)定位技術(shù)實(shí)驗(yàn)報(bào)告學(xué)生姓名關(guān)華學(xué)號(hào)0919130121專業(yè)班級(jí)物聯(lián)網(wǎng)工程1301班指導(dǎo)老師張士庚學(xué)院信息科學(xué)與工程學(xué)院完成時(shí)間2016年6月精選資料,歡迎下載目錄TOC\o"1-3"\h\u21720實(shí)驗(yàn)一Wi-Fi指紋定位系統(tǒng)的實(shí)現(xiàn)與性能評(píng)價(jià) 18891.實(shí)驗(yàn)?zāi)繕?biāo) 183182.實(shí)驗(yàn)背景 1290293.實(shí)驗(yàn)原理 1242553.1wifi基礎(chǔ)知識(shí) 1119513.2室內(nèi)定位方法建模 236663.3指紋定位算法 3314264.關(guān)鍵代碼 4262025.實(shí)驗(yàn)結(jié)果 6225396.室內(nèi)定位誤差分析 820480實(shí)驗(yàn)二無(wú)線傳感器網(wǎng)絡(luò)定位實(shí)驗(yàn) 104381.實(shí)驗(yàn)?zāi)繕?biāo) 10240002.實(shí)驗(yàn)要求 10318223.算法介紹 10138383.1基本內(nèi)容介紹 10643.2迭代多邊定位算法 11215743.3DV-HOP算法 11137143.4PDM算法 11230454.算法實(shí)現(xiàn) 12128864.1迭代多邊定位算法 12154504.2DV-HOP算法 14311264.3PDM算法 16131725.實(shí)驗(yàn)結(jié)果和分析 1726326迭代多邊定位算法 1718607DV-HOP算法 194695PDM算法 2032311三.實(shí)驗(yàn)總結(jié) 22精選資料,歡迎下載實(shí)驗(yàn)一Wi-Fi指紋定位系統(tǒng)的實(shí)現(xiàn)與性能評(píng)價(jià)實(shí)驗(yàn)?zāi)繕?biāo)通過(guò)實(shí)現(xiàn)一個(gè)基于Wi-Fi指紋的室內(nèi)定位系統(tǒng),掌握指紋定位的原理和實(shí)現(xiàn)方式,并進(jìn)行測(cè)試,對(duì)所實(shí)現(xiàn)的指紋定位系統(tǒng)的誤差性能進(jìn)行評(píng)價(jià)。實(shí)驗(yàn)背景WIFI位置指紋定位技術(shù)是基于接收信號(hào)傳播特性而進(jìn)行定位的,與傳統(tǒng)定位技術(shù)相比,其無(wú)需額外添加設(shè)備來(lái)進(jìn)行角度測(cè)量與時(shí)間同步,且充分利用了己有W1FI無(wú)線網(wǎng)絡(luò),降低其使用成本。其次,WIFI位置指紋定位技術(shù)與傳統(tǒng)室內(nèi)定位技術(shù)(如:視頻信號(hào)與紅外定位)相比,其擴(kuò)展性更強(qiáng)、應(yīng)用范圍更廣。由于WIFI信號(hào)傳輸時(shí)受非視距、多徑衰落等因素影響較小,故基于WIFI網(wǎng)絡(luò)的指紋定位系統(tǒng)穩(wěn)定性較強(qiáng),而基于紅外或視頻信號(hào)定位技術(shù)在使用時(shí)較易受限,比如:在陽(yáng)光直射或突光照射下基于紅外技術(shù)定位的精度將大大降低,而基于視頻信號(hào)的定位技術(shù)使用前提是移動(dòng)終端必須在可視條件下。在城市人口居住密集的今天,由于室內(nèi)與地下的無(wú)線基站信號(hào)較弱,現(xiàn)有主流定位技術(shù)GPS、AGPS、GoogleMap等在室內(nèi)與地下定位時(shí)均存在盲區(qū),且定位精度不高,而WIFI位置指紋定位技術(shù)可通過(guò)WIFI網(wǎng)絡(luò)中的AP進(jìn)行定位,避免了對(duì)無(wú)線基站網(wǎng)絡(luò)的依賴,從而實(shí)現(xiàn)了地下或室內(nèi)環(huán)境的準(zhǔn)確高效定位,其在地下室內(nèi)商場(chǎng)、停車場(chǎng)、物流等行業(yè)均具有潛在應(yīng)用價(jià)值。實(shí)驗(yàn)原理3.1wifi基礎(chǔ)知識(shí)W1FI網(wǎng)絡(luò)的組成結(jié)構(gòu)如下圖2-1所示,主要包括了接入點(diǎn)(AccessPoint,AP)、站點(diǎn)(Station,STA)、無(wú)線傳輸介質(zhì)(WirlessMedium,WM)與分布式系統(tǒng)(DistributionSystem,DS)。WIFI無(wú)線網(wǎng)絡(luò)工作原理框圖3.2室內(nèi)定位方法建模傳播模型定位法是根據(jù)信號(hào)傳播距離與衰減的關(guān)系進(jìn)行建模,并通過(guò)建立的傳播模型將RSS轉(zhuǎn)換成信號(hào)的傳播距離,從而完成對(duì)移動(dòng)終端的定位。傳播模型法在定位時(shí)無(wú)需額外的硬件設(shè)備,故其定位成本很低,且其在定位時(shí)不會(huì)影響到現(xiàn)有網(wǎng)絡(luò)數(shù)據(jù)的傳輸。雖然傳播模型定位法有以上優(yōu)點(diǎn),但由于其定位精度不高導(dǎo)致其應(yīng)用范圍不是很廣,目前播模型定位法只應(yīng)用于粗略定位與測(cè)距中,其定位步驟如下:①在己知室內(nèi)環(huán)境下,利用接收信號(hào)強(qiáng)度估計(jì)此環(huán)境下的傳播模型與參數(shù)值;②利用①中的傳播模型,通過(guò)獲取未知終端節(jié)點(diǎn)的RSS來(lái)完成對(duì)其定位。位置指紋定位法是通過(guò)移動(dòng)終端的RSS與指紋庫(kù)中的指紋數(shù)據(jù)進(jìn)行匹配,然后再通過(guò)某種算法來(lái)計(jì)算其位置。3.3指紋定位算法 無(wú)線信號(hào)依賴傳播環(huán)境,在不同位置上,其信道的多徑特征也均不相同。無(wú)線信號(hào)在傳播過(guò)程中經(jīng)反射、折射、散射后,生成與傳播環(huán)境相關(guān)且獨(dú)特的信號(hào),我們稱此多徑特征為“位置指紋”。信號(hào)的多徑特征包括信號(hào)強(qiáng)度、脈沖響應(yīng)時(shí)間、信噪比等,本文主要釆用接收AP信號(hào)的強(qiáng)度值(即RSS)作為信號(hào)指紋特征。位置指紋法在定位過(guò)程中分`離線/訓(xùn)練'與`在線/定位'兩個(gè)階段,其定位流程如下圖所示。①離線/訓(xùn)練階段指紋定位在離線階段主要采集定位場(chǎng)所中各參考點(diǎn)位置上的信號(hào)多徑特征(信號(hào)強(qiáng)度),從而建立位置指紋數(shù)據(jù)庫(kù)。②在線/定位階段在實(shí)際定位過(guò)程中,移動(dòng)終端首先會(huì)接收到周圍AP接入點(diǎn)發(fā)出的信號(hào)特征記為Rss,然后則可遍歷指紋數(shù)據(jù)庫(kù)對(duì)此RSS矢量進(jìn)行匹配,最后再采取某種指紋定位算法計(jì)算出移動(dòng)終端的位置。常用的指紋定位算法有:最近鄰法CNN)、K近鄰法(KNN)、K加權(quán)近鄰法(WKNN)、貝葉斯概率算法、BP神經(jīng)網(wǎng)絡(luò)算法等.假設(shè)在定位區(qū)域中共有L個(gè)位置指紋參考點(diǎn),記為{F1,F2,Fl},其與一組位置坐標(biāo){L1,L2,L7}一一映射即指紋Fi在定位區(qū)域中對(duì)應(yīng)的位置坐標(biāo)為L(zhǎng)i=(Xi,Yi)。在“在線/定位”階段時(shí),移動(dòng)終端會(huì)接收到周圍n個(gè)AP熱點(diǎn)發(fā)送的信號(hào)強(qiáng)度矢量,記為S,其中S=(S1,S2,..Sn)。通過(guò)貝葉斯公式計(jì)算后驗(yàn)概率:P(Li|S)*P(Li)=P(S)P(S|Li)*P(Li)假設(shè)選取參考點(diǎn)是隨機(jī)的,均勻分布,即P(Li)=1/L。由于在某一位置指紋處,來(lái)自每個(gè)接入點(diǎn)AP的RSS(接收信號(hào)強(qiáng)度)互不相關(guān),所以可以得到:P(SLi)=P(S1Li)P(S2Li)P(SnLi)觀察數(shù)據(jù)發(fā)現(xiàn)某一位置指紋處的接收信號(hào)強(qiáng)度服從高斯正態(tài)分布,所以可以進(jìn)行近似模擬。最后以概率值P(LiS)作為定位區(qū)域中指紋參考點(diǎn)的權(quán)重,并估計(jì)出移動(dòng)終端的位置。4.關(guān)鍵代碼/** *計(jì)算距離,并且找出最小距離的點(diǎn)和值。 *@return */ privatePointcalculate(){ minDistance=Double.MAX_VALUE; mini=-1; doubletempDistance; distance=newdouble[totalPoints.size()-1]; PointendPoint=totalPoints.get(totalPoints.size()-1); for(inti=0;i<totalPoints.size()-1;i++){ tempDistance=calculate_Distance(endPoint,totalPoints.get(i)); distance[i]=tempDistance; if(tempDistance<minDistance){ minDistance=tempDistance; mini=i;} } returntotalPoints.get(mini); }/** *計(jì)算兩點(diǎn)之間的距離 *@parampoint1 *@parampoint2 *@return */ privatedoublecalculate_Distance(Pointpoint1,Pointpoint2){ floatresult=0.0f; Stringstr; Map<String,Integer>tempMap1=newHashMap<String,Integer>(); Map<String,Integer>tempMap2=newHashMap<String,Integer>(); inti,j; for(j=0;j<point2.aps.size();j++){ tempMap2.put(point2.aps.get(j).SSID,point2.aps.get(j).level); } for(i=0;i<point1.aps.size();i++){ tempMap1.put(point1.aps.get(i).SSID,point1.aps.get(i).level); } Iterator<String>iterator=totalAPs.iterator(); while(iterator.hasNext()){ str=iterator.next(); if(tempMap1.containsKey(str)&&tempMap2.containsKey(str)){ result+=(tempMap1.get(str)-tempMap2.get(str)) *(tempMap1.get(str)-tempMap2.get(str)); } if(tempMap1.containsKey(str)&&!tempMap2.containsKey(str)){ result+=(tempMap1.get(str)-minLevel.get(str)) *(tempMap1.get(str)-minLevel.get(str)); } if(!tempMap1.containsKey(str)&&tempMap2.containsKey(str)){ result+=(tempMap2.get(str)-minLevel.get(str)) *(tempMap2.get(str)-minLevel.get(str)); } } returnMath.sqrt(result); }5.實(shí)驗(yàn)結(jié)果 代碼調(diào)試截圖實(shí)驗(yàn)界面截圖第一次、第二次掃描截圖wifi.txt截圖計(jì)算結(jié)果截圖6.室內(nèi)定位誤差分析由于室內(nèi)環(huán)境比較復(fù)雜,信號(hào)在室內(nèi)傳播時(shí)會(huì)受到不同程度的影響,而造成此影響的因素主要有以下三種:非視距傳播、多徑傳播、陰影效應(yīng)。非視距傳播由于在信號(hào)的發(fā)射端與接收端之間的直射路徑上存在障礙物,導(dǎo)致無(wú)線電波不能在收發(fā)兩端進(jìn)行直射傳播,而只能通過(guò)反射、折射進(jìn)行傳播,由此在接收端測(cè)得的信號(hào)特征,如信號(hào)到達(dá)時(shí)間、信號(hào)強(qiáng)度、入射角、到達(dá)時(shí)間差等,將無(wú)法準(zhǔn)確的反映出收發(fā)兩端之間的真實(shí)距離,我們稱這種現(xiàn)象為信號(hào)的非視距傳播。多徑傳播由于信號(hào)接收端所處環(huán)境復(fù)雜,使得發(fā)射的電磁波在向外擴(kuò)散過(guò)程中遇到各種障礙物,使得信號(hào)在傳播過(guò)程中受到反射、散射、繞射等影響,導(dǎo)致接收到的信號(hào)為多條路徑上信號(hào)的矢量和。由于每條路徑上信號(hào)的強(qiáng)度、到達(dá)時(shí)間、到達(dá)載波相位都不相同,則產(chǎn)生多徑干擾,這種現(xiàn)象即為多徑傳播。陰影效應(yīng)陰影效應(yīng)是指移動(dòng)終端在移動(dòng)過(guò)程中,有一些大型障礙物阻擋了其無(wú)線電波的直射路徑,從而導(dǎo)致信號(hào)接收區(qū)域中存在半盲區(qū),在電磁場(chǎng)中形成了陰影,致使信號(hào)接收點(diǎn)場(chǎng)強(qiáng)在終端移動(dòng)過(guò)程中起伏變化,我們稱此現(xiàn)象為陰影效應(yīng)。除以上三種環(huán)境客觀因素外,指紋定位選取的信號(hào)傳播模型、定位場(chǎng)景中AP與位置指紋參考點(diǎn)的配置以及選取的定位算法均會(huì)影響定位精度。除此之外,定位溫度、方向、移動(dòng)終端運(yùn)動(dòng)狀態(tài)也均會(huì)影響定位精度。實(shí)驗(yàn)二無(wú)線傳感器網(wǎng)絡(luò)定位實(shí)驗(yàn)實(shí)驗(yàn)?zāi)繕?biāo)了解典型的無(wú)線傳感器網(wǎng)絡(luò)定位算法;在所給的網(wǎng)絡(luò)中實(shí)現(xiàn)所講授的無(wú)線傳感器網(wǎng)絡(luò)定位算法并進(jìn)行比較。實(shí)驗(yàn)要求掌握典型的無(wú)線傳感器網(wǎng)絡(luò)定位算法基本原理,理解所講的迭代式多邊定位算法、DV-HOP算法、PDM定位算法、基于MDS的定位算法;利用所給的網(wǎng)絡(luò)數(shù)據(jù),實(shí)現(xiàn)兩種以上的定位算法并進(jìn)行比較。算法介紹3.1基本內(nèi)容介紹在本次實(shí)驗(yàn)中,共有四個(gè)已知的.txt文件,分別命名為:net1_pos.txt、net1_topo_error_free.txt、net1_topo_error_5以及net1_topo_error_10。其中,文件net1_pos中給出了實(shí)驗(yàn)網(wǎng)絡(luò)中節(jié)點(diǎn)的位置數(shù)據(jù)。每行表示一個(gè)節(jié)點(diǎn)的位置信息。格式如下: 節(jié)點(diǎn)序號(hào)節(jié)點(diǎn)x坐標(biāo)節(jié)點(diǎn)y坐標(biāo)是否錨節(jié)點(diǎn)(1代表錨節(jié)點(diǎn),0代表待定位節(jié)點(diǎn)),比如: 117.8977106.22821表示節(jié)點(diǎn)1,其真實(shí)位置為(17.8977,106,2282),該節(jié)點(diǎn)是錨節(jié)點(diǎn)。再比如:3343.471895.76030表示節(jié)點(diǎn)33,其真實(shí)位置是(43.4718,95.7603),該節(jié)點(diǎn)是待定位節(jié)點(diǎn)。利用某種定位算法計(jì)算出來(lái)待定位節(jié)點(diǎn)的位置后,就可以根據(jù)真實(shí)位置計(jì)算該節(jié)點(diǎn)的定位誤差。文件net1_topo_error_free中給出了網(wǎng)絡(luò)中相鄰節(jié)點(diǎn)之間的距離信息。每一行表示兩個(gè)節(jié)點(diǎn)之間的距離。格式如下: 節(jié)點(diǎn)1序號(hào)節(jié)點(diǎn)2序號(hào)節(jié)點(diǎn)之間距離測(cè)量值。比如: 148.3075 表示節(jié)點(diǎn)1和節(jié)點(diǎn)4可以相互測(cè)量出之間的距離,他們之間的距離是8.3075文件net1_topo_error_5和net1_topo_error_10給出的距離分別是增加了5%和10%誤差之后的擾動(dòng)值。3.2迭代多邊定位算法算法思想:利用已知信標(biāo)節(jié)點(diǎn)和非信標(biāo)節(jié)點(diǎn)的幾組對(duì)應(yīng)關(guān)系(兩點(diǎn)間距離),對(duì)非信標(biāo)節(jié)點(diǎn)進(jìn)行定位。(某個(gè)非信標(biāo)節(jié)點(diǎn)只要已知3個(gè)及以上信標(biāo)節(jié)點(diǎn)與其距離即可對(duì)其進(jìn)行定位。)定位成功后的非信標(biāo)節(jié)點(diǎn)轉(zhuǎn)換為信標(biāo)節(jié)點(diǎn),可輔助對(duì)其他非信標(biāo)節(jié)點(diǎn)定位。不斷迭代定位過(guò)程,知道信標(biāo)節(jié)點(diǎn)集合元素個(gè)數(shù)在前后兩次迭代中數(shù)量不變,則迭代終止。前提條件:已知位置的錨節(jié)點(diǎn)個(gè)數(shù)要超過(guò)3個(gè);對(duì)所有節(jié)點(diǎn)來(lái)說(shuō),在添加完鄰接矩陣關(guān)系后,是一個(gè)連通圖,沒(méi)有孤立節(jié)點(diǎn)。特別說(shuō)明:因?yàn)樵谑褂玫噙叾ㄎ凰惴▽?duì)未知節(jié)點(diǎn)進(jìn)行定位時(shí)需要利用該節(jié)點(diǎn)與3個(gè)以上信標(biāo)節(jié)點(diǎn)的直線距離,圖是連通圖但不是全連通圖,所以可能會(huì)有部分節(jié)點(diǎn)無(wú)法定位。3.3DV-HOP算法算法思想:先用Floyd算法將圖的最短路徑和每?jī)蓚€(gè)節(jié)點(diǎn)間的最小跳數(shù)表示出來(lái),將特定位置的節(jié)點(diǎn)到參考節(jié)點(diǎn)的距離用網(wǎng)絡(luò)中的節(jié)點(diǎn)的平均每跳距離和節(jié)點(diǎn)之間的跳數(shù)乘積表示,使用三角形定位的方法來(lái)獲得節(jié)點(diǎn)的位置節(jié)點(diǎn)。前提條件:已知位置的錨節(jié)點(diǎn)個(gè)數(shù)要超過(guò)3個(gè);對(duì)所有節(jié)點(diǎn)來(lái)說(shuō),在添加完鄰接矩陣關(guān)系后,是一個(gè)連通圖,沒(méi)有孤立節(jié)點(diǎn)。特別說(shuō)明:圖是否為連通圖對(duì)于迭代多邊算法影響可能不會(huì)很大,但是在DV-HOP算法中,如果有孤立節(jié)點(diǎn),則會(huì)導(dǎo)致程序出錯(cuò)。3.4PDM算法算法思想:PDM算法全稱為計(jì)算鄰近度-距離轉(zhuǎn)換矩陣算法(Proximity-to-DistanceMapping),也就是說(shuō)通過(guò)計(jì)算節(jié)點(diǎn)間的鄰近度-距離轉(zhuǎn)換矩陣來(lái)給未知節(jié)點(diǎn)進(jìn)行定位,本算法中涉及到:通過(guò)錨節(jié)點(diǎn)間協(xié)作構(gòu)建鄰近度-距離轉(zhuǎn)換矩陣D=P*T,對(duì)于已知的錨節(jié)點(diǎn),它們之間的跳數(shù)可以通過(guò)Floyd算法計(jì)算出來(lái),即可獲取關(guān)于所有錨節(jié)點(diǎn)的跳數(shù)矩陣P,而錨節(jié)點(diǎn)的坐標(biāo)已知,其相互之間的距離可以計(jì)算出來(lái),即構(gòu)造了距離矩陣D。利用偽逆技術(shù)增強(qiáng)魯棒性,計(jì)算出轉(zhuǎn)換矩陣T:若錨節(jié)點(diǎn)的分布要能較準(zhǔn)確的刻畫(huà)網(wǎng)絡(luò)拓?fù)湫再|(zhì),我們可以認(rèn)為矩陣T也符合網(wǎng)絡(luò)中的非錨節(jié)點(diǎn)。而非錨節(jié)點(diǎn)到錨節(jié)點(diǎn)的跳數(shù)可以用Floyd算出,即P可算出,通過(guò)D=T*P可以算出某個(gè)點(diǎn)到錨節(jié)點(diǎn)的距離,再調(diào)用算法一可以算出坐標(biāo)。前提條件:已知位置的錨節(jié)點(diǎn)個(gè)數(shù)要超過(guò)3個(gè);對(duì)所有節(jié)點(diǎn)來(lái)說(shuō),在添加完鄰接矩陣關(guān)系后,是一個(gè)連通圖,沒(méi)有孤立節(jié)點(diǎn)。特別說(shuō)明:圖是否為連通圖對(duì)于PDM算法影響很大,如果有孤立節(jié)點(diǎn),矩陣運(yùn)算就不會(huì)正確,無(wú)法定位。4.算法實(shí)現(xiàn)4.1迭代多邊定位算法第一步:將數(shù)據(jù)讀入內(nèi)存。利用Matlab中已有的函數(shù)load將文件中的內(nèi)容以矩陣的方式讀入內(nèi)存。Data_post=load('net1_pos.txt');Data_road1=load('net1_topo-errorfree.txt');Data_road2=load('net1_topo-error5.txt');Data_road3=load('net1_topo-error10.txt');culunm_post=size(Data_post);第二步:判斷錨節(jié)的個(gè)數(shù)。tempcount=0;fori=1:culunm_post(1)ifData_post(i,4)==1tempcount=tempcount+1;endendiftempcount<3disp('錨節(jié)點(diǎn)少于3個(gè),DV-hop算法無(wú)法執(zhí)行');return;end第三步:初始化距離矩陣,將與錨節(jié)點(diǎn)有關(guān)的路徑讀入距離矩陣先將距離矩陣全部賦值為無(wú)窮大,再將每個(gè)節(jié)點(diǎn)到自身的距離規(guī)定為0,在邊的信息中,如果有端點(diǎn)為錨節(jié)點(diǎn)的,就更新其兩點(diǎn)間的距離。fori=1:culunm_road(1)if(Data_road(i,1)<=anchors_n)matrix(Data_road(i,1),Data_road(i,2))=Data_road(i,3);elseif(Data_road(i,2)<=anchors_n)matrix(Data_road(i,2),Data_road(i,1))=Data_road(i,3);endend第四步:迭代計(jì)算逐一判斷每一個(gè)非信標(biāo)節(jié)點(diǎn)是否有3個(gè)以上錨節(jié)點(diǎn)與其相關(guān),如果有3個(gè)以上的信標(biāo)節(jié)點(diǎn)與其相關(guān)則根據(jù):其中x,y為未定位的節(jié)點(diǎn)的實(shí)際位置,(x1,y1),(x2,y2),……是已知的錨節(jié)點(diǎn)到該未知節(jié)點(diǎn)的距離。根據(jù)以上兩個(gè)矩陣的轉(zhuǎn)換,可以求得:,其中x為一個(gè)一行兩列的矩陣,分別表示未知節(jié)點(diǎn)定位后的坐標(biāo)位置x,y。定位成功后,把該點(diǎn)的標(biāo)號(hào)加入錨節(jié)點(diǎn)集合中并從非錨節(jié)點(diǎn)集合中刪除,并在距離矩陣中加入與該節(jié)點(diǎn)相關(guān)的邊的信息。不斷迭代運(yùn)行第四步,直至錨節(jié)點(diǎn)集合中元素個(gè)數(shù)不再變化。核心代碼如下:(1)計(jì)算未知節(jié)點(diǎn)位置point=temp(1,3)^2-temp(1,1)^2-temp(1,2)^2;forii=2:k-1 A(ii-1,:)=2*[temp(1,1)-temp(ii,1)temp(1,2)-temp(ii,2)]; b(ii-1,:)=[temp(ii,3)^2-temp(ii,1)^2-temp(ii,2)^2-point];endAns=inv(transpose(A)*A)*transpose(A)*b;estimated(j,1)=Ans(1,1);estimated(j,2)=Ans(2,1);(2)更新錨節(jié)點(diǎn)、非錨節(jié)點(diǎn)集合以及距離矩陣anchors_n_t=anchors_n_t+1;anchors(anchors_n_t)=j;Locate=find(all==j);all(Locate)=[];form=1:culunm_road(1) if(Data_road(m,1)==j) matrix(Data_road(m,1),Data_road(m,2))=Data_road(m,3); elseif(Data_road(m,2)==j) matrix(Data_road(m,2),Data_road(m,1))=Data_road(m,3); endend第五步:計(jì)算誤差,輸出結(jié)果4.2DV-HOP算法第一步:將數(shù)據(jù)讀入內(nèi)存。利用Matlab中已有的函數(shù)load將文件中的內(nèi)容以矩陣的方式讀入內(nèi)存。第二步:判斷錨節(jié)的個(gè)數(shù)。第三步:將所有的兩點(diǎn)間的距離關(guān)系讀入距離矩陣fori=1:culunm_road(1) matrix(Data_road(i,1),Data_road(i,2))=Data_road(i,3); matrix(Data_road(i,2),Data_road(i,1))=Data_road(i,3);endshortest_path=matrix;第四步:利用最短路徑算法求得兩點(diǎn)間的最短路徑fork=1:nodes_nfori=1:nodes_nforj=1:nodes_nifshortest_path(i,k)+shortest_path(k,j)<shortest_path(i,j)shortest_path(i,j)=shortest_path(i,k)+shortest_path(k,j);jump_n(i,j)=jump_n(k,j);endendendEnd第五步:求每個(gè)信標(biāo)節(jié)點(diǎn)的校正值利用函數(shù):anchor_to_anchor=shortest_path(1:anchors_n,1:anchors_n);fori=1:anchors_nhopsize(i)=sum(sqrt(sum(transpose((repmat(true(i,:),anchors_n,1)...-true(1:anchors_n,:)).^2))))/sum(anchor_to_anchor(i,:));End第六步:未知節(jié)點(diǎn)計(jì)算位置先通過(guò)距離=跳數(shù)*校正值求得未知節(jié)點(diǎn)到每個(gè)錨節(jié)點(diǎn)的距離,再根據(jù)最小二乘法計(jì)算具體位置。obtained_hopsize=hopsize(find(shortest_path(i,1:anchors_n)==...min(shortest_path(i,1:anchors_n))));unknown_to_anchors_dist=transpose(obtained_hopsize(1)*...shortest_path(i,1:anchors_n));A=2*(estimated(1:anchors_n-1,:)-repmat(estimated(anchors_n,:),...anchors_n-1,1));anchors_location_square=transpose(sum(transpose...(estimated(1:anchors_n,:).^2)));dist_square=unknown_to_anchors_dist.^2;b=anchors_location_square(1:anchors_n-1)-...anchors_location_square(anchors_n)-dist_square(1:anchors_n-1)+..dist_square(anchors_n);estimated(i,:)=transpose(A\b);第七步:計(jì)算誤差,輸出結(jié)果4.3PDM算法第一步:將數(shù)據(jù)讀入內(nèi)存。利用Matlab中已有的函數(shù)load將文件中的內(nèi)容以矩陣的方式讀入內(nèi)存。第二步:判斷錨節(jié)的個(gè)數(shù)。第三步:將所有的兩點(diǎn)間的距離關(guān)系讀入距離矩陣第四步:利用最短路徑算法求得兩點(diǎn)間的最短路徑,以及最短路徑下每對(duì)節(jié)點(diǎn)的上一跳信息。第五步:構(gòu)造節(jié)點(diǎn)跳數(shù)矩陣P_all根據(jù)上一跳矩陣jump_n,通過(guò)循環(huán)判斷可以得出一個(gè)32*320的矩陣P_all,P_all(i,j)表示從第i和點(diǎn)到第j個(gè)點(diǎn)最少需要多少跳。fori=1:nodes_nforj=1:nodes_ntemp_num=last_jump(i,j);while(temp_num~=i)P_all(i,j)=P_all(i,j)+1;temp_num=last_jump(i,temp_num);endendend第六步:構(gòu)造PDM算法所需要的各種矩陣所有錨節(jié)點(diǎn)的跳數(shù)矩陣P_anchors、錨節(jié)點(diǎn)的距離矩陣D_anchors、轉(zhuǎn)換矩陣T、非錨節(jié)點(diǎn)到錨節(jié)點(diǎn)的跳數(shù)P_Nanchors、未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離D_NanchorsP_anchors=P_all(1:anchors_n,1:anchors_n);D_anchors=pdist2(true_anchors,true_anchors);D_anchors=D_anchors(1:anchors_n,1:anchors_n);T=D_anchors*transpose(P_anchors)*inv(P_anchors*transpose(P_anchors));P_Nanchors=P_all(1:anchors_n,33:320);D_Nanchors=T*P_Nanchors;第七步:利用最小二乘法估算具體位置第八步:計(jì)算誤差,輸出結(jié)果5.實(shí)驗(yàn)結(jié)果和分析迭代多邊定位算法1、實(shí)驗(yàn)結(jié)果(1)無(wú)擾動(dòng)值時(shí)的迭代多邊定位算法說(shuō)明:紅色圓圈表示節(jié)點(diǎn)實(shí)際位置,藍(lán)色圓點(diǎn)表示利用迭代多邊定位算法的估計(jì)位置。(2)5%誤差擾動(dòng)值時(shí)的迭代多邊定位算法說(shuō)明:紅色圓圈表示節(jié)點(diǎn)實(shí)際位置,藍(lán)色圓點(diǎn)表示利用迭代多邊定位算法的估計(jì)位置,藍(lán)色連線表示某個(gè)節(jié)點(diǎn)實(shí)際位置與估計(jì)位置的誤差。(3)10%誤差擾動(dòng)值時(shí)的迭代多邊定位算法說(shuō)明:紅色圓圈表示節(jié)點(diǎn)實(shí)際位置,藍(lán)色圓點(diǎn)表示利用迭代多邊定位算法的估計(jì)位置,黃色連線表示某個(gè)節(jié)點(diǎn)實(shí)際位置與估計(jì)位置的誤差。2、誤差分析三次定位中,誤差(方差)分別為:0.00034774693255881、3.1238
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北師大版高三歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年滬教新版選修3物理上冊(cè)階段測(cè)試試卷含答案
- 2025年粵人版高一數(shù)學(xué)下冊(cè)階段測(cè)試試卷
- 2025年北師大版九年級(jí)地理下冊(cè)月考試卷含答案
- 2025年湘教版選擇性必修1歷史下冊(cè)月考試卷含答案
- 2025年浙教新版必修三英語(yǔ)上冊(cè)階段測(cè)試試卷
- 公共文化服務(wù)理論與實(shí)務(wù)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋四川藝術(shù)職業(yè)學(xué)院
- 2025年度美容院美容產(chǎn)品包裝設(shè)計(jì)與生產(chǎn)合同4篇
- 二零二五年度農(nóng)業(yè)休閑觀光園開(kāi)發(fā)合同4篇
- 二零二五年度綠色生態(tài)農(nóng)用地流轉(zhuǎn)合同4篇
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 人教版初中語(yǔ)文2022-2024年三年中考真題匯編-學(xué)生版-專題08 古詩(shī)詞名篇名句默寫
- 2024-2025學(xué)年人教版(2024)七年級(jí)(上)數(shù)學(xué)寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- 2024年高考全國(guó)甲卷英語(yǔ)試卷(含答案)
- 2024光伏發(fā)電工程交流匯流箱技術(shù)規(guī)范
- 旅游活動(dòng)碳排放管理評(píng)價(jià)指標(biāo)體系構(gòu)建及實(shí)證研究
- 2022年全國(guó)職業(yè)院校技能大賽-電氣安裝與維修賽項(xiàng)規(guī)程
- 小學(xué)德育養(yǎng)成教育工作分層實(shí)施方案
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 黑枸杞生物原液應(yīng)用及產(chǎn)業(yè)化項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論