This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR6843: Difference in SNR Values between SDK 3.5.0.4 and SDK 3.3.0.3

Part Number: IWR6843

Hi,

I am using IWR6843 ES2.0 Radar module. I am using a Corner Reflector placed at about 3m from the Radar. Using mmWave Demo Visualizer version(3.5.0), I am recording the SNR Value of the Corner Reflector target at bore sight.

1. With SDK 3.5.0.4 Out-of-Box Binary and its profile_2d.cfg, SNR observed was 89dB.

2. The same Radar with SDK 3.3.0.3 Out-of-Box Binary and its profile_2d.cfg. The SNR observed was 92dB.

We repeated the above at different angles, ranges. And with different Radar Modules.

See that there is a difference of about 3dB between the two SDKs.

What is causing this difference in SNR?

Regards,

N.Shankar

  • Hi, Shankar:

    In the newer SDK, the TX and RX calibration is turned on.  In addition, if you compare the two profile_2d.cfg files, the RX gain setting is also different.   You can modify the profile_2d.cfg to use the same RX gain first.

    Best,

    Zigang

  • Hi,

    As you said, I tried modifying the profile_2d.cfg of SDK 3.5.0.4. In that, I changed the RX Gain Parameter of profileCfg from 158 to 30 and tried running the Demo Visualizer with the edited profile_2d.cfg. SNR Observed was 89dB.

    Can you suggest any other ideas ?

    Regards,

    N.Shankar

  • Hi, Shankar:

    If different RX setting does not change the SNR, then I will need to consult with our software expert on this.  I will get back to you soon.

    Best,

    Zigang

  • HI, Shankar:

    Our software expert suggest to 

    1) Try on SDK 03.04.00.03, if you see the same problem,  it is very likely that the calibration is causing the difference. 

    2) On the new SDK version, try to disable the calibration by changing the calibration and periodicity to false in mss_main.c, and then recompile the code. 

    Let me know how it goes.

    Best,

    Zigang

  • Hi,

    1. I tried with SDK 03.04.00.03, SNR captured using Demo Visualizer was 88.5dB

    2. I disabled the calibration in SDK 03.05.00.04 and compiled the code and flashed the binary, SNR captured using Demo Visualizer was 89dB.

    So, Change in Calibration is not causing any difference.

    Can you suggest a solution?

    Regards,

    N.Shankar

  • Hi, Shankar:

    1) Can you check the signal profile (zero Doppler bin) and average noise profile (high Doppler bin) in the visualizer, and see how they are different?   Can you see the same 3dB difference?  which will give a clue how the analog front-end different?

    2) The reported SNR is calculated in CFAR, which is averaged from the neighboring bins from the range-Doppler heatmap.  So the type of FFT windowing and CFAR window size, guard size all matters.   

    IF you cares more about analog frontend performance, you can focus on the first item.   And again, with calibration disabled. 

    Best,

    Zigang

  • Hi,

    As you said, I checked the Signal Profile and Noise Profile in the mmWave Demo Visualizer 3.5.0.

    1. With SDK 3.5.0.4(Disabled Calibration) and its profile_2d.cfg, we observe SNR value as 89dB(Range Profile) and Noise Profile as 35dB.

    2. Can you tell where to look about the parameters related to FFT? Is this causing the difference in SNR Values?

    Regards,

    N.Shankar.

  • HI, Shankar:

    For 1) you may want to do the same with older version of SDK and compare side by side.   It will be great if you can send the signal/noise profile figure with peak marked.  

    For 2), the FFT size may affect the FFT scaling, 

    • At SDK 3.3.0.3 Out-of-Box, it is hardcoded at C:\ti\mmwave_sdk_03_03_00_03\packages\ti\datapath\dpu\rangeproc\src\rangeprochwa.c

    hwaParamCfg[paramsetIdx].dest.dstScale = 0;

    hwaParamCfg[paramsetIdx].accelModeArgs.fftMode.butterflyScaling = 0x3;

    • At SDK 3.4.0.3 and above, it is programmed at the same file

    hwaParamCfg[paramsetIdx].dest.dstScale = pDPParams->fftOutputDivShift;hwaParamCfg[paramsetIdx].accelModeArgs.fftMode.fftEn = 1;

    hwaParamCfg[paramsetIdx].accelModeArgs.fftMode.butterflyScaling =
    (1 << pDPParams->numLastButterflyStagesToScale) - 1U;

    Best,

    Zigang

  • Hi,

    Thanks for the reply.

    I have used the same setup as mentioned above. I have used mmWave Demo Visualizer 3.5.0 for capturing the Signal/Noise Profile.

    I have attached the images of the signal/noise profile of SDK 3.3, SDK 3.4 and SDK 3.5 in the below pdf. Setup is same.

    Signal_Noise_Values.pdf

    Regards,

    Shankar.N

  • HI, Shankar:

    I will have to consult with some SDK expert and trying it myself before set back to you.

    Best,

    Zigang

  • Hi, Shankar:

    Sorry for the delay, I did some raw data capture and does observe the lower SNR in the SDK 3.5.0.4 comparing to the SDK version 3.3.0.3.  The test at home with a small CR located at 0.9m looks more obvious than a large CR located at 5m in the Anechoic chamber.  I also observed the loop back gain level is different between the two versions.  

    Can you try a target with different distance?   

    I reported this problem to the design team but have not received any feedback from them yet.

    Best,

    Zigang

  • Hi, Shankar:

    The designed team is suggesting to use default SDK OOB demo (with calibration on), but set the RX gain to 36dB.  This should match the RX gain of 30dB in the SDK 3.3.0.3.   

    I have tried it on my side and confirmed that the SNR matches closely with 30dB in SDK 3.3.0.3 and 36dB in SDK 3.5.0.4.

    Best,

    Zigang