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.

IWR6843ISK: IWR6843 config file

Part Number: IWR6843ISK
Other Parts Discussed in Thread: IWR6843

Hi, I'm Alessandro from Italy.
I tried to create a config file for a people counting application with your configurator (https://dev.ti.com/gallery/view/mmwave/mmWave_Demo_Visualizer/ver/3.1.0/) and I obtained a config file that has a lot of parameters. These parameters are not included in your giude "pplcount_customization_guide-1". I expected a list of parameters as gating parameters, State transition parameters, tracking parameters but I did not find them...

The file I obtained is really different from the file you used on the lab and when I tried to load it doesn't work. 

Is there another guide for the IWR6843 file config?

% ***************************************************************
% Created for SDK ver:03.01
% Created using Visualizer ver:3.1.0.1
% Frequency:60.25
% Platform:xWR68xx
% Scene Classifier:best_range_res
% Azimuth Resolution(deg):15
% Range Resolution(m):0.047
% Maximum unambiguous Range(m):9.02
% Maximum Radial Velocity(m/s):3
% Radial velocity resolution(m/s):0.38
% 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
% ***************************************************************
sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 5 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
profileCfg 0 60.25 153 7 53.57 0 0 70 1 224 4915 0 0 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 4
frameCfg 0 1 16 0 100 1 0
lowPower 0 0
guiMonitor -1 0 1 0 0 0 0
cfarCfg -1 0 0 8 4 4 0 1280 1
cfarCfg -1 1 0 4 2 3 1 1280 1
multiObjBeamForming -1 1 0.5
clutterRemoval -1 0
calibDcRangeSig -1 0 -5 8 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
aoaFovCfg -1 -90 90 -90 90


Thanks in advance!
Regards
Alessandro

  • Hi Alessandro,

    Please refer to this post.

    Regards,

    Justin

  • Ok, thanks I read the post but it's not so clear (for me). Don't you have a guide in wich all the parameters are explained clearly?
    I mean, if we analyze the config file you use in the demo there are a lot of parameters (for instance: GatingParam 4 3 2 0
    StateParam 10 5 100 100 5; AllocationParam 250 250 0.25 10 1 2; AccelerationParam 1 1 1 that are not used at all and do not influence the counting/tracking).
    Simply I'd like to change the volume of the elypsoid (people) I want to track, or the persistence of the state of an object, or the velocity range wich parameters should I change?
    Thanks
  • Hi Alessandro,

    For the gtrack specific parameters, see this guide.

    For other parameters, they are explained in the linked post.

    Regards,

    Justin

  • Hi, thankyou for the reply, I read the guide and I make you an example:

    In the guide there are explained the 'Gating Parameters' as folloows:
    The gating parameters determine the maximum volume and velocity of a tracked object. Points detected near a centroid, but beyond the limits set by these parameters will not be included in the set of points that make up the tracked object. There are 4 parameters: Volume is defined as the volume of an ellipsoid: = 4abc/3 where a is range (meters), b is angle (radians), and c is velocity (m/s). Length limit, width limit, and velocity limit also serve to limit the size of the ellipsoid. The Length and width limits limit the dimensions of the ellipsoid, and the velocity limit limits the velocity of the ellipsoid.

    Ok it is quite clear so I tried the following changes:

    GatingParam 4 3 2 0

    GatingParam 0 0 0 0

    GatingParam 1000 1000 1000 0

    These 3 configurations don't have any effect on the counting people, is it normal?

    What should I do to change the vlume of the tracked object?

    Thanks
  • Hi Alessandro,

    Setting these values to 0 is setting no limit - so it is roughly identical to setting these values to 1000. These values are limits of the size of the ellipsoid, but do not define the ellipsoid. The tracker can set this to be smaller, as it will try to match the size of the object being tracked.

    I want to loop back to your original question - have you been able to create a chirp configuration for the demo?

    Regards,
    Justin
  • Hi Justin,
    for the moment I tried just to change manually the parameters:
    SceneryParam -6 6 0.5 6
    GatingParam 4 3 2 0
    StateParam 10 5 100 100 5
    AllocationParam 250 250 0.25 10 1 2
    AccelerationParam 1 1 1
    trackingCfg 1 2 250 20 52 82 50 90
    sensorStart
    but with no results, I mean I still have the problem that often the radar sees (and start to track) many objects but in its field of view ther is just one person.
    As I told you before I tried just to modify the cfg file manually because at the beghinning I tried to user the dev.ti.com/.../ to make a config file but I obtained the following config file:
    % ***************************************************************
    % Created for SDK ver:03.01
    % Created using Visualizer ver:3.1.0.1
    % Frequency:60.25
    % Platform:xWR68xx
    % Scene Classifier:best_range_res
    % Azimuth Resolution(deg):15 + Elevation
    % Range Resolution(m):0.047
    % Maximum unambiguous Range(m):9.02
    % Maximum Radial Velocity(m/s):1
    % Radial velocity resolution(m/s):0.13
    % 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
    % ***************************************************************
    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 7 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 60.25 361 7 53.57 0 0 70 1 224 4915 0 0 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 100 1 0
    lowPower 0 0
    guiMonitor -1 0 0 0 0 0 1
    cfarCfg -1 0 0 8 4 4 0 1280 1
    cfarCfg -1 1 0 4 2 3 1 1280 1
    multiObjBeamForming -1 1 0.5
    clutterRemoval -1 0
    calibDcRangeSig -1 0 -5 8 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
    aoaFovCfg -1 -90 90 -90 90

    that is totally different if you compare to the cfg file you use in the demo, I tried to load this file but it gives me a lot of errors.

    Did I use a wrong chirp configurator?

    Thanks in advance
  • Hi Justin, I forgot another question...
    during my attempts to change manually the config file you suggest in the demo online I found one thing I do not understand.
    Whan I try to load the config file

    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 5 0
    adcCfg 2 1
    adcbufCfg 0 1 1 1
    profileCfg 0 60.6 30 10 62 0 0 53 1 128 2500 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 4
    frameCfg 0 1 128 0 50 1 0
    lowPower 0 1
    guiMonitor 1 1 0 0
    cfarCfg 6 4 4 4 4 16 16 4 4 50 62 0
    doaCfg 600 1875 30 1 1 0
    SceneryParam -6 6 0.5 6
    GatingParam 4 3 2 0
    StateParam 10 5 100 100 5
    AllocationParam 250 250 0.25 10 1 2
    AccelerationParam 1 1 1
    trackingCfg 1 2 250 20 52 82 50 90
    sensorStart

    The IWR6843 gives me an error for the parameter "AccelerationParam 1 1 1" and I think the reason is:

    int32_t MmwDemoCLIMaxAccelerationParamCfg(int32_t argc, char* argv[])
    {
    if (argc != 4 || argc != 3)
    {
    CLI_write ("Error: Invalid usage of the CLI command\n");
    return -1;
    } else if (argc == 4) {
    maxAccelerationParams[0] = (float) atof (argv[1]);
    maxAccelerationParams[1] = (float) atof (argv[2]);
    maxAccelerationParams[2] = (float) atof (argv[3]);
    } else {
    maxAccelerationParams[0] = (float) atof (argv[1]);
    maxAccelerationParams[1] = (float) atof (argv[2]);
    }

    return 0;

    }


    I think the correct one is:


    int32_t MmwDemoCLIMaxAccelerationParamCfg(int32_t argc, char* argv[])
    {
    if (argc != 4 && argc != 3)
    {
    CLI_write ("Error: Invalid usage of the CLI command\n");
    return -1;
    } else if (argc == 4) {
    maxAccelerationParams[0] = (float) atof (argv[1]);
    maxAccelerationParams[1] = (float) atof (argv[2]);
    maxAccelerationParams[2] = (float) atof (argv[3]);
    } else {
    maxAccelerationParams[0] = (float) atof (argv[1]);
    maxAccelerationParams[1] = (float) atof (argv[2]);
    }

    return 0;

    }

    Anyway this is just a little thing, I really would like to understand how to fix my problem of multi tracking of a single person (ghosts)

    Thanks :-)

    Sorry form my really low knowledgement in radar field and also for my bad english :-)
  • Hi Allesandro,

    You are right about the bug with AccelerationParams.  You can recompile the demo to fix this.

    For the chirp parameters:

    As mentioned in the E2E post linked in my first response, the following parameters are shared across all demos:

    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 5 0
    adcCfg 2 1
    adcbufCfg 0 1 1 1 
    profileCfg 0 60.6 30 10 62 0 0 53 1 128 2500 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 4
    frameCfg 0 1 128 0 50 1 0
    lowPower 0 1

    The rest of the cli commands are demo specific. If you want to change the range of the demo, the simplest way to go about this is to change the frequency slope in the profile cfg. (See the SDK user's guide for details.)

    If you are getting ghosts, try increasing the bolded values in the AllocationParams:

    AllocationParam 250 250 0.25 10 1 2 - this will make it more difficult to allocate new tracks, which will reduce false detection. I recommend increasing the value that is currently 10.  This is the points threshold, and defines the minimum number of points that a cluster needs to become a track.

    Regards,

    Justin