matlab chan算法定位,求Chan算法解析
function X = ChanAlgorithm(BSN, MSP, Radius, Noise)
%CHANALGORITHM 本函数用于实现无线定位中的CHAN算法
% - BSN 为基站个数,3 < BSN <= 7;
% - MSP 为移动台的初始位置, MSx, MSy均为[0,1]之间的数;
% 特别要注意服务小区与MS之间的关系,MS的位置不能越界。
% - Noise 测距误差方差。
% - R 为小区半径,单位(meter);
% - X 为移动台经算法处理后的位置.
%See also: ChanAlgorithm.m
% 参数检查:
if nargout>1,
error('Too many output arguments.');
end
if nargin~=4,
error('Wrong number of input arguments.');
end
% 算法开始:
BS = Radius*NetworkTop(BSN);
MS = Radius*MSP;
% 噪声功率:
Q = eye(BSN-1);
% 第一次LS:
% Ri
K1 = 0;
for i = 1: BSN,
R0(i) = sqrt((BS(1,i) - MS(1))^2 + (BS(2,i) - MS(2))^2);
end
for i = 1: BSN-1,
R(i) = R0(i+1) - R0(1) + Noise*randn(1);
K(i) = BS(1,i+1)^2 + BS(2,i+1)^2;
end
% Ga
for i = 1: BSN-1,
Ga(i,1) = -BS(1, i+1);
Ga(i,2) = -BS(2, i+1);
Ga(i,3) = -R(i);
end
% h
for i = 1: BSN-1,
h(i) = 0.5*(R(i)^2 - K(i) + K1);
end
% 由(14b)给出B的估计值:
Za0 = inv(Ga'*inv(Q)*Ga)*Ga'*inv(Q)*h';
% 利用这个粗略估计值计算B:
B = eye(BSN-1);
for i = 1: BSN-1,
B(i,i) = sqrt((BS(1,i+1) - Za0(1))^2 + (BS(2,i+1) - Za0(2))^2);
end
% FI:
FI = B*Q*B;
% 第一次LS结果:
Za1 = inv(Ga'*inv(FI)*Ga)*Ga'*inv(FI)*h';
if Za1(3) < 0,
Za1(3) = abs(Za1(3));
% Za1(3) = 0;
end
%***************************************************************
% 第二次LS:
% 第一次LS结果的协方差:
CovZa = inv(Ga'*inv(FI)*Ga);
% sB:
sB = eye(3);
for i = 1: 3,
sB(i,i) = Za1(i);
end
% sFI:
sFI = 4*sB*CovZa*sB;
% sGa:
sGa = [1, 0; 0, 1; 1, 1];
% sh
sh = [Za1(1)^2; Za1(2)^2; Za1(3)^2];
% 第二次LS结果:
Za2 = inv(sGa'*inv(sFI)*sGa)*sGa'*inv(sFI)*sh;
% Za = sqrt(abs(Za2));
Za = sqrt(Za2);
% 输出:
% if Za1(1) < 0,
% out1 = -Za(1);
% else
% out1 = Za(1);
% end
% if Za2(1) < 0,
% out2 = -Za(2);
% else
% out2 = Za(2);
% end
%
% out = [out1;out2];
out = abs(Za);
% out = Za;
if nargout == 1,
X = out;
elseif nargout == 0,
disp(out);
end
matlab chan算法定位,求Chan算法解析相关推荐
- 【老生谈算法】matlab实现TDOA定位的Chan算法源码——TDOA定位
TDOA定位的Chan算法MATLAB源代码 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]TDOA定位的Chan算法MATLAB源代 ...
- java rsa算法_求RSA算法JAVA实现源代码(带界面的)
展开全部 import javax.crypto.Cipher; import java.security.*; import java.security.spec.RSAPublicKeySpec; ...
- 组合算法/全排列算法/求子集算法
本文介绍组合算法,组合算法有很多,这里只介绍其中一种的两种形式. 全排列:全排列算法 组合:本文 子集算法:求子集算法 组合 leetcode实战:组合 给定两个整数 n 和 k,返回范围 [1, n ...
- TDOA定位的Chan算法MATLAB源代码
TDOA定位的Chan算法MATLAB源代码 . function [POS_ref,POS1,POS2,POS3,POS4] = TDOA_chan(R,Pbs,Q) %************** ...
- 用C/C++实现输入IQ数据,计算时差(IQ数据互相关),完成TDOA定位(Chan算法)
文末贴源码链接 需求:已知接收机IQ数据,根据IQ数据做互相关,求信号时差,最终通过TDOA(Chan算法)定位发射机坐标.输入输出坐标均为经纬度坐标,而在TDOA计算中,需要笛卡尔坐标系坐标,涉及坐 ...
- 基于python与matlab的TOA定位算法性能仿真
基于python与matlab的TOA定位算法性能仿真 仿真要求 仿真方案的设计 matlab仿真代码 python仿真代码 仿真结果 仿真要求 要求一:编写两个函数TOA_LLOP和TOA_CHAN ...
- MATLAB秦九韶多项式求值算法的原理和迭代法求解的近似数值方法。
1..熟悉常用的Matlab操作: 2.了解秦九韶多项式求值算法的原理和迭代法求解的近似数值方法. 秦九韶多项式求值算法: 迭代法求解的近似数值: x=2; for k=1:10x=(x+2/x)/2 ...
- 双步位移求解特征值matlab,数值分析——带双步位移的QR分解求特征值算法
C语言实现数值分析中带双步位移的QR分解求特征值算法. 数 值 分 析(B) 大 作 业(二) 1.算法设计: ①矩阵的拟上三角化: 对实矩阵A进行相似变换化为拟上三角矩阵A(n 1),其变换矩阵采用 ...
- matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)
从算法的名字中可以看出该算法是群体智能优化算法中的一种,人工鱼群算法通过模拟鱼群的觅食.聚群.追尾.随机等行为在搜索域中进行寻优. 人工鱼群算法有三个比较重要的概念:视野范围.k-距离邻域.多条鱼的中 ...
- 视觉SLAM开源算法ORB-SLAM3 原理与代码解析
来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...
最新文章
- 【技术改造】电商系统用户模块集成Feign-2
- SAP Kyma和SAP云平台上的Service instance
- (七)整合spring cloud云服务架构 - common-service 项目构建过程
- 计组之数据运算:10、IEEE754标准
- 结合Composer 新版本PHP的开发方式
- 【心情】bjdldrz
- 拓端tecdat|R语言逻辑回归和泊松回归模型对发生交通事故概率建模
- 【读书笔记《Android游戏编程之从零开始》】2.Hello,World!
- 计算一的阶乘累加到十的阶乘
- Linux内核加载f2fs,固态硬盘使用f2fs文件系统作为deepin引导分区经验
- python程序写诗_python:为你写诗
- 针对宝塔面板一个站点多个域名使用SSL证书的解决方案
- 二极管和极性电容的正负测量
- 泰克示波器3系MDO再次升级,使EMI测试不再求人
- wtl单文档选项_WTL_简介与体系
- 【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】
- JS格式化JSON,JSON着色
- 华为 A800-9000 服务器 离线安装MindX DL 可视化环境+监控
- 设计模式~调停者(中介)模式-06
- 沉浸式逆向某汽车app
热门文章
- Windows远程桌面连接全屏切换--笔记本没有break键的办法
- 数字证书理解(CA证书签名原理)
- 《我们终将遇到爱与孤独》
- 支付宝登陆泰国最大免税店King Power可扫码支付
- go srs 流媒体服务器_Go语言实现的流媒体服务器开发框架
- ubuntu14.04 下基于Nginx搭建mp4/flv流媒体服务器
- 注册表编辑器(regedit)
- C C++实现网络验证和本地验证
- 令人惊艳的NanoPC-T4(RK3399)作为工作站的初始配置和相关应用
- “DOU出晋采”山西旅游数据发布会在太原举行,山西文旅牵手巨量引擎!