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:49] 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:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| ====== 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 | + | uint8_t seqs[8]; // Packet |
| - | | + | |
| - | 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: | ||