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.

IWR1443BOOST: Ghost points organized in spherical cloud depending on cfar range threshold

Part Number: IWR1443BOOST

Hi,

I encounter some issues with ghost points that are organized in a spherical cloud around the origin for low thresholds. That is, if measuring with no object in front of the sensor the following is observed for a cfarCfg Threshold of 600 (image below, especially side view):

If I increase the threshold then less ghost detection happen but they are still in a spherical cloud for a cfarCfg Threshold of 1100 (see image below):


If the threshold is once more increased such that no ghost points are detected with no object is in front of the sensor then this spherical ghost points appear again if a person is standing close to the sensor (e.g. 1-2m). In the image below there again are spherical organized ghost points where the person is standing at approx 1.8m in y-direction (cfarCfg Threshold = 1350).

However, with the same setting but with the person standing at approx 3.7m in y-direction no spherical ghost points were detected (see images below):

The following configurations were used where the last value in the line of cfarCfg was changed according to the mentioned thresholds:

sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 7 0
adcCfg 2 1
adcbufCfg 0 1 0 1
profileCfg 0 77 105 7 57.14 0 0 70 1 128 2604 2 2 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 4
chirpCfg 2 2 0 0 0 0 0 2
frameCfg 0 2 16 0 40 1 0
lowPower 0 1
guiMonitor 1 1 0 0 0 0
cfarCfg 0 2 8 4 3 0 1000
peakGrouping 1 0 0 1 114
multiObjBeamForming 1 0.5
clutterRemoval 0
calibDcRangeSig 1 0 10 256
compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 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 5 123 0
CQSigImgMonitor 0 63 4
analogMonitor 1 1
sensorStart

Concluding, the following observations are made:

  • For low thresholds there are always spherical organized ghost points even in an empty room
  • For higher thresholds there are no spherical organized ghost points in a empty room but still for person standing near the sensor
  • The spherical organized ghost points don't appear if the person is standing at a larger distance to the sensor

Hence the following questions arise:

  1. Can these spherical ghost points be eliminated, and if so, how can it be achieved?
  2. What is the optimal way to position the sensor in a room?

