开发者社区> Matlab科研工作室> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【WSN定位】基于chan算法实现无源定位附matlab代码

简介: 【WSN定位】基于chan算法实现无源定位附matlab代码
+关注继续查看

1 内容介绍


Chan?算法是 TDOA?定位方法的一个很赞的 trick。但是很多方法一旦从学术的角度去看,就罩上了奇异的光环。TDOA,the time differnces of arrival,到达时间差。Chan?算法1是非递归双曲线方程组解法,具有解析表达式解。其主要的特点为在测量误差服从理想高斯分布时,它的定位精度高、计算量小。该算法的推导的前提是基于测量误差为零均值高斯随机变量,对于实际环境中误差较大的测量值,比如在有非视距误差的环境下,该算法的性能会有显著下降。

image

image

image

image

image

image

image

image

image

读取基站经纬度---获取每个基站测到目标信号的时间--根据速度*时间求其基站与基站到目标的距离差,得到两组方程--使用CHAN算法求解该双曲线方程组--舍弃无效解,得到目标位置,与GPS定位进行比较,使用大地主题公式求其距离误差。

2 仿真代码

% TDOA定位的Chan算法Matlab源码

clc;

clear all;

close all

weizhi=xlsread('4月21日.xlsx','实验四','B1:C3');

shijian=xlsread('4月21日.xlsx','实验四','D1:D150');

gps=xlsread('4月21日.xlsx','实验四','B4:C4');

cc = 3e8;%g光速

length=floor(length(shijian)/3);

x=zeros(1,length);

y=zeros(1,length);

x3=zeros(1,length);

y1=zeros(1,length);

[X(1,1),X(1,2)]= jingwei(weizhi(1,1),weizhi(1,2));? ?%网关1

[X(2,1),X(2,2)]= jingwei(weizhi(2,1),weizhi(2,2));? ?%网关2

[X(3,1),X(3,2)]= jingwei(weizhi(3,1),weizhi(3,2));? ?%网关3

% X(1,1)=weizhi(1,1);X(1,2)=weizhi(1,2);? ?%网关1

% X(2,1)=weizhi(2,1);X(2,2)=weizhi(2,2);? ?%网关1

% X(3,1)=weizhi(3,1);X(3,2)=weizhi(3,2);? ?%网关1

X=X';

for i=1:length

? ??

? ? for j= 1:3

? ? ? ? K(j)=X(1,j)^2 + X(2,j)^2;

? ? end


%% 方差

m=mean(diff,2);

var=sum((diff(1,:)-m).^2)/100 ;

? ? %% 画图

? ? figure(1)

? ? t=1:100;

? ? plot(t,diff,'bo-');

? ? xlabel('次数');

? ? ylabel('误差大小(m)');? ? axis([0 100 0 700])

? ? title('实验四')


? disp(['平均误差为',num2str(mean(diff,2)),'方差为',num2str(var)]);

? ? figure(2)

? ? plot( weizhi(1,1),weizhi(1,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','r',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(weizhi(2,1),weizhi(2,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','m',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(weizhi(3,1),weizhi(3,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','g',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(gps(1,1),gps(1,2),'yo','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','y',...

? ? ? ? 'MarkerSize',10);hold on

? ? ?title('实验四')

? ? ?xlabel('经度');

? ? ?ylabel('纬度');

? ? for i=1:length

? ? ? ? plot(xx(i),yy(i),'bo');hold on

? ? end

? ? ?axis([108.93 108.95 34.05 34.09]);

? ? legend('基站1','基站2','基站3','目标真实位置','TDOA定位结果');

? ? ? ? ?figure(3);

? ? ?plot( weizhi(1,1),weizhi(1,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','r',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(weizhi(2,1),weizhi(2,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','m',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(weizhi(3,1),weizhi(3,2),'rs','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','g',...

? ? ? ? 'MarkerSize',10);hold on

? ? plot(gps(1,1),gps(1,2),'yo','LineWidth',2,...

? ? ? ? 'MarkerEdgeColor','k',...

? ? ? ? 'MarkerFaceColor','y',...

? ? ? ? 'MarkerSize',10);hold on

? ? ? legend('基站1','基站2','基站3','目标真实位置');

? ? ?title('实验四')

? ? ?xlabel('经度');

? ? ?ylabel('纬度');

3 运行结果

image

image

image

4 参考文献

[1]沙勇. 基于Matlab的WSN定位算法仿真设计[J]. 齐齐哈尔大学学报:自然科学版, 2017, 33(6):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【图像检测】基于最近邻算法实现苹果病害识别附matlab代码
【图像检测】基于最近邻算法实现苹果病害识别附matlab代码
0 0
【路径规划】基于A星算法实现机器人栅格地图路径规划附matlab代码
【路径规划】基于A星算法实现机器人栅格地图路径规划附matlab代码
0 0
基于蝙蝠算法实现电力系统经济调度(Matlab代码实现)
基于蝙蝠算法实现电力系统经济调度(Matlab代码实现)
0 0
基于最小均方 (LMS) 算法实现线性信道估计附matlab代码
基于最小均方 (LMS) 算法实现线性信道估计附matlab代码
0 0
【KNN分类】基于KNN算法实现数据分类附matlab完整代码
【KNN分类】基于KNN算法实现数据分类附matlab完整代码
0 0
【光伏】基于CJAYA算法实现光伏模型SDM参数估计优化附matlab代码
【光伏】基于CJAYA算法实现光伏模型SDM参数估计优化附matlab代码
0 0
【特征选择】基于教与学算法实现二进制特征选择问题附matlab代码
【特征选择】基于教与学算法实现二进制特征选择问题附matlab代码
0 0
利用Astar算法实现飞行轨迹的三维规划附Matlab代码
利用Astar算法实现飞行轨迹的三维规划附Matlab代码
0 0
【经济调度】基于蝙蝠算法实现电力系统经济调度附Matlab代码
【经济调度】基于蝙蝠算法实现电力系统经济调度附Matlab代码
0 0
【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码
【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码
0 0
+关注
Matlab科研工作室
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题关注公众号 天天Matlab。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
复杂环境下的视觉同时定位与地图构建
立即下载
改善弱网络-探索移动互联网下弱网络处理方式
立即下载
低成本自动三维室内重建系统
立即下载
http://www.vxiaotou.com