TOA全称time of arrival,根据测量移动台和基站之间的信号到达时间,再转换为距离从而进行定位的方法。

类似的技术还有TDOA和AOA,真实的应用场景就是GNSS和UWB了。

定位原理可以用下图表示:

matlab练习程序(TOA算法)

如上图三个基站可列三个方程,就能解出定位点,但一般基站通常更多,因此需要用到最小二乘的方法解方程组。

设MS坐标为(x,y),BS坐标为(xi,yi),则有方程组: 

matlab练习程序(TOA算法)

展开得:

matlab练习程序(TOA算法)

 

 

 

 

 

 

 

 

到这里就能用最小二乘来求解了。 

matlab代码如下:

clear all;
close all;
clc;

num = 6;                                %可以认为是基站或卫星数,随机做6个

loc = [20,30]                           %实际坐标位置
sat = 100*rand(num,2);                  %基站或卫星二维坐标

dist = loc - sat + 0.2*rand(num,2);     %加20厘米测距误差
dist = dist(:,1).^2 + dist(:,2).^2;
r = sat(:,1).^2 + sat(:,2).^2;

X = [-2*sat ones(length(sat),1)];
Y = dist - r;

C = inv(X'*X)*X'*Y;

C(1:2)                                  %计算结果

结果如下:

matlab练习程序(TOA算法)

设定的位置和最终计算得到的位置基本一致。

相关文章:

  • 2021-07-16
  • 2022-02-09
  • 2021-06-09
  • 2021-06-13
  • 2021-09-01
  • 2021-08-09
  • 2021-11-24
  • 2022-01-19
猜你喜欢
  • 2021-07-17
  • 2021-08-09
  • 2021-10-22
  • 2022-02-10
  • 2021-10-05
  • 2021-09-29
  • 2022-01-17
相关资源
相似解决方案