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-08-31 16:45]
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 17: Line 23:
 ===== Packets format ===== ===== Packets format =====
  
 +There is only one packet format. This packet is sent at the begining of each time-slot by the anchor allowed to transmit in the timeslot.
 +
 +<code c>
 +typedef struct rangePacket_s {
 +  uint8_t type;
 +  uint8_t seqs[8];  // Packet sequence number of the timestamps
 +  uint32_t timestamps[8];  // Relevant time for anchors
 +  uint16_t distances[8];
 +} __attribute__((packed)) rangePacket_t;
 +</code>
 +
 +Assuming the current anchors is of ID **anchor_id**
 +  * **type** is 0x22
 +  * **seqs[i]**
 +     * **If i == anchor_id** Sequence number of the current packet
 +     * **If i != anchor_id** Sequence number of the latest receive packet from anchor **i**
 +  * **timestamps[i]**
 +     * **If i == anchor_id** Transmit time of the current packet expressed in current anchor clock
 +     * **If i != anchor_id** Receive time of the latest receive packet from anchor **i** expressed in current anchor clock
 +  * **distances[i]**
 +     * **If i == anchor_id** Reserved for future use
 +     * **If i != anchor_id** Time of flight between current anchor and anchor **i** in radio timer tick expressed in current anchor clock
 +
 +===== Tag implementation =====
 +
 +A TDoA tag is simply an UWB sniffer. A sniffer can use the data in the packets together with the packet receive timestamps to calculate its position.
 +
 +In order to save some electric power, a tag implementation can choose to track the TDMA timeslots and only listen when packets are transmitted. Though this is not a requirement.
  
 +===== Calculating TDoA =====
  
 +[[doc:lps:tdoa:principles|Please see TDoA positioning principles]]
  
doc/lps/tdoa/protocol.1504190711.txt.gz · Last modified: 2017-08-31 16:45 by arnaud