UWB DW1000 TWR测距定位功能实现
3基站对1标签进行测距的流程如下:
1、标签发起测距poll,等待3个基站的回应resp;依次收到3个基站的resp后,发送携带时间戳的final;
2、基站等待poll;收到poll后,发送resp,再继续等待final;收到final后,提取时间戳,计算距离;每个基站都是上述流程
1、发起方发送的轮询POLL消息,用于触发测距交换。同时记录发送时间戳:poll_tx_ts
2、响应方接收到轮询POLL消息后,发送的响应RESP消息,允许发起方继续处理。同时记录接收和发送时间戳:poll_rx_ts、resp_tx_ts
3、发起者接收到RESP帧后,记录接收时间戳resp_rx_ts,再发送的最终FINAL消息,同时记录发送时间戳final_tx_ts,并将所有时间戳(poll_tx_ts、resp_rx_ts、final_tx_ts)打包在FINAL帧中,用于完成交换,并向响应方提供估算飞行时间(ToF)所需的所有时间戳信息。
4、响应方接收到FINAL帧后,记录接收时间戳final_rx_ts,并提取FINAL帧中的三个时间戳,根据自己记录的另外三个时间戳(poll_rx_ts、resp_tx_ts、final_rx_ts),开始计算ToF。
* The first 10 bytes of those frame are common and are composed of the following fields:
* - byte 0/1: frame control (0x8841 to indicate a data frame using 16-bit addressing).
* - byte 2: sequence number, incremented for each new frame.
* - byte 3/4: PAN ID (0xDECA).
* - byte 5/6: destination address, see NOTE 3 below.
* - byte 7/8: source address, see NOTE 3 below.
* - byte 9: function code (specific values to indicate which message it is in the ranging process).
* The remaining bytes are specific to each message as follows:
* Poll message:
* - no more data
* Response message:
* - byte 10: activity code (0x02 to tell the initiator to go on with the ranging exchange).
* - byte 11/12: activity parameter, not used for activity code 0x02.
* Final message:
* - byte 10 -> 13: poll message transmission timestamp.
* - byte 14 -> 17: response message reception timestamp.
* - byte 18 -> 21: final message transmission timestamp.
* All messages end with a 2-byte checksum automatically set by DW1000.
Poll帧格式
字节序号 |
0-1 |
2 |
3-4 |
5-6 |
7-8 |
9 |
10-11 |
字节类型 |
控制码 |
序列号 |
PAN ID |
目标地址 |
源地址 |
功能码 |
校验码 |
字节数 |
2 |
1 |
2 |
2 |
2 |
1 |
2 |
内容 |
0x8841 |
0xDECA |
0x21 |
Resp帧格式
字节序号 |
0-1 |
2 |
3-4 |
5-6 |
7-8 |
9 |
10 |
11-12 |
13-14 |
字节类型 |
控制码 |
序列号 |
PAN ID |
目标地址 |
源地址 |
功能码 |
状态码 |
状态参数 |
校验码 |
字节数 |
2 |
1 |
2 |
2 |
2 |
1 |
1 |
2 |
2 |
内容 |
0x8841 |
0xDECA |
0x10 |
0x02 |
Final帧格式
字节序号 |
0-1 |
2 |
3-4 |
5-6 |
7-8 |
9 |
10-13 |
14-17 |
18-21 |
22-23 |
字节类型 |
控制码 |
序列号 |
PAN ID |
目标地址 |
源地址 |
功能码 |
Poll帧发送时间戳 |
resp帧接收时间戳 |
final帧发送时间戳 |
校验码 |
字节数 |
2 |
1 |
2 |
2 |
2 |
1 |
4 |
4 |
4 |
2 |
内容 |
0x8841 |
0xDECA |
0x23 |
UWB DW1000 TWR测距定位功能实现相关推荐
- uwb室内定位应用DW1000 TWR测距
视频请看: https://v.youku.com/v_show/id_XNDM0ODI4MzY1Mg==.html?spm=a2hzp.8253869.0.0
- Decawave UWB Mini测距/定位套件
Decawave UWB Mini测距/定位套件火爆热销中! 购买地址:https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-14909457669 ...
- 煤矿,隧道,管廊高精度人员定位_基于UWB技术的TWR一维定位方案介绍
针对工业/汽车.物流仓储.传统制造业.电力行业.医疗保健.高危化工业.隧道/管廊.建筑工地.公检司法的重点安保区域等高精度人员定位需求,SKYLAB推出了基于UWB技术的定位系统.通过在定位区域内部署 ...
- 超宽带(UWB)学习笔记——TWR测距
文章目录 前言 1. 单边双向测距(SS-TWR, Single Side - Two Way Ranging) 1.1 测距方式 1.2 误差分析 2 双边双向测距(DS-TWR, Double S ...
- DW1000 UWB用于pixhawk室内定位
DW1000 UWB用于pixhawk室内定位 转自:http://blog.sina.com.cn/s/blog_6266a8840102xier.html
- 超宽带UWB无线技术,厘米级测距定位,精准位置确定方案应用
UWB标签和锚点之间的双向测距测量它们的相对距离,这种方法用于例如安全访问应用程序,其中将根据标签设备的接近程度授予访问权限. UWB不能被简单的中继攻击欺骗,因为它的距离测量不是基于信号强度,而是基 ...
- DW1000芯片 室内定位传感器
DW1000芯片 厂商DECAWAV 封装QFN48 简介说明 DecaWave公司的DW1000芯片.符合IEEE802.15.4-2011超宽带标准.按照数据手册上应该最小误差在10厘米以内.DW ...
- 创新微MinewSemi国产UWB模块 高精度无线定位领跑者
现代生活节奏快,随着科技发展,电子产品消费越来越多,成为消费主流,而在消费电子领域,UWB技术将以手机为生态的中心,扩展到智能手表.智能音箱.笔记本.平板等等领域,以及与手机交互的标签市场,如门禁类. ...
- 简述isodata算法的原理_基于UWB技术的室内定位方法简述
1. UWB室内定位概述: UWB室内定位技术与传统通信技术有极大的差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽.超宽带 ...
最新文章
- 意外发现:网盾升级后支持soso和有道
- DBA(二):percona软件、innobackupex备份与恢复
- Apache 工作模式配置优化
- C语言模拟顺序栈的创建、入栈、出栈操作
- 【转】linux /centos 中OpenSSL升级方法详解
- 网络管理:超级详细Tcpdump 的用法
- [贪心][模拟] Jzoj P5811 简单的填数
- python求两个字符串之间最小子串
- Java项目:SSM的校园二手交易平台
- 计算机网络(入门知识点最全整理)
- ppt背景图片php,求ppt背景,ppt背景图片,漂亮一些的。
- java烟花代码详细步骤,一文说清!
- jpa原生query_SpringDataJpa使用原生sql的小坑
- python 小甲鱼小游戏_Python 小甲鱼教程 Easygui 篇
- 中集飞瞳多式联运智能化方案海铁运输数字化集装箱管理,多式联运智能化铁路智能多式联运,中集集团高科技中集飞瞳多式联运智能化领军者
- 深刻理解Linux进程间通信(IPC)
- easyExcel设置最后一行的样式【可以拓展为每一行】
- 程序人生--2000年(4)
- soul源码阅读 soul数据同步之nacos
- axios(5)——请求拦截器和响应拦截器