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.

AWR1642BOOST: Disambiguating received signals

Part Number: AWR1642BOOST
Other Parts Discussed in Thread: AWR1642, AWR1243, AWR2243

Hi,

From the combined signal, how are the transmitted BPM signals disambiguated from each other at the AWR receivers? 

I ask this because only one signal (the non-phase shifted signal) is fed into the AWR's mixers rather than the phase shifted signal. The end goal is to implement a BPM MIMO network where I have two AWR's in a network - one is transmitting at 0 degrees phase shift and the other (spatially located apart from eachother to increase perspective) transmitting at 180deg phase shift. In this multistatic mode, I want to be able to fuse the data from each radars perspective, but need cannot seem to disambiguate the combinded 0 and 180 deg received signals.

Thanks,

George

  • Hi,

    We have to check with our design team and get back to you later this week

    thank you

    Cesar

  • Cesar,

    Thank you for your help. I really appreciate it.

    George

  • Hi

    These two devices need to be synced at 20GHz to achieve phase coherency across all TX and RX channels, similar to cascade setup.

    This is not possible with AWR1642. It is only possible with the AWR1243/2243 devices used in cascade setup

    thank you

    Cesar

  • Hi Cesar,

    I read the AWR2243 Cascade documentation, and I understand that it may not work on AWR1642, but I accomplish this synchronization by providing each radar their own CLI Script and synchronizing that way (a cruder way for sure, but still works). I have already run a test where I have a multistatic network of AWR's working effectively, but now I am just trying to include 2 or even 3 of them to actively transmit rather than one.

    So the system feasibility is there, just looking for advice on further implementation.

    Thanks

    George

  • Hi

    Sorry for late reply.

    Please look at the mmwave SDK 2.1 BPM documentation

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

    An older version of the SDK can be downloaded by following the links at the bottom of the download page (previous version)

    thank you

    Cesar

  • Cesar,

    Thank you for your response and pointing me in that direction. 

    Please correct me if I am wrong, but your BPM implementation is using the two transmitters on one AWR1642. I used the documentation to derive the math on how to resolve two signals, but I cannot figure out how to code the below distributed BPM MIMO implementation. That is the help I am looking for.

    I am looking for some advice on a distributed BPM MIMO implementation on the AWR. Right now, I have a distributed network of AWRs (3 of them).

    • Frame 1: Radar 1 transmits, all 3 collect
    • Frame 2: Radar 2 transmits, all 3 collect
    • Frame 3: Radar 3 transmits, all 3 collect
    • Frame 4: Radar 1 transmits, all 3 collect
    • And so on...

    But, I am trying to implement a distributed BPM MIMO implementation that looks like this:

    • Frame 1, Chirp 1-Chirp 4: 
      • Block = [chirp1 chirp2 chirp3 chirp4]
        • Radar 1 transmits [0° 0° 0° 0°] = [C1_1 C2_1 C3_1 C4_1]
        • Radar 2 transmits [0° 0° 180° 180°] = [C1_2 C2_2 C3_2 C4_2]
        • Radar 3 transmits [0° 180° 0° 180°] = [C1_3 C2_3 C3_3 C4_3]

    ** Repeat this "Block" 16 times for 1 Frame, and do it 480 times so that we get all the data we need.

    ** I have done the math to resolve the signals here:

    This implementation can be seen in the attached CLI Scripts I tried to code, but the scripts for radar 2 and 3 do not run all the way through. They are also the only ones with two ProfileCfg in their scripts (one for 0 degree signal, one for 180 degree shifted signal). Radar 1 runs all the way through and transmits/collects all data. I think because it has only one ProfileCfg.  Please see this link for my other question: 

    And my CLI Scripts: 

    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 1 0
    adcCfg 2 1
    adcbufCfg -1 0 0 1 0
    profileCfg 0 77 7 7 160 0 0 25 1 512 6200 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 0 0 0 0 0 1
    chirpCfg 3 3 0 0 0 0 0 1
    bpmCfg -1 0 0 1
    frameCfg 0 3 16 480 200 2 0
    lowPower 0 0
    guiMonitor -1 1 1 0 0 0 1
    cfarCfg -1 0 2 8 4 4 0 5120
    cfarCfg -1 1 0 8 4 4 0 5120
    peakGrouping -1 1 0 0 1 224
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    clutterRemoval -1 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
    nearFieldCfg -1 0 0 0
    CQRxSatMonitor 0 3 4 127 0
    CQSigImgMonitor 0 63 8
    analogMonitor 1 1
    lvdsStreamCfg -1 0 1 0
    sensorStart
    
    

    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 1 0
    adcCfg 2 1
    adcbufCfg -1 0 0 1 0
    profileCfg 0 77 7 7 160 0 0 25 1 512 6200 0 0 30
    profileCfg 1 77 7 7 160 0 32 25 1 512 6200 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 1 0 0 0 0 1
    chirpCfg 3 3 1 0 0 0 0 1
    bpmCfg -1 0 0 1
    frameCfg 0 3 16 480 200 2 0
    lowPower 0 1
    guiMonitor -1 1 1 0 0 0 1
    cfarCfg -1 0 2 8 4 4 0 5120
    cfarCfg -1 1 0 8 4 4 0 5120
    peakGrouping -1 1 0 0 1 224
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    clutterRemoval -1 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
    nearFieldCfg -1 0 0 0
    CQRxSatMonitor 0 3 4 127 0
    CQSigImgMonitor 0 63 8
    analogMonitor 1 1
    lvdsStreamCfg -1 0 1 0
    sensorStart
    
    

    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 15 1 0
    adcCfg 2 1
    adcbufCfg -1 0 0 1 0
    profileCfg 0 77 7 7 160 0 0 25 1 512 6200 0 0 30
    profileCfg 1 77 7 7 160 0 32 25 1 512 6200 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 1 0 0 0 0 1
    chirpCfg 2 2 0 0 0 0 0 1
    chirpCfg 3 3 1 0 0 0 0 1
    bpmCfg -1 0 0 1
    frameCfg 0 3 16 480 200 2 0
    lowPower 0 1
    guiMonitor -1 1 1 0 0 0 1
    cfarCfg -1 0 2 8 4 4 0 5120
    cfarCfg -1 1 0 8 4 4 0 5120
    peakGrouping -1 1 0 0 1 224
    multiObjBeamForming -1 1 0.5
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    clutterRemoval -1 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
    nearFieldCfg -1 0 0 0
    CQRxSatMonitor 0 3 4 127 0
    CQSigImgMonitor 0 63 8
    analogMonitor 1 1
    lvdsStreamCfg -1 0 1 0
    sensorStart
    

    So, now that you understand the issue some more, can you help me see what the issue is with the CLI scripts as for why Radar 2 and Radar 3 do not want to transmit completely? Or, even if you have another way to implement the tactic I described above where I will be making the current successful implementation of a distributed radar network into a distributed MIMO (BPM) radar network would be absolutely great!

    Thank you so much!

    George

  • Hi Cesar, 

    I am just circling around about the below issue. Any help would be greatly appreciated. Thank you!

    George

  • HI,

    Unfortunately our support team does not have additional input.

    We will open this questions to the forum community

    thank you

    cesar