已知:条件基站到移动台的距离D,基站的坐标(xi,yi,zi)
求:移动台的坐标(x,y,z)
运用最小二乘法的核心是找到最小二乘法的矩阵形式即
Ax=B
在本次实验中通过三边定位计算得到

A=[A;2*(xi-x1),2*(yi-y1),2*(zi-z1];  %系数矩阵A
b=[b;D1^2-Di^2+xi^2+yi^2+zi^2-x1^2-y1^2-z1^2];      %增广矩阵b

根据这两个矩阵就可以求出预测的x矩阵:
x=inv(A’A)*(A’b)

matlab 代码实现

 clcclear
xyz = zeros(2,1);
% 设定基站的值
A=[0,0,0];
B=[0,8,0];
C=[6,0,0];
D=[0,0,3];
data=rand(1000,3)*10;
data(:,1) = rand(1000,1)*6;
data(:,2) = rand(1000,1)*8;
data(:,3) = rand(1000,1)*3;
length(data);
rtlength =zeros(length(data),4);
for t=1:length(data)rtlength(t,1) =sqrt((data(t,1)-A(1))^2+(data(t,2)-A(2))^2+(data(t,3)-A(3))^2)+(rand(1)-0.5)*1;rtlength(t,2) =sqrt((data(t,1)-B(1))^2+(data(t,2)-B(2))^2+(data(t,3)-B(3))^2)+(rand(1)-0.5)*1; rtlength(t,3) =sqrt((data(t,1)-C(1))^2+(data(t,2)-C(2))^2+(data(t,3)-C(3))^2)+(rand(1)-0.5)*1;rtlength(t,4) =sqrt((data(t,1)-D(1))^2+(data(t,2)-D(2))^2+(data(t,3)-D(3))^2)+(rand(1)-0.5)*1;
end
% rtlength 每一行为随机点到4个基站的距离
plot3(data(:,1),data(:,2),data(:,3),'.');
hold on
plot3(A(1),A(2),A(3),'*r');
plot3(B(1),B(2),B(3),'*r');
plot3(C(1),C(2),C(3),'*r');
plot3(D(1),D(2),D(3),'*r');
axis ([0 6 0 8 0 3])
grid on;
xyz=zeros(3,length(rtlength));
for h=1:length(rtlength)AP =[0,0,00,8,06,0,00,0,3] ;num_ap = length(AP);if num_ap>=4Q =zeros(1,num_ap);for j=1:num_apQ(1,j) =0.5;endQ = diag(Q);for i=1:num_ap     Node(i)=AP(i,1)^2+AP(i,2)^2+AP(i,3)^2;    %固定参数便于位置估计endA=[];b=[];L =rtlength(h,:);       %TOA测距for i=1:num_ap             %三边定位公式逐一作差化成矩阵:A*x=bA=[A;2*(AP(i,1)-AP(1,1)),2*(AP(i,2)-AP(1,2)),2*(AP(i,3)-AP(1,3))];  %系数矩阵Ab=[b;L(1)^2-L(i)^2+Node(i)-Node(1)];      %增广矩阵bendx=inv(A'*inv(Q)*A)*(A'*inv(Q)*b)      %利用最小二乘法求解目的点坐标位置xyz(:,h)=x;
%                sprintf('%2.2f%%', (line/bg)*100)    %%2.2f是保留2位小数了,也可以直接写%fend
end
xyzzz = zeros(length(data),3);
xyzzz = xyz';
answerx = 0;
answery = 0;
for i=1:length(xyzzz)answerx = answerx+abs(xyzzz(i,1)-data(i,1));answery = answery+abs(xyzzz(i,2)-data(i,2));
end
answerx = answerx/length(xyzzz);
answery = answery/length(xyzzz); 

上述程序固定4个基站,在一个固定空间中生成1000个随机的移动台,在距离上添加一定的随机误差,用添加误差后的距离与4个基站坐标进行预测目标点的坐标,同时计算误差,同时注意的是所用的最小二乘法是加权后的最小二乘法
最小二乘法和加权后的最小二乘法的区别:

加权最小二乘(WLS)最一般的用法是克服异方差。比方说,现在有一个多元回归y = bX +
e(矩阵表示,【X’】代表矩阵X转置)。原来的一般最小二乘(OLS)公式是 b = (X’X)^(-1) * X’y

而在异方差情况下,由于不满足OLS的五大假定,因此OLS的结果不再有效(not efficient,不是not
valid)。因此相应的做法是将异方差矩阵分解,并左乘到回归模型中,得到的结果就是WLS回归。比如说,异方差阵为W,且W的逆可以分解为W^(-1)
= P’P,那么经过一系列推导,可以知道 b* = (X’P’PX)^(-1) * X’P’Py

换言之,正如题主所言,要用矩阵P去变换这个X和y,从而得到WLS回归,其中W矩阵里的元素,就是权重(weight)。
至于选择什么权重,就取决于W矩阵的设定形式。

举个简单的例子,设一个一元回归y = bx + e,**而扰动项e的协方差阵W是一个对角矩阵**ps。。。这句话博主还没有看懂如果干扰值时一个随机变量,一个随机变量如何求协方差矩阵,即W = diag(s1, s2,
…, sn),其中si代表第i个对角元,si ≠ sj 那么W^(-1) = diag(1/s1, 1/s2, …, 1/sn)
如果用sqrt(a)表示a的开方,那么P矩阵就是P = diag(sqrt(1/s1), … sqrt(1/sn)) 从而说b* =
Σ(xi * yi/si) / Σ(xi * xi/si)
可以看到,权重在这里是1/si,而对数据的变换方法是每个数据都乘以sqrt(1/si)

三边定位的最小二乘法运用相关推荐

  1. 基于笛卡尔坐标系下的三边定位的研究(TOA方式定位)

    基于笛卡尔坐标系下的三边定位的简单研究(TOA方式定位) 引言: 在无线定位中,TOA方式下的三边定位有它的优越性,定位精度高,三个基站就可实现精确定位.目前的超宽带技术的普及应用,普遍采用该种定位的 ...

  2. 【三边定位】 演示程序V0.1

    忙于工作,这个小东西一直没有空去弄, 最近简单修改了些算法, 精度还有待提高. 贴一张图片 坐上角的坐标是鼠标点(31,17),后面location 是三边定位算出来的(31,19),后面跟的erro ...

  3. 基于激光雷达实现三边定位算法开发记录(五)——三角函数法拟定圆心

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.22 本次实现:由于实现三边定位需要先找反光柱的圆 ...

  4. 基于激光雷达实现三边定位算法开发记录(一)——查找激光最强点

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.18 本次实现:由于实现三边定位需要先找反光柱 ...

  5. 三边定位_位置解析(C++)

    一.三边定位位置解析 通过对已知的三个基站的坐标和三个基站分别到未知点的距离来确定,未知点的坐标. 注:这个解析算法代码是通过对Decawave公司的开源代码剪切更改而来的. 代码: // ----- ...

  6. 基于激光雷达实现三边定位算法开发记录(二)——查找多个反光柱数据

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.19 本次实现:由于实现三边定位需要先找反光柱 ...

  7. UWB 定位_三边定位位置解析算法-C

    一.用途 1.解析未知点的坐标. 二..基本原理 已知三点位置 (x1, y1), (x2, y2), (x3, y3) 已知未知点 (x0, y0) 到三点距离 d1, d2, d3 通过最小二乘法 ...

  8. 三角定位matlab,matlab 在三维空间的三边定位算法模拟如何写?

    共回答了21个问题采纳率:100% 按照楼主的算法给楼主编了一个函数,楼主将它存为一个m文件,在matlab的命令窗口即可运行. 这里主要用到一个解线性方程组的方法楼主可以主要一下.其实matlab的 ...

  9. wifi rssi 计算 距离_PPT|交通未来第3期 基于实时WIFI蓝牙检测数据的交通目标定位及出行模式甄别技术...

    一.讲座信息 主题:基于实时WIFI-蓝牙检测数据的交通目标定位及出行模式甄别技术 主讲人:华南理工大学黄紫林(研三,毕业读博) 直播回放地址:暂不提供直播回放 PPT下载地址:https://git ...

  10. UWB定位的3种算法:TWR、TOA和TDOA算法

    UWB定位的3种算法:TWR.TOA和TDOA算法 文章目录 UWB定位的3种算法:TWR.TOA和TDOA算法 UWB定位技术 一.TER定位算法 二. TOA定位算法 三. TDOA定位算法 UW ...

最新文章

  1. 判断小数是否相等_四年级上册数学填空+计算+判断易错题整理练习,收藏练一练!...
  2. jdk安装教程_在JDK 12精简数字格式中使用最小分数数字
  3. 经典的”服务器最多65536个连接”误解
  4. spring(16)------spring的数据源配置
  5. 安装 node-sass 时报错
  6. 集中管理:领导者,不能不考虑的几件事之——“挖”出来的无限可能
  7. 企业创新流程的“正向推”与“反向推”思考
  8. 矩阵特征值的一些特点
  9. geemap_01_安装geemap
  10. CAD选择时会卡一下的解决办法
  11. 内集理论是处理非标准分析的新方法
  12. 我傻眼了:一个完全由 AI 生成的播客,采访了乔布斯
  13. python爬楼梯问题
  14. java, c 亦或用法
  15. 检测cpu是否支持VT
  16. 如何选择适合自己的进销存系统软件?
  17. 全球知名脑科学实验室:陈天桥雒芊芊研究院(TCCI)招聘脑机接口项目(副)主任以及认知评估科学家...
  18. 手写springcloud|熔断 hystrix
  19. win10怎么更新显卡驱动_OEM不给力,AMD兑现承诺:更新包含移动锐龙的全平台显卡驱动...
  20. 泛微 eteams 怎么样?

热门文章

  1. 通过ssh远程连接Ubuntu主机
  2. Lua C API 研究 —— 基础篇
  3. Excel将选中的筛选内容复制可见的筛选格中方法
  4. C++(21)——反向输出一个三位数
  5. Golang Web框架性能对比
  6. 有哪些比较好的免费简历网站?
  7. 活动轮廓模型之Snake模型简介
  8. SolidWorks.2020.SP5.0软件下载
  9. matlab 并联机械臂_MATLAB机械臂的两种路径规划
  10. 计算机故障语言 英语怎么说,故障英语怎么说