什么是AOA测距?

到达角度测距(Angle-of-Arrival:AOA):基于信号到达角度的定位算法是典型的、基于测距的定位算法,在无线传感网络应用中,AOA(到达角度测距)作为网络节点自定位一种常见的定位算法,其主要特点有:成本低、定位精度高等。主要是通过一些应用固件探测发射信号的到达方向,然后根据接收节点与始发节点之间的交错夹角,再利用三角测量或者是其他角位推算出发送信号中存在未知节点的位置,在目前无线应用市场中被广泛利用。

aoa到达角 java实现 基于到达角aoa定位_aoa到达角 java实现

关于AOA算法的基本原理

在无线信号传输过程中,在对信号传输中信号传播方向构成的不同角度、范围的天线阵列信号,不同的天线所接收到的信号都会存在一个接收信号时间差,而这个时间差则可以用来对应不同的信号到达角度,这就是AOA技术基于信号到达角度定位算法的基本原理,可以参考下图。

aoa到达角 java实现 基于到达角aoa定位_aoa到达角 java实现_02

按照不同信号到达角度构成的时间差这样的思路来看,从信号传输的角度上来说,AOA算法的核心理论就是需要计算到不同天线所接收的时间差。就是在蓝牙芯片开放蓝牙射频端的载波振幅和相位收发值时,根据不同的天线阵列设计使用I/Q(相位值)值计算出信号到达角度方位,再通过两个不同方位的接收端,就可以判断出发射端的精确位置(这个误差大约为125px,目前市场上较为高精度的数据)。

aoa到达角 java实现 基于到达角aoa定位_aoa到达角 java实现_03

常见的时间差计算方法

不同天线上信号到达时间差的计算方法有两种:

①在接收到信号时,采用信号时延计算方法进行确定,再结合信号当前传播速率以及阵列几何分布来计算到达角度。

②Beamforming——波束成形技术,将从不同方向的信号进行加强放大,然后按照不同方向上的信息强度来确定到达角度。

aoa到达角 java实现 基于到达角aoa定位_应用场景_04

根据到达角进行定位具体算法

aoa到达角 java实现 基于到达角aoa定位_aoa到达角 java实现_05


在基站的位置已知的条件下,基站发送的信号到达两个已经被定位的节点:基站1到设备之间连线与基准方向的夹角α1,同时基于此方向画一条射线L1;同样基站2到设备之间连线与基准方向的夹角α2,基于此方向画一条射线L2。那么射线L1与射线L2的交点就是设备的到达角位置。

将基站BS1的坐标记作(x1,y1),BS2的坐标记作(x2,y2),被测节点坐标为(x,y)。

假设α1和α2均不为90°,则两射线的直线方程分别为 y−y1=k1(x−x1),y−y2=k2(x−x2),其中k1=tan(α1),k2=tan(α2)

aoa到达角 java实现 基于到达角aoa定位_应用场景_06

假设基站BS1的坐标为(0,0),BS2的坐标为(1,0),α1=30°,α2=120°,求被定位节点的代码如下:

x1=0;y1=0;x2=1;
y2=0;α1=30;
α2=120;k1=tan(α1/180pi);k2=tan(α2/180pi);
x=(k1x1-k2x2-y1+y2)/(k1-k2)
y=(k1k2(x1-x2)-k2y1+k1y2)/(k1-k2)

结果为

x = 0.750,y = 0.433

(x,y)=(0.75,0.433)即为被定为节点的位置。

若α1或α2为90°时,两射线方程为x=x1或x=x2,和另一射线联立即可求得被测节点位置。

aoa到达角 java实现 基于到达角aoa定位_应用场景_07

AOA技术物联网应用场景

AOA定位技术作为目前室内定位的主要无线技术之一,可以向对象标签提供精准定位信息,还可以用于对人员活动轨迹的跟踪,以及对室内固定资产的的控制,目前主要的应用场景有:

①智慧城市——超市商场:商场中的定位服务以及商场中的商品可以进行标签固定,避免出现取货不付钱的情况。

②工业智能化——工厂:可以给工人进行定位,并对工作区域进行优先级/权限划分。除此之外,还可以对工业机器人进行定位操作,为其规划线路并控制其工作等等。

aoa到达角 java实现 基于到达角aoa定位_应用场景_08