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.

IWR1642BOOST: Increase the SNR and remove the ghost

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: IWR1642

I tested with IWR1642BOOST to detect small objects in open ground.

15x15cm target was placed at 10m. 

CLI configuration is below: (set active frame time high)

% ***************************************************************
% Created for SDK ver:03.04
% Created using Visualizer ver:
% Frequency:77
% Platform:xWR16xx
% Scene Classifier:best_range_res
% Azimuth Resolution(deg):15
% Range Resolution(m):0.039
% Maximum unambiguous Range(m):31.49
% Maximum Radial Velocity(m/s):2.34
% Radial velocity resolution(m/s):0.3
% Frame Duration(msec):100
% Range Detection Threshold (dB):15
% Doppler Detection Threshold (dB):15
% Range Peak Grouping:enabled
% Doppler Peak Grouping:enabled
% Static clutter removal:disabled
% Angle of Arrival FoV: Full FoV
% Range FoV: Full FoV
% Doppler FoV: Full FoV
% ***************************************************************
dfeDataOutputMode 1
channelCfg 15 3 0
adcCfg 2 1
adcbufCfg -1 0 1 1 0
profileCfg 0 77 8 7 200 0 0 20 1 1008 5250 0 0 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 2
frameCfg 0 1 16 0 100 1 0
lowPower 0 1
guiMonitor -1 1 1 0 0 0 1
cfarCfg -1 0 2 8 4 3 0 15 1
cfarCfg -1 1 0 4 2 3 1 15 1
multiObjBeamForming -1 1 0.5
clutterRemoval -1 0
calibDcRangeSig -1 0 -5 8 256
extendedMaxVelocity -1 0
bpmCfg -1 0 0 1
lvdsStreamCfg -1 0 0 0
compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
measureRangeBiasAndRxChanPhase 0 1.5 0.2
CQRxSatMonitor 0 3 19 125 0
CQSigImgMonitor 0 125 16
analogMonitor 0 0
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0 31.50
cfarFovCfg -1 1 -2.34 2.34

And changed some command for using BPM scheme instead of TDM-MIMO. changed command is below: (refer ti\demo\xwr16xx\mmw\profiles\profile_2d_bpm.cfg)

adcbufCfg -1 0 1 1 1

chirpCfg 0 0 0 0 0 0 0 3

chirpCfg 1 1 0 0 0 0 0 3

bpmCfg -1 1 0 1


When using the BPM plan, there was no noticeable difference in the range profile value of the visualizer.

How can I confirm that SNR has risen? Is the BPM scheme applied correctly?


In the above test process, False detection(ghost) appeared. There is only one target at 10m in front of the device

The antenna coupling signature was removed through the calibDcRangeSig command, but the result was as follows.

How can I get rid of this false detections?


profileCfg 0 77 287 7 200 0 0 20 1 1008 5250 0 0 30
frameCfg 0 1 16 0 100 1 0

About this configuration, I understand that number of range FFT bins = 1024, (because numAdcSample parameter is 1008) number of doppler FFT bins = 16 (because numLoops parameter is 16).

Is my understanding correct?


  • Hi,

    Due to Holidays, our experts will be able to get back to your early next year 

    Mean-while you can refer to following threads:

    1) Ghost point:

    2) BPM SNR. Please check if you are using Doppler running on DSP, since this configuration is not supported in HWA based doppler module.

    Thank you for your patience.



  • Thank you for reply.

    1) I used calibDcRangeSig command, but the ghost still appears.

    2) As it used out of box demo, it is running on DSP.

    I look forward to hearing from experts after the holidays.


  • Hi, there:

    1) Regarding SNR check, I would recommend you to enable noise profile in the plot selection (see the figure below), and then check the signal and noise level.   The signal profile is calculated from zero-doppler and noise profile is calculated from high Doppler (both are with all the antenna non-coherently combined).  

    2) Regarding the ghost, are you refer to the detection around DC or the detection around 22m?

    3) Your understanding about the range FFT size and Doppler FFT size is correct.



  • Thank you for reply,

    1) Ok, I'll test it later.

    2) In this case, there is only one object at 10m in front of the device.
    However ghosts appear around DC and 22m position. I want to remove ghosts at both positions.


  • HI,

    For the false detection around DC, I would suggest to skip the first several range bins in the CFAR detection to avoid the detection.  Regarding the detection at 22m, you will have to do more investigation.  Did you have any floor/ceiling/wall reflection, how you can be so sure that you only have 10m target?  Can you move the 10m target and see whether it affects the 22m target to check whether it is some multipath reflection or inter-modulation (it is very unlikely) related to the 10m?



  • Thank you for reply,

    1) For the false detection around DC, I used command(calibDcRangeSig -1 1 -5 8 256), but they have not completely removed.

    How can I skip the first several range bins in the CFAR detection?

    Do I need to change the code or parameter of calibDcRangeSig command?

    2) Because I tested with nothing around, I can sure that only had 10m target.

    I can't test it again right now, but interestingly when a person was standing on the right side of the sensor, 22m target wasn't detected.

  • HI, there:

    1) To skip the detection on the first several range bins, you do not need any code change, just adjust the third parameter in the following CLI command

    cfarFovCfg -1 0 0.25 9.0

    You can search for cfarFovCfg in the SDK users guide to understand each field. 

    2) Any ground will generate ground reflection, especially the uneven field.   The antenna on iwr1642 has narrow elevation FOV.  Therefore, you may not have strong reflection from the close in ground, but you can have some significant reflection from further down (some bumpy ground).   Only when you aim the sensor to the sky, you can expect no reflection. 



  • Thank you for reply,

    However, since we experimented with the sensor on a tripod, the sensor was far from the ground.

    Also, the target and sensor were kept as horizontal as possible.

  • Hi, there:

    Here is an example of the sensor FOV and ground.  Red is your target.  The yellow region is the sensor elevation field of view (FOV),  part of ground (in purple) will be within the sensor field of view.   Assume the sensor height is 1.5m, then the distance when the FOV cross the ground will be 1.5/tand(15) = 5.6m. 



  • The figure did not go through, and so I attached here.



  • Probably, you can tilt the sensor up by 30 degree to make sure the ground be out of the sensor FOV, and see whether you still see some false detection around 22meter.



  • I understand. Thank you for your kind explanation.

    Is there any way to remove(or reduce) ghosts from reflections caused by ground or other objects(ex, windows or steel) when the sensor cannot be aimed at the sky?

    Or a document and link?


  • HI, there:

    The detection you want to remove has to have something different than the object you want to detect.  For example, in the people counting demo, the people will breath (move) and the other static clutter do not.   In the robotic demo, the ground reflection is filtered based on the height.   If you can get the 3D location of the detection, you can filter the point if it is outside a zone.   Note that iwr1642 can not detect the elevation angle, so it can not estimate the height.  You can switch to xwr1843 to get the height estimated and then remove the ground reflection based on height.  

    Unfortunately, I do not aware any documentation on this topic.