苹果uwb定位技术

昨天的文章简单说明了手机定位的技术,文章写的比较简单,但是阅读量却还可以,这篇文章转一个uwb定位技术的文章,让更多的人了解这项技术。

相关阅读:

手机是怎么确定位置信息的?

载波和LoRa

#前言

关于昨天的文章,有些同学给我留言说明了下,我简单总结下,特别感谢「铁甲依然在」,你的球技如你的人品一样骚~

1、任何一个网络设备都有一个MAC地址,WIFI也不例外。我们的WIFI设备MAC地址和实际的物理地址在运营商是有记录的,有相关人士将这个地址做了对应关系的数据库给各个厂家访问,从而实现盈利。

「如何获取数据,我也不知道,表问我」

所以,我们有时候会遇到一个情况,公司做了迁移,但是运营商还未及时更新新公司地址和公司上网设备MAC地址的关系表,导致的结果是,你的手机室内利用WIFI辅助定位以后,给出的地址信息还是公司迁移以前的位置信息。

同时,WIFI定位也不是利用一个WIFI热点实现,而是采集多个WIFI热点的RSSI信息,根据三角定位计算出最终的结果,通常可以达到米级。

手机不上网在一定范围内也是可以实现WIFI定位的,因为WIFI热点的位置相对固定,可以通过两种方法获取位置信息,一种是获取WIFI的RSSI信息后上传到服务器,服务器返回位置信息,一种是设备端自己的本地实现解算。

2、GPS定位的理论时间,注意是理论时间,是三次卫星广播间隔,一次卫星广播的时间间隔是7秒左右。具体忘记了。所以三次就是21秒左右。所以我们看到GPS定位芯片的规格书的冷启动时间是20多秒。但是由于天线,天气环境等原因,通常实际达不到。

3、AGPS获取星历,不是和基站要,而是去和相关的定位服务器获取。你只需要告知自身的大概位置「几百公里范围都可以」,然后相关定位服务器就会给你一个当前的卫星星历信息,其实就是卫星的轨迹信息,手机获取这个信息后,可以节省选取哪几颗卫星来做定位计算的时间,从而提高精准度。

但是AGPS不仅仅是这些辅助,广义上的基站辅助,WIFI辅助都可以叫做AGPS。

4、Glonass没有更贵一说,现在的定位芯片都是多模的,多模的意思是支持几种模式。北斗也没有更贵一说,到今天,北斗民用完全没有问题了,我查了下资料,北斗用在农业上已经很成熟了。北斗已经只有一颗星没有上天了,北斗已经组网完成99%了。北斗卫星发射情况可以去北斗官网查看。


#正文

#UWB介绍

UWB(Ultra Wide Band)我们一般叫做超宽带通信,顾名思义最主要的特征是带宽很宽,远远大于现存的窄带通信系统(包括802.11系列和2/3/4和5G中的sub 6G)反之我们称之为窄带通信

定义:

如果一个无线电系统拥有超过中心频率20%的相对带宽,或者拥有500MHz以上的绝对带宽,我们称之为是UWB无线电系统

ps:

我的老东家-中兴高达,就是做窄带通信和宽带通信的手持通信设备企业。

UWB无线电是一个很宽泛的定义,只要带宽满足条件即可:UWB雷达,UWB通信都各有发展。

从定义上说,未来可能存在的,5G中超过500MHz单载波带宽的毫米波通信,也算做是UWB无线电。


#UWB通信是什么?

目前UWB通信主要有两种主流的发展思路:传统的脉冲调制UWB和基于OFDM的UWB(MB-OFDM-UWB)。题目中提到的和大家在说的UWB系统,都是在特指脉冲调制UWB这种发展方向。这里也着重介绍这种技术方案。

不同于目前主流窄带通系统的载波调制方案,传统UWB发射脉冲信号来传输信息,我们称之为脉冲调制

通俗的理解是这样的,我们通常通过调节正弦波的频率、相位、幅度等参数来传输信息,并通过傅里叶变换等频域分析方式来接收、解调这些信息,这里的「正弦波」我们称为「载波」。而传统UWB通信系统中,我们不需要「正弦载波」作为载体,而是直接发射电磁脉冲,通过调节脉冲的幅度(PAM,脉冲振幅调制)和脉冲的位置(PPM,脉冲位置调制)等方式来传递信息,如下图。

从频域和时域的角度,也可以理解为传统UWB是单纯的时域信号处理,不需要射频电路中的本振,差分等射频模块。如果产业成熟度相同,那么UWB通信模块成本应当低于传统的窄带通信模块。(这里请特别注意前置条件)。

#传统UWB的优势

我们都知道,UWB所采用的是500MHz以上的大带宽。而频域扩展等于时域收缩,因此现在的传统UWB系统中,脉冲的宽度一般在数纳秒到数十纳秒之间,这意味着信号本身的占空比很低。

占空比是指在一个脉冲循环内,通电时间相对于总时间所的比例。占空比(Duty Ratio)在电信领域中有如下含义:例如:脉冲宽度1μs,信号周期4μs的脉冲序列占空比为0.25。

