Hi everyone,
We are trying to implement the algorithm to detect NLOS messages according to APS006_part3 but we are having troubles with registers LDE_PPINDX and LDE_PPAMPL.

Our test set(1 TX and 1 RX device) is located LOS with a range of 2meters. As the TX device sends 1 packet, at RX side in “LDE DONE” interrupt, we read the whole CIR from the accumulator, calculate the magnitude values from sqrt((R^2)+(I^2)) where R is the real part and I is the imaginary part of the accumulator memory. We read 5 bytes per accumulator index and ignore the first response byte since it is a dummy byte because of the delay reaching the accumulator. The CIR data seems to be OK without any unwanted peaks visible before FP_Index (FP Index is always around 750).

Until here, everything seems OK. But when we read LDE_PPINDX (10bit integer, 6 bit fraction) and LDE_PPAMPL values from register 2E:1000 and 2E:1002, we see that the index is always far far away from FP index(generally around index 20), the PP amplitude is much lower than FP magnitude. I am sharing an image where the 1st graph is the graph of the whole CIR, 2nd image is the CIR values where zoomed around PP_Index, 3rd graph is the CIR zoomed to the FP index (from idx 700 to 800)

As seen from the whole CIR, since there is no peaks at the CIR at “PP_Index”, why do you think we read the PP_Index and PP_AMPL values like this?

Channel 2, 16MHz PRF, 1024 preamble cnt

Thanks for your cooperation,

I have more or less the same problem: 2 devices in LOS at 50cm of distance that read FP_INDEX 47000-48000 and PP_INDEX 750, even though theoretically they should coincide. Did you solve the problem?