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.

AWRL6432: ADC Data Format .bin File

Part Number: AWRL6432
Other Parts Discussed in Thread: DCA1000EVM, MMWAVE-L-SDK

Tool/software:

Hey TI Team,

I would like to evaluate the ADC raw data (6432AOP+DCA1000EVM -> .bin file). Where can I find information on the data format and structure of the .bin file? I checked SWRA581B, but I am not sure if this applies to me. The document does not seem to be updated for the newer boards. Which of the boards described there is comparable to 6432AOP? I know I have real ADC samples. But I'm not sure what else I need to pay attention to and which transfer mode (interleaved?) I have. Is the source code of the PostProc tool available? Is there already a Python script or something similar to evaluate such a .bin file (e.g. for Range-FFT?). I would be grateful for any advice. Best regards Tobias

  • Hi Tobias,

    Steps for validating the raw ADC data is available in the MMWAVE-L-SDK. You can download the latest SDK from https://www.ti.com/tool/MMWAVE-L-SDK.

    The path ${SDK_INSTALL_PATH}/tools/ADC_parser includes parsing and post processing scripts (Matlab) for interpreting Raw ADC data acquired from the DCA1000EVM board.

    • The ar_convertAdcData_xWRLx432.m inside the ADC_parser folder takes the Raw adc dump as input and converts it into adc matrix.
    • In addition, a post processing script Test_read_adc_data_xWRLx432.m, has been included to invoke the above parsing script, compute 1D and 2D FFTs.
    • The inputs to this script are the raw ADC ".bin" file and the configuration ".cfg" file. Update the paths accordingly in the above post processing script.

    With these two scripts you will be able to validate the Raw ADC data and perform 1D FFT and doppler FFT as well.

    Thanks

    Swarnendu

  • Hi,

    Thank you for your quick reply. Unfortunately, I still have a problem. I have done the following:
    - created an ADC .bin file using mmWaveStudio and a LUA script for Config and Capturing
    - Started the ADC Parser script with the .bin file created above. I get the following error messages in MATLAB:

    >> Test_read_adc_data_xWRLx432
    Index in position 1 exceeds array bounds.
    
    Error in Test_read_adc_data_xWRLx432 (line 82)
                plot(squeeze(real(adcOut(Frame_num,j,k,1:Chirp_count,:)))');

    The Plots appear but are empty.

    Is this basically the correct procedure? As far as I understand, the script uses the information from the .cfg file provided so that the raw data can be interpreted correctly. I have tried to match the content of the LUA script with the .cfg. But something seems to be wrong. How can I ensure that I enter the correct values in the Matlab script?

  • Hi Tobias,

    I can see from your workspace values, n_frames is 0. This is contradicting with Frame_num = 10. It's trying to find 10th frame which is not there.

    How many frames are you capturing in your .bin file?

    According to the number of frames you captured, Frame_num needs to be updated. Frame_num basically plots that particular frame's adc samples in the plots. You can vary it based on which frame you desire to process.

    Thanks

    Swarnendu

  • Hi Tobias,

    Just following up, is the issue resolved?

    Thanks

    Swarnendu

  • Hello Swarnendu,

    I was able to solve the problem with the help of your answer. Thank you very much. One more question: How are the real samples of the ADC converted into complex? Is there any updated information on the data format? best regards 

  • Hi Tobias,

    Glad to hear that the issue is resolved.

    Regarding your question, no, there isn't any updated information on the data format. The ADC samples are real only. However, the FFT outputs are expected to be complex as FFT uses complex exponential multiplier to calculate the coefficients.

    I hope that answers your question.

    Thanks

    Swarnendu

  • Hi,

    As I understand it, the conversion takes place on the HWA using the IQ method? best regards 

  • Tobias,

    If you are referring to the raw ADC data, it is real only. You can verify it by looking at the adcOut (5D) vector or the plots of ADC. After the first FFT it becomes a set of complex coefficients. 

    For raw ADC data capture and external post processing, HWA does not come in between.

    Could you clarify the question?

    Thanks,

    Swarnendu

  • Hi Tobias,

    If this resolves your issue, please help me closing this thread.

    Thanks,

    Swarnendu.