Using the DWM1000 to estimate the receive signal power level

[color=#333333]Hello everyone
[color=#333333]I am currently trying to obtain changes in the received signal power due to different occlusion when the RX and TX nodes are at a fixed distance. Using channel 1, 6.8 Mbps data rate, 16 MHz PRF, 128 preamble length. [/color]
[color=#333333]I read the values of CIR_PWR and RXPACC in turn according to Section 4.7.2 of the DW1000 User Manual (version 2.06) and use the formula to calculate the estimate receive signal power level. Unfortunately, when the distance between TX and RX is 2m, the received signal power varies only between -91.265dBm and -91.305dBm, no matter what kind of occlusion occurs between them. I tried to change the surrounding environment, but nothing changed. Normally, increasing the distance between TX and RX will cause the received signal power to attenuate. However, when I fixed TX and moving RX, the receive signal power still varies between -91.265dBm and -91.305dBm. From the value of the RXPACC that was read, the 12-bit RXPACC was set to 0xFFF(11111111-1111) after only three transmissions were performed. From the value of the read CIR_PWR, the high 8 bits remain unchanged, and the low 8 bits change with the different occlusion conditions. From my personal point of view, the problem should be located in the high 8 bits of CIR_PWR. [/color]
[color=#333333]Unfortunately, due to the lack of useful information provided in the User Manual, I have not found a solution until now. Has any friend achieved a correct measurement of the received signal power and can share your method? If you can, be grateful. Thanks so much. [/color]
[color=#333333]Certainly, we can also conduct a comprehensive discussion on this issue. My e-mail address is:[/color]

For DW1000 to estimate receive level correctly the RX signal needs to be < -85 dBm, for signals with greater power the DW1000 cannot estimate the RX level correctly, as per Figure 22 in UM.

Have you tried ,-85dBm? Also what is the TX power configured to?

Also note the value for C in the formula is read form register 0x12 offset 4 - as per User Manual register description. The API code does 1 read and reads 64 bits from 0x12 offset 0 into diagnostics structure. You need to use maxGrowthCIR in the formula. Also you need to pick the correctt A constant for the formula.

Finally, you’re working of a very old IC user manual. The current version is 2.13. Later versions then 2.06 have more info on RXPACC.

Due to our website maintennce the current version on our website is 2.12, so please find 2.13 in your email inbox

Our website will be updated with 2.13 early next week