This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doc:lps:tdoa:protocol [2017-08-31 16:57] arnaud [Packets format] |
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:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
====== 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 |
- | | + | |
- | uint16_t distances[NSLOTS]; | + | uint16_t distances[8]; |
} __attribute__((packed)) rangePacket_t; | } __attribute__((packed)) rangePacket_t; | ||
</ | </ | ||
Line 40: | Line 46: | ||
* **If i != anchor_id** Time of flight between current anchor and anchor **i** in radio timer tick expressed in current anchor clock | * **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: | ||