DWM1001 range accuracy variation

Hi DecaCommunity.
I was wondering if anyone had a similar problem as I’m having with my DWM1001:
The range differs based on the distance.

Using the twr simple example from GitHub, I’ve modified the TX delay of the anchor (as I understood from APS014 and APS 004 the tx and rx are subtracted from the calculation so time=(time_total-TxDlyAn-TxDlyTag-RxDlyAn-TxDlyTag)/2 ).
I set the anchor and tag 7.9 meters apart and tweaked tx values until I got the same reading from the ranging system.

However when the tag was moved closer, to for example 3m, the deca output was 2.85m.

I tried calibrating using 3 meters, but then at 7.9 it reads 8.2m.

Is there a remedy for this?
What am I missing?
thank you
Best regards

Have you allowed for signal level variation?

Ideally detection time should be independent of signal level. In reality it isn’t. This gives a signal level dependent distance error. When at rangers larger than the calibrated distance you will read long. At distances shorter than the calibrated distance you will read short.

The effects you are seeing are a little larger than I would have expected for signal level alone but it is almost certainly part of it.

Take a look at section 3 of application note 11 for more details.

2 Likes

You should calibrate at a standard distance, check your errors along the range of interest and define a best-fit correction equation to be used for real time correction.
App Notes help with this.
Marry Christmass.

1 Like

I was wondering if you’ve gotten similar results with your fitting as you can see in the chart below.
The thick black line corresponds to anchor and tag facing each other, with delay calibrated at 4.9m.
Comparing it to the graph in the APS11 (signal strength vs deviation), my plot doesn’t seem to be so smooth. Any thoughts?

When I did this each of my points was the average of a few hundred range measurements and I was outside with everything a few meters above the ground to minimize any environmental effects. Even then I did see some noise in the results with a few of my measurements being clear outliers.
In the end I took a line of best fit through the data and called that good enough. It was enough to bring the error down to under 5 cm for virtually all of the points.