Thanks for your answer.

  • Hi, 

    Can you provide the information about which demo and which SDK version you are using?  Your detected point looks really rich to me for one person.  You may want to further increase the CFAR threshold. 

    Since you mentioned it is tested in a room, so there will be always reflection from floor, wall and ceiling even if the room is empty.   The reflection from the floor and etc are real reflection, can not be claimed as ghost.

    For your two first claims below, you should test the radar outside in a open space and with radar antenna facing the sky. 

    • For low thresholds there are always spherical organized ghost points even in an empty room
    • For higher thresholds there are no spherical organized ghost points in a empty room but still for person standing near the sensor

    Best,

    Zigang

  • Hi Zigang,

    Thanks for the response. I forgot to add the header of the config file, so here it is:
    % ***************************************************************
    % Created for SDK ver:02.01
    % Created using Visualizer ver:2.1.0.3
    % Frequency:77
    % Platform:xWR14xx
    % Scene Classifier:best_range_res
    % Azimuth Resolution(deg):15 + Elevation
    % Range Resolution(m):0.044
    % Maximum unambiguous Range(m):5
    % Maximum Radial Velocity(m/s):2
    % Radial velocity resolution(m/s):0.26
    % Frame Duration(msec):100
    % Range Detection Threshold (dB):15
    % Range Peak Grouping:disabled
    % Doppler Peak Grouping:disabled
    % Static clutter removal:disabled
    % ***************************************************************

    I am using SDK version 2.1 and using the demo code of the Zone Occupancy Detection.
    Regarding increasing the threshold, I already did this resulting in a more focused point cloud (see image below for a cfarCfg Threshold of 1600). However, if I increase the threshold more and more there are no detections of a person that is still inside the max. unambiguous range in front of the sensor.

    Yes I agree that these points could be reflections of walls, floor or ceiling. However, there arise some questions:

    1. Why is the e.g. the ceilling not detected as a plane but as a spherical point cloud?
    2. Why is there no such detection of ceiling,floor, walls if no person is in front of the sensor but these "spherical outliers" if a person is standing right in front of the sensor?

    I will test the sensor with antennas facing the sky outdoors, as you suggested. Howerver, ultimately the sensor is planned to be used indoor. Therefore is there a way to deal with this spherical detection issue?

    Best

  • Hi,

    I now did the outdoor measurement with the antenna facing the sky. There were no obstacles in the field of view of the sensor.

    The following was observed with a cfarCfg Threshold of 400. Y-axis is pointing towards sky:

    There are also this spherical detections even though no object or walls are near the sensor. For a cfarCfg Threshold of 800 it looks as follows:

    There are also some spherical detected points.

    For a cfarCfg Threshold of 1000 there are only very view detections. For a cfarCfg Threshold above 1100 there are no detections.

    Thanks for answering also the above questions.

    Best,

  • Hi,

    Are there any news about this topic?

    Best

  • HI, 

    Your current CFAR configuration is : 

    cfarCfg 0 2 8 4 3 0 1000

    Suggest to change to 

    cfarCfg 0 0 8 4 3 0 1360

    In this way, the noise is measured as the average of left and right noise power.  

    which will do better in terms of excluding the FFT spreading slope into the detection.  

    The threshold is in the format of log2(linearThreshold)*2^9, so a linear threshold of 6.3, will be 1360. 

    Which is the default value we use.

    Best,

    Zigang

  • Hi,

    I used the following configuration:

    % ***************************************************************

    % Created for SDK ver:02.01

    % Created using Visualizer ver:2.1.0.3

    % Frequency:77

    % Platform:xWR14xx

    % Scene Classifier:best_range_res

    % Azimuth Resolution(deg):15 + Elevation

    % Range Resolution(m):0.044

    % Maximum unambiguous Range(m):5

    % Maximum Radial Velocity(m/s):2

    % Radial velocity resolution(m/s):0.26

    % Frame Duration(msec):100

    % Range Detection Threshold (dB):15

    % Range Peak Grouping:disabled

    % Doppler Peak Grouping:disabled

    % Static clutter removal:disabled

    % ***************************************************************

    sensorStop

    flushCfg

    dfeDataOutputMode 1

    channelCfg 15 7 0

    adcCfg 2 1

    adcbufCfg 0 1 0 1

    profileCfg 0 77 105 7 57.14 0 0 70 1 128 2604 2 2 30

    chirpCfg 0 0 0 0 0 0 0 1

    chirpCfg 1 1 0 0 0 0 0 4

    chirpCfg 2 2 0 0 0 0 0 2

    frameCfg 0 2 16 0 40 1 0

    lowPower 0 1

    guiMonitor 1 1 0 0 0 0

    cfarCfg 0 0 8 4 3 0 1360

    peakGrouping 1 0 0 1 114

    multiObjBeamForming 1 0.5

    clutterRemoval 0

    calibDcRangeSig 1 0 10 256

    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 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 5 123 0

    CQSigImgMonitor 0 63 4

    analogMonitor 1 1

    sensorStart

    Hi,

    I use now the following configurations:

    % ***************************************************************
    % Created for SDK ver:02.01
    % Created using Visualizer ver:2.1.0.3
    % Frequency:77
    % Platform:xWR14xx
    % Scene Classifier:best_range_res
    % Azimuth Resolution(deg):15 + Elevation
    % Range Resolution(m):0.044
    % Maximum unambiguous Range(m):5
    % Maximum Radial Velocity(m/s):2
    % Radial velocity resolution(m/s):0.26
    % Frame Duration(msec):100
    % Range Detection Threshold (dB):15
    % Range Peak Grouping:disabled
    % Doppler Peak Grouping:disabled
    % Static clutter removal:disabled
    % ***************************************************************
    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 7 0
    adcCfg 2 1
    adcbufCfg 0 1 0 1
    profileCfg 0 77 105 7 57.14 0 0 70 1 128 2604 2 2 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 4
    chirpCfg 2 2 0 0 0 0 0 2
    frameCfg 0 2 16 0 40 1 0
    lowPower 0 1
    guiMonitor 1 1 0 0 0 0
    cfarCfg 0 0 8 4 3 0 1360
    peakGrouping 1 0 0 1 114
    multiObjBeamForming 1 0.5
    clutterRemoval 0
    calibDcRangeSig 1 0 10 256
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 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 5 123 0
    CQSigImgMonitor 0 63 4
    analogMonitor 1 1
    sensorStart

    Howerver, even though there are high relative power peaks in the range profile for zero doppler there are absolutely no detected points. When walking in front of the sensor or only standing in front of it there are clear peaks in the relative power but nothing is marked as detected object.

    So just for clarification of the above configuration of the threshold. I used :

    cfarCfg 0 2 8 4 3 0 1000

     

    The marked threshold value was changed from 600-2000 for the different measurement as indicated in the figures above.

    Let me resume the observations made so far and the open questions:

    1. Observation: For low threshold values there are points detected that are organized in a spherical manner even though there is no object in front of the sensor. You suggested these points are reflections from wall/ceiling/floor. My expectations of of wall/ceiling/floor reflectiosn would be more planar shaped point clouds and not spherical shaped. How can this be explained?
    2. Observation: Increasing the threshold to a value to approx. 1350 there are no detections in the empty room (this is the goal). If, however, a person is standing in front of the sensor, i.e. 1-2m distance, there is a point cloud with a high densitiy where the person is standing but additionaly there are also spherical organized points towards the sensor detected (see figure above "Spherical Ghost Points with cfarCfg Threshold = 1350, person at y=1.8m"). If the person is standing at a larger distance to the sensor there are no spherical organized deteced points but only the ones belonging to the person. How can this be explained?
    3. Observation: These spherical organized detections were also made for low threshold values (e.g. 800)  outdoors when the antennas were facing the sky, as you suggested to do.
    4. Question: What is the optimal way to position the sensor indoor?

    Best

  • I do not have all the answers.   I can give you some of my thoughts.  Because of the FFT spreading, even a single target will have a spreading effect in range FFT output.  So depend on CFAR algorithms, if you take the minimum of left and right noise band for signal to noise ratio calculation, it is very easy to include a lot of neighboring points around the peak on the left and right FFT spreading slope.  That is why I suggest to change the second parameter in cfarCfg as 0 to reduce those spreading effect.   

    So, can you try cfarCfg with second parameter programmed to 0 and play with different threshold to see whether the Spherical ghost point is reduced.

    cfarCfg 0 0 8 4 3 0 1000

    You can also try to disable the multiObjBeamforming, which is trying to detect multiple peaks within the same range bins, which may include some sidelobes (false detection) during the angle estimation.  

    multiObjBeamForming 0 0.5

    Last but not least, you may want to try antenna phase/gain calibration before using the board. You can search "measureRangeBiasAndRxChanPhase " at doxygen document located at: 

    file:///C:/ti/mmwave_sdk_02_01_00_04/packages/ti/demo/xwr16xx/mmw/docs/doxygen/html/index.html

    Best,

    Zigang

  • Hi,

    I have tried to set the configuraiton to

    cfarCfg 0 0 8 4 3 0 1000

    multiObjBeamForming 0 0.5

    as you suggested. However, if I set the CFAR averaging mode of cfarCfg to "0", there are high peaks in relative power in the range profile but now in this configuration there are no detected points even if I set the threshold slider to 0. So this did no lead to any success...

     

    For the antenna calibration I will have to setup the environment and perform some measurements.

     

    Best

  • Hi,

    Now I also tried to perform measurement with calibrated antennas as mentioned in file:///C:/ti/mmwave_sdk_02_01_00_04/packages/ti/demo/xwr16xx/mmw/docs/doxygen/html/index.html

    However, there is no much difference in the results. A person standing near the sensor still causes this spherical wrong detections around the person.

    Best,

  • Hi, 

    I tried on my side, and I do see that the CfarCfg option 

    cfarCfg 0 0 8 4 3 0 1000 

    does not work well.  

    But I tried your configuration file on my board, and I did not see the spherical effect.  And what kinds visualizer you are using to show your plots? 

    I am using the following visualizer, https://dev.ti.com/gallery/view/mmwave/mmWave_Demo_Visualizer/ver/2.1.0/, the plots is not as clear as yours.

    Best,

    Zigang

  • Hi,

    For the visualization I use MATLAB. Data acquisition is also done using MATLAB, based on the example code provided in http://dev.ti.com/tirex/explore/node?devtools=IWR1443BOOST&node=AOejQLXYplytU0fW5b-lbA__VLyFKFf__LATEST

    calibDcRangeSig to take effect) I store for 2 seconds the detected points that are returned by the sensor into a separate matrix. I store the X-Coordinate, Y-Coordinate and Z-Coordinate of the Detected Objects Struct that is transmitted over UART.That is, all the frames of 2 seconds capture time get stored in that matrix (I put some frame delimiter into the matrix to distinguish between the frames). 
    Then all the detected points of the 2 seconds capture are plotted using scatter/scatter3 from MATLAB.

    Best,

  • Hi, 

    Can you try on a different EVM board?

    Best,

    Zigang

  • Hi,

    I will try but have to order them first...

    I will give feedback on that.

  • Hi Zigang

     

    I tested now two other boards but both of them show similar results as the one that I was already using up to now.

    There are still this spherical wrong detections.

     

    Best

     

  • Former Member
    0 Former Member in reply to user6182278

    Hello,

    For the close range and end of range false detections. It can perhaps be mitigated by enabling the DC calibration command. From the SDK user's guide

    "Antenna coupling signature dominates the range bins close to the radar. These are the bins in the range FFT output located around DC. When this feature is enabled, the signature is estimated during the first N chirps, and then it is subtracted during the subsequent chirps. During the estimation period the specified bins (defined as [negativeBinIdx, positiveBinIdx]) around DC are accumulated and averaged. It is assumed that no objects are present in the vicinity of the radar at that time."

    Can you try increasing the number of compensated bins (max is 32). You can use -bin to indicate the far end of the FFT. Please see the SDK for further details.

    Amanda

  • Hi Amanda

    The calibDcRangeSig is already enabled and reduced the ghost point detections around the origin.
    This issue here is about spherical ghost points when a person is standing near or middle range to the sensor, like extending the persons shape in a spherical manner. See above discussion.

    Best

  • Former Member
    0 Former Member in reply to user6182278

    Hello,

    The issue is perhaps the CFAR threshold being too low in the near range causing false or multipath reflections when the person is close. If you refer to the short range radar demo you can see one approach to resolve these kinds of issues by adjusting the CFAR threshold according to range.

    Amanda

  • Hi,

    We need the sensor to have not a too low CFAR threshold because we also try to capture objects at a larger distance.

  • Former Member
    0 Former Member in reply to user6182278

    Hello,

    I would recommend if you need to set a low CFAR threshold to use the advanced subframe CFG so that you can configure a "long range" subframe with low CFAR and range filter so that it only applies to detection for far ranges. Then you can configure another subframe with increased CFAR threshold for near range detection.

    Please see the example profile cfg for enabling advanced subframes in the mmWave SDK out of box demo.

    Amanda