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.

AWR1243: The network loses frames badly when using matlab to receive data

Part Number: AWR1243

I set to output only Azimuth Heatmap by the serial port, and then run radar_cascade_demo.m file with matlab. The network can transmit data, but a lot of data is lost:

In addition, when I transfer the bin file on SSD to the computer through the network, the speed is only about 4~5MB/s, is this speed normal?

Is it possible that the loss of data is caused by the slow transmission speed of the network?

thank you very much

best regards

  • Hi,

    Are you trying default configuration comes along with Radar-SDK or changed some of it?

    Make sure that frame-idle is sufficient to give room for last frame output transfer else you would miss frames.

    Regards,

    Jitendra

  • Thanks for your reply!

    There are the configurations I've modified:

    In fact, I don't know where to modify the parameters related to network transmission, such as frame-idle, could you please let me know where they are?

    Thanks a lot.

  • I noticed that the default network communication rate of TDA2xx is 100M. Is there any way I can manually change it to 10M?

    Regards,

  • Hi

    TDA2x supports 1 Gbps link. But this is auto negotiated to 100 M or 1 G.

    You can force 1 G by setting the following in C:\PROCESSOR_SDK_VISION_03_08_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\ndk\ndk_nsp_hooks.c

    pGMACSWConfig->macInitCfg[i].macConnectionType =
    MAC_CONNECTION_TYPE_RGMII_FORCE_1000_FULL;

    BTW, before you do this can you please check if what is the log you get on the console for this;

    "NDK: Link Status: "

    Thanks and Regards

    Piyali

     

  • As you said, the speed of network connection is 1 Gbps:

    I added some printing in the SDK code:

    This is what I saw by serial port:

    The top half is the printing before running radar_cascade_demo.m, and the bottom half is the printing when running radar_cascade_demo.m.

    The frame cycle should be 100ms, but when running radar_cascade_demo.m, the network starts to transfer at this point and the frame cycle becomes very unstable.

    Could this be the reason why the network lost frames?

    Looking forward to your reply.

    Thank you very much.

  • I tried to output only RangeProfile:

    or only noiseProfile:

    or only rangeDopHeatMap:

    In these case, the amount of data transmitted over the network is relatively small, so there is no frame loss problem.

    If I only output the point cloud, the amount of data transmitted will be larger, so there will be some frame loss:

    and the frame cycle will be a little unstable:

    So it seems to be related to the amount of data being transferred over the network.

  • Can you please check if you have the following line in the function

    Function:AlgorithmFxn_RadarDspSetOpPointers

    File: C:\PROCESSOR_SDK_VISION_03_08_00_00\vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radardspcascademimo\radarDspCascadeMimo.c

    /* ALGORITHMFXN_RADAR_DSP_PROCESS_OP_DETECTED_POINTS */
    if (pLinkCreateParams->opControlParams.pointCloud == (UInt8)1)

    {

    ...

    sectionHeader->sectionLength = 0U;

    ...

    }

    If not, can you please add this and see if the throughput becomes better?

    Thanks and Regards

    Piyali

  • I added this, but the problem remains, is there anything else I can try?

    Regards,

  • Hi JG

    To eliminate the slowness of the MATLAB versus the slowness of the network, instead of the MATLAB script, can you please run the following command in your command prompt:

    cd C:\PROCESSOR_SDK_VISION_03_08_00_00\vision_sdk\apps\tools\network_tools\bin

    network_rx.exe --target_ip <board ipaddr> --host_ip <PC ipaddr> --usetfdtp --files test.bin

    Here, try to see if you are getting all the frames in the UART console log.

    Thanks and Regards

    Piyali

  • Hi Piyali

    There's a problem. It says: The specified file could not be found:

    I tried putting a test.bin file in the bin folder, but there's still this problem. Did I do anything wrong?

  • Hi JG

    You would need to remove the < and > symbols from your command.

    Regards

    Piyali

  • Here are the test results:

    Does this represent the maximum transmission speed of the network?

    If so, that seems to explain why frames are lost so badly when transmitting range-azimuth heat maps.

    Regards

    JG

  • Hi JG

    The log on the windows console would only tell how many frames it finished capturing and what is the size. The test would be to keep the network_rx running and then in the target UART console to check the FPS and see if you are seeing dropped frames there.

    If no, then you know this is a matlab renderring slow down. If you still see dropped frames with network_rx, that would mean we need to see what is the network throughput requirement from the usecase and why in your setup the throughput is not recieved.

    On the TDA2x, we can eaisily achieve >600 Mbps transmit speeds with TFDTP.

    Thanks and Regards

    Piyali

  • This test proved that the network transmission rate was stable at 1.25MBps:

    When transmitting the range-azimuth heat map:

    The amount of data is about 690KB per frame, or 6.69mbps.

    Is there any other way to test the maximum transmission speed of the network?

    And as shown in the picture above, when running radar_cascade_demo.m, the network starts to transfer at this point and the frame cycle becomes very unstable,this doesn't seem normal.

    Thanks and Regards

    JG

  • JG

    The dropping of frames is happening because the matlab takes a longer time to render all the views. The MATLAB gui is supposed to be a debug tool and not a real time visualizer. 

    Thanks and Regards

    Piyali