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.

IWR6843AOPEVM: How to modify the distance profile calculation

Part Number: IWR6843AOPEVM

Hi,

From what I understood in the link:https://dev.ti.com/tirex/explore/node?node=AH-2SVYArR7wfP9cuNOm0w__VLyFKFf__LATES,  the distance profile is the sum of the log2 magnitudes of the received antennas.

However, for a project I only need the information of one receiving antenna, is it possible to modify the range profile calculation method to get this result?

If yes, can you tell me how ?

Thanks,

Fabien

  • Hi Fabien,

    The rxchannelen setting in the channelcfg should control the number of rxchannels enabled. See the SDK user's guide for more info at C:\ti\mmwave_sdk_03_05_00_04\docs.

    Best,

    Nate

  • Hi Nathan,

    I agree with you but my goal is to have the range profile for one virtual antenna and if I set 1TX and 1RX with the channelcfg I get an error and this is understandable because all codes work to return the position of targets, which is not possible with a single virtual antenna.

    So to get around this problem I see two solutions :

    - the first one is to rewrite a code with CCS to calculate only the range profile with a single couple of antenna., but it seems quite complicated to me

    - the second solution was to modify the way the range profile is calculated on an existing example (e.g. Out of Box Demo) to take only one antenna into account, which should be less complicated, I think.

    That's why I ask the question of how to achieve this second solution...


    But of course if you think of a third solution easier to implement do not hesitate to tell me.

    Thanks,

    Fabien,

  • Hi Fabien,

    Can you turn off all the other features so you're just running the range profile? And can you show me the error?

    Best,

    Nate

  • Hi Nathan,

    I have just an error message: "Error -1" (I use Matlab to config the card). This message happens when I change the line "channelCfg 15 7 0" to "channelCfg 1 7 0".

    Maybe the error comes from the fact that in the .cfg file there is the line "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" ?

    Best,

    Fabien

  • Hi Fabien,

    You can get a more detailed error message by putting the board in debug mode (see instructions here), loading the same program and running it in CCS (while sending the same cfg through MATLAB). This will give you a more detailed error message that you can decode with these instructions.

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/723912/iwr1642boost-changing-profilecfg-parameters-in-the-people-counting-demo

    Additionally, can you post your whole configuration here while you debug? We may be able to provide some insight too.

    Best,

    Nate

  • Hi Nathan,

    Here is the error message obtained with CCS,

    [Cortex_R4_0] **********************************************
    Debug: Launching the MMW HWA Demo
    **********************************************
    Debug: Launched the Initialization Task
    Debug: UART Instance @08021864 has been opened successfully
    Debug: UART Instance @08021870 has been opened successfully
    Debug: mmWave Control Initialization was successful
    Debug: mmWave Control Synchronization was successful
    Debug: CLI is operational
    Debug: Sending rlRfSetLdoBypassConfig with 0 0 0
    Error: MmwDemo_RFParser_parseConfig [Error:-50012]
    {module#9}: "../mmw_cli.c", line 279: error {id:0x10000, args:[0x20dbc, 0x20dbc]}
    xdc.runtime.Error.raise: terminating execution

    If if I understand correctly, Error -50012 give the error code -1 after having shift 16 to the right. This error code is explained by mmwave.h has an Invalid Argument....

    Here is my configuration file, maybe it can help to understand why this error

    % *****************STANDARD MMWAVE SDK COMMANDS******************
    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 1 1 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    lowPower 0 0

    profileCfg 0 60 7 3 48 0 0 75 1 120 3000 0 0 158
    chirpCfg 0 0 0 0 0 0 0 1
    frameCfg 0 0 32 0 100 1 0

    guiMonitor -1 0 1 0 0 0 0
    cfarCfg -1 0 2 8 4 3 0 15.0 0
    cfarCfg -1 1 0 4 2 3 1 15.0 0
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    clutterRemoval -1 0

    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. 0.2

    aoaFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 0.25 9.0
    cfarFovCfg -1 1 -20.16 20.16
    extendedMaxVelocity -1 0

    CQRxSatMonitor 0 3 4 63 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    lvdsStreamCfg -1 0 0 0
    calibData 0 0 0
    % *****************SENSOR START*********************
    sensorStart

    The only change from the working configuration is:

    channelCfg 15 1 0

    to :

    channelCfg 1 1 0

    Fabien,

  • Hi Fabien,

    I notice you have the RX gain set to 158. Is that intentional? Additionally, do you have a config file that does work? You previously stated that

    I have just an error message: "Error -1" (I use Matlab to config the card). This message happens when I change the line "channelCfg 15 7 0" to "channelCfg 1 7 0

    This made me think that if set channelCfg's first argument back to 15, then it would work. Is that accurate? I see you have it set to 5 here too instead of 15, so I assume that the 15 was a typo, especially because the maximum value for this parameter is 7 = 0b111 (all 3 transmitters on).

    Did you base this config off one provided by TI? If so, which?

    Best

    Nate

  • Hi Nathan,

    Sorry, I modified my answer while you were answering me because there was indeed an error and missing information.

    The channelCfg  I use is "channelCfg 1 1 0" . The config "channelCfg 15 7 0" and "channelCfg 15 1 0"  works very well. The problem is when I change the first value and if I am not mistaken the first value can go up to 15 because there is 15 receivers.

    For the Rx gain, it comes from the  mmwave_sdk_03_05_00_04\packages\ti\demo\xwr68xx\mmw\profiles\profile_3d, like the rest of the configuration.

    The only thing I changed is the that I have delete 2 "chirpCfg" and I have modify

    " frameCfg 0 2 32 0 100 1 0" 

    to

    "frameCfg 0 0 32 0 100 1 0"

    to be able to use just one tranceiver, as explained in https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1045138/awr1843aop-1tx-1rx-for-out-of-box-demo/3869607?tisearch=e2e-sitesearch&keymatch=IWR6843%201TX%201RX#3869607

    Tell me if I have wrong but I think that there is an issue with my "compRangeBiasAndRxChanPhase"  which should be modify when we modify the number of receiver ?

    Fabien

  • The channelCfg  I use is "channelCfg 1 1 0" . The config "channelCfg 15 7 0" and "channelCfg 15 1 0"  works very well. The problem is when I change the first value and if I am not mistaken the first value can go up to 15 because there is 15 receivers.

    I suppose you could think of it that way, but the way it is designed is to be a mask for each receiver i.e. the bits that are set to 1 indicate which receivers are on -> 0b1111 = 15 is all 4 receivers on.

    Tell me if I have wrong but I think that there is an issue with my "compRangeBiasAndRxChanPhase"  which should be modify when we modify the number of receiver ?

    This could potentially be the error. Since you only have a single transmitter/receiver pair, you might try using 0.0 1 0 for your compRangeBiasAndRxChanPhase line. See the SDK user's guide for more info. Let me know if that works!

    Best,

    Nate

  • Hi Nathan,

    Sorry for the first point, I meant 4 receivers and not 15 indeed....

    For my main problem which is to find the solution to use only 1 Tx and 1 Rx, I tested to use 0.0 1 0 for the compRangeBiasAndRxChanPhase line but that didn't work (it gave me the error message : "Error: Invalid usage of the CLI command")....

    I don't see any other idea to modify the Out of Box demo to use only one virtual antenna.
    However, I saw that the level sensing example was intended for. The way of processing the data sent by UART seems to be different compared to Out of Box, especially for the range profile, but I will take a closer look and come back to you if I have new problems.

    Thanks for your help

  • You're welcome Fabien! Glad you found a path that will work for you! Feel free to open a new thread if you have more questions.

    Best,

    Nate