> 文章列表 > UWB芯片DW3000之单边双向测距法

UWB芯片DW3000之单边双向测距法

UWB芯片DW3000之单边双向测距法

单边双向测距(SS-TWR)

单边双向测距(SS-TWR)涉及简单地测量单个消息从一个节点到另一个节点的往返延迟以及返回原始节点的响应。

单边双向测距流程图

 SS-TWR的操作如上图所示,设备A发起交互命令请求,设备B响应完成交换,每个设备都精确地时间戳对数据包的发送和接收时间,因此可以通过简单的减法计算出时间Tround和Treply。由此得到的飞行时间,Tprop可由公式估计:

\\widehat{T_{prop}}=\\frac{1}{2}(T_{round}-T_{reply})

Tround和Treply的时间是由设备A和设备B使用各自的本地时钟独立测量的,它们都有一些时钟偏移误差eA和eB,因此得出的飞行时间估计有一个相当大的误差,随着Treply的增加而增加。然而,DW3000能够测量远程发射机的时钟偏移(参见DRX_CAR_INT寄存器),这可以用来补偿该误差,使用下面修改的方程,以产生与使用DS-TWR一样好的结果,其中响应时间不太长(即< 5毫秒)。

\\widehat{T_{prop}}=\\frac{1}{2}(T_{round}-T_{reply}(1-Coffest)))

 DRX_CAR_INT寄存器描述

 DRX_CAR_INT寄存器是远端发射机频率偏移估计的只读寄存器。这是在接收每个数据包时产生的,因为接收器锁定并补偿发射设备的频率偏移以成功接收数据包。这是一个21位有符号的数字,下面17位(小数部分),上面4位是数字的整数部分。当成功接收包时,可以读取该寄存器并使用以下公式将其转换为频率误差(以Hz为单位):

 Foffset为绝对频率误差,单位为Hz。它可以转换为时钟偏移(以ppm为单位)通过缩放载波频率如下

Cint为DRX_CAR_INT寄存器的载波整数值;

Nsamples为采样数,对于110kb/s速率为8192,其它情况均是1024个采样点数;

Fs:为采样频率,固定为998.4Mhz.

Foffset:为上面公式计算出的频率偏移结果。

Fc为通道的频率,对于UWB标准的5号通道,频率为6489.6MHz。

负号是由测量时钟偏移的过程产生的。

对于特定信道,公式简化为将载波积分器寄存器的内容与下表中适当的常数相乘:

频偏计算常数表

 

注意:载波恢复算法在整个包的接收过程中持续运行,以便在处理接收中断时,例如,DRX_CAR_INT寄存器值反映接收结束时的值。另一个值在CIA_DIAG_0寄存器中给出

 CIA_DIAG_0:寄存器中COE_PPM值的描述如下

COE_PPM:时钟偏移估计。这个13位字段使用s[-15:-26]固定点报告远程发射设备的时钟偏移估计。该值在设置CIADONE状态位时可用。要得到PPM(百万分之一),这个13位的整数值应该要除以2^26,然后乘以10^6。

SYS_STATUS寄存器中的CIADONE状态位:标识CIA处理完毕状态。该事件状态位被设置为指示CIA算法完成前导检测及其对接收时间戳信息的其他调整。调整后的消息RX时间戳可在子寄存器0x00:64 -接收时间戳中使用。为了准确地确定这个时间戳,DW3000采用CIA算法来调整RMARKER接收时间。除其他功能外,该功能对信道脉冲响应执行前沿检测搜索,并在子寄存器的RXANTD字段中按编程减去接收天线延迟