如果大家有了解过雷达基础就会知道,对于脉冲信号来说,信号的占空比很低意味着脉冲宽度 很小,一个定位系统里,距离分辨率与脉冲宽度成正相关:脉冲宽度越小,距离分辨率越小,可以分辨的两点就越近,精度就越高。具体公式很简单:

,   是光速。

这就意味着传统UWB所采用的窄脉冲和高频带天然会带来更高的距离分辨率。比如如果Wi-Fi的定位精度是3.0m-6.0m这样的米级,那UWB可能就是厘米级。(这个例子不精确,实际上UWB有可能通过类似脉冲压缩等其它信号处理算法提升精度,Wi-Fi类似)

此外,低占空比会更容易区分来自其它非目标散射物的反射信号,也就是说更抗多径,因此更适应室内环境。这很容易理解,因为占空比低,所以不同路径的回波信号非常容易区分。其实UWB系统的设计和3G很像,可以通过扩频设计实现多址,这也是前些年的研究热点。

综上所述,传统UWB的实现优点是:

  • 理论上成本低

  • 定位距离精度高

  • 通信速度快(超大带宽)

  • 抗多径能力强

  • 功耗低(脉冲调制决定的)

  • 穿透能力强(宽频谱)

缺点也很明显:

  • 波束指向性强(需要波束明确指向接收源)

  • 通信距离短(UWB的授权频谱有相当多的现存通信设备,UWB设备功率需要低于一定门限才能不影响其他通信系统)

  • 频带利用率低下(看看那占空比)

  • 产业相对不成熟(但是足够商用了)

#UWB如何计算位置

因此,它的应用也很明确,主要有三种应用:成像、通信与测量和车载雷达系统,再宏观一点,可以分为定位、通信和成像三种场景

  • 定位:这里借用一下我以前的回答,UWB定位系统也需要用到UWB基站作为坐标。如果我们谈基站定位的话,就是这几种:

a. 三边测量 :通过接收到的信号来求解几何问题。因为基站位置都是已知的,那么未知数只有用户与基站之间的距离。为了求解用户与基站之间的距离,需要信号在空中传播时间,也就是可能能用到几种信息:到达时间(time of arrival,ToA);time difference of arrival (TDoA) 或者 received signal strength (RSS)。

b.三角测量:当基站位置已知时,基站与用户之间的距离信息可以用角度信息替代。如果我们知道信号的到达角(angle of arrival,AoA),那么同样可以得到与三边测量同样的结果。

c.近似:如果我们只有一个已知基站,那么我们可以根据ToA或者AoA和信号强度大概估计出用户与基站的距离和角度,那么就可以近似出用户位置。实际上这也是2G系统中最常见的基站定位方式。这里的问题是,通常地面会存在很多干扰,单个基站的估计不会很精确。

d.场景分析:我们可以将一些典型位置点的信号特征(比如RSS、时延扩展或者信道扩展)存入数据库,再与当时的信号作比对,可以估计出用户与基站之间的距离和方位。

我们之前已经分析过,因为UWB的距离分辨率很高,ToA精度很高,所以三边测量很适合。

实际上这也是目前UWB无线电中最主流的定位方式。AoA这种角度估计需要天线阵列,不如ToA适合UWB。

#其他应用

  • 通信:因为大带宽,所以UWB一度被认为是USB数据传输的无线替代方案,蓝牙的问题是传输速度太慢。UWB还常用于军用保密通信,这主要也是因为UWB脉冲的能量很低,很容易低于噪声门限,不容易被其它无线电系统监听到。

  • 成像:UWB系统的带宽很宽,目前UWB穿墙雷达是很广泛的应用,具体做法是利用窄脉冲传过墙壁,获得墙对面的回波,可以得到成像,成像误差很低。所以如果有一天苹果开放底层接口,说不定iphone就可以拿来窥探邻居了。

本文部分内容转自:

https://www.zhihu.com/question/345471985/answer/836891220


  回复「 篮球的大肚子」进入技术群聊

回复「1024」获取1000G学习资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot导包显示不存在_(一)SpringBoot搭建基本后端应用

boot在计算机术语中是启动的意思,SpringBoot也就是Spring的启动器。稍有经验的JavaWeb程序员对于传统SSM结构的MVC应用,大多数最不好的体验就是搭建一个项目需要进行大量的配置。稍有不慎就可能采坑。更关键的是有些配置基本就不会去进行定制化修改。为了…

f12获取网页文本_8招教你快速搞定网页内容禁止复制粘贴,想怎么复制就怎么复制...

大家平时在搜索资料、浏览网页时,经常会复制一些内容。尤其是文字比较多时,比起一个个字手打,复制能省下不少功夫。可有时候好不容易找到资料了,却发现有些网站上的内容文本复制不了?甚至右键菜单都打不开!…

为什么需要超过48k的采样音频?

最近在看音频的事情,随便拿点东西出来聊一下,如果说的不对,请用棒槌来打我,这样我晚上睡觉就不用数绵羊了。我播放一个20HZ~20KHZ的音频,如下图我使用16K的采样率来采集它是声音信号,获取音频如下图我使用4…

