-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
Hello, has anyone encountered any abnormal measurements? I was trying to track down their cause and it turns out that the TOF is not being measured correctly. The computeRangeAsymmetric function in DW1000Ranging.cpp calculates myToF using four timestamps
void DW1000RangingClass::computeRangeAsymmetric(DW1000Device* myDistantDevice, DW1000Time* myTOF) {
// asymmetric two-way ranging (more computation intense, less error prone)
DW1000Time round1 = (myDistantDevice->timePollAckReceived - myDistantDevice->timePollSent).wrap();
DW1000Time reply1 = (myDistantDevice->timePollAckSent - myDistantDevice->timePollReceived).wrap();
DW1000Time round2 = (myDistantDevice->timeRangeReceived - myDistantDevice->timePollAckSent).wrap();
DW1000Time reply2 = (myDistantDevice->timeRangeSent - myDistantDevice->timePollAckReceived).wrap();
myTOF->setTimestamp((round1 * round2 - reply1 * reply2) / (round1 + round2 + reply1 + reply2));
}The error occurs mainly due to incorrect measurement of round1
I know that anchors are polled sequentially. But I don't understand what to do next. Can you please advise me who has faced this problem and how to solve it. Below I attach two screenshots with measuring distance of 4 anchors in motion and in static position.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels

