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.

IWR6843: Size of radar data cube

Part Number: IWR6843

In

the size of the radar data cube is calculated at page 16 as:

number of samples * number of chirps * number of Rx * bytes per sample

"The requirements for memory are exactly the same as the 16-bit processing chain, since only the 16-bit range-FFT output is stored. Hence for a frame with 128 chirps (N chirp = 128), with each chirp having 256 samples (N adc = 256) and with 4 RX antennas, the radar-cube memory requirements is 256 samples x 128 chirps x 4 antennas x 4 bytes/sample= 512KB"

Is Rx the number of real or virtual antennas? I assume virtual. Does not number of Tx come into the equation?

How come, the size of each sample is 4 bytes? Is that possible? In the chirp configuration

adcCfg only allows 16 bits per sample.

Has it something to do with  the second argument of adcCfg, <adcOutputFmt>?

  • Hi Johan,

    "Is Rx the number of real or virtual antennas? I assume virtual. Does not number of Tx come into the equation?"

    Number of Rx is the virtual Rx channel count. It is the product of number of TX channels and number of physical RX channels. So if you have 2 TX and 4 physical RX channels, the total virtual RX count is 8. Num TX is already accounted for in this parameter.

    "How come, the size of each sample is 4 bytes? Is that possible? In the chirp configuration"

    Please refer to the mmWave SDK user guide for details on the adcCfg command.

    Regards

    -Nitin

  • Some feedback on the mmwave SDK user guide:

    I am having a hard time finding information about the size of the ADC samples, maybe I am looking at the wrong places.

    Looking into the mmwave SDK user guide the following is mentioned about adcCfg:

    - The first argument <numADCBits> can only be set to '2' which means the ADC values will be 16 bits.

    - The second argument <adcOutputFmt> can be set to '0' (real), '1' (complex 1x image band filtered output) or '2' (complex 2x image band visible).

    What these options mean exactly is not clear to me tough but it seems that in my case using a '1' gives ADC's data as 4 bytes (2 byte real, 2 byte imag).

    Looking through the SDK user guide I can not find any explanation to the meaning of "complex 1x image band filtered output" or "complex 2x image band visible".

    Looking into the code packages/ti/control/mmwavelink/include/rl_device.h there is a brief comment on the arguments as well but no explanation to the "complex 1x image band filtered output" or "complex 2x image band visible".

        /**
         * @brief  ADC out bits - 0(12 Bits), 1(14 Bits), 2(16 Bits)
         */
        rlUInt16_t adcBits;
        /**
         * @brief  ADC out format - 0(Real), 1(Complex), 2(Complex with Image band), 3(Pseudo Real)
         */
        rlUInt16_t adcFmt;

  • Hi Johan,

    Thanks for the feedback. We will try to improve the documentation around the sampling modes.

    - The first argument <numADCBits> can only be set to '2' which means the ADC values will be 16 bits.

    [NS]: This means that the OOB demo software only supports 16-bit ADC sampling i.e. each individual ADC value is 16-bit (16-bit I, 16-bit Q or one 16-bit value for real only)

    - The second argument <adcOutputFmt> can be set to '0' (real), '1' (complex 1x image band filtered output) or '2' (complex 2x image band visible).  

    [NS]: Please refer to the following threads for information on the various sampling formats:

    IWR1443: ADC format: Complex 1x vs Complex 2x

    IWR6843ISK: Re:AWR1642BOOST: Complex 1x and Complex 2x Modes

    You may also find the following thread useful in the context of this thread:

    IWR6843ISK-ODS: profileCfg parameters

    Regards

    -Nitin