matlab chan算法定位,MATLAB实现基于Chan氏算法的三维TDOA定位
% 功能:基于chan算法的TDOA三维定位
function [zp] = Chan_3(Noise,MS)
%基站数目
BSN = 7;
%基站位置,每一列为一个基站位置
BS = [0, 2*sqrt(3), -2*sqrt(3), sqrt(3), -sqrt(3), -sqrt(3), sqrt(3);
0, 0, 0, 3, 3, -3, -3;
0, 0, 0, 0, 2, 2, 0];
%无噪声情况下BS到MS的距离
for i = 1:BSN
R0(i) = sqrt((BS(1,i) - MS(1))^2 + (BS(2,i) - MS(2))^2 + (BS(3,i) - MS(3))^2);
end
%噪声方差
c = 3*10^5;
%有噪声情况下BSi到MS的距离与BS1到MS的距离差,实际由TDOA*c求得
for i = 1:BSN-1
R(i) = R0(i+1) - R0(1) +c*Noise(i,1);
end
%% 第一次WLS
%k = x^2+y^2+z^2
for i =1:BSN
k(i) = BS(1,i)^2 + BS(2,i)^2 + BS(3,i)^2;
end
% h
for i = 1:BSN-1
h(i) = 0.5*(R(i)^2 - k(i+1) + k(1));
end
% Ga
for i = 1:BSN-1
Ga(i,1) = -BS(1,i+1);
Ga(i,2) = -BS(2,i+1);
Ga(i,3) = -BS(3,i+1);
Ga(i,4) = -R(i);
end
%Q为TDOA系统的协方差矩阵
Q = cov(R);
%za,距离较远时
za1 = pinv(Ga'*pinv(Q)*Ga)*Ga'*pinv(Q)*h';
%% 第二次WLS
%h2
X1 = BS(1,1);
Y1 = BS(2,1);
Z1 = BS(3,1);
h2 = [
(za1(1,1) - X1)^2;
(za1(2,1) - Y1)^2;
(za1(3,1) - Z1)^2;
za1(4,1)^2
];
%Ga2
Ga2 = [1,0,0;0,1,0;0,0,1;1,1,1];
%B2
B2 = [
za1(1,1)-X1,0,0,0;
0,za1(2,1)-Y1,0,0;
0,0,za1(3,1)-Z1,0;
0,0,0,za1(4,1)
];
%za2
za2 = pinv( Ga2' * pinv(B2) * Ga' * pinv(Q) * Ga * pinv(B2) * Ga2) * (Ga2' * pinv(B2) * Ga' * pinv(Q) * Ga * pinv(B2)) * h2;
%zp
zp(1,1) = abs(za2(1,1))^0.5+X1;
zp(2,1) = abs(za2(2,1))^0.5+Y1;
zp(3,1) = abs(za2(3,1))^0.5+Z1;
end
% 功能:基于chan算法的TDOA三维定位的MSE曲线
clear;
clc;
account_test =1000;
Counter_Size=account_test;
Zp_mean1=zeros(2,6);
Zp_mse1=zeros(1,6);
M=7;
k=1;
c = 3*10^5; % 单位km
MS = [1,2.5,1];
for Noise_db = -16:2:-6 % 信道所受到的噪声干扰
Sigma = 10^(Noise_db./10)/c;
for m = 1:1:Counter_Size%%%%%%%%%%%%%%%%%%%%cishu
for i = 1:1:M-1
Noise(i, 1) = gngauss(Sigma);
end
[ zp ] = Chan_3(Noise,MS);
Zp(:,m) = zp;
end
Zp_all(:,1) = 0;
Zp_mse_all = 0;
for i = 1:1:Counter_Size
Zp_all = Zp_all + Zp( :, i);
Zp_mse_all = Zp_mse_all + (Zp(1,i) - MS(1,1))^2 + (Zp(2,i) - MS(1,2))^2 + (Zp(3,i) - MS(1,3))^2;
end
Zp_mean= Zp_all / Counter_Size ; % 计算chan所得的均值
Zp_mean1(1:1:3,k) =Zp_mean;
Zp_mse = Zp_mse_all / Counter_Size ; % 计算chan所得的均方误差MSE
Zp_mse1(1,k)=Zp_mse;
k=k+1;
end
Zp_mean1
Zp_mse1
plot(-16:2:-6,Zp_mse1,'bo--')
xlabel('10lg(cσ)/dB')
ylabel('均方误差MSE/km')
legend('Chan算法')
测试结果
matlab chan算法定位,MATLAB实现基于Chan氏算法的三维TDOA定位相关推荐
- MATLAB中果蝇味道浓度判定函数,基于果蝇优化算法对栓接结合部间距的优化方法与流程...
本发明涉及机床基础制造领域,特别是涉及基于果蝇优化算法优化机床结合部螺栓之间间距的研究. 背景技术: 栓接结合部作为组成机床的基本部件,由于栓接结构在机床的组装和拆卸过程中的方便.简易,而被广泛用在机 ...
- 链路状态算法实现Java,JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩P...
JAVA基于蚁群算法路由选择可视化动态模拟(开题报告+任务书+毕业论文+外文翻译+源代码+可执行程序+答辩PPT) 摘 要 路由选择是一种基于网络层的协议,而所有流行的网络层路由选择协议都是基于以下两 ...
- 粗糙集分类算法c语言实现,基于粗糙集分类算法的研究及应用
摘要: 粗糙集理论是1982年由波兰著名的科学家Z.Pawlak提出来的.它是一种能够有效的处理不精确,不确定性数据的数学工具,并且它还具有不需要任何的先验知识,只依赖于数据集本身等优点.粗糙集理论已 ...
- MATLAB实战系列(六)-基于蚁群算法的三维路径规划算法思路浅析
首先以一个问题为例引入今天所讲的三维路径规划,在21 km * 21 km的一片海域中搜索从起点到终点,并且避开所有障碍物的路径.起点坐标为(1,10,800),终点坐标为(21,8,1200),示意 ...
- 基于DWM1000的STM32F103C8T6的三维室内定位(一)
自小马写了一篇 [基于DWM1000的stm32f103c8测距调试(一)] 之后,有不少的朋友联系我一起学习DWM1000的测距,一起学习进步很大.这次小马打算在尝试一下开源一下基于DWM1000的 ...
- 人工蜂群算法c语言程序,基于人工蜂群算法的炼钢连铸生产调度方法研究
摘要: 钢铁工业是国民经济和国防建设的重要支柱.炼钢连铸是钢铁生产的主要工序和瓶颈工序,有效的炼钢连铸生产调度方法能提高生产效率并降低生产成本.然而,炼钢连铸调度问题是一类复杂的NP-hard问题,难 ...
- 基于遗传模拟退火算法的模糊C-均值聚类算法(SAGAFCM)—MATLAB实现
本文的代码将放在最后,需要的小伙伴们可以免费获取哦!!! 文章目录 一.模糊C-均值聚类(FCM) 1.介绍 1).算法初步介绍 2)算法步骤 2.MATLAB实现 1).问题描述 2).算法实现 二 ...
- 【WSN】基于樽海鞘群算法实现无线传感器网络WSN节点的部署优化matlab源码
1 算法介绍 一种基于樽海鞘群算法的无线传感器网络节点定位方法,包括初始化樽海鞘群个体节点,判断节点位置,将节点位置作为食物源对周围环境进行链式搜索,找到其余节点进行确认,并转为食物源变量进行迭代搜索 ...
- 极限学习机(ELM) 算法及MATLAB程序实现
极限学习机 单隐藏层反馈神经网络具有两个比较突出的能力: (1)可以直接从训练样本中拟 合 出 复 杂 的 映 射 函 数f :x ^ t (2 )可以为大量难以用传统分类参数技术处理的自然或者人工现 ...
最新文章
- 分布式概念-如何访问到分布式系统中的服务
- 利用dom4j取出XML文件中的数据
- 80%的人都混淆的BI和报表之不同
- 第六章:系统困境之 你的努力与时代进程相逆
- 中档微型计算机配置图,实训1-微机应用现状调研实训报告.docx
- mysql 1418 存储过程_MySQL自定义函数 1418报错
- 通用计算机的时代,MIT论文:通用计算机时代即将终结
- spring整合hibernate事务编程中错误分析
- 项目的webinf文件在哪_PMP章节练习(第四章:项目整合管理)
- 数据安全治理白皮书_天融信联合发布《自动驾驶数据安全白皮书》
- 国际科学数据服务平台nbsp;-nbsp;csdb
- 电子设计大赛-AD与DA电路设计
- 台式计算机显卡最高温度多少,台式机的正常温度是多少
- 破解iOS微信骰子和猜拳
- 苹果开发者账号可以创建多少测试证书_配置2020苹果开发者账号证书的简要说明...
- 使用Enterprise Architect设计数据库-赋操作截图
- Google软件测试之道(读书笔记)
- CCF论文列表(2022拟定)大更新!NAACL升B!ICLR继续陪跑...MICCAI空降B!PRCV空降C!
- 【Java编程学习】案例3-4:学生投票系统
- 高性能风控数据平台设计
热门文章
- 阿里云安全肖力:云的六大安全基因助力企业构建智能化安全体系
- SQL老司机,居然是这样智能挖掘异常日志
- 被自己的行为蠢哭了,意识到原因后真香!
- 低代码发展系列专访之五:低代码的最大价值点是“技术平民化”吗?
- 写速度提升20%,Elasticsearch 创始人给腾讯云发来感谢信
- 45K!拿下 AI 技术岗,这些知识点全考了!
- 再提“鸿蒙”,任正非说这是为物联网而生;硅谷公司年薪报告出炉,谷歌年薪居榜首;苹果CEO库克接班人浮出水面,苹果高层或大换血?...
- IoT与大数据 如何激发数字营销最大潜能?
- 自己虚拟服务器都用json可以吗,vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发...
- vue解构赋值_前端开发es6知识 模块化、解构赋值、字符串模板