aimar500 发表于 2020-6-17 19:52:14

TDoA Delayed Tx 验证

本帖最后由 aimar500 于 2020-6-17 20:59 编辑

拜读了‘TDoA DelayedTx’ 那篇博文,受益匪浅。现在按照文章进行验证。有如下问题。

问题1. 文中提到"final_tx_ts 所有40bit都是有效的,而last_tx_ts低9bit 一直为0,两者比较的时候需要忽略低9bit",可是我打印出来的'final_tx_ts'和'last_tx_ts' 的40bit 都是完全一样的,而且低9bit也不为0,实测数据如下(格式为 final_tx_ts -> last_tx_ts):
msg1: 10b4a0b834 -> 10b4a0b834
msg2: 234ba98434 -> 234ba98434
msg3: 35d9850e34 -> 35d9850e34
msg4: 48737a5434 -> 48737a5434
我个人理解应该是文中的'last_tx_ts低9bit 一直为0'不正确, last_tx_ts = get_tx_timestamp_u64(); 返回的应该是40bit都有效的。
但我的结果中每次发出的TS最低8bit都是34,而且final_tx_ts与last_tx_ts完全一致, 是否有问题?

问题2. 应该如何设置TX_ANT_DLY和RX_ANT_DLY的数值呢?


问题3. 文中使用final_msg_set_ts将40bit的ts保存到发出的消息中,但是在final_msg_set_ts函数中只写入了32bit数据,是否应该扩展到40bit(或者64bit)。同样的,final_msg_get_ts函数只获取消息中的32bit数据。

万分谢谢,






蓝点无限 发表于 2020-6-20 17:06:37

问题1 final_tx_ts是一个定时发送的。 具体发送时间是定时,DW1000 时钟是低9bit无效,是全0. 所以定时只能匹配的时间也是低9bit 为0。 如果非0,那需要检查代码了。这样说不知道你能否明白

问题2 这个根据不同天线进行微调了,step±50为基础。调好后,一般固定一个再调其他

问题3 这个我再考虑下,之前想过,现在忘记了

时间复检 发表于 2020-11-2 11:06:40

蓝点无限 发表于 2020-6-20 17:06
问题1 final_tx_ts是一个定时发送的。 具体发送时间是定时,DW1000 时钟是低9bit无效,是全0. 所以定时只能 ...

坛主可以发个双缓冲寄存器相关的使用教学吗,我使用双缓冲后,两个基站一个标签都还是会丢帧,感觉是我用的不对
页: [1]
查看完整版本: TDoA Delayed Tx 验证