Other Parts Discussed in Thread: AWR1642BOOST, AWR1642
Dear TI,
I have modules AWR1642BOOST and DCA1000EVM. My goal is to create working real-time processing of RAW ADC samples of IF signals via MATLAB. In my case "real-time" processing means to update target analysis, tracking, DOA estimations, range-Doppler graph, etc. let's say with 10 Hz rate and with let's say 0.2 s delay. The DCA1000EVM is able to send ADC samples to PC with higher speed but for human being recognition and analysis capabilities is previously mentioned requirements good enough.
I am right now in a stage when all Lua commands can be send via MATLAB to mmWave Studio utilizing your Init_RSTD_Connection.m and RtttNetClientAPI.RtttNetClient.SendCommand function. I just run mmWave studio as an administrator, run my MATLAB script, and AWR module is set for operation. Proper Lua commands can be reverse-engineered from mmWave Studio Output window.
Now what is my particular problem. When I run in a loop commands (with proper arguments of course):
ar1.CaptureCardConfig_StartRecord()
ar1.StartFrame()
UDP packets with RAW ADC samples are stored in *.bin file. To write the *.bin file takes approx. "time required to sweep required number of frames" + 2 s. My problem are the 2 seconds. It is always there independently of actual sampling duration. The *.bin file is filling rapidly, but the mmWave Studio will not close the file for additional 2 seconds which makes impossible to read file with all UDP packages as soon as possible. After study several *.lua files (let's mention well-known DataCaptureDemo_xWR.lua) I discovered that there is lot of (from my point of view) unnecessary RSTD.Sleep(1000) commands with negligently chosen delay as multiplies of 1 second. Where I can find a code which is run after ar1.StartFrame() evaluation? I believe that there are some unnecessarily long Sleep commands which actually significantly slow possible "real-time" processing.
Thank you very much!
Viktor Adler