无线传感器网络实验指导书.doc
《无线传感器网络实验指导书.doc》由会员分享,可在线阅读,更多相关《无线传感器网络实验指导书.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除无线传感器网络实验指导书信息工程学院实验一 质心算法一、实验目的掌握合并质心算法的基本思想;学会利用MATLAB实现质心算法;学会利用数学计算软件解决实际问题。二、实验内容和原理无需测距的定位技术不需要直接测量距离和角度信息。定位精度相对较低,不过可以满足某些应用的需要。在计算几何学里多边形的几何中心称为质心,多边形顶点坐标的平均值就是质心节点的坐标。假设多边形定点位置的坐标向量表示为pi= (xi,yi)T,则这个多边形的质心坐标为:例如,如果四边形 ABCD 的顶点坐标分别为 (x1, y1),(x2, y2), (x3, y3) 和(x4,
2、y4),则它的质心坐标计算如下:这种方法的计算与实现都非常简单,根据网络的连通性确定出目标节点周围的信标参考节点,直接求解信标参考节点构成的多边形的质心。锚点周期性地向临近节点广播分组信息,该信息包含了锚点的标识和位置。当未知结点接收到来自不同锚点的分组信息数量超过某一门限或在一定接收时间之后,就可以计算这些锚点所组成的多边形的质心,作为确定出自身位置。由于质心算法完全基于网络连通性,无需锚点和未知结点之间的协作和交互式通信协调,因而易于实现。三、实验内容及步骤该程序在Matlab环境下完成无线传感器中的质心算法的实现。在长为100米的正方形区域,信标节点(锚点)为90个,随机生成50个网络节
3、点。节点的通信距离为30米。需完成:分别画出不同通信半径,不同未知节点数目下的误差图,并讨论得到的结果所用到的函数:1. M = min(A)返回A最小的元素.如果A是一个向量,然后min(A)返回A的最小元素.如果A是一个矩阵,然后min(A)是一个包含每一列的最小值的行向量。2. randX = rand返回一个单一均匀分布随机数在区间 (0,1)。X = rand(n)返回n-n矩阵的随机数字。3. S = sum(A)返回 A 沿其大小不等于 1 的第一个数组维度的元素的总和。如果A是一个向量,sum(A)可返回元素的总和。如果A是一个矩阵,然后sum(A)返回一个行向量包含每个列的总
4、和。4. inf无穷大此 MATLAB 函数 返回正无穷大的 IEEE 算术表示。除以零和溢出等操作会生成无穷值,从而导致结果因太大而无法表示为传统的浮点值5. zeros - 创建全零数组X = zeros返回标量0.X = zeros(n) -由-n矩阵的零返回n.6. plot(X,Y)画出Y随X变化的2D 曲线。plot(X,Y,o)用o描述(X,Y)这一点。7.n= norm(v)返回的 2-范数或欧氏范数的向量v.n = norm (v,p)返回向量范数定义的sum(abs(v)p)(1/p),这里p是任何正值, Inf或-Inf.8.s = num2str(A)数值数组转换为字符
5、数组输出,它表示的数字。输出格式取决于原始值的大小。num2str是用于标签和标题情节与数字值。所用到的变量:xy:均匀分布的信标节点位置矩阵n:未知节点数量SS: 未知节点位置矩阵dm:通信半径cent:质心MM:未知节点估计坐标矩阵e:估计位置和实际位置距离矩阵(误差)四、源程序clearclc%锚节点节点设置for i=1:1:10%1到10,步长是1;画出锚点,前一个括号是标号。 for j=1:1:10 x(j+(i-1)*10)=(i-1)*10; y(j+(i-1)*10)=(j-1)*10; endendfigure%出现图形界面plot(x,y,k.); %黑点hold on
6、 %继续画图axis(0 100 0 100);xy=x;y;把X,Y的坐标付给矩阵XYxy;hold onxm=90;ym=90;n=50; %未知节点 for i=1:1:n Sx(i)=rand(1,1)*xm;%产生一个一行一列的矩阵;依然是0-1中任意一个值。 Sy(i)=rand(1,1)*ym; plot(Sx(i),Sy(i),r*);% 红星 xlabel(x轴); ylabel(y轴); hold onenddm=30 ;%通信半径m=100; 一共100个点;for j=1:1:n%未知节点循环;每一个未知节点都与在通讯范围内所有的锚点算一遍距离,放到一个矩阵中,通讯距离
7、以外的点为零。 SS=Sx(j);Sy(j); k=0;%表示通信半径内的信标节点数 for i=1:1:m d=norm(xy(:,i)-SS),2);%2范数就是求直线距离;不管行,第i列; if d=dm 是否在范围内,取出信标节点,放到XX,yy中 xx(j,i)=xy(1,i);第1行第i列;%X坐标都给了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
8、)=0; 令第j列的所有元素为零。 end plot(cent(1,j),cent(2,j),o) ; hold on plot(cent(1,j) Sx(j),cent(2,j) Sy(j),R-) ;%估计位置和真实位置连接 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)
9、;disp(定位误差=,num2str(E); %将结果转换成字符串输出实验二 DV-hop算法一、 实验目的掌握DV-hop算法的基本思想;学会利用MATLAB实现DV-hop算法;学会利用数学计算软件解决实际问题。二、实验内容和原理DV-Hop算法解决了低锚点密度引发的问题,它根据距离矢量路由协议的原理在全网范围内广播跳数和位置。已知锚点L1与L2、L3之间的距离和跳数。L2计算得到校正值(即平均每跳距离)为(40+75)/(2+5)=16.42m。假设传感器网络中的待定位节点A从L2获得校正值,则它与3个锚点之间的距离分别是L1=316.42,L2=216.42,L3=316.42,然后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 传感器 网络 实验 指导书
限制150内