Hello everyone,
I need to know which value is exactly used for the CFAR threshold, based on register CFAR_THRESH.
I looked through e2e forum, documentation and code, but found no solution - it was more confusing.
In the User Guide for the Demo Visualizer it is stated, that the value given in dB needs to be represented in Q9 format.
I understand the given formula (Q9 conversion + 20log(10) to log(2), discussed here for example e2e.ti.com/.../2322209 ).
But I dont understand, why it should be Q9.
The HWA Manual (HWA 2, page 14 and 15) says, that the CFAR_THRESH is a 18-bit register, which is interpreted as 14.4 (lin) or 7.11 (log) value.
Neither 14.4 nor 7.11 is Q9 format, right? Could you please clearify this?
Additionally, I am confused about line 1500 in data_path.c of mmWave demo:
hwaCommonConfig.cfarConfig.cfarThresholdScale = obj->cliCfg->cfarCfg.thresholdScale;
On the left hand side, we have uint32 (which is enough to store the 18 bit value for CFAR_THRESH) and on the right hand side we have uint16.
I guess this is because we do not need larger threshold scales for mmwave demo, so we dont need to worry about the first 2 bits of CFAR threshold (so they are 0). Is this correct?
One last thing - just for clarification: The HWA can run CFAR in log mode. This means, that all values (2D FFT) are log2(abs(x)) values, right?
Thank you very much, I really appreciate all the support you give here at e2e,
Enric