无线传感网实验报告3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线传感网实验报告3
班级:微电子1101 姓名:曹忠豪学号:0301110101
一.实验目的
通过仿真实验掌握无线传感器网络的定位算法。——质心定位算法
二.实验内容
在100*100m2 的正方形区域里,有n个信标节点和1个未知节点,未知节点和信标节点的通信半径均为R,则
(1)当通信半径R=50m,信标节点个数n=6,12,18,24,30时,利用Monte Carlo
方法,分别计算未知节点的实际位置与估计位置的平均误差;
(2)当信标节点个数n=20,通信半径R=5,10,15,20,25,30,35,40,45,50m时,
利用Monte Carlo方法,分别计算未知节点的实际位置与估计位置的平均误
差;
三.实验方法
(1)在边长为100m的正方形中,产生一个信标节点为n、未知节点为1的随机分布图;
(2)确定与未知节点相连的信标节点;
(3)利用质心算法,对位置节点的位置进行估计;
(4)每一组数据(信标节点个数n,通信半径R)需要仿真800次,得出该组数据下未知节点的实际位置与估计位置的平均误差。
四.设计思路
用蒙特卡罗生成随机节点,自定义一个已知节点,判断有多少节点连通,之后将这些节点横坐标,纵坐标相加,算出平均值,作为计算出来的坐标节点新的横纵坐标。然后在与自定义的已知节点坐标相比较计算出误差。
五,实验代码
相同通信半径
clear all
n=[6,12,18,24,30];
r=50;
H=zeros(1,5);
for i=1:1:5
time=0;
for t=1:1:800
x=100*rand(1,n(i)); y=100*rand(1,n(i));
X=100*rand(1,1); Y=100*rand(1,1);
w=0;
v=0;
c=0;
for j=1:1:n(i)
if (x(j)-X)^2+(y(j)-Y)^2 w=w+x(j); v=v+y(j); c=c+1; end end if c>0 time=time+1; d=w/c; e=v/c; H(i)=H(i)+sqrt((d-X)^2+(e-Y)^2); end end H(i)=H(i)/opum; end 相同节点数量 clear out r=[5,10,15,20,25,30,35,40,45,50]; n=20; H=zeros(1,10); for i=1:1:10 time=0; for t=1:1:800 X=100*rand(1,1);Y=100*rand(1,1); x=100*rand(1,n);y=100*rand(1,n); w=0; v=0; c=0; for j=1:1:n if (x(j)-X)^2+(y(j)-Y)^2 w=w+x(j); v=v+y(j); c=c+1; end end if c>0 time=time+1; d=w/c; e=v/c; D(i)=D(i)+sqrt((d-X)^2+(e-Y)^2); end end D(i)=D(i)/time; end