TDoA structure
Posted: Mon Jul 15, 2019 8:36 pm
Hello, Bitcraze team,
Our group is interested in the UWB localization system and currently working on a project based on Crazyflie. In order to support a swarm of Crazyflie, we would like to use TDoA mode. Currently, we only tried TDoA2 mode with 8 anchors set up as a cubic in an 8x8x3 indoor space. We have a couple of questions about the TDoA localization system.
1) TDoA structure
The TDoA structure is implemented as a round-robin fashion (7-0,0-1, ...,6-7). However, most TDoA localization systems are implemented in a centralized or decentralized way. Centralized means all tdoa measurements referring to the anchor 0. (d_{10},d_{20},..,d_{n0}) Decentralized means toda anchor pairs do not share anchor information.(d_{10},d_{32},d_{54}) Both centralized and decentralized tdoa setup have theoretical optimal configurations, however, the round-robin fashion does not have a feasible optimal geometry after similar derivation. Therefore, I wonder why you select round-robin fashion when you implement the tdoa algorithm. Are there any particular benefits of this structure?
2) Where does the history anchor data get information?
The second question is a particular code question. The history data of anchor packets are used throughout lpsTdoa2Tag.c. (It is declared at line 120: static history_t history[LOCODECK_NR_OF_TDOA2_ANCHORS]) However, I did not find where does this static structure get the data. It would be great if you can provide some guidance. Thanks.
3) Which anchor data are used each time in TDoA3 mode?
In TDoA3 mode, anchor data are stored in the " tdoaAnchorInfo_t" and when we process the data in the function, we search for the "tdoaAnchorInfo_t anchorStorage" to check if the anchor is available. Then I have 2 questions.
(3.1) Where does the "anchorStorage" get and update information?
(3.2) Just to confirm. In TDoA3 mode, the anchor pair is random, isn't it?
It would be very helpful if we can get some feedback from you.
Thanks in advance.
Wenda
Our group is interested in the UWB localization system and currently working on a project based on Crazyflie. In order to support a swarm of Crazyflie, we would like to use TDoA mode. Currently, we only tried TDoA2 mode with 8 anchors set up as a cubic in an 8x8x3 indoor space. We have a couple of questions about the TDoA localization system.
1) TDoA structure
The TDoA structure is implemented as a round-robin fashion (7-0,0-1, ...,6-7). However, most TDoA localization systems are implemented in a centralized or decentralized way. Centralized means all tdoa measurements referring to the anchor 0. (d_{10},d_{20},..,d_{n0}) Decentralized means toda anchor pairs do not share anchor information.(d_{10},d_{32},d_{54}) Both centralized and decentralized tdoa setup have theoretical optimal configurations, however, the round-robin fashion does not have a feasible optimal geometry after similar derivation. Therefore, I wonder why you select round-robin fashion when you implement the tdoa algorithm. Are there any particular benefits of this structure?
2) Where does the history anchor data get information?
The second question is a particular code question. The history data of anchor packets are used throughout lpsTdoa2Tag.c. (It is declared at line 120: static history_t history[LOCODECK_NR_OF_TDOA2_ANCHORS]) However, I did not find where does this static structure get the data. It would be great if you can provide some guidance. Thanks.
3) Which anchor data are used each time in TDoA3 mode?
In TDoA3 mode, anchor data are stored in the " tdoaAnchorInfo_t" and when we process the data in the function, we search for the "tdoaAnchorInfo_t anchorStorage" to check if the anchor is available. Then I have 2 questions.
(3.1) Where does the "anchorStorage" get and update information?
(3.2) Just to confirm. In TDoA3 mode, the anchor pair is random, isn't it?
It would be very helpful if we can get some feedback from you.
Thanks in advance.
Wenda