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.

AWR2243BOOST: mmWaveLink_SingleChip_Example+DCA1000EVM captured data has obvious Doppler expansion when doing 2dfft in MATLAB

Part Number: AWR2243BOOST

Hello, everyone.

I'm using AWR2243BOOST and DCA 1000EVM for data capture. I want to use mmWaveLink_SingleChip_Example to capture data without using mmwavestudio. After gathering the data, I plot 2DFFT. But the figure exsits obvious doppler expansion. Everything in the testing experionment is stationary, so it seems that Doppler diffusion should not be present. I don't know what's wrong.

The plot is shown below:

Here is my mmwaveconfig.txt:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#
#For detailed view of mmWave Radar configuration structure
#please refer
#ti\control\mmwavelink\docs\doxygen\html\index.html
#
#
#Global configuration
#Advanced frame test enable/disable; 1 - Advanced frame; 0 - Legacy frame
#Continuous mode test enable/disable; 1 - Enable; 0 - Disable
#Dynamic chirp test enable/disable; 1 - Enable; 0 - Disable; This should not be enabled if Advanced chirp test is enabled
#Dynamic profile test enable/disable; 1 - Enable; 0 - Disable
#Advanced chirp test enable/disable; 1 - Enable; 0 - Disable; The legacy chirp API is not required if this is enabled
#Firmware download enable/disable; 1 - Enable; 0 - Disable
#mmWaveLink logging enable/disable; 1 - Enable; 0 - Disable
#Calibration enable/disable; To perform calibration store/restore; 1 - Enable; 0 - Disable
#Calibration Store/Restore; If CalibEnable = 1, then whether to store/restore; 1 - Store; 0 - Restore
#Transport mode; 1 - I2C; 0 - SPI
#Flash connected enable/disable; 1 - Enable; 0 - Disable
#
LinkAdvanceFrameTest=0;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

And here is my cf.json:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"DCA1000Config": {
"dataLoggingMode": "raw",
"dataTransferMode": "LVDSCapture",
"dataCaptureMode": "ethernetStream",
"lvdsMode": 1,
"dataFormatMode": 3,
"packetDelay_us": 25,
"ethernetConfig": {
"DCA1000IPAddress": "192.168.33.180",
"DCA1000ConfigPort": 4096,
"DCA1000DataPort": 4098
},
"ethernetConfigUpdate": {
"systemIPAddress": "192.168.33.30",
"DCA1000IPAddress": "192.168.33.180",
"DCA1000MACAddress": "12.34.56.78.90.12",
"DCA1000ConfigPort": 4096,
"DCA1000DataPort": 4098
},
"captureConfig": {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Thanks for the attentions.

  • Hi

    I assume with mmWave Studio you are able to get the correct result.

    What are the changes you have made to the Example?

    Thank you

    Cesar

  • Hi, Cesar

    Thanks for your reply!

    1) yes, I can get the correct result with mmWave Studio. And I used the MATLAB code I wrote to process the raw data collected by mmwave studio, and the results are consistent with the results on the studio, as shown in the figure below, so this may prove that my code is working properly.

    2) In the mmwaveconfig.txt, I changed the idletimeconst to 100us, frame periodicity changed to 0.4s, because I think frame periodicity should be greater than sum total time of all chirps. And I also changed the rlRfProgFiltConf_t section. I thought it's the filter parameters causing the doppler expansion. Unfortunately, the changes didn't work.

    In the cf.json, I changed the "framesToCapture" to 10, which is consistent with the framesnumber in the mmwaveconfig.txt. All the dataPortConfig parameters are set to complex. I also changed the laneFmtMap to 3, but actually I don't know why. 

    3) And there is another important problem besides the doppler expansion. I plot the range FFT with per received channel under every single frame. The first five frames work properly. But when it turns to all after frames, the data is getting wrong. Every frame contains 128 chirps. There is no valid information for the images drawn by the first 48 chirps. I plotted all the chirps obtained images for each frame on a single graph. The first graph is drawn with the 128 chirps in 3th frame. The second is drawn with the 128 chirps in 6th frame. And the figure besides is the range fft under the 48th chirp in the 6th frame. At this point the problem is very obvious.

    Figure 1:

    Fifure 2:

    Figure 3:

    I have also tried to test with the configuration files that has not been modified at all, but there will still be Doppler expansion and data errors. Please help me analyze what could be causing these errors.

    Thanks for the attention.

  • I solved this question.

    I set the LinkDynChirpTest to 0, and all the frames work properly.

    The doppler expansion problem is also solved. This is because I processed the received data of two sending and four receiving according to the MATLAB code of one sending and four receiving. When I changed the channelTx to 1, there is no weird plot using my own matlab code.

    Thanks for the attention.