基站定位

前端开发中的地理定位问题小总结

天大地大妈咪最大 提交于 2019-12-03 11:10:46
项目中遇到地理定位的问题,没遇过不知道,遇过就发现这是个比较坑的问题。这个问题其实困扰了我挺久的,还不如一次性了解清楚。所以本文进行了一些小总结,先简单总结我看过的关于定位技术的资料,然后介绍前端开发中的可选定位方案,以及存在的一些问题。 定位技术 概念上很好理解,就是定位你在哪里的技术。常见的定位方式有基站定位,WiFi定位,IP定位,GPS定位等。 基站定位 基站是能进行信号交换的站点。手机能接受信号,打电话就是通过手机基站。这些基站是由国家移动通信运营商建的,比如中国移动,中国联通,中国电信。原理如下,通过手机接受不同几个基站的信号强度来判断二者之间距离,当然基站的位置信息本来是已知的,所以手机的位置就知道了。前提是手机必须处于SIM卡注册状态下。由于手机信号会受干扰,基站定位精度较低。而且精度也受基站的密度影响,密度越大越精准。 WiFi定位 WiFi是无线上网的一种技术。平时手机不连上WiFi的功能就能定位。大致的原理是,WiFi信号被设备检测到,数据库记录这个WiFi信号和设备对应的位置。当它被越来越多的设备检测到,它的位置就可以利用这些数据通过某种算法来得出。由于信号随着距离的增加而减少,根据设备获取到的WiFi信号强度就可以计算出两者之间的距离。知道了周围几个点,以及与这些点之间的距离,待定位的设备位置就不难计算出来了。WiFi定位是由谷歌提出的

TDOA基站 之 时间同步

匿名 (未验证) 提交于 2019-12-03 00:14:01
TDOA 和 TWR相比,标签可以用最少的信息来定位,但是对于基站要求很高,需要“时间同步”。 TDOA实现目的相同,但是实现方法每家各不相同,这里介绍一种简单的时间同步原理。 定位系统中有标签Tag,基站ANA 和ANB,为了时间同步,引入同步节点RN, 所有时间都会同步到同步节点上 下图为例说明同步方法,纵轴是时间。为了简化,认为RN与ANA 和ANB距离相等。 时间同步主要流程: 同步节点RN周期性以广播的方法发送同步信号,上图中是R1 R2, 使用delayed tx发送 ,发送信息标记了发送时间 基站接收同步信号并记录接收时间 标签周期性发送定位信号,基站接收定位信号,记录接收时间。 分析如上各个时间戳: 同步节点发送两次同步信号,在基站ANA接收到以后,获得两个发送时间差 R2-R1,以及两个对应的接收时间差A2-A1. 这两个都是时钟数量,对应的绝对时间相同,而时钟数量不同 ,这个不同是因为每个模块时钟差异造成的。 基站ANA会收到标签发送来的定位信号,时间再AT,相对于A1的时间差是AT-A1 基站收到的定位数据时间戳是在基站ANA上,那么可以 映射到同步节点间RN上 ,利用比例关系 t/(AT-A1) = ( R2-R1)/(A2-A1) --》 t ANA = (AT-A1)*( R2-R1)/(A2-A1) t ANA 就是把AT映射到RN后的时间 同理

高德在提升定位精度方面的探索和实践

余生长醉 提交于 2019-12-02 02:12:28
2019杭州云栖大会上,高德地图技术团队向与会者分享了包括视觉与机器智能、路线规划、场景化/精细化定位时空数据应用、亿级流量架构演进等多个出行技术领域的热门话题。现场火爆,听众反响强烈。我们把其中的优秀演讲内容整理成文并陆续发布出来,本文为其中一篇。 阿里巴巴高级地图技术专家方兴在高德技术专场做了题为 《向场景化、精细化演进的定位技术》 的演讲,主要分享了高德在提升定位精度方面的探索和实践,本文根据现场内容整理而成(在不影响原意的情况下对文字略作编辑),更多定位技术的实现细节请关注后续系列文章。 以下为方兴演讲内容的简版实录: 今天要分享的主题是关于定位的场景化、精细化。高德定位,并不只是服务于高德地图本身,而是面向所有的应用开发者和手机设备厂商提供定位服务。目前已有30万以上的APP在使用高德的定位服务。 用户每天会大量使用定位服务,比如看新闻、打车、订外卖,甚至是购物,首先都是要获得位置信息,有了更精准的位置信息,才可能获得更好的服务体验。 高德地图有超过1亿的日活用户,但是使用定位的有好几个亿,每天的定位请求数量有一千亿次。如此大的数据量,高德定位服务可以保持毫秒级的响应速度,我们在这里面做了很多工作。此外,我们还提供全场景的定位能力,不管为手机、车机还是任何厂家,都能提供位置服务。 我今天从四个方面介绍,分别是: 定位面临的挑战 高德地图全场景定位 分场景提升定位精度

TDOA 之 基站接收数据

≯℡__Kan透↙ 提交于 2019-12-01 15:06:12
基站主要 接收同步节点发来的同步信号,代码里定义为S信息。 以及标签节点发来的定位信号,代码中定义为T信号。 代码中使用中断以及帧过滤功能,对模块只接收自己关心设定好的信息,通过中断告知上层,而不是长时间轮训方式。 帧过滤参考博文: https://www.cnblogs.com/tuzhuke/p/10503052.html 如下为基站核心代码: 1 使能接收中断 dwt_setinterrupt(DWT_INT_RFCG | (DWT_INT_ARFE | DWT_INT_RFSL | DWT_INT_SFDT | DWT_INT_RPHE | DWT_INT_RFCE | DWT_INT_RFTO /*| DWT_INT_RXPTO*/), 1); 2 接收信息并记录自己的接收时间戳和 信息发送的时间戳 switch(msg_f->messageData[0]) { case 'S': //save seq //save rx timestamp last_rx_ts = get_rx_timestamp_u64();//获取接收时间戳 // last_rx_ts =0x123456789A;测试数字 //对64位数据移位成两个数字,用来液晶显示 l8_timestamp = last_rx_ts&0xFF; h32_timestamp= last_rx_ts>>8;

python-基站位置查询

*爱你&永不变心* 提交于 2019-11-30 07:13:09
本文采用的接口是聚合数据提供的 python2.7环境,3.x环境试了下好像不支持,获取位置信息为空 如下为运用代码: 1 #coding=utf-8 2 ''' 3 Created on 2019年9月18日 4 5 @author: yanerfree 6 7 python2.7 8 ''' 9 10 import json,urllib 11 from urllib import urlencode 12 13 #---------------------------------- 14 # 移动联通基站调用示例代码 - 聚合数据 15 # 在线接口文档:http://www.juhe.cn/docs/8 16 #---------------------------------- 17 18 def main(loc): 19 20 #配置您申请的APPKey---需要申请 21 appkey = "******" 22 #1.基站定位 23 getAddress(appkey,loc,"GET") 24 25 #基站定位 26 def getAddress(appkey, loc, m="GET"): 27 url = "http://v.juhe.cn/cell/query" 28 params = { 29 "mnc" : loc[1], #移动基站:0 联通基站:1