DWM3000 APS014 - Calibration


I am trying to implement a version of the antenna calibration of the algorithm in aps014, but there are a few questions that comes in my mind, that I can’t resolve by myself.

The first steps are clear,measure the distance between each device, than put the distances in the EDM matrixes and calc the time of flight from this. Also measure with a laser the exact distance between each.

Then I calcuate a set of possible candidates for the antenna delays. Here is the first queastion:

  1. Do I have one set of candidates or do I have a set of candidates for each antenna in my set up?

After that I have to calcuate the tof_candidate matrix. Here is the biggest question mark. The Application Note says: tof_candidate = (2 * Delay_chip1+2 * Delay_chip2+4 * tof_measured)/4

  1. Is tof_measured the whole matrix which I calcuate in the first steps? Or is it just one distance for example between deivce 1 and 2, 2 and 3 and so on, which I put later on back in a matrix?

  2. If I have only one set of candidates, how I can find the best candidate for each antenna in this setup an which delay candidate do I use in every iteration for the different chips?

  3. If there are more than one set, how can I finde the best in a good time?
    To explain: I am tried to implement the example of the aps node with more than one candidate. Here I mixed up every possible combination and it took ages for just one iteration. What is clear if there is in my example 100^3 combinations. When I think about 1000 candidates the time will be more horrible and I could not imagen thats right.

I am looked in the forum here an not found answers for that questions. But if there is, give me a hint, please.

If someone could help me with this I am very grateful. Thanks for that in advance.


A set of candidates, where each candidate has the delays for each antenna.

Yes, its the whole matrix (3x3, diagonal is 0).

You should have 1000 candidates, according to page 8 in APS014. The set of candidates is sorted by smallest norm difference (error). The best 25% are kept and perturbed at each step in the iteration.

You should have 1 set.

There should be 100 steps in the iteration. At each iteration 1000 candidates in the set are evaluated. It can take a minute or two depending on the computer.