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.
Hello,
I would like help capturing ADC data from only one receiver with the AWR1843BOOST and DCA1000EVM with mmWave Studio for MATLAB post-processing. I have had no issue processing data myself in Matlab for 4 receivers, but with only one receiver I get strange behaviour. My guess is that TI's provided Matlab code for reading ADC is giving me trouble, but I'm not sure.
I am using Section 9.2 "DCA1000 With x16xx and IWR6843 MATLAB Example" from www.ti.com/.../swra581b.pdf
I set "numRX = 1; % number of receivers"
I also notice that with 1 receiver, I am only using LVDS lane 1, but TI's provided MATLAB script states "numLanes = 2; % do not change. number of lanes is always 2". I'm not sure if this is relevant.
When I do a regular 2D FFT I now get a result that looks like this:
It looks like the same signal is shown several times on the same frame.
Thank you for your time. Here are my configuration settings:
[17:48:24] [RadarAPI]: ar1.LVDSLaneConfig(0, 1, 0, 0, 0, 1, 0, 0)
[17:48:24] [RadarAPI]: Status: Passed
[17:48:29] [RadarAPI]: ar1.ProfileConfig(0, 77, 7, 6.4, 334.73, 0, 0, 0, 0, 0, 0, 11.732, 0, 982, 3000, 0, 0, 48)
[17:48:29] [RadarAPI]: Status: Passed
[17:48:31] [RadarAPI]: ar1.ChirpConfig(0, 0, 0, 0, 0, 0, 0, 1, 0, 0)
[17:48:31] [RadarAPI]: Status: Passed
[17:48:33] Test Source Already Disabled...!!!
[17:48:33] [RadarAPI]: ar1.DisableTestSource(0)
[17:48:33] [RadarAPI]: Status: Passed
[17:48:33] [RadarAPI]: ar1.FrameConfig(0, 0, 528, 255, 200, 0, 0, 1)
[17:48:33] [RadarAPI]: Status: Passed
[17:48:38] [RadarAPI]: ar1.GetCaptureCardDllVersion()
[17:48:38] [RadarAPI]: Sending dll_version command to DCA1000
[17:48:38] [RadarAPI]:
[17:48:38] DLL Version : 1.0
[17:48:38] [RadarAPI]: ar1.SelectCaptureDevice("DCA1000")
[17:48:38] [RadarAPI]: Status: Passed
[17:48:40] [RadarAPI]: ar1.CaptureCard_DisConnect()
[17:48:40] [RadarAPI]: Status:Passed
[17:48:41] [RadarAPI]: ar1.CaptureCardConfig_EthInit("192.168.33.30", "192.168.33.180", "12:34:56:78:90:12", 4096, 4098)
[17:48:41] [RadarAPI]: ar1.CaptureCardConfig_Mode(1, 2, 1, 2, 3, 30)
[17:48:41] [RadarAPI]: ar1.CaptureCardConfig_PacketDelay(25)
[17:48:41] [RadarAPI]: Sending fpga command to DCA1000
[17:48:41] [RadarAPI]:
[17:48:41] FPGA Configuration command : Success
[17:48:41] [RadarAPI]: Sending record command to DCA1000
[17:48:41] [RadarAPI]:
[17:48:41] Configure Record command : Success
[17:48:41] [RadarAPI]: ar1.GetCaptureCardFPGAVersion()
[17:48:41] [RadarAPI]: Sending fpga_version command to DCA1000
[17:48:41] [RadarAPI]:
[17:48:41]
[17:48:41] FPGA Version : 2.8 [Record]
[17:48:41]
[17:48:45] [RadarAPI]: ar1.CaptureCardConfig_StartRecord("C:\\ti\\mmwave_studio_02_01_00_00\\mmWaveStudio\\PostProc\\adc_data.bin", 1)
[17:48:45] [RadarAPI]: Sending start_record command to DCA1000
[17:48:48] [RadarAPI]: ar1.StartFrame()
[17:48:48] [RadarAPI]: Status: Passed
[17:48:48] Frame start async event received!
[17:50:34] [RadarAPI]: Frame Ended
[17:50:36] [RadarAPI]:
[17:50:36] Start Record command : Success
[17:50:36]
[17:50:36] Record is completed
[17:50:36]
[17:50:36] Record stop is done successfully
[17:50:36] Frame End async event received!
[17:50:36] [RadarAPI]:
[17:50:49] [RadarAPI]: ar1.StartMatlabPostProc("C:\\ti\\mmwave_studio_02_01_00_00\\mmWaveStudio\\PostProc\\adc_data.bin")
[17:50:49] [RadarAPI]: No of files Captured: 1, Total no of frames for each device : 528
Hello Andrej,
Is any specific reason to use only 1 Rx? Processing Matlab script is provided for reference and limited to >2 Rx.
For single Rx you need to use own custom Matlab script to process the captured ADC data.
DCA1000 supports only 2 or 4 LVDS lanes. Please refer these appnote to understand the data format when it is streamed over LVDS
https://www.ti.com/lit/an/swra555a/swra555a.pdf
https://www.ti.com/lit/an/swra581b/swra581b.pdf
Regards,
Jitendra
Hi Jitendra,
Thanks for your reply and for explaining that 1Rx does not work with the provided Matlab script and that the DCA1000 needs 2 or 4 LVDS lanes.
My reason for wanting to capture only one Rx is because otherwise I capture too much data and my .bin file becomes split into adc_data_0.bin, adc_data_1.bin etc. I have trouble getting the provided Matlab script from swra581b to work with these multiple .bin files. So I would like to keep my chirp and frame configurations, and record for a longer period of time. Any suggestions would be helpful. Thanks!
Hello Andrej,
If file splits across different bin file you need to stitch both of it for the processing. Modify the existing matlab script for your requirement.
Hope you are referring Matlab example from this place.- C:\ti\mmwave_studio_02_01_00_00\mmWaveStudio\MatlabExamples
Regards,
JG
Hi Jitendra,
Thank you for your help. A few simple lines of code to concatenate the binary files together has allowed the MATLAB script to work with data across multiple files. Now I can record for longer periods of time. Simple solution, and I wish I had thought of it myself. Thanks again.