User Tools

Site Tools


doc:lps:tdoa:protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
doc:lps:tdoa:protocol [2017-09-06 12:10]
arnaud
doc:lps:tdoa:protocol [2020-05-12 14:02] (current)
kimberly
Line 1: Line 1:
 +<WRAP center round important 60%>
 +This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to [[https://www.bitcraze.io/documentation/system/]]
 +</WRAP>
 +
 +
 +
 ====== TDoA Anchor protocol V2 ====== ====== TDoA Anchor protocol V2 ======
  
Line 22: Line 28:
 typedef struct rangePacket_s { typedef struct rangePacket_s {
   uint8_t type;   uint8_t type;
-  uint8_t seqs[NSLOTS];  // Packet sequence number of the timestamps +  uint8_t seqs[8];  // Packet sequence number of the timestamps 
-  uint8_t timestamps[NSLOTS][TS_TX_SIZE];  // Relevant time for anchors +  uint32_t timestamps[8];  // Relevant time for anchors 
-  uint16_t distances[NSLOTS];+  uint16_t distances[8];
 } __attribute__((packed)) rangePacket_t; } __attribute__((packed)) rangePacket_t;
 </code> </code>
Line 48: Line 54:
 ===== Calculating TDoA ===== ===== Calculating TDoA =====
  
-For an example of how to calculate TDoA of packets using this protocol you can look at the Crazyflie source code: https://github.com/bitcraze/crazyflie-firmware/blob/tdoa2/src/deck/drivers/src/lpsTdoaTag.c#L110. This section will explain in English and with drawing the theory used to calculate TDoA. +[[doc:lps:tdoa:principles|Please see TDoA positioning principles]]
- +
-If we consider the 3 last packets sent from anchor 0 and 1: +
- +
-{{:doc:lps:tdoa:tdoa-packets.png?600|}} +
- +
-We can calculate the difference of time of flight (which is the difference of time of arrival, TDoA) by calculating the diffence between δtx and δrx. δrx is measured when receiving packets. δtx can be calculated if we know the time it takes to fly from 0 to 1: Anchor 1 measures the time of arrival of the packet P2 and so knowing the time it took the packet to arrive to 1, we can calculate when it was sent by 0. +
- +
  
doc/lps/tdoa/protocol.1504692619.txt.gz · Last modified: 2017-09-06 12:10 by arnaud