In First path power calculation , dw3000 user manual says the first path amplitudes have 2 fractional bits. But, the value in the register is a 22 bit value, how we can find the integer and fractional parts?
Read the value as an int, cast to a float and divide by 4.
Can we do the same thing in peak path amplitude as well?
The user manual doesn’t mention any fractional bits in the register description. But then it doesn’t mention fractional bits in the register description of the first path amplitude values either, that is only mentioned in the section on calculating power levels.
Peak power is only 21 bits while first path power is 22 bits (20 bits integer + 2 fractional if you believe section 4.7.1 of the manual).
Since by definition peak power is going to the same or larger than first path power it would be odd for it to have a lower maximum value, that implies that it doesn’t have any fractional bits.
In the driver source code the peak power and the first path power are treated identically which would imply they are the same. But the values aren’t used anywhere in any of the examples that I can see so maybe they expect the user code to handle the fractional bits where applicable.
My gut call would be that peak path amplitude doesn’t have fractional bits but it would be good if someone like @Kenneth_Dwyer_DW could clarify this.
And maybe in the next version of the user manual they could update section 184.108.40.206 to include some mention of the fractional bits (or remove mention of them from 4.7.1, whichever is correct).
The first path power is close to peak path power if the devices are in line of sight, This condition only satisfies if we take the the first path amplitudes as float and divide it by 4, and the amplitude ratio between first path maximum and peak path should be greater than 0.9 in LOS, This condition only satisfies if the peak path amplitude and first path amplitude are treated as same.
The first path amplitude values F1, F2, F3 - are all 22 bits [21:0] and they all have 2 fractional bits. The section in the User Manual: 4.7.1 is correct.
Regarding the peak amplitude, this is 21 bits [20:0], with 2 fractional bits. Actually it should be the same as F1, F2, F3 … this is an errata for DW3000. The MSB is missing.
This should not present a problem for the standard use cases as we should never really get to the limits of the accumulator for short preambles and STSs