TDOA Collision DWM1001


Using DWM1001 / TDOA

I’m having an issue with transmission when I’m sending 2 frames of 2 different tag to the same Anchor.

I’m sending frames of 2 bytes every 10ms (exactly the same frame with different value) but I have collisions. My Anchor seems that it can’t treat both values if they are sending at the same time.

To test it, I’m looking on putty to the receive value of my Anchor ; then I see that I can have all these configuration :

  • The Anchor receives the tag 1 value but not the tag 2
  • The Anchor receives the tag 2 value but not the tag 1
  • The Anchor can receives both value. So in this case, this is perfect.

Do you have any explanations or suggestion to fix it?

DW1000 radio can only receive one frame at a time. If the frames are overlapping, then you may get either of the frames, but never both. Also overlapping frames may give you wrong timestamps. E.g. two tags A, B overlapping, you may:
receive tag A’s data but the timestamp may be from tag B or vice-versa. Their impulses will overlap, the CIR will have two peaks and sometimes the timestamp will be B’s and sometimes A’s.

If you want to always get both A and B’s data, then you need to use some kind of TDMA (e.g. TREK, PANS FW).

Hello Zoran,

Thank’s a lot for these informations ! I got one more question, do you know the processing time of the DW1000 for a frame (~12bytes) using dwt_starttx ?


Hello Zoran,

we also ecnounted a similar situation. My case is that:

so does what you analyze also apply to our case in which we doubt that tag A’s time is stamped by the following tag B?


yes, if you have tags transmit randomly, their transmission will overlap (in time) and interfere with each other. This will give timestamping issues in the anchors.

Not sure what do you mean by processing time? Is it the time to transmit the frame? Or time taken from host micro calling dwt_starttx to DW1000 starting to transmit the frame? any commands/data transferred to DW1000 is over SPI, so it all depends on the SPI rate/number of byte to transfer. The time it takes to transmit a frame / duration of frame on the air depends on the frame configuration (PRF, premable length, datarate, payload size etc.) e.g. 12 byte frame (128 preamble, 6.81 Mbps) takes about 180 us.