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.

AWR2243: format of the raw bin file collected from the cascaded 2243 radar

Part Number: AWR2243

I am using 2243 cascaded radar to capture the radar. I used "mmWave Studio Cascade" user guide to setup and capture the data using the mimo lua script (without changing anything). Four bin files has been generated, i.e., one for master and three for slaves. when i read a single file i.e. "master_0000_data.bin", it has 28311552 elements. I want to understand why these many elements are there. 

As per the tdm mimo data arrangement each frame contains blocks and each block contains data corresponding to each transmitter. so in this case as i am reading only master data,

no of frame: 9

chirp per loop = 64

sample per chirp = 256,

How to calculate the total number of elements in a bin file? 

  • Hi Ritesh,

    The size of each bin file captured can be factorized as following:

    • Size of each sample = 4 Bytes (2 bytes (16-bit complex sampling))
    • Number of samples
    • Number of Rx channels per device.
    • Number for unique chirps (in TDM MIMO example config this will be number of Tx enabled for every chirp i.e 10)
    • Number of chirp loops programmed for each of those unique chirps.
    • Total number of frames per capture.

    Please give this a try on your end and let us know if its alright.

    Regards,

    Kaushik

  • Dear Kaushik, can you please check where am I doing wrong.

    • Number of samples = 256
    • Number of Rx channels per device = 12  [3x4 for master device only]
    • Number for unique chirps (in TDM MIMO example config this will be number of Tx enabled for every chirp i.e 10) : shouldnt be 3, as the data is only related to master device i.e.  "master_0000_data.bin" ?
    • Number of chirp loops programmed for each of those unique chirps : 64 (number of chirps per loop?)
    • Total number of frames per capture: (10)

    256x12x10x64x10 = 19,660,800

    I am expecting 28311552 elements. 

    All the parameters are set according to "Cascade_Configuration_MIMO.lua" as I used this to capture the data. So you can take the parameters accordingly.

  • Hello Kaushik,

    Could you kindly expedite your response to this query? Your prompt reply would be greatly appreciated.

    Thank you in advance for your understanding and swift action.

    Best regards

    Ritesh

  • Hi Ritesh,

    You should get it as below:

    256 (Num samples) * 4 (Sample size) * 4 (Rx per device) * 12 (Num Tx across 4 devices = 3 * 4) * 64 (Chirp loops) * 9 (Number of frames).

    Regards,

    Kaushik

  • Thank you Kaushik for the reply. All is clear but, why sample size is taken 4? One sample is made of two elements of total 28311552 elements, one for real part and other for complex part, isn't it? So generally 28311552 elements should make 28311552/2 samples. 

  • when i read the bin file, there is 28311552 elements as shown in the picture, if i take one element as a real value and one element as a complex value then one sample is made of two elements. whith this logic 256x2x4x12x64x9 = 14155776 elements but we got 28311552. I am little bit confused. Please clarify. 

  • Hi Ritesh,

    Thank you for your patience! Please find my responses to your questions as below:

    1. Why sample size is taken 4?
      The ADC samples the signal as a 16-bit number and therefore, each sampled value will be of 2 bytes. This is true for both real and imaginary channels therefore you get 4 bytes per one complex ADC sample.
    2. You are also supposed to read each sample as an int16 number from the data and then split them as real/imaginary.

    Hope this answered your question. Let me know if there is any issue.

    Regards,

    Kaushik

  • Hi Kaushik. So you mean When we make complex samples from the raw data as given below, it takes four elements for one complex sample? This is my data file link: https://drive.google.com/drive/folders/1IiGYaXlvlHdZwinp5295S-aLmwmhRkZ2?usp=drive_link if you need. 

     

  • Hi Ritesh,

    What you mean by element is 1 byte is what I understand. You are supposed interpret 2 bytes of contiguous data as an int16 number. Please read your data in that format instead of uint8.

    Regards,

    Kaushik

  • Hi Kaushik. Thanks for your clarification. I got it that a complex sample is made of 4 byte and the screenshot I am showing you in previous comments, there each element is made of 8 bit. So four elements will make one complex sample. Clear!!!

    However I want to understand more in detail:

    test.m.txt
    clear
    clc
    adcIdxFileName = 'C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\PostProc\Cascade_Capture_22xx_mimo\master_0000_idx.bin';
    [numIdx dataFileSize] = getValidNumFrames(adcIdxFileName); % get the number of valid frames
    
    numSamplePerChirp=256; % The number of samples per chirp
    numChirpPerLoop = 12; % The number of unique chirps per loop
    numLoops = 64; % The number of loops
    numRXPerDevice = 4; % The number of receive channels per chip per device
    numDevices = 1; 
    dataFolder = 'C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\PostProc\Cascade_Capture_22xx_mimo'; %cascade folder
    fileidx = getUniqueFileIdx(dataFolder);
    fileNameCascade = getBinFileNames_withIdx(dataFolder, fileidx{1,1});
    
    read_ADC_bin_TDA2_separateFiles(fileNameCascade,1,numSamplePerChirp,numChirpPerLoop,numLoops, numRXPerDevice, numDevices);
    
    can you go to this folder "C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example\utils\dataParse" and run my code "test.m". I have already shared my data with you. I dont understand why  datafilesize is showing 28311552. You are recommending me to read the bin files as 'unit16', instead of 'unit8'. However it was read by given code by TI only. Can you please clarify.