dwm1000 用c语言控制,DWM1000 测距原理简单分析(示例代码)

DWM1000 超宽带测距,使用的TOF(time of fly) 的方式,也就是计算无线电磁波传输时间,通过传输的时间换算成距离。 电磁波传输速率和光速一样,速度是299792.458km/s,可参见百度百科。如果想通过测试这个传播时间换算距离,那么就需要非常高的内部时钟。然。。。并不是有了高速的内部时钟即可测距,还需要一点,数据送达天线的精确时间,也就是我们发送数据时,何时将数据送到天线,以及接收到有效数据到天线时的确切时钟。 理论上所有满足以上两点的射频收发器都可以实现TOF测距。

DWM1000有一个delayed 发送,也就是延时发送,可以精确控制发送时间,其实这个可用可不用,用了它可以减少一次数据传输而已。

下面简单介绍官方提供基础例子中的SS-TWR 和 DS-TWR

不论SS-TWR 还是DS-TWR 都是双边测距,能够得到两个模块之间的距离信息,而不是位置信息,位置信息需要后期使用高中数学知识计算。

参考官方资料,但并不会逐句翻译,尽量写我的理解,且别人更容易理解的语句。

官方参考资料:《dw1000_user_manual_2.10》APPENDIX 3: Two-Way Ranging

1 Single-sided Two-way Ranging(SS-TWR)

7a2d9d43d5faf8dec221fde0f22b5903.png

一共有两个设备,也就是两个DWM1000 模块,分别称为DeviceA 和 DeviceB, DeviceA 在A 时刻发送一条信息给DeveiceB,经过空中一段时间传播(Tprop)在时刻B到达B设备。

我们很直观的可以看到,时刻B -  时刻A 就是信号的传播时间,也就是Tprop,然后换算距离,是否可行? 答案是不能! 因为A 和B 都有独立的时钟,并没有同步,假如二者时钟可以同步,那么这样计算是最好的。

什么是二者时钟同步? 就是某一个时刻下,设备A 和 设备B 时钟节拍一样,假如都是20180个时钟节拍(时钟节拍从系统上电或者PLL稳定后,从0到最大然后依次0 最大往复)或者两者知道确切的差值。然DWM1000 模块间显然没有这么高的能力让不同模块间时钟同步。

待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值