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.

AWR1843BOOST: ADC cube with BPM MIMO enabled

Part Number: AWR1843BOOST
Other Parts Discussed in Thread: IWR1843BOOST

Hello,

I have a question concerning the BPM mimo with IWR1843BOOST,

Reading the content of linked thread, i think bpm mimo is not implement on DSP inside the demo version.

But if i am using mmwave studio to configure the bpm and get ADC data directly from DAC1000 using LVDS, I will be able to use BPM MIMO, is it right?

If i'm right, i have an other question. Ones i have create the ADC cube for one frame (4Rx,128chirps,256samples), i need to separate the cube cause with BPM MIMO enabled, i have 8 virtuals antenas but i don't see how to do it.

thanks,
Vincent

  • Sorry but my question is not exactly how to separate datas in order to get the 8 virtuals antennas cause i think we need to do it using S1=(Sa+Sb)/2 and S2=(Sa-Sb)/2 but more about how those data are stored inside raw data from LVDS ?

    One in Two chirps inside data raw concerne Sa and the other Sb ? In that case we have to assume that the scene has not changed between Sa and Sb emission

  • Hi,

    Yes, it is possible to configure bpm with mmwave studio.

    Please see this thread

    Regarding the format of the ADC data, please see the Section 24 in mmWave studio User Guide  C:\ti\mmwave_studio_02_01_00_00\docs\mmwave_studio_user_guide.pdf

    Here is a short matlab script that reads the raw data format for MIMO with 3 TX

        % radar_data has data in the following format.
        % Rx0I0, Rx0I1, Rx0Q0, Rx0Q1, Rx0I2, Rx0I3, Rx0Q2, Rx0Q3, ...
        % The following script reshapes it into a 3-dimensional array.
        % size(adcOut) = [ADC samples per chirp x Chirps per Frame x Number of virtual Channels]
        
        len = length(dataChunk) / 2;
        adcOut(1:2:len) = dataChunk(1:4:end) + 1j*dataChunk(3:4:end);
        adcOut(2:2:len) = dataChunk(2:4:end) + 1j*dataChunk(4:4:end);
        adcOut = reshape(adcOut, Chirp_NUM_ADC_sample_size, numTXAnt*4, Chirp_NUM_Chirps);
        adcOut = permute(adcOut, [1, 3, 2]);
           

    Thank you

    Cesar

  • Thanks,

    Vincent