Maximum range of DWM1000

What is a real maximum range of DWM1000?
We try use Decawave recomedation (DW1000 datasheet, page 31, Table 28, string “Longest Range”), but this configuration give only 10-12 meters in RTLS (TWR 1 anchor, 1 tag).

Maximum range we have achieved using config:

static dwt_config_t config = {
1, // Channel number
DWT_PRF_64M, // Pulse repetition frequency
DWT_PLEN_4096, // Preamble length. Used in TX only. */
DWT_PAC32, // Preamble acquisition chunk size. Used in RX only. */
9, // TX preamble code. Used in TX only. */
9, // RX preamble code. Used in RX only. */
1, // 0 to use standard SFD, 1 to use non-standard SFD. */
DWT_BR_110K, // Data rate. */
DWT_PHRMODE_STD, // PHY header mode. */
(4097 + 64 - 32) // SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};
This config give range about 33-37 meters in line of sight in outdoor.
The module is mounted vertically, moving only in azimuth plane
We used 3V supply instead 3.3V, which recommended in datasheet, can it reduced a ouput power and accordingly the range?.
What is the maximum distance you could get using DWM1000 in RTLS application?

Hi Sergey,
I guess that you transmission power was setup on TXmin, otherwise this does not have any sense. I have manage with same configuration and maximum power to go over 660m. With TXmax and with configuration of preamble=1024, PRF=64 and DWT_BR=110K i still manage to go around 600m in outdoor (for channel 2), obstacle free, flat hill environment. 30m distance i have only with minimum transmission power.

Cheers
Nikola

Hi, Nikola.
Can you give you full configuration? Now, i can to achieve about a 110 meters, need to check a greater range.
My config:

static dwt_config_t config = {
5, // Channel number
DWT_PRF_16M, // Pulse repetition frequency
DWT_PLEN_1024, // Preamble length. Used in TX only. */

DWT_PAC32,                // Preamble acquisition chunk size. Used in RX only. */
3,                        // TX preamble code. Used in TX only. */
3,                        // RX preamble code. Used in RX only. */

1,                        // 0 to use standard SFD, 1 to use non-standard SFD. */
DWT_BR_110K,            // Data rate. */
DWT_PHRMODE_STD,        // PHY header mode. */
(1025 + 64 - 32)        // SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */

};

dwt_txconfig_t txpwr_cfg = {
0xC0,
0x1F1F1F1F,
};
smart power is disabled.

Are you use a PA and LNA, or 660 meters reached using only DWM1000? Can you give you PCB design?

Hi Sergey,
I have used only TREK kit, so it is not my own design of the PCB. As much as i understand on TREK there is no PA enabled.

Here is the configuration that i use

                {
                    2,              // channel
                    DWT_PRF_64M,    // prf
                    DWT_BR_110K,    // datarate
                    9,             // preambleCode
                    DWT_PLEN_1024,  // preambleLength
                    DWT_PAC32,      // pacSize
                    1,       // non-standard SFD
                    (1025 + 64 - 32) //SFD timeout
                },

my code is just small modification of demo code that comes with devices. in instance_common.c i am changing power settings in line 590 for example to use power = 0x1F1F1F1F;

Cheers,
Nikola

Hi Sergey
Forget what Nikola wrote, 600 of his unreal meters.
On +33,5dB setting which is max, and under low level of error rate you will get around 150m at 110k and slow refresh rate (3Hz)
If you want to have higher refresh rate (850kbps mode short stuff) then your maximum range will drop to around 110m and it’s only when the humidyty in the air is low, otherwise forget about that number as well.
When like in real life conditions you cover the antenna with a plastic PC kind and it’s high humidyty 50m is max what deca does.
Besides what does matter is the maximum field strength that is allowable not what device can achieve, it happends that no one is able to tell what dwm1000 is configured to produce nad I will have to measure EIRP myself, great support

Best regards

Hi Grezgorz,
Here is the figure that can prove you that no matter how bad i am in measuring of distance in open field, you have much more then 100m. Believe what you want, but i had communication and full ranging report over 660m. (On channel 2 more reliable then on channel 5)

Ciao
Nikola

Two things
First, on the picture the distance looks like 100m
Second theoretically it is possible to get a reading that is coming from interference but it is not repeatable (meaning that when you get you go further than the maximum range, you will loose transmition and even further you could get it again, but it’s outside of first zone therefore not meaningfull)
On trek what is being displayed on a display is useless either, because you don’t see the error rate, only last succesfull ranging distance which is also not valid because the medium floats. To get an understandig of an error rate you neet to look at gpio5 and 6 and it is only then when you can count transmitions with a counter and calculate an error rate that is meaningfull

Best regards

Hey,

i can confirm, that it is possible to reach ranges higher than 100m. The DWM1000 reached 550m LOS using 110k and 30dB (SDS-TWR, 1.5m above ground).

I lost the signal a couple of times - but when I was walking on, it came back: http://www.wirelessconnections.net/calcs/FresnelZone.asp

/Daniel

On the figure you can not even see the second node, that is why i put the arrow

About PDR it is true that is not 100%, but we used UWB sniffer next to one of our nodes also to listen what is in the air and compare results to evaluate the reliability of the communication. Anyway, I have perform more then 50 experiments outdoor and indoor. Once when it is possible, i will show you the plots (now it is still not public available). With maximum TX power in all of my experiments, i newer had PDR lower then 100% before i reach 350-400m, after that you could have fluctuation depend of the environment (city street, mountains, cycling line, lake…). I stop my experiment when PDR drop below 85%.

Ciao
Nikola

Pay attention
When you “lost” your signal an error rate was way above it’s usefulness. A range that corresponds to less than 1% of error rate is a real range that matters. When you move transmitters away, transmitton can be back but in an interference peak (random) not some usable range.
Another thing that can be determined is ranging distance error, which is about 20cm at 32m, the error is not constant and is increasing with distance reaching higher values at the border of rach. So another thing to consider is: what is the range of acceptable ranging error? The error as I mentioned is far more that 10cm that deca states, and the range is far less than deca states, defineatly less than 200m not even mentioning 600+ or other arbitrary value that was “checked” and looks like 100m

Best

Hi, Daniel. Can your give you config? 550m - is a real range with working RTLS application? What about PCB design? How much PDR you have on 550 meters?

Here is my setup
You take a marker (it can ba a black one) you write 660m on a display and you have 600+ meters of range!

Best regards

Hey all,

you seem to try to solve the problems that can be caused not by wrong software settings but also by wrong hardware design. What is your noise floor level? Assuming that you power the board from USB and don’t have ferrites on power and communication lines that can signifficantly rise the noises level. What is the receive signal strength in your case for maximum range and given settings?

Regards,

Bartosz Kawłatow

DWM supplying by TPS62740 (3V output), from li-ion accumulator. Usb used only for charge of accumulator and connection with software on PC.

Hi Nikola
What is PDR? an error rate of some kind?
How do you measure it to stop experiment when PDR drops below 85%?

Best regards

Hi Grzegorz,

for first email that you post, about figures, i will not continue that talk.

PDR= Packet Delivery Ration.
I have a part in rx callback that takes the sequence numbers and compare it. It calculate all the sequence numbers in window of 100 sequences messages, that move slicing, and calculate how much is missing. And then this calculated value is printed as part of my log together with all other diagnostic stuff, range report and some other stuff that i need.

Nikola

Is not this will violate the regulation (41.3 dBm/MHz) ?
Follow the worldwide regulation (41.3 dBm/MHz) what is the longest range (indoor/outdoor) that give trustable distant result?