Linux io内存存在的意义~

今天是母亲节,首先祝各位读者的母亲节日快乐,祝你们的母亲年轻健康。母亲节是一个亘古的话题,我本来想写个文章,但是想起来这周就一个周末,要花点时间陪下家人,昨天我们老大开会,特别说了&#…

imx6 配置串口波特率_RS232串口多机通信

一、基本原理1、主从多机通信拓扑图2、主从多机通信的具体过程 1)使所有的从机的SM2位置1,以便接收主机发来的地址;2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;3)所有从机接收到地址帧后&…

一个故事讲完CPU的工作原理

上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:6324 244675 ?小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘…

axure弹窗关闭_干货来袭,Axure插入图标的几种办法

前言在日常绘制原型的时候,经常会需要插入相应的图标(icon)到Axure中,但是看似好像很简单的事情也给蛮多小伙伴造成了困扰。现在很多开发团队都会用一些比较常见的前端框架来搭建后台管理系统,例如常见的Element-UI&am…

用指针实现高低位倒序,疯了吧

昨晚在微信群看到一个读者发的面试题目,从网上截图出来的,我百思不得其解,题目如图。幸好,我学过栈栈,C语言实现然后我写了个小程序第一个方法比较笨,当我写完自己的代码后,看到有同学发了自己的…

部署nexus服务

一、安装和启动 官网下载nexus-2.12安装包,地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.0-01-bundle.tar.gz 此版本需要预先安装jdk1.7 解压后,用命令【./bin/nexus start】来启动 nexus有如下一些控制命令&…

天然气表怎么看多少方_上海考大学难度怎么样?看2019上海高考“成绩分布表”和“本科分数线”就知道了!...

参加高考的同学和家长们注意了~上海市教育考试院近日发布本市普通高等学校秋季招生本科各批次录取控制分数线和成绩分布表。艺术类、体育类本科文化控制分数线也同步公布。(鲁申君注:上海2019年高考本科总分660,专科总分450,不分文…

关于Linux内核代码不使用typedef的讨论?

C语言关键字 -(typedef关键字)typedef有点像火隐忍者里面的万花筒写轮眼,用起来非常炫酷有型,使你的代码更加简短,让你穿上你亲妈都认不出你的马甲…比如这样一段代码typedef struct point{int x, y;} Points;Points f…

基于深度学习模型的花卉图像分类代码_华为不止有鸿蒙!教你快速入门华为免编程深度学习神器ModelArts...

引言:本文介绍利用华为ModelArts进行深度学习的图像分类任务,不用一行代码。今年8月9日,在华为史上规模最大的开发者大会上,华为正式发布全球首个基于微内核的全场景分布式OS——鸿蒙操作系统(HarmonyOS)。但你知道吗?…

天线的原理

关注、星标公众号,不错过精彩内容来源:中兴文档小时候家里的收音机、电视机,都带着可以灵活转动拉伸的杆子,大家一定对这个可以转来转去的杆子记忆犹新,或许也好奇的发现这个杆子的长度与方向和收音机、电视的接收效果…

2d 蓝图_“蓝图”卷积--对深度可分离卷积的再思考

论文:Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNetshttps://arxiv.org/pdf/2003.13549.pdf​arxiv.org代码地址:zeiss-microscopy/BSConv​github.com一、背景一些轻量级的网络,…

原来你也在写公众号

现在凌晨1点,我睡不着,因为今天打球了,每次打球回来我总是睡得很奇怪,奇怪有时候打球回来一躺下就睡着了,有时候打球回来就会习惯性失眠。脑海里总是浮现各种打球的进球动作,然后各种幻想,再加上…

中的数组怎么转成结构体_PLC知识,什么是数组和结构体?

今天给大家介绍一下什么是数组,什么是结构体,关于数组我们会介绍数组的定义、它的使用方法,关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识,之前也是有部分学员有问过这些问题的,那么都一块儿给大家讲…

MMU那些事儿

最近在重新看这部分知识点,内存管理和进程调度应该是Linux下最核心的两个东西,不管你做得多牛逼了,这两点拿出来讨论,总是会让人眼前一亮,或者是可以讨论很久很久,这篇文章,读完后可能也可以让大…

C语言、嵌入式中几个非常实用的宏技巧

宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时…

canvas 多次画图效果_canvas练习之终极的奔跑小人

这次做一个终极的练习,先看一下最后的效果。一个不停奔跑的小人,点击鼠标后会让他跑到目的地,并且呈现不同的角度。下面来看一下如何一步步来实现它的。准备网上下载了一张图片,其中包含了小人面向不同角度奔跑的各个分解动作。新…

C语言的爱你永不悔

#前言今天是520节,昨天晚上睡觉的时候,我家地瓜一直说520,520,我不知道要干啥,我就说,要睡就睡,不睡就起来。今天我看了朋友圈,我才知道原来520就是「我爱你」的意思。今天在朋友圈看到的一个小…