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.

IWR1843BOOST: How can I program multiple beams within one sub-frame

Part Number: IWR1843BOOST
Other Parts Discussed in Thread: DCA1000EVM

Hi teams,

I want to enable beamforming in IWR1843BOOST. My current setting is one beam in one sub-frame but I want to configure it as multiple beams within on sub-frame like the figure below.

Besides, how can I parse the raw ADC data if this configuration works.

Warm regards,

Xi

  • Hello Xi,

    It seems that you referenced that image from the document "Enabling Tx Beamforming" in the Industrial Toolbox. Is that not sufficient?

    Though it is NOT specific to beamforming, there is an example cfg for setting up advanced subframe provided in the mmWave SDK. After installing the mmWave SDK, you can find this example here: C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr18xx\mmw\profiles\profile_advanced_subframe.cfg

    Unfortunately, collecting raw ADC data for multi-chirp format is not supported.

  • Hi Sabeeh,

    There are actually two types of beamforming in the doc, but only the second type has example. The configuration file you mentioned in SDK folder is also the second one.

    BTW, you said collecting raw ADC data for multi-chirp format is not supported. 

    sensorStop
    flushCfg
    dfeDataOutputMode 3
    channelCfg 15 7 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 77 267 7 57.14 0 10276864 70 1 256 5209 0 0 30
    profileCfg 1 77 267 7 57.14 0 13428736 70 1 256 5209 0 0 30
    profileCfg 2 77 267 7 57.14 0 3414016 70 1 256 5209 0 0 30
    profileCfg 3 77 267 7 57.14 0 6565888 70 1 256 5209 0 0 30
    chirpCfg 0 0 0 0 0 0 0 7
    chirpCfg 1 1 1 0 0 0 0 7
    chirpCfg 2 2 2 0 0 0 0 7
    chirpCfg 3 3 3 0 0 0 0 7
    advFrameCfg 4 0 150 1 0
    subFrameCfg 0 0 0 1 16 20 0 1 1 20
    subFrameCfg 1 0 1 1 16 20 0 1 1 20
    subFrameCfg 2 0 2 1 16 20 0 1 1 20
    subFrameCfg 3 0 3 1 16 20 0 1 1 20
    lowPower 0 0
    guiMonitor -1 0 0 0 0 0 0
    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
    lvdsStreamCfg -1 0 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.5 0.2
    CQRxSatMonitor 0 3 5 121 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    aoaFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 0 8.92
    cfarFovCfg -1 1 -1 1.00
    calibData 0 0 0
    sensorStart

    This is my current setting and I can actually colllect the raw ADC data in DCA1000EVM.

  • Hey Xi,

    I'm glad you are able to collect raw ADC data, but I don't believe the format for such format has been documented. If you are able to parse correctly, please let me know.

  • Hi Sabeeh,

    I am still wondering how to set up the first type beamforming shown in figure in my original question.

    Kind regards,

    Xi

  • Hi Xi,

    I understand your point. You would like to see an example chirp configuration for the figure you have posted. Unfortunately, this is not possible with the current mmWave SDK. It would require significant changes to the processing chain. Therefore, the configuration (as shown in the image below) is possible.

    ...

    I hope this is clear.

  • Section 6.1 of the app note, "Programming Chirp Parameters" discusses this in some more detail if you are still curious.

    App note: https://www.ti.com/lit/an/swra553a/swra553a.pdf

  • Hi Sabeeh,

    In your first response, "collecting raw ADC data for multi-chirp format is not supported" refers in particular to "Chirp based beam steering" that has multiple chirps in one subframe. Although, you can use this setting, the collection of raw ADC data will not be working. Is my understanding right?

    Warm Regards,

    Xi

  • Yes, Xi, you are correct.

  • Thanks for your support.

  • Thanks for your support.

  • Hi Sabeeh,

    You said "collecting raw ADC data for multi-chirp format is not supported".

    I want to know what is the reason.

    Xi

  • And also, 

    I thought this configuration is coresponding to the chirp based beam forming.

    But I cannot collect the raw data as you said.

    sensorStop
    flushCfg
    dfeDataOutputMode 3
    channelCfg 15 7 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 77 267 7 57.14 0 10276864 70 1 256 5209 0 0 30
    profileCfg 1 77 267 7 57.14 0 13428736 70 1 256 5209 0 0 30
    profileCfg 2 77 267 7 57.14 0 3414016 70 1 256 5209 0 0 30
    profileCfg 3 77 267 7 57.14 0 6565888 70 1 256 5209 0 0 30
    chirpCfg 0 0 0 0 0 0 0 7
    chirpCfg 1 1 1 0 0 0 0 7
    chirpCfg 2 2 2 0 0 0 0 7
    chirpCfg 3 3 3 0 0 0 0 7
    advFrameCfg 1 0 150 1 0
    subFrameCfg 0 0 0 4 16 80 0 1 1 80
    lowPower 0 0
    guiMonitor -1 0 0 0 0 0 0
    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
    lvdsStreamCfg -1 0 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.5 0.2
    CQRxSatMonitor 0 3 5 121 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    aoaFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 0 8.92
    cfarFovCfg -1 1 -1 1.00
    calibData 0 0 0
    sensorStart

    Thanks for your help.

  • I actually can parse the .bin file into shape (numFrames, numChirps, numRx, numBins). The only difference is that the number of chiprs in MIMO setting equals to numTx * chirpsPerLoop, in Beam Steering setting equals to only chirpsPerLoop as all thress tx transmit at same time.

    The answer in your response seems does not make sense for me.

    Best,

    Xi

  • The last reply is answering your second the reply in this post.

    In the figure below, this is not multi-chirp setting in your statement. 

    How do you define multi-chirp in your statement "collecting raw ADC data for multi-chirp format is not supported".

  • Hi Xi,

    For parsing the raw-data, please read through the mmWave SDK User's guide, "mmwave_sdk_user_guide.pdf". This app note will also be helpful for parsing the exact data format: https://www.ti.com/lit/an/swra581b/swra581b.pdf