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算法解析相关推荐

  1. 【老生谈算法】matlab实现TDOA定位的Chan算法源码——TDOA定位

    TDOA定位的Chan算法MATLAB源代码 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]TDOA定位的Chan算法MATLAB源代 ...

  2. java rsa算法_求RSA算法JAVA实现源代码(带界面的)

    展开全部 import javax.crypto.Cipher; import java.security.*; import java.security.spec.RSAPublicKeySpec; ...

  3. 组合算法/全排列算法/求子集算法

    本文介绍组合算法,组合算法有很多,这里只介绍其中一种的两种形式. 全排列:全排列算法 组合:本文 子集算法:求子集算法 组合 leetcode实战:组合 给定两个整数 n 和 k,返回范围 [1, n ...

  4. TDOA定位的Chan算法MATLAB源代码

    TDOA定位的Chan算法MATLAB源代码 . function [POS_ref,POS1,POS2,POS3,POS4] = TDOA_chan(R,Pbs,Q) %************** ...

  5. 用C/C++实现输入IQ数据,计算时差(IQ数据互相关),完成TDOA定位(Chan算法)

    文末贴源码链接 需求:已知接收机IQ数据,根据IQ数据做互相关,求信号时差,最终通过TDOA(Chan算法)定位发射机坐标.输入输出坐标均为经纬度坐标,而在TDOA计算中,需要笛卡尔坐标系坐标,涉及坐 ...

  6. 基于python与matlab的TOA定位算法性能仿真

    基于python与matlab的TOA定位算法性能仿真 仿真要求 仿真方案的设计 matlab仿真代码 python仿真代码 仿真结果 仿真要求 要求一:编写两个函数TOA_LLOP和TOA_CHAN ...

  7. MATLAB秦九韶多项式求值算法的原理和迭代法求解的近似数值方法。

    1..熟悉常用的Matlab操作: 2.了解秦九韶多项式求值算法的原理和迭代法求解的近似数值方法. 秦九韶多项式求值算法: 迭代法求解的近似数值: x=2; for k=1:10x=(x+2/x)/2 ...

  8. 双步位移求解特征值matlab,数值分析——带双步位移的QR分解求特征值算法

    C语言实现数值分析中带双步位移的QR分解求特征值算法. 数 值 分 析(B) 大 作 业(二) 1.算法设计: ①矩阵的拟上三角化: 对实矩阵A进行相似变换化为拟上三角矩阵A(n 1),其变换矩阵采用 ...

  9. matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)

    从算法的名字中可以看出该算法是群体智能优化算法中的一种,人工鱼群算法通过模拟鱼群的觅食.聚群.追尾.随机等行为在搜索域中进行寻优. 人工鱼群算法有三个比较重要的概念:视野范围.k-距离邻域.多条鱼的中 ...

  10. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析

    来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...

最新文章

  1. 【技术改造】电商系统用户模块集成Feign-2
  2. SAP Kyma和SAP云平台上的Service instance
  3. (七)整合spring cloud云服务架构 - common-service 项目构建过程
  4. 计组之数据运算:10、IEEE754标准
  5. 结合Composer 新版本PHP的开发方式
  6. 【心情】bjdldrz
  7. 拓端tecdat|R语言逻辑回归和泊松回归模型对发生交通事故概率建模
  8. 【读书笔记《Android游戏编程之从零开始》】2.Hello,World!
  9. 计算一的阶乘累加到十的阶乘
  10. Linux内核加载f2fs,固态硬盘使用f2fs文件系统作为deepin引导分区经验
  11. python程序写诗_python:为你写诗
  12. 针对宝塔面板一个站点多个域名使用SSL证书的解决方案
  13. 二极管和极性电容的正负测量
  14. 泰克示波器3系MDO再次升级,使EMI测试不再求人
  15. wtl单文档选项_WTL_简介与体系
  16. 【打一局王者荣耀掉星的时间,我制作了一款支持 重力感应 的 3D动态壁纸】
  17. JS格式化JSON,JSON着色
  18. 华为 A800-9000 服务器 离线安装MindX DL 可视化环境+监控
  19. 设计模式~调停者(中介)模式-06
  20. 沉浸式逆向某汽车app

热门文章

  1. Windows远程桌面连接全屏切换--笔记本没有break键的办法
  2. 数字证书理解(CA证书签名原理)
  3. 《我们终将遇到爱与孤独》
  4. 支付宝登陆泰国最大免税店King Power可扫码支付
  5. go srs 流媒体服务器_Go语言实现的流媒体服务器开发框架
  6. ubuntu14.04 下基于Nginx搭建mp4/flv流媒体服务器
  7. 注册表编辑器(regedit)
  8. C C++实现网络验证和本地验证
  9. 令人惊艳的NanoPC-T4(RK3399)作为工作站的初始配置和相关应用
  10. “DOU出晋采”山西旅游数据发布会在太原举行,山西文旅牵手巨量引擎!