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.

RTOS/AWR1843: What's the mmw Demo Data Structure with AWR1843?

Part Number: AWR1843
Other Parts Discussed in Thread: AWR1642

Tool/software: TI-RTOS

What's the mmw Demo Data Structure with AWR1843?

And what's different with AWR1642?
EX: MMWDEMO_OUTPUT_MSG_DETECTED_POINTS_SIDE_INFO only appears in 1843.

Regards,
JuiYang

  • Hi JuiYang,

    For mmw demo output result data structure you need to refer mmw doxygen doc

    C:/ti/mmwave_sdk_03_01_01_00/packages/ti/demo/xwr18xx/mmw/docs/doxygen/html/index.html (section: "Data Path").

    Object result data format may have a slight difference compared to the old SDK version.

    If you refer the doxygen document of xWR1843 then you can find the detail of this type and corresponding strcture (DPIF_PointCloudSideInfo_t)

    Side information of detected objects

    Type: (MMWDEMO_OUTPUT_MSG_DETECTED_POINTS_SIDE_INFO)

    Length: (Number of detected objects) x (size of DPIF_PointCloudSideInfo_t)

    Value: Array of detected objects side information. The side information of each detected object is as per the structure DPIF_PointCloudSideInfo_t). When the number of detected objects is zero, this TLV item is not sent.

    Regards,

    Jitendra

  • Hi Jitendra,

    Thank you.
    I still have a questions.

    1.How to calculate the Range profile?
    It say 
    Value: Array of profile points at 0th Doppler (stationary objects). The points represent the sum of log2 magnitudes of received antennas expressed in Q9 format. (In C:/ti/mmwave_sdk_03_01_01_00/packages/ti/demo/xwr18xx/mmw/docs/doxygen/html/index.html)

    Please find attached.
    In AWR1843_data_structure.txt (Line:28), the sum is 0x2248=8776.

    sum_Q9format = (8776/512);

    log2(sum_Q9format) = 4.0993478;

    Bug the peak value is 85.13505 in attached.

    02 01 04 03 06 05 08 07 // uint16_t    magicWord[4];
    02 01 01 03             // uint32_t    version;
    80 04 00 00             // uint32_t    totalPacketLen;
    43 18 0A 00             // uint32_t    platform;
    15 02 00 00             // uint32_t    frameNumber;
    93 58 38 89             // uint32_t    timeCpuCycles;
    01 00 00 00             // uint32_t    numDetectedObj;
    05 00 00 00             // uint32_t    numTLVs;
    00 00 00 00             // uint32_t    subFrameNumber;
    
    /* List of detected points */
    01 00 00 00             // uint32_t    type;
    10 00 00 00             // uint32_t    length;
    87 58 23 BF             // float  x;        =-0.6380696 = 1 01111110(-1) 010 0011 0101 1000 1000 0111(10705031*2^-23)
    F1 65 EA 3E             // float  y;        = 0.457809  = 0 01111101(-2) 110 1010 0110 0101 1111 0001(15361521*2^-23)
    00 00 00 00             // float  z;        = 0
    00 00 00 00             // float  velocity; = 0
    
    /* List of detected points */
    07 00 00 00
    04 00 00 00
    EC 00                   // int16_t snr
    77 03                   // int16_t noise
    
    /* Range profile */
    02 00 00 00
    00 02 00 00
    48 22 // 8776 -> 85.13505
    14 25 // 9492 -> 93.55448
    65 25 // 9573 -> 94.50696
    E6 23 AF 20 72 1D 01 1B A3 19 A5 18 09 17 2C 18 6C 1A CE 1D 05 1F 09 1F 2F 1E 49 20 15 23 73 25 E4 24 61 21 AF 1D 15 1F 22 1F F6 1D F1 1E 23 20 1B 24 E8 24 CF 22 96 1D 28 1B 54 1F 1F 24 68 25 F6 24 0A 24 CE 23 27 25 84 24 57 23 23 22 4A 22 D4 22 DA 23 73 24 ED 23 2F 22 C3 23 80 25 13 27 3D 25 9B 22 DD 21 35 21 58 20 66 21 6F 22 2A 22 2B 22 F8 20 A8 21 A8 23 24 25 CB 23 46 21 36 20 FE 1F 24 20 B8 1F E6 20 50 21 49 1F 31 1E 4D 20 DF 20 CE 1F A8 1F 19 1F 35 1E E0 1D 16 20 E1 20 83 1F E4 20 00 20 C5 1D BA 1D 04 1E F7 1D 5B 1E 10 1E 36 1E 75 1D AA 1D DE 1D FF 1D 6B 1E CF 1D 99 1E 52 1F 31 1F 92 1E C5 1E E4 1F 7E 20 83 1F BD 1C AE 1D 54 1C 34 1C 5A 1F 76 20 86 1F CC 1D 73 1C 78 1F AC 1E B7 1C 8F 1E E7 1F B2 1E 92 1D 09 1C CA 1B 7F 1A 57 1B 29 1B 81 1D EF 1D 71 1A 9F 1A 01 1B 86 1B 03 1A A6 1B 08 1C 87 1A 3F 1A DF 19 AD 1A 73 1B BB 1A DC 19 80 1A 5B 19 94 19 25 1C 39 1C 57 1B 30 1C 3E 1D C2 1C 85 19 0A 1A 0B 19 1A 1B 50 1B B4 19 C2 1A E8 1B EA 1A 52 1A 57 1A D4 18 89 1A 8E 1C F8 1C 0A 1C 0B 1A AD 1A 85 19 EA 18 86 1A CC 1B 01 1C 8B 19 B2 17 9E 19 C9 19 C8 19 08 19 C7 17 16 17 C9 17 97 18 04 18 61 1A FB 1A 8B 19 FB 16 33 18 3C 17 33 17 A1 17 65 18 1B 18 57 17 2A 16 52 18 1D 18 8C 17 55 17 9F 17 70 16 3F 16 2A 17 A6 16 C2 15 A2 17 6A 18 A5 18 BC 18 C1 19 AE 19 D8 17 1C 17 B5 17 C4 17 CC 16 BC 15 FF 14 A3 16 00 16 D0 16 27 17 20 15 6A 15 A7 16 DE 15 B6 15 A8 15 8F 15 8A 15 06 15 6B 16 59 15 4F 15 E6 14 AD 13 F6 12 EE 11 F4 11 1C 13 C1 12 2E 13 3D 12 94 12 FA 12 3B 14 F5 14 9F 15 CC 16 72 19 4A 1C 4E 1F
    
    /* Noise floor profile */
    03 00 00 00
    00 02 00 00
    6C 13 79 14 AD 14 72 13 F0 13 65 14 12 14 43 14 61 14 AD 13 F5 13 61 13 F7 13 7E 14 95 14 8F 14 70 15 11 15 59 14 B1 14 FA 14 3A 14 21 14 A5 14 05 15 9D 15 DA 14 A5 14 B8 13 97 14 E7 14 C9 13 B0 15 0E 15 51 13 69 14 D2 14 2B 15 BF 14 8A 14 E8 14 1A 15 E0 14 94 14 EE 13 A9 14 5A 14 91 14 F4 15 8E 15 A8 14 45 15 68 15 84 15 57 15 15 15 49 14 E6 13 A3 14 E4 14 2E 15 5F 15 87 14 47 16 9C 15 E8 15 B7 15 4D 14 F2 14 EF 14 7D 14 56 14 55 15 7C 15 98 14 2A 15 5D 15 24 15 0E 14 C3 13 EF 14 57 15 ED 14 6A 14 37 14 35 14 3B 14 CE 14 32 15 8C 14 1D 15 8A 15 EE 16 8D 16 31 16 8C 16 08 15 95 15 95 15 4F 16 19 15 C5 14 A2 15 08 15 D5 14 4A 15 FA 14 FF 14 FC 13 1D 14 2F 14 60 15 FE 14 0A 14 B6 13 B3 15 36 17 0C 16 29 16 31 15 B8 14 DD 14 A8 14 A4 15 AF 14 86 14 7D 15 0E 16 89 16 4F 16 58 15 68 14 3F 14 A9 14 7F 14 D0 14 27 15 8B 15 DE 14 5F 15 A2 15 4B 15 98 14 E2 14 E6 14 00 16 E5 15 28 14 D0 14 11 15 A9 14 06 13 A7 13 22 15 3E 15 94 14 A8 14 F8 13 E5 14 A7 15 8A 15 81 14 A3 14 75 14 3A 15 A6 13 0C 15 87 15 AB 15 C5 15 C2 15 C0 15 BA 14 42 15 7E 14 2E 14 7D 15 68 14 44 15 EA 14 19 15 54 13 E1 13 30 15 A8 15 E9 14 F9 13 A2 15 E4 14 80 14 E2 14 EE 14 96 14 D7 13 0F 14 31 14 9E 14 6B 15 72 15 FD 13 35 14 04 15 A6 15 74 15 12 15 AE 14 AE 15 F5 14 52 15 7A 15 73 15 84 15 5C 14 4F 16 E7 15 B3 15 98 13 41 13 77 15 11 15 75 15 CA 14 F8 13 CF 14 C2 14 97 14 9A 13 9B 13 43 14 42 13 00 14 9F 14 F7 14 25 13 08 14 A4 13 8E 14 52 13 EF 12 F6 12 5F 12 8A 12 12 12 87 11 04 12 23 11 E2 11 15 12 13 12 B6 12 6C 13 1A 14 A1 13 9F 12 6C 13 77 13
    
    /* Stats information */
    06 00 00 00
    18 00 00 00
    8F 02 00 00 // Interframe processing time in usec                         = 655
    5A 32 00 00 // Transmission time of output detection information in usec  = 12890
    D3 02 0F 00 // Interframe processing margin in usec                       = 983763
    00 00 00 00 // Interchirp processing margin in usec                       = 0
    00 00 00 00 // CPU Load (%) during active frame duration                  = 0
    00 00 00 00 // CPU Load (%) during inter frame duration                   = 0
    
    59 A5 00 00 00

    Regards,
    JuiYang

  • Hi,
    mmw demo application calculate the range profile, please go through the source code.

    I recommend you to check the mmWave Demo application and Visualizer source code to match the range profile calculation.

    Regards,
    Jitendra