CIR_PWR sometimes read as zero


I am calculating the received signal power using 4.7.2 Estimating the receive signal power.

Some times my calculation is not working. I have noticed that CIR_PWR(reg:12:04 bits:31–16) Channel Impulse Response Power register value sometimes read as zero. what could be the reason?

Shijo Thomas

1 Like

so do anyone solve this problem? I have encountered this too.

No response from decawave people itself…

No response from decawave

LDE microcode needs to be loaded even if timestamps are not used because diagnostics values are computed during LDE execution. If LDE is not loaded and running, dwt_readdiagnostics will return all 0 values.

Anyways, when receiver is finished, you should not do rx_reset() or reenable it again. If you do then the CIR memory will be cleared.

Hi everyone, I have been investigating this phenomenon. May I ask @shijomts and @chuanqi about your timings for reading the registers, particularly 0x12? I noticed that depending on the order of data reading and other status register readings, I got a different average duration between CIR_PWR = 0, for a given rate of message reception.

For example, I am sending a 1 byte payload every 20 milliseconds. I have encountered some strange issues with bits in the status register not being set immediately after the interrupt fires, for such a small payload. So I introduce a delay before reading the status register. If I make that delay longer, the average duration between CIR_PWR = 0 events initially increases but does not seem to stay stable.

I’m going to do some more tests but please share any more information about your setup that may help identify the cause of this behaviour, in the meantime.

@DecaLeo thanks for the suggestion. My implementation is loading LDE microcode and I still observe CIR_PWR = 0 after a packet is received. I have RXAUTR = 1 set. Is this likely to affect CIR_PWR even if a new packet has not been received? I cannot seem to get operation working if RXAUTR = 0, so haven’t been able to test if this makes a difference. The DW1000 User Manual seems a bit vague on when various registers are reset at each stage of the reception process, with regards to received power measurement.