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.

IWR1843: How to get information of the result of FFT from out of box demo using python

Other Parts Discussed in Thread: IWR1843

I am currently conducting research on heart rate and respiratory rate detection using the IWR-1843 radar. Because I want to use it in real time, I want to get information on the results of the FFT from the IWR-1843 hardware through the Out of Box demo lab, but I have problems when I want to retrieve the raw data of the FFT results. Can anyone provide a solution to my problem, especially if I want to implement it in python

  • Hello, 

    Typically when I see "raw" data I think ADC samples. Are you looking to retrieve the ADC data or the post-FFT data? I think it's the latter but please confirm.

    If you need to get the ADC samples, you will need the DCA1000 and mmWave Studio

    If you only need the 1D FFT result, we have the Industrial Visualizer as part of the Radar Toolbox which is a python-based GUI compatible with the Out of Box and several of our other example demos. You can use this for connecting to the device and parsing the output UART data including the range profile (1D FFT output). The source code for the Industrial Visualizer is included at <RADAR_TOOLBOX_INSTALL_DIR>/tools/visualizers/Industrial_Visualizer so you can make changes as needed to arrange and save the data in whichever format you deem appropriate.

    Best Regards,

    Josh

  • Hai Josh

    Thank you for your answer
    Actually I already have a DCA1000 and I have also managed to get Raw data and managed to process it. But right now I want to do data retrieval in real time, and I read some references that we can retrieve FFT result data from TI Hardware IWR1843. I am therefore currently trying to get an FFT result, which I will then process for a contactless vitals measurement application. Is there any suggestion that I can put it to good use?

  • Hi, 

    Understood. Thanks for the clarification. It is indeed possible to output the range profile (1D FFT result accumulated for all antenna). Is this what you are looking for? If you wish to output the entire radar cube (FFT result for all "doppler chirps" and all antenna), Due to the size of the radar cube data and relatively slow speed of UART it may be a bit tricky and would require some modifications to the demo code. Regardless, I still recommend referencing the source code of the Industrial Visualizer of the Radar Toolbox (linked above) for connecting to the device in python, parsing the output data, etc...  

    Best Regards,

    Josh

  • Hi Josh, Thank you for your response and suggestions. However, I encountered a problem when trying to save data from the Industrial Visualizer. I have followed the guide document provided by the TI team. In the beginning, we set up the CLI COM and DATA COM, then choose the demo option, and finally select 'Save UART'. Just like the image below:

    Next is to select the configuration, I get the .cfg data from the mwave demo visualizer. The results show a plot image on a 3D plot like this image:

    Then I checked in the demo visualizer folder there is a binData folder, my problem is that it is difficult to understand what data is it ?

    My question is whether the above data is FFT data, if true, how do I get complex data or real data from FFT using python ?, can you help me with this problem?

    Best Regards,

    Diyah

  • Hi Diyah, 

    When 'Save UART' is checked, the raw UART data stream is saved to a file. These are the 'pHistBytes' files that you see. The data is also output in TLV format. Please see this UART output data guide for more details. To make the data readable you would need to decode and parse the data. We do have an example script which parses the Out of Box demo TLVs and saves the data to a csv file which is available at <MMWAVE_SDK3_INSTALL_DIR>/packages/ti/demo/parser_scripts/mmw_demo_example_script.py.

    So with the process described above you can log the UART data using the visualizer then run that log through a parsing script (offline) which creates a csv file containing the demo output. However, I think a simpler option for you would be to modify the visualizer source code (which is already decoding and parsing the TLV data just as in mmw_demo_example_script.py) to save the data you need in whichever format you require.

    My question is whether the above data is FFT data

    Please see the guide linked above for more information on the output data. To answer your question, no the data is not the direct result of FFT. Depending on what is enabled with the guiMonitor command the output likely contains point cloud data, range profile data and statistics. I'd also like to clarify my earlier comments on range profile, it is the sum of the log2 magnitude of 1D FFT result for all antenna. So this may not be what you are looking for. If full FFT output is required, then you will need to make some modifications in the demo source code as this is not supported in any of our demos. Please confirm, does the range profile suit your needs?

    Best Regards,

    Josh 

  • Hi Josh,

    Actually, I want to obtain the FFT output from the hardware. Because, from what I observed in the Out of Box demo with the mmWave Visualizer, we can acquire data and range profiles as shown in the following image:

    To the best of my knowledge, we can obtain that range profile information by plotting the magnitude FFT data on the y-axis and x-axis as the distance obtained from the utilized configuration. For that reason, I am confident that results from the IWR 1843 hardware's FFT can be obtained. However, I am facing an issue as I have not been able to acquire that information yet. If you're asking whether I need the range profile, the answer is yes, but I'm more focused on the FFT data itself.

    Best Regards,

    Diyah

  • Hi Diyah, 

    I understand. As I mentioned previously, the Out of Box demo supports range profile output but it does not support output of entire FFT result (i.e. radar cube). There would be some modifications required to enable that but it should be possible. Please let me confirm internally that we do not already have some example which does this. I will reply here tomorrow. 

    Best Regards, 

    Josh

  • Hi Josh 

    Ok Josh, I look forward to your confirmation

    Best Regards,

    Diyah

  • Hi Diyah, 

    Yes unfortunately we do not have any examples doing this. This is something you will need to implement. You can import the Out of Box demo example into Code Composer Studio and make modifications as necessary. Please take a look at the mmwDemo_TransmitProcessedOutputTask to see how data is currently output. You will need to write some code to output the radar cube (1D FFT result). The radar cube's memory address can be found in the 'gMmwMssMCB' global variable. 

    If you have any issues or questions when trying to implement this please let me know and I will do my best to support you. 

    Best Regards,

    Josh