Distance measurement accuracy

Hi,

I have a pair of the DWM1001C modules I’m using for two way ranging. I found in certain situations, the accuracy wasn’t as consistent as I thought it would be and I wanted to test the different configuration options that the manual recommends for two way ranging. There’s 4 modes in the Table 1: Datasheet Operational Mode Descriptions in the manual that are described as being good for 2 way ranging, two of those options being described as long range/low density, and two described as short range/high density. We originally had been configured for one of the short range/high density options with a data rate of 6.8 Mbps. I find that I can change some of the configuration parameters without issue, but when I try to test the 110 kbps data rate for the long range/low density configuration, my devices suddenly don’t communicate. I looked through the included decawave project examples, but it didn’t look like their ranging example used this data rate. This is a project I inherited from another engineer though so I’m not 100% certain if I have all the original code examples. I have put what I think the configuration should be for the “Mode 3” from the datasheet table. Is there a problem with this config, or is there another parameter/option I should be changing in addition to the config for my code to work? My hunch is that maybe there’s some timing settings that would need to be updated for a slower data rate?

Taking a step back, what would be the optimal configuration for short range distance measurements (1-3 meter range) with an emphasis on accuracy through potential obstacles?

static dwt_config_t config = {
  4,                                /* 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. */
  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. */
  (1025 + 64 - 32)        /* SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};

Thanks in advance.