chan算法matlab,MATLAB实现基于Chan氏算法的二维TDOA定位-Go语言中文社区
Chan算法主要用到的公式
第一次WLS
当移动台与基站距离较远时,可近似为
第二次WLS
当移动台与基站距离较远时,可近似为
最终移动台定位的结果为
function [X] = Chan2(BSN,BS,R)
%% 第一次WLS
%k=X^2+Y^2
for i = 1:BSN %BSN为基站个数
k(i) = BS(1,i)^2 + BS(2,i)^2; %BS为基站坐标
end
%h = 1/2(Ri^2-ki+k1)
for i =1:BSN-1
h(i) = 0.5*(R(i)^2 - k(i+1) + k(1)); %注意k(i+1)
end
%Ga = [Xi,Yi,Ri]
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
%Q为TDOA系统的协方差矩阵
Q = cov(R);
%MS与BS距离较远时
za = inv(Ga' * inv(Q) * Ga) * Ga' * inv(Q) * h'
%% 第二次WLS
%h'
X1 = BS(1,1);
Y1 = BS(2,1);
h2 = [
(za(1,1) - X1)^2;
(za(2,1) - Y1)^2;
za(3,1)^2
];
%Ga'
Ga2 = [1,0;0,1;1,1];
%B'
B2 = [
za(1,1)-X1,0,0;
0,za(2,1)-Y1,0;
0,0,za(3,1)
];
%za',距离较远时
za2 = inv( Ga2' * inv(B2) * Ga' * inv(Q) * Ga * inv(B2) * Ga2) * (Ga2' * inv(B2) * Ga' * inv(Q) * Ga * inv(B2)) * h2;
zp(1,1) = abs(za2(1,1))^0.5 + X1;
zp(2,1) = abs(za2(2,1))^0.5 + Y1;
X = zp;
end
TDOA定位测试代码
BSN = 4;%基站数目
%各个基站的位置,2*BSN的矩阵存储,每一列是一个坐标
BS = [0 , sqrt(3) , 0.5*sqrt(3) , -0.5*sqrt(3) , -sqrt(3) , -0.5*sqrt(3) , 0.5*sqrt(3);
0 , 0 , 1.5 , 1.5 , 0 , -1.5 , -1.5];
BS = BS(:,1:BSN);
BS = BS .* 50;
%MS的实际距离,为待测量值
MS = [30,30];
% R0为无噪声情况下各个BS与MS的距离
for i = 1:BSN
R0(i) = sqrt((BS(1,i)-MS(1))^2 + (BS(2,i)-MS(2))^2);
end
%噪声方差
Noise = 1;
%R(i),是加上噪声后,BSi与BS1到MS的距离差,实际中因由TDOA*c算的
for i = 1:BSN-1
R(i) = R0(i+1) - R0(1) + Noise * randn(1);
end
X = Chan2(BSN,BS,R)
结果
chan算法matlab,MATLAB实现基于Chan氏算法的二维TDOA定位-Go语言中文社区相关推荐
- python安装matlabb库_Python调用MATLAB的方法(mlab接口库)(未总结)-Go语言中文社区...
一.安装 安装mlab库 pip install mlab 显示错误 No module named 'docutils' (不知道这是什么库) pip install docutils (安装 ...
- MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容
MATLAB代码:基于粒子群算法的电动汽车充电站最优选址和定容 关键词:选址定容 电动汽车 充电站位置 仿真平台:MATLAB 主要内容:代码主要做的是一个电动汽车充电站的选址定容问题,提出了能够计及 ...
- 机器学习之MATLAB代码--IWOA_BILSTM(基于改进鲸鱼算法优化的BiLSTM预测算法)(十六)
机器学习之MATLAB代码--IWOA_BILSTM基于改进鲸鱼算法优化的BiLSTM预测算法(十六) 代码 数据 结果 代码 1. %% 基于改进鲸鱼算法优化的BiLSTM预测算法 clear;cl ...
- matlab代码:基于粒子群算法的智能微电网经济运行优化 智能微电网PSO优化算法
matlab代码:基于粒子群算法的智能微电网经济运行优化 智能微电网PSO优化算法 基于时段电价差异,制定合理的储能系统充放电运行方式,优化各时段微电网与主网之间的交换功率,从而使得风光储微网系统综合 ...
- 利用matlab实现POD分解(在一维信号或二维流场矢量中的应用)
利用matlab实现POD分解(在一维信号或二维流场矢量中的应用) 0 前言 0.1 matlab中特征值计算 0.2 matlab中SVD分解计算 0.3 信号的正交性 1 一维信号POD分解 1. ...
- matlab如何读取二维数组,Matlab从csv文件中读取多个二维数组
我有一个csv文件,它包含2列4列数组,但行数不等.例如:Matlab从csv文件中读取多个二维数组 2, 354, 23, 101 3, 1023, 43, 454 1, 5463, 45, 765 ...
- MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制
MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制 QQ:3020889729 小蔡 一般复数的2d图形绘制 一般复数的平移图形~(即一个复数加另一个复数实现在复平面的平移) 补充几个复数 ...
- MATLAB学习笔记(一):绘制二维箭头图
MATLAB学习笔记(一):绘制二维箭头图 MATLAB矢量图绘制 1 quiver函数 2 应用:绘制某一曲线的切向量和法向量 MATLAB罗盘图绘制 1 compass函数 2 应用:绘制相量图 ...
- 基于机器视觉的Data Matrix二维码识别
基于机器视觉的Data Matrix二维码识别 二维码识别,这个在视觉应用中占有很重要的比例,各种各样的二维码都有可能需要识别.常见的QR码.Data Matrix码.本方案是识别Data Matri ...
- 基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能
NextQRCode ZXing开源库的精简版 **基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能 原文博客 附源码下载地址** 与原ZXingMini项目对比 N ...
最新文章
- 中秋将至,联合几个号主送出价值500元的中秋大礼包
- Canvas 渐变 图像组合效果 颜色翻转
- NGcodec谈FPGA编码与HEVC和AV1
- “由俭入奢易,由奢入俭难”,记我的编程语言学习
- math: 雅可比矩阵 黑塞矩阵
- ASP.NET Core 和 EF Core 系列教程——入门
- 如何把小程序游戏运行到自有app中?
- 【Java】我的世界Java版外挂制作 [4] - 移动类模块合集
- [转]PHP大型Web应用入门(一)
- Vue之Axios AJAX封装
- windowmediaplayer控件出现未能加载的问题
- R语言数学函数及统计函数及概率函数
- 网红经济到底能走多远?
- php显示文件内容,php读取文件内容_PHP读取文件内容并输出显示
- 企业月结快递管理教程
- 39.超市微信促销活动5
- recaptcha v2_reCAPTCHA v2 vs v3 – reCAPTCHA v2和v3之间的区别
- android9.0去掉默认的锁屏界面和屏幕超时锁屏
- python爬取文字编程_Python怎么爬取人人网新鲜事
- Dlink交换机VLAN设置案例(转)
热门文章
- ubuntu 19.10 建立拨号连接(PPPoE)
- Draco使用笔记(1)——图形解压缩
- 如何正确重新启动计算机,如何正确重启路由器
- Datawhale组队学习周报(第030周)
- 局域网即时通讯软件_做企业即时通讯软件,我们是认真的
- 【SAP-PS笔记】基于WBS直接录入金额做结果分析的项目计划成本
- CAD2018下载AutoCAD2018下载安装教程附软件下载
- 稳坐青梅零食第一宝座,溜溜梅凭什么?
- 计算机不能删除用户,删除用户时提示无法在内置账户上运行此操作 -电脑资料...
- 笔记本电脑触摸板的使用