51uwb.cn

标题: 一点uwb模块的疑问求解答 [打印本页]

作者: matjumbo    时间: 2022-2-18 13:10
标题: 一点uwb模块的疑问求解答
理论上讲a模块发送3条数据能得到2个发送时间的时间差 st0 st1
b模块接收3条数据也能取得2个接收时间差rt0 rt1
ab模块都静止不动
短时间内时钟误差应该不会太大 那么rt0/st0理论上不是应该等于rt1/st1么?

然而实际测试比例差距会挺大的 比例之间的差值能到0.03

造成这个现象的原因是什么么?


理论上2条发送数据的时间差与2条接收数据的时间差 应该相等才对 也就是说2个差的比例就是俩模块间时钟比例  不知道理解对不对





作者: 蓝点无限    时间: 2022-2-21 22:10
你说的理论上是对的。确实应该是等比例的。 误差应该在千分之几,目前看到你的数据结果3%确实有点大。

晶振是确实会影响测试结果。 可以将三条信息的时间间隔缩短测试。

如果有有源晶振可以对比下测试结果。

之前有个客户,用普通模块测试ss-twr,效果很差,但是用有源晶振模块测试,效果基本能达到ds-twr
作者: matjumbo    时间: 2022-2-22 09:02
用的你们开源的那个代码  txmain改发送完成之后间隔2ms再次发送  每次发送前获取上传发送时间 把上次发送时间发出去 rx_main里直接接收输出接收时间
这个应该是有源晶振吧  https://item.taobao.com/item.htm ... &_u=m4ujfmj43cf这个产品
作者: 蓝点无限    时间: 2022-2-22 21:53
matjumbo 发表于 2022-2-22 09:02
用的你们开源的那个代码  txmain改发送完成之后间隔2ms再次发送  每次发送前获取上传发送时间 把上次发送时 ...

1 源代码如果方便可以共享一份,我们测试下,对于你说的这个我们也很感兴趣
2 链接不是。官方模组DWM1000没有有源的。 我们的BP400 有有源版本,可以联系客服索要链接
作者: matjumbo    时间: 2022-2-23 16:53
额  是这边算错了 少算了一位数据
另外就算想差万分之几的话 传一轮15个字节的数据来回一次差不多6ms 这误差就到微秒级别了呢.....
代码中定义的DWT_TIME_UNITS应该是一个计数是多少分之1秒吧 算下来1毫秒应该是0.001/(1.0/499.2e6/128.0)=0x03cf0000
俩数据用中断收到数据就发送  俩次发送时间差为(0xb133354739-0xb11a996c00)/0x03cf0000 =6.461391116411258
(((0xb133354739-0xb11a996c00)/0x03cf0000)*0.0002)这时钟误差产生的距离就有几百米了呢
(((0xb133354739-0xb11a996c00))*0.0002)*DWT_TIME_UNITS*SPEED_OF_LIGHT=387.2990749503255
这时钟产生的误差真能消除掉么?
作者: matjumbo    时间: 2022-2-23 16:58
BB 49 8C E6 4B A6 00 64 EF 2F DD 00 00 4A A1 0D 0A C8 E8 16 68 7A 0d 0a 0d 0a
AA AB A6 3C 39 00 00 C6 58 21 00 00 00 4F E6 0D 0A 3F 03 14 80 7A 0d 0a 0d 0a
BB 0E 07 C7 7B A6 00 68 C9 63 A6 00 00 8F 6E 0D 0A 18 01 7C 99 7A 0d 0a 0d 0a
AA C4 CE A1 6A 00 00 48 39 51 00 00 00 BA 07 0D 0A 78 E9 4A B1 7A 0d 0a 0d 0a
BB 06 F5 FD AC A6 00 88 2E 95 A6 00 00 4A DD 0D 0A 4D 8B B2 CA 7A 0d 0a 0d 0a
AA DE 68 D8 9B 00 00 3E 70 82 00 00 00 AD 02 0D 0A B7 37 81 E2 7A 0d 0a 0d 0a
BB E1 4A 34 DE A6 00 1A 65 C6 A6 00 00 BC 6A 0D 0A A0 EF E8 FB 7A 0d 0a 0d 0a
AA ED DC 0E CD 00 00 9C A6 B3 00 00 00 3D 8C 0D 0A EF 95 B7 13 7B 0d 0a 0d 0a
BB DE B0 6A 0F A7 00 86 9B F7 A6 00 00 F8 CC 0D 0A F3 07 1F 2D 7B 0d 0a 0d 0a
AA 04 05 45 FE 00 00 0A DD E4 00 00 00 A5 0B 0D 0A 2A A6 ED 44 7B 0d 0a 0d 0a
BB BE C8 A0 40 A7 00 A6 D1 28 A7 00 00 5E F8 0D 0A 27 6A 55 5E 7B 0d 0a 0d 0a
AA 18 77 7B 2F 01 00 2A 13 16 01 00 00 5F B1 0D 0A 58 0E 24 76 7B 0d 0a 0d 0a
BB A2 38 D7 71 A7 00 10 08 5A A7 00 00 1C 97 0D 0A 85 84 8B 8F 7B 0d 0a 0d 0a
AA 42 A1 B1 60 01 00 A2 49 47 01 00 00 A0 46 0D 0A 6E 22 5A A7 7B 0d 0a 0d 0a
BB 84 54 0D A3 A7 00 32 3E 8B A7 00 00 CF A6 0D 0A C1 B2 C1 C0 7B 0d 0a 0d 0a
AA 55 DF E7 91 01 00 C6 7F 78 01 00 00 B7 4C 0D 0A AE D4 90 D8 7B 0d 0a 0d 0a
BB 59 0E 44 D4 A7 00 68 74 BC A7 00 00 DF 87 0D 0A 08 25 F8 F1 7B 0d 0a 0d 0a
AA 79 61 1E C3 01 00 88 B6 A9 01 00 00 5E AF 0D 0A E0 06 C7 09 7C 0d 0a 0d 0a
BB 49 48 7A 05 A8 00 E2 AA ED A7 00 00 88 0F 0D 0A 5C 61 2E 23 7C 0d 0a 0d 0a
AA 92 AD 54 F4 01 00 CA EC DA 01 00 00 3B 80 0D 0A ED 68 FD 3A 7C 0d 0a 0d 0a
BB 37 B2 B0 36 A8 00 26 E1 1E A8 00 00 88 25 0D 0A A2 D5 64 54 7C 0d 0a 0d 0a
AA A2 31 8B 25 02 00 3C 23 0C 02 00 00 A8 8C 0D 0A EB C2 FF 6C 7C 0d 0a 0d 0a
BB E2 13 B3 68 A8 00 A2 17 50 A8 00 00 5D D3 0D 0A D4 6B 67 86 7C 0d 0a 0d 0a
AA EB D7 8D 57 02 00 A6 25 3E 02 00 00 74 A1 0D 0A BC B0 02 9F 7C 0d 0a 0d 0a
aa bb是俩模块 第一个5位是接收到数据的时间 第二个5位是上次发送的时间  0d0a之后的5位数据是使用第三个模块接收到的时间

想使用第三个模块接收俩模块的数据做小车跟随   理论上讲 23模块位置固定  1-2模块之间的消息 3模块能接收到 而且1-2之间3条消息之间的时间差应该等于2倍1-2的距离 另外3个消息接收时间差的差应该等于1-3距离与2-3的距离差
这样应该能减少几个请求。。。但这时钟误差消除不顺畅啊。




欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3