【WSN定位】基于非测距的定位算法Dv-Hop算法实现二维和三维节点定位附matlab代码
【WSN定位】基于非测距的定位算法Dv-Hop算法实现二维和三维节点定位附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
2 部分代码
% BorderLength-----正方形区域的边长,单位:m
% NodeAmount------网络节点的总个数
% BeaconAmount---信标节点数
% UNAmount--------未知节点数
% Sxy-----------------用于存储节点的序号,横坐标,纵坐标的矩阵
% Beacon------------信标节点坐标矩阵
% UN-----------------未知节点坐标矩阵
% Distance-----------未知节点到信标节点距离矩阵
% X------------------未知节点估计坐标初始矩阵
% R------------------节点的通信距离,一般为
10
-
100
m
clear,close all;
BorderLength=
100
;%正方形区域的边长
NodeAmount=
100
;%网络节点的总个数
BeaconAmount=
10
;
UNAmount=NodeAmount-BeaconAmount;
R=
50
;
Dall=zeros(NodeAmount,NodeAmount,NodeAmount); %距离初始矩阵
h=zeros(NodeAmount,NodeAmount,NodeAmount); %初始跳数矩阵
X=zeros(
2
,UNAmount,NodeAmount); %未知节点估计坐标初始矩阵
%~~~~~~~~~在正方形区域内产生均匀分布的随机拓扑~~~~~~~~~~~~~~~
site=BorderLength.*rand(
2
,NodeAmount); %随机产生节点坐标
Sxy=[
1
:NodeAmount
;site]; %带序号的节点坐标
Beacon=[Sxy(
2
,
1
:BeaconAmount
);Sxy(
3
,
1
:BeaconAmount
)]; %信标节点坐标
UN=[Sxy(
2
,(BeaconAmount+
1
)
:NodeAmount
);Sxy(
3
,(BeaconAmount+
1
)
:NodeAmount
)];
%未知节点坐标
%~~~~~~~~画出节点分布图~~~~~~~~~~~~~~~~~
figure(
1
)
plot(Sxy(
2
,
1
:BeaconAmount
),Sxy(
3
,
1
:BeaconAmount
),
’r*’
,Sxy(
2
,(BeaconAmount+
1
)
:NodeAmount
),Sxy(
3
,(BeaconAmount+
1
)
:NodeAmount
),
’k.’
)
xlim([
0
,BorderLength]);
ylim([
0
,BorderLength]);
title(
’红色*表示信标节点 黑色.表示未知节点’
)
end
A=
2
*(a
’); %’
表示求矩阵的转置
B=zeros(BeaconAmount-
1
,
1
);
for
m=
1
:UNAmount
for
i=
1
:
(BeaconAmount-
1
) B(i,
1
)=d(BeaconAmount,m)^
2
-d(i,m)^
2
+Beacon(
1
,i)^
2
-Beacon(
1
,BeaconAmount)^
2
+Beacon(
2
,i)^
2
-Beacon(
2
,BeaconAmount)^
2
; %B=b矩阵
end
X1=inv(A
’*A)*A’
*B; %inv表示求矩阵的逆矩阵
X(
1
,m)=X1(
1
,
1
);
X(
2
,m)=X1(
2
,
1
); %将求得的未知节点的坐标依次存入X矩阵
end
error=zeros(
1
,UNAmount); %未知节点的定位误差
for
i=
1
:UNAmount
error(i)=(((X(
1
,i)-UN(
1
,i))^
2
+(X(
2
,i)-UN(
2
,i))^
2
)^
0
.
5
); %每个未知节点的定位误差
end
figure(
2
)
stem(error)
xlabel(
’未知节点序号’
)
title(
’每个未知节点的误差’
)
Berror=sum(error)/UNAmount %平均定位误差
Accuracy= Berror /R %定位精确度
3 仿真结果
4 参考文献
[1]张佳, 吴延海, 石峰,等. 基于DV-HOP的无线传感器网络定位算法[J]. 计算机应用, 2010(2):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
5 代码下载
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
