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.

IWR1443: How to convert dat file to csv file?

Genius 13655 points
Part Number: IWR1443

Hello Champs,

Customer wants to know how to convert dat file to csv file. 

Below is his inquiry.

I am writing to express my concerns and request your assistance in providing a solution for the IWR1443BOOST ES3.0 evaluation module. The out-of-box demo for this module generates binary .dat files of point clouds, which are difficult to read and analyze. This has caused significant inconvenience for myself and other customers who have bought this product.

After extensively searching through forums, I discovered that the mmwavebeta can generate .csv files. However, it does not support SDK version 2.1, which is used by the out-of-box demo of IWR1443BOOST ES3.0. This is an unfriendly and unfair user experience for customers who have purchased this specific evaluation module. We spend no less than them, but we don’t enjoy the same convenient products. Others can easily get the files they need, but we need to spend a lot of time and energy.

Moreover, I have noticed that some demos or functions that were available in previous versions are now absent in the updated ES3.0 version. This is quite disappointing and feels unfair to customers who buy the product just now because a good product should provide better user experience with each update. Now, the upgrade has only introduced more confusion and wasted valuable time for customers.

Given these concerns, I kindly request that you provide a code or any other ways for efficiently converting the binary .dat files generated from out-of-box demo in the IWR1443BOOST ES3.0 to readable .csv files. Thank you for your attention to these matters, and I look forward to your prompt and positive response.


I suggested customer to use  C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\parser_scripts\mmw_demo_example_script.py, but it seems that the scripts in SDK 3.5 is not compatible with the dat file which is generated by SDK 2.1.

There is a IndexError: index out of range.

(venv) C:\Users\Think\OneDrive - CUHK-Shenzhen\pythonProject2>python mmw_demo_example_script.py 3.dat
readNumBytes: 680800
allBinData: 2 1 4 3
headerStartIndex = 0
totalPacketNumBytes = 672
platform = b'000a1443'
frameNumber = 151
timeCpuCycles = 2846640006
numDetObj = 5
numTlv = 3
subFrameNumber = 1
The 1st TLV
type 64
len 589829 bytes
The 2nd TLV
type 672598039
len 3357184025 bytes
x(m) y(m) z(m) v(m/s) Com0range(m) azimuth(deg) elevAngle(deg) snr(0.1dB) noise(0.1dB)
Traceback (most recent call last):
File "mmw_demo_example_script.py", line 97, in <module>
detectedNoise_array = parser_one_mmw_demo_output_packet(allBinData[totalBytesParsed::1], readNumBytes-totalBytesParsed)
File "C:\Users\Think\OneDrive - CUHK-Shenzhen\pythonProject2\parser_mmw_demo.py", line 298, in parser_one_mmw_demo_output_packet
print(" obj%3d: %12f %12f %12f %12f %12f %12f %12d %12d %12d" % (obj, detectedX_array[obj], detectedY_array[obj], detectedZ_array[obj], detectedV_array[obj], detectedRange_array[obj], detectedAzimut
h_array[obj], detectedElevAngle_array[obj], detectedSNR_array[obj], detectedNoise_array[obj]))
IndexError: list index out of range



Thanks
Regards
Shine

  •  Thanks for your attention. I have extracted data from .dat file using another script. Now I have another two questions: 1) Does DopplerIdx in this csv file represent velocity (times velocity resolution)?2)What is unit of PekVal?I transform it to db using 10log(PeakVal),is it right?Thanks again!

  • Hello,

    Can you link what script you are using here?

    1. Doppler is indeed velocity which is going to be in m/s. 

    2. I am not sure exactly what PeakVal is with no context on the script, but my guess is the peak range profile value which is the sum of log2 magnitudes of received antennas expressed in Q9 format and choosing a value from the range bins being used.

    Best Regards,

    Pedrhom Nafisi

  • Thank you for your reply. I referred to this link (https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/919948/awr1443boost-unable-to-get-parsetlv-py-to-work) and noticed an issue with the loop, which caused it to print only one packet. I made some revisions to the code and successfully saved the extracted data into a CSV file.

    However, my experience with this product has been disappointing. I discovered that much of the information is outdated, and some demo applications, such as room occupancy, are not compatible with my board IWR1443 ES3.0. Additionally,I didn't know the difference between ES2 and ES3 until I bought it, which is so bad.

  • Hello,

    Unfortunately IWR1443 is EOL as it is around 6 years old now, so you are correct that certain information such as demos is no longer being updated. However, I am glad you were able to fix your data issue.

    Best Regards,

    Pedrhom