




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.無(wú)線傳感器網(wǎng)絡(luò)實(shí)驗(yàn)指導(dǎo)書(shū)信息工程學(xué)院實(shí)驗(yàn)一 質(zhì)心算法一、實(shí)驗(yàn)?zāi)康恼莆蘸喜①|(zhì)心算法的基本思想;學(xué)會(huì)利用MATLAB實(shí)現(xiàn)質(zhì)心算法;學(xué)會(huì)利用數(shù)學(xué)計(jì)算軟件解決實(shí)際問(wèn)題。二、實(shí)驗(yàn)內(nèi)容和原理無(wú)需測(cè)距的定位技術(shù)不需要直接測(cè)量距離和角度信息。定位精度相對(duì)較低,不過(guò)可以滿足某些應(yīng)用的需要。在計(jì)算幾何學(xué)里多邊形的幾何中心稱(chēng)為質(zhì)心,多邊形頂點(diǎn)坐標(biāo)的平均值就是質(zhì)心節(jié)點(diǎn)的坐標(biāo)。假設(shè)多邊形定點(diǎn)位置的坐標(biāo)向量表示為pi= (xi,yi)T,則這個(gè)多邊形的質(zhì)心坐標(biāo)為:例如,如果四邊形 ABCD 的頂點(diǎn)坐標(biāo)分別為 (x1, y1),(x2, y2), (x3, y3) 和(x4,y4),則它的質(zhì)心坐標(biāo)計(jì)算如下:這種方法的計(jì)算
2、與實(shí)現(xiàn)都非常簡(jiǎn)單,根據(jù)網(wǎng)絡(luò)的連通性確定出目標(biāo)節(jié)點(diǎn)周?chē)男艠?biāo)參考節(jié)點(diǎn),直接求解信標(biāo)參考節(jié)點(diǎn)構(gòu)成的多邊形的質(zhì)心。錨點(diǎn)周期性地向臨近節(jié)點(diǎn)廣播分組信息,該信息包含了錨點(diǎn)的標(biāo)識(shí)和位置。當(dāng)未知結(jié)點(diǎn)接收到來(lái)自不同錨點(diǎn)的分組信息數(shù)量超過(guò)某一門(mén)限或在一定接收時(shí)間之后,就可以計(jì)算這些錨點(diǎn)所組成的多邊形的質(zhì)心,作為確定出自身位置。由于質(zhì)心算法完全基于網(wǎng)絡(luò)連通性,無(wú)需錨點(diǎn)和未知結(jié)點(diǎn)之間的協(xié)作和交互式通信協(xié)調(diào),因而易于實(shí)現(xiàn)。三、實(shí)驗(yàn)內(nèi)容及步驟該程序在Matlab環(huán)境下完成無(wú)線傳感器中的質(zhì)心算法的實(shí)現(xiàn)。在長(zhǎng)為100米的正方形區(qū)域,信標(biāo)節(jié)點(diǎn)(錨點(diǎn))為90個(gè),隨機(jī)生成50個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。節(jié)點(diǎn)的通信距離為30米。需完成:分別畫(huà)出不
3、同通信半徑,不同未知節(jié)點(diǎn)數(shù)目下的誤差圖,并討論得到的結(jié)果所用到的函數(shù):1. M = min(A)返回A最小的元素.如果A是一個(gè)向量,然后min(A)返回A的最小元素.如果A是一個(gè)矩陣,然后min(A)是一個(gè)包含每一列的最小值的行向量。2. randX = rand返回一個(gè)單一均勻分布隨機(jī)數(shù)在區(qū)間 (0,1)。X = rand(n)返回n-n矩陣的隨機(jī)數(shù)字。3. S = sum(A)返回 A 沿其大小不等于 1 的第一個(gè)數(shù)組維度的元素的總和。如果A是一個(gè)向量,sum(A)可返回元素的總和。如果A是一個(gè)矩陣,然后sum(A)返回一個(gè)行向量包含每個(gè)列的總和。4. inf無(wú)窮大此 MATLAB 函數(shù)
4、返回正無(wú)窮大的 IEEE 算術(shù)表示。除以零和溢出等操作會(huì)生成無(wú)窮值,從而導(dǎo)致結(jié)果因太大而無(wú)法表示為傳統(tǒng)的浮點(diǎn)值5. zeros - 創(chuàng)建全零數(shù)組X = zeros返回標(biāo)量0.X = zeros(n) -由-n矩陣的零返回n.6. plot(X,Y)畫(huà)出Y隨X變化的2D 曲線。plot(X,Y,o)用o描述(X,Y)這一點(diǎn)。7.n= norm(v)返回的 2-范數(shù)或歐氏范數(shù)的向量v.n = norm (v,p)返回向量范數(shù)定義的sum(abs(v)p)(1/p),這里p是任何正值, Inf或-Inf.8.s = num2str(A)數(shù)值數(shù)組轉(zhuǎn)換為字符數(shù)組輸出,它表示的數(shù)字。輸出格式取決于原始值的
5、大小。num2str是用于標(biāo)簽和標(biāo)題情節(jié)與數(shù)字值。所用到的變量:xy:均勻分布的信標(biāo)節(jié)點(diǎn)位置矩陣n:未知節(jié)點(diǎn)數(shù)量SS: 未知節(jié)點(diǎn)位置矩陣dm:通信半徑cent:質(zhì)心MM:未知節(jié)點(diǎn)估計(jì)坐標(biāo)矩陣e:估計(jì)位置和實(shí)際位置距離矩陣(誤差)四、源程序clearclc%錨節(jié)點(diǎn)節(jié)點(diǎn)設(shè)置for i=1:1:10%1到10,步長(zhǎng)是1;畫(huà)出錨點(diǎn),前一個(gè)括號(hào)是標(biāo)號(hào)。 for j=1:1:10 x(j+(i-1)*10)=(i-1)*10; y(j+(i-1)*10)=(j-1)*10; endendfigure%出現(xiàn)圖形界面plot(x,y,k.); %黑點(diǎn)hold on %繼續(xù)畫(huà)圖axis(0 100 0 100)
6、;xy=x;y;把X,Y的坐標(biāo)付給矩陣XYxy;hold onxm=90;ym=90;n=50; %未知節(jié)點(diǎn) for i=1:1:n Sx(i)=rand(1,1)*xm;%產(chǎn)生一個(gè)一行一列的矩陣;依然是0-1中任意一個(gè)值。 Sy(i)=rand(1,1)*ym; plot(Sx(i),Sy(i),r*);% 紅星 xlabel(x軸); ylabel(y軸); hold onenddm=30 ;%通信半徑m=100; 一共100個(gè)點(diǎn);for j=1:1:n%未知節(jié)點(diǎn)循環(huán);每一個(gè)未知節(jié)點(diǎn)都與在通訊范圍內(nèi)所有的錨點(diǎn)算一遍距離,放到一個(gè)矩陣中,通訊距離以外的點(diǎn)為零。 SS=Sx(j);Sy(j);
7、 k=0;%表示通信半徑內(nèi)的信標(biāo)節(jié)點(diǎn)數(shù) for i=1:1:m d=norm(xy(:,i)-SS),2);%2范數(shù)就是求直線距離;不管行,第i列; if d=dm 是否在范圍內(nèi),取出信標(biāo)節(jié)點(diǎn),放到XX,yy中 xx(j,i)=xy(1,i);第1行第i列;%X坐標(biāo)都給了XX yy(j,i)=xy(2,i); 第2行第i列; k=k+1; else xx(j,i)=0; yy(j,i)=0; end end if k=0%k不等于零 cent(:,j)=sum(xx(j,:);sum(yy(j,:)/k;%第j行的所有列 else cent(:,j)=0; 令第j列的所有元素為零。 end p
8、lot(cent(1,j),cent(2,j),o) ; hold on plot(cent(1,j) Sx(j),cent(2,j) Sy(j),R-) ;%估計(jì)位置和真實(shí)位置連接 title(Centroid); hold on MM=cent(1,j);cent(2,j); e(j)=norm(MM-SS),2); %定位誤差end% figure/dm% axis(0 n 0 1)% j=1:1:n% plot(j,e(j) ,-r.)% hold on% title(Centroid)% E=sum(e)/nE=sum(e)/(n*dm);disp(定位誤差=,num2str(E);
9、 %將結(jié)果轉(zhuǎn)換成字符串輸出實(shí)驗(yàn)二 DV-hop算法一、 實(shí)驗(yàn)?zāi)康恼莆誅V-hop算法的基本思想;學(xué)會(huì)利用MATLAB實(shí)現(xiàn)DV-hop算法;學(xué)會(huì)利用數(shù)學(xué)計(jì)算軟件解決實(shí)際問(wèn)題。二、實(shí)驗(yàn)內(nèi)容和原理DV-Hop算法解決了低錨點(diǎn)密度引發(fā)的問(wèn)題,它根據(jù)距離矢量路由協(xié)議的原理在全網(wǎng)范圍內(nèi)廣播跳數(shù)和位置。已知錨點(diǎn)L1與L2、L3之間的距離和跳數(shù)。L2計(jì)算得到校正值(即平均每跳距離)為(40+75)/(2+5)=16.42m。假設(shè)傳感器網(wǎng)絡(luò)中的待定位節(jié)點(diǎn)A從L2獲得校正值,則它與3個(gè)錨點(diǎn)之間的距離分別是L1=316.42,L2=216.42,L3=316.42,然后使用多邊測(cè)量法確定節(jié)點(diǎn)的位置。圖1 DV ho
10、p 算法示意圖三、實(shí)驗(yàn)內(nèi)容及步驟該程序在Matlab環(huán)境下完成無(wú)線傳感器中的DV-Hop算法的實(shí)現(xiàn)。在長(zhǎng)為100米的正方形區(qū)域,隨機(jī)生成100個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),其中信標(biāo)節(jié)點(diǎn)(錨點(diǎn))為8個(gè),未知坐標(biāo)節(jié)點(diǎn)為92個(gè)。節(jié)點(diǎn)的通信距離為50米??伤愠鲎疃搪方?jīng)算法計(jì)算節(jié)點(diǎn)間跳數(shù)、每個(gè)信標(biāo)節(jié)點(diǎn)的校正值并可用用跳數(shù)估計(jì)距離。(1000-1000, 300個(gè)節(jié)點(diǎn),60個(gè)信標(biāo)節(jié)點(diǎn))所用到的函數(shù):參見(jiàn)上節(jié):質(zhì)心算法;需完成:1) 運(yùn)行程序,生成隨機(jī)分布的節(jié)點(diǎn);2) 更正程序中的錯(cuò)誤,求每個(gè)信標(biāo)節(jié)點(diǎn)的校正值;3) 繼續(xù)運(yùn)行程序,利用跳數(shù)估計(jì)待求節(jié)點(diǎn)的距離。四、源程序% DV-Hop算法 % BorderLength-正方形
11、區(qū)域的邊長(zhǎng),單位:m% NodeAmount-網(wǎng)絡(luò)節(jié)點(diǎn)的個(gè)數(shù)% BeaconAmount-信標(biāo)節(jié)點(diǎn)數(shù)% Sxy-用于存儲(chǔ)節(jié)點(diǎn)的序號(hào),橫坐標(biāo),縱坐標(biāo)的矩陣%Beacon-信標(biāo)節(jié)點(diǎn)坐標(biāo)矩陣;BeaconAmount*BeaconAmount%UN-未知節(jié)點(diǎn)坐標(biāo)矩陣;2*UNAmount% Distance-未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)距離矩陣;2*BeaconAmount%h-節(jié)點(diǎn)間初始跳數(shù)矩陣%X-節(jié)點(diǎn)估計(jì)坐標(biāo)初始矩陣,X=x,y% R-節(jié)點(diǎn)的通信距離,一般為10-100mclear,close all;BorderLength=100;NodeAmount=100;BeaconAmount=8;UNAm
12、ount=NodeAmount-BeaconAmount;R=50;% D=zeros(NodeAmount,NodeAmount);%未知節(jié)電到信標(biāo)節(jié)點(diǎn)距離初始矩陣;BeaconAmount行NodeAmount列h=zeros(NodeAmount,NodeAmount);%初始跳數(shù)為0;NodeAmount行NodeAmount列X=zeros(2,UNAmount);%節(jié)點(diǎn)估計(jì)坐標(biāo)初始矩陣%在正方形區(qū)域內(nèi)產(chǎn)生均勻分布的隨機(jī)拓?fù)銫=BorderLength.*rand(2,NodeAmount);%帶邏輯號(hào)的節(jié)點(diǎn)坐標(biāo)Sxy=1:NodeAmount;C;%將1-NodeAmount與C上
13、下合到一起,產(chǎn)生一個(gè)總矩陣。Beacon=Sxy(2,1:BeaconAmount);Sxy(3,1:BeaconAmount);%信標(biāo)節(jié)點(diǎn)坐標(biāo)UN=Sxy(2,(BeaconAmount+1):NodeAmount);Sxy(3,(BeaconAmount+1):NodeAmount);%未知節(jié)點(diǎn)坐標(biāo)%畫(huà)出節(jié)點(diǎn)分布圖plot(Sxy(2,1:BeaconAmount),Sxy(3,1:BeaconAmount),r*,Sxy(2,(BeaconAmount+1):NodeAmount),Sxy(3,(BeaconAmount+1):NodeAmount),k.)xlim(0,BorderLe
14、ngth);ylim(0,BorderLength);title(* 紅色信標(biāo)節(jié)點(diǎn) . 黑色未知節(jié)點(diǎn))%初始化節(jié)點(diǎn)間距離、跳數(shù)矩陣for i=1:NodeAmount for j=1:NodeAmount Dall(i,j)=(Sxy(2,i)-Sxy(2,j)2+(Sxy(3,i)-Sxy(3,j)2)0.5;%所有節(jié)點(diǎn)間相互距離 if (Dall(i,j)0) h(i,j)=1;%初始跳數(shù)矩陣 elseif i=j h(i,j)=0;%自己到自己的距離 else h(i,j)=inf; end endend%最短路經(jīng)算法計(jì)算節(jié)點(diǎn)間跳數(shù)for k=1:NodeAmount for i=1:N
15、odeAmount for j=1:NodeAmount if h(i,k)+h(k,j)h(i,j)%min(h(i,j),h(i,k)+h(k,j) h(i,j)=h(i,k)+h(k,j); end end endendh%求每個(gè)信標(biāo)節(jié)點(diǎn)的校正值h1=h(1:BeaconAmount,1:BeaconAmount);%從大矩陣中取出信標(biāo)節(jié)點(diǎn)的跳數(shù)D1=Dall(1:BeaconAmount,1:BeaconAmount); %從大矩陣中取出信標(biāo)節(jié)點(diǎn)的距離for i=1:BeaconAmount dhop(i,1)=sum(D1(i,:)/sum(h1(i,:);%每個(gè)信標(biāo)節(jié)點(diǎn)的平均每跳距
16、離endD2=Dall(1:BeaconAmount,(BeaconAmount+1):NodeAmount);%新標(biāo)節(jié)點(diǎn)與未知節(jié)點(diǎn)的距離,逗號(hào)前面是行的范圍,后面是列的范圍。 for i=1:BeaconAmount for j=1:UNAmount if min(D2(:,j)=D2(i,j) Dhop(1,j)= dhop (i,j);%未知節(jié)點(diǎn)從最近的信標(biāo)獲得校正值 end endendDhop%用跳數(shù)估計(jì)距離hop1=h(1:BeaconAmount,(BeaconAmount+1):NodeAmount)%未知節(jié)點(diǎn)到信標(biāo)跳數(shù),BeaconAmount行UNAmount列for i=
17、1:UNAmount hop=Dhop(1,i);%hop為從最近信標(biāo)獲得的校正值 Distance(:,i)=hop*hop1(:,i);%Beacon行UN列;end% %最小二乘法求未知點(diǎn)坐標(biāo) d=Distance; for i=1:2 for j=1:(BeaconAmount-1) a(i,j)=Beacon(i,j)-Beacon(i,BeaconAmount); end end %a為第一個(gè)信標(biāo)節(jié)點(diǎn)和最后一個(gè)信號(hào)節(jié)點(diǎn)的坐標(biāo)差值,保留最后一個(gè)信標(biāo)節(jié)點(diǎn)% a A=-2*(a);% d=d1; for m=1:UNAmount for i=1:(BeaconAmount-1) B(i,
18、1)=d(i,m)2-d(BeaconAmount,m)2-Beacon(1,i)2+Beacon(1,BeaconAmount)2-Beacon(2,i)2+Beacon(2,BeaconAmount)2; % 前九個(gè)信標(biāo)節(jié)點(diǎn)到未知節(jié)點(diǎn)的距離平方% 最后信標(biāo)節(jié)點(diǎn)到未知節(jié)點(diǎn)的距離平方% 前九個(gè)信標(biāo)節(jié)點(diǎn)橫坐標(biāo)平方% 最后信標(biāo)節(jié)點(diǎn)到未知節(jié)點(diǎn)的橫坐標(biāo)平方 % 前九個(gè)信標(biāo)節(jié)點(diǎn)縱坐標(biāo)平方% 最后信標(biāo)節(jié)點(diǎn)縱坐標(biāo)平方 end X1=inv(A*A)*A*B; %inv是求逆矩陣 X(1,m)=X1(1,1); X(2,m)=X1(2,1); end %X為估計(jì)的未知節(jié)點(diǎn)位置 for i=1:UNAmount error(Z,i)=(X(1,i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年春季學(xué)期主題班會(huì)教案:探索人工智能的未來(lái)
- 2025年新學(xué)期攻略:《囊螢夜讀》教學(xué)課件更新
- 2024年關(guān)于高二迎接高三演講稿范文(17篇)
- 水果的創(chuàng)業(yè)計(jì)劃書(shū)(4篇)
- 電力修理知識(shí)培訓(xùn)課件
- 路政業(yè)務(wù)知識(shí)培訓(xùn)課件
- DB31∕601-2012 地理標(biāo)志產(chǎn)品 金山蟠桃
- 關(guān)于中國(guó)建筑與防震減災(zāi)的研究論文匯報(bào)
- 物流系統(tǒng)分析 課件 項(xiàng)目九-任務(wù)三 (三)多式聯(lián)運(yùn)優(yōu)化模型
- 砌體結(jié)構(gòu)工程事故分析與處理
- 《臨床疾病概論》課件
- 安全生產(chǎn)費(fèi)用使用臺(tái)賬
- 鋅精礦價(jià)格計(jì)算公式
- 舞臺(tái)設(shè)計(jì)課件
- 高中英語(yǔ) 高中閱讀高頻單詞
- TRD工法施工方案(長(zhǎng)業(yè)范本)
- 模板安裝三檢記錄表
- 安全費(fèi)用提取、使用臺(tái)賬
- 部編版六年級(jí)語(yǔ)文下冊(cè)全冊(cè)課件PPT
- 北京市歷年中考語(yǔ)文現(xiàn)代文之記敘文閱讀25篇(2003-2021)
- 新教科版六年級(jí)下冊(cè)科學(xué)全冊(cè)重點(diǎn)題型練習(xí)課件(含答案)
評(píng)論
0/150
提交評(píng)論