Range error due to antenna angle/orientation


Just wondering if anyone has seen and attempted to correct ranging errors introduced by a change in orientation of the DWM1000 module? I’ve been doing some testing by rotating one DWM1000 through 360 degrees while leaving the other DWM1000 stationary at a distance of around 3m. We’ve seen the calculated range drift by up 0.8m simply by rotating one of the devices. We’ve also seen similar behaviour with other orientation changes.

I’ve read some articles that do also describe this problem, but not a lot about what to do about it. I’m specifically interested in trying to correct the range distance rather than filtering it out. I’ve seen mention of applying a range bias value (like is already done based on the calculated distance) based on the RX power level. Has anyone tried this before or have some other ideas?


Hi Mike

The antenna used with the DWM1000 has a variation in gain when changing the angle. See also the DWM1000 datasheet (version 1.6)
Power bias affects the ranging accuracy. The power/range bias is described in APS011.
APS011 also explains how applying a range bias correction could help.


Hi Leo,

I did see APS011 and have a few questions about it as well.

  1. Table 2 in APS011 (with the correction factor for a range of receive signal values) only shows about 19cm of variation for a 64MHz PRF (which we are using) - from -11.0cm to +8.1cm. That wouldn’t account for the 80cm of variation we are seeing. Is there an extended version of that table with a wider range of receive signal levels? If not then I don’t think range bias correction based on Rx power level is the only source of the variation in range.

  2. The method given to calculate receive signal power in section 3.4 of APS011 is different to the method given in section 4.7.2 of the DW1000 user manual. One approach seems to use actual measurements from the receiver (in the user manual) while the other seems to be a theoretical value based on knowledge of the TX power and the calculated distance between the antennae. It seems to me that it would be more preferable to obtain the receive power level by reading it from the device rather than attempting to calculate a theoretical value based on time of flight calculations that are subject to other sources of error (such as NLOS signals and reflections). Would you agree? Do you think there is any benefit in comparing the two different methods of Rx power calculation?

  3. If we apply a range bias correction based on received signal power, should we also apply a range bias correction based on the calculated distance (as I’ve seen done in DecaRanging source code from DecaWave)? If so, should we apply the distance based range bias before calculating the receive power level?

Thanks for the assistance,

I suggest you turn off power/range bias feature and test again, also pay attention to your battery because it may reflect the signals.


We also found this problem. We use ceramic antennas, and we have seen the calculated range drigt by up max 1m by rotating the devices. Has anyone solved this promblem?

It’s possible that the antenna radiation pattern and polarization can affect the signal strength (and therefore the time-of-flight) for different orientations but 80 cm error seems high for 3 meters in line of sight…

Not sure if this is the issue you’re facing, but this paper proposes a method to correct the ranging error due to the relative pose of two ranging modules:

Any success on this topic?

There are 3 ways range error upon rotation can be introduced between two nodes with apparent line of sight.

  1. Antenna group delay variation

This is the natural variation in the antenna delay with direction. It can be in the range of 20 cm for any given antenna. The “man” antenna Decawave provides has ~10-15 cm variation with rotation, for example. Through careful design, an antenna can get this down to a few cm, but achieving zero is really not a feasible goal, at least not in a general way.

If you have some means to measure the orientation between the two nodes, you can model and correct for this variation to some degree.

  1. Signal strength variation

As Decawave details in APS011, changes in signal strength introduce a change in antenna delay. This effect is about +/- 10 cm.

By looking at the signal strength, the delay variation can be modeled out. It won’t be perfect because it depends somewhat on the other signals coming into the DW1000.

  1. Antenna null

In certain orientations, the antenna pattern will have a null. If that null is deep enough, the first path is lost entirely at the receiving node, even at 3 m distances. Similarly, the signal effect could be cancellation where the first path is being mixed with a 180 degree out of phase short multipath. In either case, the DW1000 fails to find the true first path and will lock onto the next detectable signal which is the shortest multipath signal. The distance variation is always positive (reading is longer than true distance). The change in distance can be large, it depends on your environment.

From your description, it is apparent you have this effect going on since that is the only viable means to get such large variations with rotation in an otherwise properly designed system. It is possible some other fault (time base, software, etc) could be at issue here, but if the effect is truly related only to antenna orientation, then to get the large variations you report, it has to be null or cancellation.

I’ve read some articles that do also describe this problem, but not a lot about what to do about it.

If you know the antenna patterns, setup your system so that the nulls don’t align between nodes, which should remove the major variations for the most part. Cancellations from objects moving in your environment can always introduce cancellations, though.

If that isn’t possible, then you need to assess each reading and determine if it is valid (true first path) or false (multipath). This takes some sophisticated analysis of the signal metrics and can only be done to a certain probability. We took millions of empirical measurements to tune our quality weighting function to assess signal validity.

Once a signal is deemed to be likely multipath, there is no easy way to correct it for the true path, that signal just wasn’t received. There are possible complex treatments involving pattern matching the impulse response between a “good” hit and a “bad” one and making some adjustment, but this is a huge amount of work with a good chance it fails. We have looked into that and decided it wasn’t worth pursuing further, and the computational load and time to read out the impulse response would cripple system performance.

Mike Ciholas, President, Ciholas, Inc
3700 Bell Road, Newburgh, IN 47630 USA
+1 812 962 9408

1 Like

We tested several different off the shelf antennae and managed to find one that approximately halved the ranging variance we were experiencing. However if the main root cause was the antenna null pattern, it’s possible we just shifted the null pattern behaviour to a different distance / orientation. We were looking for a solution for a mobile environment, so unfortunately it was not possible to do any sort of reliable antenna alignment, as the mobile tags were able to rotate 360 degrees.