草庐IT

「技术」室内定位—AOA测距算法,定位精度可达1m

成都亿佰特 2023-03-28 原文

什么是AOA测距

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

关于AOA算法的基本原理

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

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

常见的时间差计算方法

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

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

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

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



在基站的位置已知的条件下,基站发送的信号到达两个已经被定位的节点:基站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)

假设基站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技术物联网应用场景

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

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

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

有关「技术」室内定位—AOA测距算法,定位精度可达1m的更多相关文章

  1. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  2. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  3. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  4. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  5. [工业相机] 分辨率、精度和公差之间的关系 - 2

    📢博客主页:https://blog.csdn.net/weixin_43197380📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢本文由Loewen丶原创,首发于CSDN,转载注明出处🙉📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至是做了1~2年

  6. ruby-on-rails - ruby on rails 模型验证中的浮点精度 - 2

    我正在尝试使用正则表达式验证美元金额:^[0-9]+\.[0-9]{2}$这工作正常,但每当用户提交表单并且美元金额以0(零)结尾时,ruby(或rails?)将0砍掉。所以500.00变成500.0,因此正则表达式验证失败。有没有办法让ruby​​/rails保持用户输入的格式,而不管尾随零? 最佳答案 我假设您的美元金额是小数类型。因此,用户在字段中输入的任何值在保存到数据库之前都会从字符串转换为适当的类型。验证适用于已转换为数字类型的值,因此在您的情况下,正则表达式并不是真正合适的验证过滤器。不过,您有几种可能性可以解决这个问

  7. ruby-on-rails - 用于门户的 Ruby 技术 - 2

    我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它

  8. 100个python算法超详细讲解:画直线 - 2

    1.问题描述使用Python的turtle(海龟绘图)模块提供的函数绘制直线。2.问题分析一幅复杂的图形通常都可以由点、直线、三角形、矩形、平行四边形、圆、椭圆和圆弧等基本图形组成。其中的三角形、矩形、平行四边形又可以由直线组成,而直线又是由两个点确定的。我们使用Python的turtle模块所提供的函数来绘制直线。在使用之前我们先介绍一下turtle模块的相关知识点。turtle模块提供面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的接口类如下:1)TurtleScreen类:定义图形窗口作为绘图海龟的运动场。它的构造器需要一个tkinter.Canvas或ScrolledCanva

  9. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  10. ruby - Ruby 的任意精度算术 - 2

    Ruby到底是怎么做到的?Jörg或其他人是否知道幕后发生的事情?不幸的是,我不太了解C,所以bignum.c对我帮助不大。我只是有点好奇有人可以解释(用简单的英语)它使用的任何神奇算法背后的理论。irb(main):001:0>999**99936806348825922326789470084006052186583833823203735320465595962143702560930047223153010387361450517521869134525758989639113039318944796977164583238219236607653663113200177617

随机推荐