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: MRR Chirp Configuration: Static Objects no longer visible after chirp modifications

Part Number: IWR1843BOOST

Greetings All,

I am working on MRR repo from toolbox 1.0.1.7 with SDK 3.6 LTS. I tried the initial configuration from the MRR lab and static objects were displayed normally on the MRR GUI visualizer.

Then I mode some modifications to the chirp parameters like (slope, sampling rate, number of samples, number of loops, ...) and lowered SNR from 14 to 13 db.

The expected scene parameters were met successfully but static objects are almost never displayed. What may be the cause of this issue?

  • Is there some parameters of CFAR that need to be changed accordingly?
  • Should there be a change in the HPF to allow detection of static objects?
  • Is there a minimum detectable velocity equation that needs to be taken into consideration?
  • Hi,

    The MRR demo supports two modes: MRR (beamforming for medium range ~120m) and USRR (TDM - MIMO for short range ~20m)

    By modifying the chirp parameters the detection capability of the static objects will be affected.

    It is possible that the SNR of the static object is too low to enable detection.

    Are you using MRR or USRR mode or both?

    What range are you trying to detect static objects?

    Thank you

    Cesar

  • Hi Cesar,

    I am using MRR only configuration. In my opinion, the SNR variation is very little to make this issue (I also tried with a decrease of only 0.5 db and same issue persists).

    Static objects are nearly not detectable anywhere from 0m to the max 120m but when the object moves even a little it is detected normally over the whole range.

  • What are the changes you have made to the configuration and code?

    Thank you

    Cesar

  • Only in the mrr_config_chirp_design_MRR120.h: I used the following parameters

    *! @brief  MRR profile ID. */
    #define PROFILE_MRR_PROFILE_ID              (0U)
    /*! @brief  HPF 1 corner frequency. */
    #define PROFILE_MRR_HPFCORNER_FREQ1_VAL     RL_RX_HPF1_175_KHz
    /*! @brief  HPF 2 corner frequency. */
    #define PROFILE_MRR_HPFCORNER_FREQ2_VAL     RL_RX_HPF2_350_KHz
    /*! @brief  Rx gain is kept at the maximum . */
    #define PROFILE_MRR_RX_GAIN_VAL             (44U)
    /*! @brief  ADC Output rate is 5Mhz. */
    #define PROFILE_MRR_DIGOUT_SAMPLERATE_VAL   (3450U)
    #define PROFILE_MRR_ADC_SAMPLE_VAL          (128U)
    #define PROFILE_MRR_IDLE_TIME_VAL           (800U)  // 5us (down to 4.5 us)
    #define PROFILE_MRR_RAMP_END_TIME_VAL       (4200U)
    #define PROFILE_MRR_START_FREQ_GHZ          (77.00f)
    #define PROFILE_MRR_START_FREQ_VAL          (CONV_FREQ_GHZ_TO_CODEWORD(PROFILE_MRR_START_FREQ_GHZ))
    #define PROFILE_MRR_TXOUT_POWER_BACKOFF     (0U)
    #define PROFILE_MRR_TXPHASESHIFTER_VAL      (0U)
    #define PROFILE_MRR_FREQ_SLOPE_MHZ_PER_US   (2.5f)
    #define PROFILE_MRR_FREQ_SLOPE_VAL          (CONV_SLOPE_MHZ_PER_US_TO_CODEWORD(PROFILE_MRR_FREQ_SLOPE_MHZ_PER_US))
    #define PROFILE_MRR_TX_START_TIME_VAL       (100U)  // 1us
    #define PROFILE_MRR_ADC_START_TIME_VAL      (300U)  // 5us (down to 1 us)

    #define PROFILE_MRR_LAMBDA_MILLIMETER       (MMWDEMO_SPEED_OF_LIGHT_IN_METERS_PER_USEC/PROFILE_MRR_START_FREQ_GHZ)                

    /*! @brief Define 128 chirps,  the first 64 will have an idle time of
     * 3us, and the remaining 64 will have an idle time of 14.8us
     * (11.8us extra 'idle time') */
    #define CHIRP_MRR_0_PROFILE_ID                (0U)
    #define CHIRP_MRR_0_START_INDEX               (0U)
    #define CHIRP_MRR_0_END_INDEX                 (255U)
    #define CHIRP_MRR_0_START_FREQ_VAL            (0U)
    #define CHIRP_MRR_0_FREQ_SLOPE_VAL            (0U)
    #define CHIRP_MRR_0_IDLE_TIME_VAL             (0U)
    #define CHIRP_MRR_0_ADC_START_TIME_VAL        (0U)
    #define CHIRP_MRR_0_TX_CHANNEL                (TX_CHANNEL_1_ENABLE|TX_CHANNEL_2_ENABLE | TX_CHANNEL_3_ENABLE)


    #define CHIRP_MRR_1_PROFILE_ID                (0U)
    #define CHIRP_MRR_1_START_INDEX               (256U)
    #define CHIRP_MRR_1_END_INDEX                 (511U)
    #define CHIRP_MRR_1_START_FREQ_VAL            (0U)
    #define CHIRP_MRR_1_FREQ_SLOPE_VAL            (0U)
    #define CHIRP_MRR_1_IDLE_TIME_VAL             (1300U)
    #define CHIRP_MRR_1_ADC_START_TIME_VAL        (0U)
    #define CHIRP_MRR_1_TX_CHANNEL                (TX_CHANNEL_1_ENABLE|TX_CHANNEL_2_ENABLE | TX_CHANNEL_3_ENABLE)

    /*! @brief  SUBFRAME configuration. */
    #define SUBFRAME_MRR_CHIRP_START_IDX           (0U)
    #define SUBFRAME_MRR_CHIRP_END_IDX             (511U)
    #define SUBFRAME_MRR_LOOP_COUNT                (1U)
    #define SUBFRAME_MRR_PERIODICITY_VAL           (8000000U) // (6M - 30ms, 7.4M - 37ms)
    #define SUBFRAME_MRR_TRIGGER_DELAY_VAL         (0U)
    #define SUBFRAME_MRR_NUM_REAL_ADC_SAMPLES      (PROFILE_MRR_ADC_SAMPLE_VAL * 2)
    #define SUBFRAME_MRR_NUM_CMPLX_ADC_SAMPLES     (PROFILE_MRR_ADC_SAMPLE_VAL)
    #define SUBFRAME_MRR_CHIRPTYPE_0_NUM_CHIRPS    ((CHIRP_MRR_0_END_INDEX - CHIRP_MRR_0_START_INDEX + 1)*SUBFRAME_MRR_LOOP_COUNT)
    #define SUBFRAME_MRR_CHIRPTYPE_1_NUM_CHIRPS    ((CHIRP_MRR_1_END_INDEX - CHIRP_MRR_1_START_INDEX + 1)*SUBFRAME_MRR_LOOP_COUNT)
    #define SUBFRAME_MRR_NUM_TX                    (1U)  // Three Tx simultaneous

    #define SUBFRAME_MRR_NUM_VIRT_ANT                (SUBFRAME_MRR_NUM_TX*NUM_RX_CHANNELS)
    #define SUBFRAME_MRR_NUM_ANGLE_BINS            (32U)
    #define SUBFRAME_MRR_NUM_CHIRPS_TOTAL            ((SUBFRAME_MRR_CHIRP_END_IDX - SUBFRAME_MRR_CHIRP_START_IDX + 1) * SUBFRAME_MRR_LOOP_COUNT)

    #define PROFILE_MRR_RANGE_RESOLUTION_METERS ((MMWDEMO_SPEED_OF_LIGHT_IN_METERS_PER_USEC * PROFILE_MRR_DIGOUT_SAMPLERATE_VAL)/ (2000.0f * PROFILE_MRR_FREQ_SLOPE_MHZ_PER_US * SUBFRAME_MRR_NUM_CMPLX_ADC_SAMPLES) )
       
    #define SUBFRAME_MRR_CHIRPTYPE_0_CHIRP_REPETITION_PERIOD_US ((CHIRP_MRR_0_IDLE_TIME_VAL + PROFILE_MRR_IDLE_TIME_VAL + PROFILE_MRR_RAMP_END_TIME_VAL)/100.0f)
    #define SUBFRAME_MRR_CHIRPTYPE_0_VEL_RESOLUTION_M_P_S       (((1000.0f/SUBFRAME_MRR_CHIRPTYPE_0_CHIRP_REPETITION_PERIOD_US)/SUBFRAME_MRR_CHIRPTYPE_0_NUM_CHIRPS)*(PROFILE_MRR_LAMBDA_MILLIMETER/2))
    #define SUBFRAME_MRR_CHIRPTYPE_0_MAX_VEL_M_P_S     (SUBFRAME_MRR_CHIRPTYPE_0_VEL_RESOLUTION_M_P_S*SUBFRAME_MRR_CHIRPTYPE_0_NUM_CHIRPS/2)
    #define INV_SUBFRAME_MRR_CHIRPTYPE_0_VEL_RESOLUTION_M_P_S       (1.0f/SUBFRAME_MRR_CHIRPTYPE_0_VEL_RESOLUTION_M_P_S)
       
    #define SUBFRAME_MRR_CHIRPTYPE_1_CHIRP_REPETITION_PERIOD_US ((CHIRP_MRR_1_IDLE_TIME_VAL + PROFILE_MRR_IDLE_TIME_VAL + PROFILE_MRR_RAMP_END_TIME_VAL)/100.0f)
    #define SUBFRAME_MRR_CHIRPTYPE_1_VEL_RESOLUTION_M_P_S       (((1000.0f/SUBFRAME_MRR_CHIRPTYPE_1_CHIRP_REPETITION_PERIOD_US)/SUBFRAME_MRR_CHIRPTYPE_1_NUM_CHIRPS)*(PROFILE_MRR_LAMBDA_MILLIMETER/2))
    #define SUBFRAME_MRR_CHIRPTYPE_1_MAX_VEL_M_P_S     ((SUBFRAME_MRR_CHIRPTYPE_1_VEL_RESOLUTION_M_P_S*SUBFRAME_MRR_CHIRPTYPE_1_NUM_CHIRPS/2)
    #define INV_SUBFRAME_MRR_CHIRPTYPE_1_VEL_RESOLUTION_M_P_S       (1.0f/SUBFRAME_MRR_CHIRPTYPE_1_VEL_RESOLUTION_M_P_S)

    #define SUBFRAME_MRR_MIN_SNR_dB (13.5f)

    #define SUBFRAME_MRR_NUM_CHIRPTYPES (2U)
  • Thank you!

    I will try this configuration on my side and get back to you

    Cesar

  • One more question.

    I assume that you have performed these tests with the IWR1843BOOST EVM as the part number mentions and not with a custom EVM

    thank you

    Cesar

  • Hi,

    Could you please confirm that you have performed these tests with the IWR1843BOOST EVM as the part number mentions and not with a custom EVM?

    Thank you

    Cesar

  • Hi Cesar,

    Yes it is with IWR1843Boost EVM.
    Sorry for the timeout.

    BR,

    Amr

  • Thank you

    Please give me a few days to perform the testing

    thank you

    Cesar

  • Hi,

    Sorry for the delay,

    We have tested your configuration and we are able to detect static objects inside our building.

    I will send you a link to the built binaries through a private chat so you can try them on your side

    thank you

    Cesar