【WSN定位】基于chan算法和克美拉罗界算法实现无线传感器定位及误差对比附matlab代码
【WSN定位】基于chan算法和克美拉罗界算法实现无线传感器定位及误差对比附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
无线定位技术是近年来十分热门的研究课题,它的基本原理是通过测量移动台和各固定位置节点之间的传播信号的特征参数(如到达角、传播时间或时间差、电波场强等)来估算出移动台的几何位置。无线传感器网络(WSN)由检测网络内大量微型传感器节点组成,它在实现运动目标的跟踪定位方面具有不可比拟的优势。无线传感器网络内应用基于到达时间差(TDOA)的定位方法对移动物体的定位,是应现代军事和民用的需求而发展起来的一门新兴技术。目前,国内外很多学者专注于无线传感器网络定位算法研究,涌现出了许多高质量的理论成果。无线定位算法在无线传感器网络移动物体定位的具体应用中具有广阔的应用前景。 本文实现基于chan算法和克美拉罗界算法实现近场和远场无线传感器定位,并对两种算法误差进行对比。
2 部分代码
clc;
clear all
close
all
BSN =
4
;%基站数量
%目标位置
MSP(
1
,
1
) =
250
*rand(
1
);
MSP(
1
,
2
) =
250
*rand(
1
);
% 算法开始:
X=
500
;
Y=
500
;
BS = [
0
, X,
0
,X
0
,
0
, Y,Y]; % 参考基站坐标
%
chan
算法
T =
0
:
0.5
:
20
;%噪声
va = (
-20
:
2
:
20
)
’;
jishu=1;
for jishu=1:21
Noise= 10^(va(jishu)/10); % Variance of TDOA & FDOA
[EMSCI11,EMSCI12] = ChanAlgorithm(BSN, MSP,BS, Noise);
[EMSCI21,EMSCI22] = ChanAlgorithm_jin(BSN, MSP,BS, Noise);
chan_wucha3(jishu)= CRLB1(BSN,MSP,BS, Noise);
EMSC11(1, 1) = EMSCI11(1);
EMSC11(1, 2) = EMSCI11(2);
EMSC12(1, 1) = EMSCI12(1);
EMSC12(1, 2) = EMSCI12(2);
EMSC11(1, 1) = EMSCI21(1);
EMSC21(1, 2) = EMSCI21(2);
EMSC22(1, 1) = EMSCI22(1);
EMSC22(1, 2) = EMSCI22(2);
chan_wucha11(jishu)=sqrt((MSP(1) - EMSC11(1,1))^2 + (MSP(2) - EMSC11(1,2))^2);
chan_wucha12(jishu)=sqrt((MSP(1) - EMSC12(1,1))^2 + (MSP(2) - EMSC12(1,2))^2);
chan_wucha21(jishu)=sqrt((MSP(1) - EMSC21(1,1))^2 + (MSP(2) - EMSC21(1,2))^2);
chan_wucha22(jishu)=sqrt((MSP(1) - EMSC22(1,1))^2 + (MSP(2) - EMSC22(1,2))^2);
jishu=jishu+1;
end
disp([’
远场
chan
算法一步定位误差=
’,num2str(chan_wucha11)])
disp([’
远场
chan
算法一步定位误差=
’,num2str(chan_wucha12)])
disp([’
近场
chan
算法一步定位误差=
’,num2str(chan_wucha21)])
disp([’
近场
chan
算法一步定位误差=
’,num2str(chan_wucha22)])
disp([’
克美拉罗界误差=
’,num2str(chan_wucha3)])
figure(1)%画出基站位置
plot(BS(1,1),BS(2,1),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);hold on
plot(BS(1,2),BS(2,2),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
plot(BS(1,3),BS(2,3),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
plot(BS(1,4),BS(2,4),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
grid on
axis ([-10 1000 -10 1000]);
plot(MSP(1),MSP(2),’
rp
’,’
MarkerSize
’,10);
plot(EMSC11(1, 1),EMSC11(1, 2),’
co
’,’
MarkerSize
’,10);
plot(EMSC12(1, 1),EMSC12(1, 2),’
m+
’,’
MarkerSize
’,10);
% plot(EMSC3(1, 1),EMSC3(1, 2),’
ks
’,’
MarkerSize
’,10);
title(’
远场TDOA定位
’)
legend(’
基站
1
’,’
基站
2
’,’
基站
3
’,’
基站
4
’,’
目标真实位置
’,’
CHAN算法第一步
’,’
CHAN算法第二步
’)
figure(2)%画出基站位置
plot(BS(1,1),BS(2,1),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);hold on
plot(BS(1,2),BS(2,2),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
plot(BS(1,3),BS(2,3),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
plot(BS(1,4),BS(2,4),’
rs
’,’
LineWidth
’,2,...
’
MarkerEdgeColor
’,’
k
’,...
’
MarkerFaceColor
’,’
r
’,...
’
MarkerSize
’,20);
grid on
axis ([-10 1000 -10 1000]);
plot(MSP(1),MSP(2),’
rp
’,’
MarkerSize
’,10);
plot(EMSC21(1, 1),EMSC21(1, 2),’
co
’,’
MarkerSize
’,10);
plot(EMSC22(1, 1),EMSC22(1, 2),’
m+
’,’
MarkerSize
’,10);
% plot(EMSC3(1, 1),EMSC3(1, 2),’
ks
’,’
MarkerSize
’,10);
title(’
近场-TDOA定位
’)
legend(’
基站
1
’,’
基站
2
’,’
基站
3
’,’
基站
4
’,’
目标真实位置
’,’
CHAN算法第一步
’,’
CHAN算法第二步
’)
figure(3)
semilogy(va,chan_wucha11,’
rs-
’);hold on
semilogy(va,chan_wucha12,’
bo-
’);hold on
semilogy(va,chan_wucha3,’
m*-
’);hold on
legend(’
CHAN算法第一步
’,’
CHAN算法第二步
’,’
克美拉罗界
’)
xlabel(’
10l
og(sigma_d^
2
(m^
2
))
’);
ylabel(’
RMSE
’)
title(’
远场-误差随噪声方差曲线图
’)
figure(4)
semilogy(va,chan_wucha21,’
rs-
’);hold on
semilogy(va,chan_wucha22,’
bo-
’);hold on
semilogy(va,chan_wucha3,’
m*-
’);hold on
legend(’
CHAN算法第一步
’,’
CHAN算法第二步
’,’
克美拉罗界
’)
xlabel(’
10l
og(sigma_d^
2
(m^
2
))
’);
ylabel(’
RMSE
’)
title(’
近场-误差随噪声方差曲线图
’)
3 仿真结果
4 参考文献
[1]康婷. 无线传感器网络节点定位算法研究[D]. 东北师范大学.
[2]敖伟, 张扬. 基于Chan算法的无源雷达定位精度分析[J]. 电脑知识与技术:学术版, 2009, 5(4):3.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
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
