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.

MMWCAS-RF-EVM: Performance Issues with Cascaded Radar

Part Number: MMWCAS-RF-EVM
Other Parts Discussed in Thread: MMWCAS-DSP-EVM, AWR2243, AWR1243,

Sir/Madam,

I am trying to develop a Cascaded Radar Solution based on TIDEP01012 & TIDEP01017.

For that I built PROCESSOR_SDK_RADAR_03_08_00_00, from source and deployed it to my MMWCAS-DSP-EVM. 

**Changes I made while building the sdk**

1. Set the MAKECONFIG=tda2xx_cascade_bios_radar

2. Applied the patches listed in the following thread. (According to our understanding these changes are necessary to make the SDK compatible with AWR2243 chip based RF board)

**Test Setup and Example usecase**

We installed the radar at a height of 3m above the ground and ran usecase a: Cascade Radar (4 AWR1243) Capture + Radar Object Detect (DSP) + NetworkTx (TDA2xx Only) out of the following available usecases

[IPU1-0] 9: Cascade Radar (4 AWR1243) Capture + Null (TDA2xx Only)
[IPU1-0] a: Cascade Radar (4 AWR1243) Capture + Radar Object Detect (DSP) + NetworkTx (TDA2xx Only)
[IPU1-0] b: Cascade Radar (4 AWR1243) Capture + FFT (EVE) + Tx Beam Form Static Map (DSP) + NetworkTx (TDA2xx Only)

For subsequent options we choose the following settings

1. 2D FFT Core Selection: DSP;  //Available options DSP, EVE

2. Select Network Mode: TFTDP //Available options TFTDP, TCP/IP

**Output**

The radar is not able to detect objects beyond 3 m.

**LOGS**

[IPU1-0] Vision SDK Usecases,
[IPU1-0] --------------------
[IPU1-0]
[IPU1-0] 1: RADAR Usecases
[IPU1-0] 2: MISC Tests
[IPU1-0]
[IPU1-0] s: System Settings
[IPU1-0]
[IPU1-0] x: Exit
[IPU1-0]
[IPU1-0] Enter Choice:
[IPU1-0]
[IPU1-1] 3.403800 s: NSP GMAC: PHY 2 Found on MAC Port 0
[IPU1-0] 4.116848 s:
[IPU1-0] 4.116970 s:
[IPU1-0]
[IPU1-0] RADAR Usecases
[IPU1-0] ---------------
[IPU1-0]
[IPU1-0] 9: Cascade Radar (4 AWR1243) Capture + Null (TDA2xx Only)
[IPU1-0] a: Cascade Radar (4 AWR1243) Capture + Radar Object Detect (DSP) + NetworkTx (TDA2xx Only)
[IPU1-0] b: Cascade Radar (4 AWR1243) Capture + FFT (EVE) + Tx Beam Form Static Map (DSP) + NetworkTx (TDA2xx Only)
[IPU1-0]
[IPU1-0] x: Exit
[IPU1-0]
[IPU1-0] Enter Choice:
[IPU1-0]
[IPU1-0] 5.085066 s:
[IPU1-0] 5.085127 s:
[IPU1-0]

[IPU1-0] ========================
[IPU1-0] 2D FFT Core Selection
[IPU1-0] ========================
[IPU1-0]
[IPU1-0] 1: DSP
[IPU1-0]
[IPU1-0] 2: EVE
[IPU1-0] Enter Choice:
[IPU1-0]
[IPU1-0] 98.761880 s: CHAINS_COMMON_CASCADE AR12xx Initializing FPGA ...
[IPU1-0] 100.361556 s: CHAINS_COMMON_CASCADE AR12xx Initializing FPGA Done...
[IPU1-0] 100.361770 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 100.386323 s: NUM_SENSORS = 4
[IPU1-0] 100.386414 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 100.386475 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 100.386567 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 100.386811 s: Parsing radar_test_vector/cascade_fe_master_params_MIMO.txt
[IPU1-0] 100.407002 s: SENSOR [0]:
[IPU1-0] 100.407094 s: Parsing Front End Config File: radar_test_vector/cascade/cascade_fe_params_mimo_master.txt
[IPU1-0] 100.419050 s: SENSOR [1]:
[IPU1-0] 100.419172 s: Parsing Front End Config File: radar_test_vector/cascade/cascade_fe_params_mimo_Map2.txt
[IPU1-0] 100.423656 s: SENSOR [2]:
[IPU1-0] 100.423747 s: Parsing Front End Config File: radar_test_vector/cascade/cascade_fe_params_mimo_Map4.txt
[IPU1-0] 100.428231 s: SENSOR [3]:
[IPU1-0] 100.428323 s: Parsing Front End Config File: radar_test_vector/cascade/cascade_fe_params_mimo_Map8.txt
[IPU1-0] 100.433294 s: CHAINS: Init AR12xx ...
[IPU1-0] 100.433630 s: UTILS_MCSPI: McSPI is configured in interrupt mode!!
[IPU1-0] 100.434057 s: UTILS_MCSPI: McSPI is configured in interrupt mode!!
[IPU1-0] 100.434209 s: UTILS_MCSPI: McSPI is configured in interrupt mode!!
[IPU1-0] 100.434362 s: UTILS_MCSPI: McSPI is configured in interrupt mode!!
[IPU1-0] 100.663179 s: AR12XX: ES3.0 Device detected!!
[IPU1-0] 100.663270 s: AR12XX: Firmware Download Started : Ftype: META_IMAGE
[IPU1-0] 101.474043 s: AR12XX: Firmware Download Successful : Ftype: META_IMAGE
[IPU1-0] 101.506496 s: AR12XX: ES3.0 Device detected!!
[IPU1-0] 102.127676 s: AR12XX: Firmware Download Started : Ftype: META_IMAGE
[IPU1-0] 104.492222 s: AR12XX: Firmware Download Successful : Ftype: META_IMAGE
[IPU1-0] 104.528579 s: AWR12XX: Version Master : 2.2.1.7
[IPU1-0] 104.528731 s: AWR12XX: Version RF:2.2.0.13
[IPU1-0] 104.528823 s: AWR12XX: Version mmWaveLink:1.2.0.0
[IPU1-0] 104.528914 s: AWR12XX: Version Master Patch[dd.mm.yy]:0.0.0
[IPU1-0] 104.529036 s: AWR12XX: Version RF Patch[dd.mm.yy]:0.0.0
[IPU1-0] 104.530836 s: CHAINS: Config AR12xx ...
[IPU1-0] 104.530927 s: CHAINS: Configuring the parameters for Normal Frame for Radar Number 1
[IPU1-0] 104.531019 s: CHAINS: Configuring the parameters for Normal Frame for Radar Number 2
[IPU1-0] 104.531141 s: CHAINS: Configuring the parameters for Normal Frame for Radar Number 3
[IPU1-0] 104.531232 s: CHAINS: Configuring the parameters for Normal Frame for Radar Number 4
[IPU1-0] 104.627249 s: AWR12XX: RF Boot Status = 0x73bfefb
[IPU1-0] 104.627371 s: AWR12XX: RF Boot Time = 10893 us
[IPU1-0] 104.734398 s: AWR12XX: RF Boot Status = 0x73bfefb
[IPU1-0] 104.734490 s: AWR12XX: RF Boot Time = 10893 us
[IPU1-0] 104.840450 s: AWR12XX: RF Boot Status = 0x73bfefb
[IPU1-0] 104.840541 s: AWR12XX: RF Boot Time = 10893 us
[IPU1-0] 104.946379 s: AWR12XX: RF Boot Status = 0x73bfefb
[IPU1-0] 104.946471 s: AWR12XX: RF Boot Time = 10893 us
[IPU1-0] 104.957634 s: CHAINS: Init AR12xx ... DONE !!!
[IPU1-0] 104.957847 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 104.975751 s: NUM_SENSORS = 4
[IPU1-0] 104.975843 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 104.975904 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 104.975965 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 104.976056 s: Parsing radar_test_vector/algo_master_params_cascade.txt
[IPU1-0] 104.983529 s: Parsing FFT Algorithm Params File: radar_test_vector/cascade/algo_configurations.txt
[IPU1-0] 105.311596 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 105.329042 s: NUM_SENSORS = 4
[IPU1-0] 105.329134 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 105.329195 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.329286 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.329378 s: Parsing radar_test_vector/algo_master_params_cascade.txt
[IPU1-0] 105.337003 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 105.351399 s: NUM_SENSORS = 4
[IPU1-0] 105.351491 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 105.351552 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.351613 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.351735 s: Parsing radar_test_vector/algo_master_params_cascade.txt
[IPU1-0] 105.359238 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 105.373818 s: NUM_SENSORS = 4
[IPU1-0] 105.373909 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 105.373970 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.374031 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.374123 s: Parsing radar_test_vector/algo_master_params_cascade.txt
[IPU1-0] 105.381717 s: Parsing radar_test_vector/sensor_master_config.txt
[IPU1-0] 105.395992 s: NUM_SENSORS = 4
[IPU1-0] 105.396053 s: FE_PARAMS = cascade_fe_master_params_MIMO.txt
[IPU1-0] 105.396144 s: FFT_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.396205 s: DSPALGO_PARAMS = algo_master_params_cascade.txt
[IPU1-0] 105.396297 s: Parsing radar_test_vector/algo_master_params_cascade.txt
[IPU1-0] 105.403739 s: Parsing Radar DSP Process Algorithm Params File: radar_test_vector/cascade/algo_configurations.txt
[IPU1-0] 105.735832 s: FILE_IO: Calibration file(calib_coef.bin) is NOT present in sd card! Used built-in coefficients!
[IPU1-0] 105.735984 s: Chains: NetworkTx Link
[IPU1-0]
[IPU1-0] Select Network Mode,
[IPU1-0] --------------------
[IPU1-0] 1: TFDTP
[IPU1-0] 2: TCP/IP
[IPU1-0]
[IPU1-0] Enter Choice:
[IPU1-0]
[IPU1-0] 107.850210 s: Chains: Using TFDTP. Ensure using –-usetfdtp with network tools..
[IPU1-0] 107.850362 s: CAPTURE: Create in progress !!!
[IPU1-0] 107.850576 s: CAPTURE: VIP1 Slice0 PortA capture mode is [16-bit] !!!
[IPU1-0] 108.060971 s: CAPTURE: VIP1 Slice1 PortA capture mode is [16-bit] !!!
[IPU1-0] 108.271396 s: CAPTURE: VIP2 Slice0 PortA capture mode is [16-bit] !!!
[IPU1-0] 108.481821 s: CAPTURE: VIP2 Slice1 PortA capture mode is [16-bit] !!!
[IPU1-0] 108.692368 s: CAPTURE: Create Done !!!
[IPU1-0] 108.692795 s: SELECT: OUT QUE0: OUT CH0: IN CH0: 2048 x 640, pitch = (4096, 0)
[IPU1-0] 108.692978 s: SELECT: OUT QUE1: OUT CH0: IN CH1: 2048 x 640, pitch = (4096, 0)
[IPU1-0] 108.693100 s: SELECT: OUT QUE2: OUT CH0: IN CH2: 2048 x 640, pitch = (4096, 0)
[IPU1-0] 108.693222 s: SELECT: OUT QUE3: OUT CH0: IN CH3: 2048 x 640, pitch = (4096, 0)
[IPU1-0] 108.693405 s: ALGORITHM: Create in progress (algId = 8) !!!
[IPU1-0] 108.997041 s: ALG: ti.radar.fft: CH0 BUF0: 0x8e60d000 ( 5242880 B )
[IPU1-0] 109.070090 s: ALG: ti.radar.fft: CH0 BUF1: 0x8eb0d200 ( 5242880 B )
[IPU1-0] 109.143353 s: ALG: ti.radar.fft: CH0 BUF2: 0x8f00d400 ( 5242880 B )
[IPU1-0] 109.216433 s: ALG: ti.radar.fft: CH0 BUF3: 0x8f50d600 ( 5242880 B )
[IPU1-0] 109.216738 s: ALGORITHM: Create Done (algId = 8) !!!
[IPU1-0] 109.217318 s: ALGORITHM: Create in progress (algId = 8) !!!
[IPU1-0] 109.520771 s: ALG: ti.radar.fft: CH0 BUF0: 0x8fc97800 ( 5242880 B )
[IPU1-0] 109.594095 s: ALG: ti.radar.fft: CH0 BUF1: 0x90197a00 ( 5242880 B )
[IPU1-0] 109.667327 s: ALG: ti.radar.fft: CH0 BUF2: 0x90697c00 ( 5242880 B )
[IPU1-0] 109.740376 s: ALG: ti.radar.fft: CH0 BUF3: 0x90b97e00 ( 5242880 B )
[IPU1-0] 109.740681 s: ALGORITHM: Create Done (algId = 8) !!!
[IPU1-0] 109.741048 s: ALGORITHM: Create in progress (algId = 8) !!!
[IPU1-0] 110.045446 s: ALG: ti.radar.fft: CH0 BUF0: 0x91322000 ( 5242880 B )
[IPU1-0] 110.118678 s: ALG: ti.radar.fft: CH0 BUF1: 0x91822200 ( 5242880 B )
[IPU1-0] 110.191728 s: ALG: ti.radar.fft: CH0 BUF2: 0x91d22400 ( 5242880 B )
[IPU1-0] 110.264991 s: ALG: ti.radar.fft: CH0 BUF3: 0x92222600 ( 5242880 B )
[IPU1-0] 110.265296 s: ALGORITHM: Create Done (algId = 8) !!!
[IPU1-0] 110.265631 s: ALGORITHM: Create in progress (algId = 8) !!!
[IPU1-0] 110.569907 s: ALG: ti.radar.fft: CH0 BUF0: 0x929ac800 ( 5242880 B )
[IPU1-0] 110.643109 s: ALG: ti.radar.fft: CH0 BUF1: 0x92eaca00 ( 5242880 B )
[IPU1-0] 110.716159 s: ALG: ti.radar.fft: CH0 BUF2: 0x933acc00 ( 5242880 B )
[IPU1-0] 110.789391 s: ALG: ti.radar.fft: CH0 BUF3: 0x938ace00 ( 5242880 B )
[IPU1-0] 110.789696 s: ALGORITHM: Create Done (algId = 8) !!!
[IPU1-0] 110.791008 s: IPC_OUT_0 : Create in progress !!!
[IPU1-0] 110.791313 s: IPC_OUT_0 : Create Done !!!
[IPU1-1] 110.833404 s: IPC_IN_0 : Create in progress !!!
[IPU1-1] 110.834289 s: IPC_IN_0 : Create Done !!!
[IPU1-1] 110.835021 s: NETWORK_TX: NETWORK_TX: Server listening (port=29172) !!!
[IPU1-1] 110.836210 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[IPU1-1] 110.836363 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 655360 B (640 KB), Free size = 627432 B (612 KB)
[DSP1 ] 110.791465 s: IPC_IN_0 : Create in progress !!!
[DSP1 ] 110.791801 s: IPC_IN_0 : Create Done !!!
[DSP1 ] 110.792319 s: ALGORITHM: Create in progress (algId = 11) !!!
[DSP1 ] 110.830079 s: ALG: ti.radar.dspcascademimo: CH0 BUF0: 0x951ad000 ( 675616 B )
[DSP1 ] 110.831391 s: ALG: ti.radar.dspcascademimo: CH0 BUF1: 0x95252000 ( 675616 B )
[DSP1 ] 110.832702 s: ALG: ti.radar.dspcascademimo: CH0 BUF2: 0x952f7000 ( 675616 B )
[DSP1 ] 110.832763 s: ALGORITHM: Create Done (algId = 11) !!!
[DSP1 ] 110.833160 s: IPC_OUT_0 : Create in progress !!!
[DSP1 ] 110.833221 s: IPC_OUT_0 : Create Done !!!
[DSP1 ] 110.836637 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[DSP1 ] 110.836668 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 122944 B (120 KB)
[DSP1 ] 110.836698 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 498816 B (487 KB)
[EVE1 ] 110.837003 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[EVE1 ] 110.838223 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 18304 B (17 KB)
[EVE1 ] 110.840328 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 261408 B (255 KB)
[EVE2 ] 110.842676 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[EVE2 ] 110.843896 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 18304 B (17 KB)
[EVE2 ] 110.846092 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 261408 B (255 KB)
[EVE3 ] 110.848441 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[EVE3 ] 110.849661 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 18304 B (17 KB)
[EVE3 ] 110.851735 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 261408 B (255 KB)
[EVE4 ] 110.854084 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[EVE4 ] 110.855365 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 18304 B (17 KB)
[EVE4 ] 110.857469 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 261408 B (255 KB)
[IPU1-0] 110.835295 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023
[IPU1-0] 110.835448 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 162616 B (158 KB)
[IPU1-0] 110.835600 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
[IPU1-0] 110.835753 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x8a783000, Total size = 355979264 B (339 MB), Free size = 175521792 B (167 MB)
[IPU1-0] 110.835936 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0x00000000, Total size = 0 B (0 MB), Free size = 0 B (0 MB)
[IPU1-0] 110.860275 s: CAPTURE: Start in progress !!!
[IPU1-0] 110.868053 s: CAPTURE: Start Done !!!
[IPU1-0] 110.868175 s: CHAINS: AR12xx Starting Radar Sensor ...
[IPU1-0] 110.872079 s: CHAINS: AR12xx Starting Radar Sensor ... DONE !!!

[IPU1-0]

**QUESTIONS/ OBSERVATIONS**

1. My RF-Board contains some sort of dark patches on and around the antenna patch area (image attatched below). Is it norrmal ? Does it have anything related to the poor performace I am getting ?

2. Also I noticed my range to slightly increase if I play with Control Calibration Settings and Control Peak Detection Settings

Paramters for Control Calibration, 

<numFrames> ,<rangeStartBin>,<rangeEndBin>

Defaults are:

AlgorithmFxn_RadarDspCascadeMimoComplexNum gChanCompCoefs [] =
{
{0.5493532, -0.5382177},
{0.5768175, -0.5527835},
{0.5161927, -0.5520395},
{0.6684260, -0.4948089},
{0.8705083, -0.0142706},
{0.9357420, -0.0385306},
{0.8456463, -0.0404831},
{0.8996814, 0.0715656},
{0.8015795, 0.4135538},
{0.8284975, 0.4534344},
{0.7886266, 0.3798872},
{0.7884426, 0.4827199},
{0.9043464, -0.5787817},
{0.9169999, -0.4995597},
{0.7730544, -0.6039488},
{0.8425182, -0.5128371},
{0.6421999, -0.6221311},
{0.7653940, -0.5754842},
{0.5956402, -0.5352713},
{0.6980371, -0.5140949},
{-0.9440165, -0.4547817},
{-0.9657323, -0.4828662},
{-0.8692111, -0.3945761},
{-0.9100713, -0.5279803},
{-1.0462480, -0.3236595},
{-1.0991201, -0.4520575},
{-1.0783755, -0.3171692},
{-1.0389148, -0.6105903},
{-0.9620396, -0.5932578},
{-0.9969274, -0.8560573},
{-0.9548815, -0.5968009},
{-0.8344880, -0.6344868},
{-0.2610382, 0.8056180},
{-0.0744242, 0.7477865},
{0.0357804, 0.7951190},
{-0.0672695, 0.9055505},
{-0.7162539, 0.7644633},
{-0.4306506, 0.7946529},
{-0.3173126, 0.9336312},
{-0.4023159, 0.9914214},
{-0.7082964, 0.5728868},
{-0.4729874, 0.5966918},
{-0.3494343, 0.6950704},
{-0.4710852, 0.7765141},
{0.1380861, 0.9279386},
{0.2620542, 0.7777091},
{0.3737004, 0.7224874},
{0.3094909, 0.8602797},
{0.0152542, 0.9000005},
{0.1287354, 0.7438046},
{0.1883689, 0.7285966},
{0.0906799, 0.9174668},
{0.9756498, -0.1790750},
{0.8663723, -0.3665421},
{0.8054178, -0.4799407},
{0.8859414, -0.5562888},
{0.7894852, -0.2141689},
{0.6803175, -0.2256978},
{0.7058089, -0.3263418},
{0.7997218, -0.4023758},
{0.7420773, -0.1433966},
{0.6557204, -0.1798879},
{0.6311873, -0.2957738},
{0.7367190, -0.3197846},
{0.9505693, 0.5551325},
{1.0414761, 0.2603690},
{1.0285757, 0.2223947},
{0.9209221, 0.4473050},
{0.5513432, 0.9571931},
{0.6988582, 0.7050428},
{0.6979669, 0.6630686},
{0.5570068, 0.8025689},
{0.0603978, 0.9334203},
{0.1390159, 0.8628576},
{0.1593458, 0.8764020},
{0.0672695, 0.9055505},
{0.7194937, 0.8075950},
{0.7881971, 0.8207001},
{0.9099478, 0.7524568},
{0.8386164, 0.8298808},
{0.6049777, 1.3151687},
{0.6597368, 1.6299380},
{0.9598035, 1.4212475},
{0.8693603, 1.3277503},
{-0.0969632, -1.1811885},
{-0.1869433, -1.0982921},
{-0.0996534, -1.1460146},
{-0.0559669, -1.1273338},
{0.1046557, -1.5399344},
{-0.2260024, -1.4831409},
{-0.1675737, -1.6254649},
{0.0268146, -1.4613965},
{0.5782658, -1.3448040},
{0.3903018, -1.7666292},
{0.4525752, -1.7119149},
{0.4306256, -1.4497730},
{0.7551180, -0.5264555},
{0.8770092, -0.6521350},
{0.5232915, -0.9318889},
{0.8842050, -0.6499285},
{0.9872881, -0.0490578},
{1.2393565, -0.1770509},
{0.9860778, -0.4277838},
{1.1080856, -0.1248547},
{0.7946622, 0.3169462},
{0.9816368, 0.2814026},
{0.9127659, 0.0524578},
{0.9422511, 0.3161500},
{0.8290837, -0.3437664},
{0.9458543, -0.4355012},
{0.8430626, -0.6393225},
{1.0346645, -0.3523857},
{1.0268174, -0.1486183},
{1.1788297, -0.1506775},
{1.1617876, -0.4094825},
{1.3399067, -0.1717829},
{-1.0016693, -0.4021300},
{-1.2705544, -0.4578574},
{-1.2365324, -0.1864612},
{-1.1850164, -0.3788167},
{-1.2087471, -0.5384420},
{-1.5229037, -0.8674768},
{-1.7853301, -0.2872945},
{-1.5511544, -0.6345631},
{-0.9038273, -0.9582747},
{-0.9570825, -1.3264828},
{-1.2853311, -1.0740438},
{-1.1545604, -1.1380666}
};

Parameters for Control Peak Detection,

<Relative detection threshold - float> ,<Doppler search relative threshold - float>, <Search window size for range domain - uint8>, <Number of guard samples for range domain - uint8>

<Search window size for Doppler domain - uint8>, <Number of samples to be skipped on the left side in range domain - uint8>,<Number of samples to be skipped on the right side in range domain - uint8>

Defaults are:

###############################################################################
#
# FFT Create Params
#
###############################################################################

###############################################################################
# FFT algorithm Id
FFT_Config_ID 0
#/**< Enable Windowing */
enableWindowing 1
#/**< Enable Dcoffset */
enableDcoffset 1
#/**< Enable InterferenceZeroOut */
enableInterferenceZeroOut 0
#/**< Enable DopplerCorrection */
enableDopplerCorrection 0
#/**< Enable Windowing */
windowingScaleFactor 15
#/**< Enable Windowing */
interferenceThreshold 1500
#/**< Set it to 1 to enable overflow detection else set it to zero.
# * If enabled the applet will return the scale factors to be applied
# * at each stage as part of outArgs. if scale factors are zero for
# * each stage then there is no overflow detected.
# */
enableOverFlowDetection 0
#/**< Output container format. Care should be taken as the input
# * format for the FFT operation (Horizontal or Vertical) is 16-bit.
# * If you set the outputContainerFormat is set as 32 bit for First
# * dimension FFT then the second Dimension would not be able to
# * take this input.
# */
#typedef enum
#{
# FFT_TI_CONTAINER_FORMAT_16BIT= 0,
# FFT_TI_CONTAINER_FORMAT_32BIT= 1
#} FFT_TI_ContainerFormat;
outputContainerFormat 0

###############################################################################
FFT_Config_ID 1
enableWindowing 1
enableDcoffset 0
enableInterferenceZeroOut 0
enableDopplerCorrection 0
windowingScaleFactor 15
interferenceThreshold 1500
enableOverFlowDetection 0
outputContainerFormat 1

###############################################################################
#
# CFAR Create Params
#
###############################################################################

#/*< Desired false detection ratio./
pfa 0.000001
#/**< Relative detection threshold. If K0 is non-zero value, pfa setting
# * will be ignored.*/
K0 6.3
#/*< Doppler search relative threshold./
dopplerSearchRelThr 6.3
#/**< Flag for enabling second pass search, if set to 1. If set to 0,
# * no second pass search*/
enableSecondPassSearch 1
#/*< Search window size for range domain search./
searchWinSizeRange 16
#/*< Number of guard samples for range domain search./
guardSizeRange 4
#/*< Search window size for Doppler domain search./
searchWinSizeDoppler 8
#/*< maximum number of detected obj./
maxNumDetObj 200
#/**< number of samples to be skipped on the left side in range domain. */
leftSkipSize 1
#/**< number of samples to be skipped on the right side in range domain. */
rightSkipSize 18
#/**< number of samples to be skipped on the left side in azimuth domain. */
leftSkipSizeAzimuth 0
#/**< number of samples to be skipped on the right side in azimuth domain. */
rightSkipSizeAzimuth 0
#/*<use log2(mag) as input/
log2MagFlag 0

###############################################################################
#
# AoA Create Params
#
###############################################################################

#/**< azimuth FFT output row in which the maximums are search */
rxMainRowIndex 0
#/**< Azimuth FFT size */
azimuthFFTsize 256
#/**< Number of azimuth FFTs per detected Range/Doppler point */
numAzimuthFFTs 4
#/**< Elevation FFT Size */
elevationFFTsize 64
#/**< Threshold for multiple peak detection */
multiPeakThresholdScale 0.95
#/**< Enabling flag for clutter removal. */
enableClutterRemoval 0
#/**< Enabling flag for max velocity */
enableExtendedMaxVelocity 0

May I know the default calibration values that should work for MIMO or the relevant documentation that can help me understand these settings.  As the SDK was made for AWR1243, do I need to change any defaullt CFAR/Control Calibration settings to make it compatible with AWR2243. 

Regards 

Gagandip Singh Dadhwal

  • Hi Gangadip,

    Thank you for reaching out on e2e! Please find my replies below.

    1. My RF-Board contains some sort of dark patches on and around the antenna patch area (image attached below). Is it normal? Does it have anything related to the poor performance I am getting?
      This is something that potentially could cause a degradation in the RF performance but it is not exactly quantifiable. Can you describe by what you mean by poor performance? Is the gain reduced or are you seeing an increase in noise level etc.
    2. Also, I noticed my range to slightly increase if I play with Control Calibration Settings and Control Peak Detection Settings. May I know the default calibration values that should work for MIMO or the relevant documentation that can help me understand these settings. As the SDK was made for AWR1243, do I need to change any default CFAR/Control Calibration settings to make it compatible with AWR2243.
      1. The range of the detections are strictly based on the radar equations, and it is a function of the bandwidth and the frequency slope.
      2. With respect to the CFAR settings, you can proceed with the same values as the data it operates on would be the same (you might have to change some thresholds if you are seeing some change in level from question 1).
      3. With respect to calibration, you should be able to recalibrate your device and feed in the coefficients if required (if there is a deviation in the detected angles when testing with a corner reflector at known position in space).

    Best regards,

    Kaushik

  • Hi ,

    I ordered a new MMWCAS-RF-EVM, to be sure that there is not a problem with my hardware.

    The new hardware is able to detect people upto 15m.

    Upon inspecting PROCESSOR_SDK_RADAR_03_08_00_00\vision_sdk\apps\src\rtos\radar\src\common\chains_common_cascade_ar12xx_config_mimo.c, I found that the CHAINS_CASCADE_RADAR_SAMPLING_RATE_KSPS   is defined as  (8000U) and the CHAINS_CASCADE_RADAR_SLOPE_MHZ_PER_US  (79U)

    The maximum distance the radar can see is

    dmax  = (CHAINS_CASCADE_RADAR_SAMPLING_RATE (in MSPS) * c(speed of light)) / 2 * CHAINS_CASCADE_RADAR_SLOPE_MHZ_PER_US

    dmax with the above values comes out to be 15m, which is in accordance with the observed output. 

    I tried changing the values of CHAINS_CASCADE_RADAR_SLOPE_MHZ_PER_US  and CHAINS_CASCADE_RADAR_SAMPLING_RATE_KSPS, but I am unable to get detections upto 150m (As claimed in MIMO example). 

    Please suggest us the way forward. !!

    Regards
    Gagandip Singh Dadhwal

  • Hi Gangadip,

    Would it be possible for you to record ADC data, perform post-processing and observe what's happening in the FFTs using mmwave Studio?

    Maybe some parameters need to be fine-tuned for your particular usecase.


    Regards,

    Kaushik

  • Hi Kaushik,

    Thanks for your response. I would like to confirm that I used the Matlab GUI provided in the "apps\src\rtos\radar\src\usecases\cascade_radar_object_detect" folder of Processor SDK Radar. I am able to observe the detections [upto 100m based on our chirp settings which is in accordance with our chirp settings] 

    However, all our detections were observed in "Range-Doppler Profile" Graph but not in the "Detected Points Scatter plot". As per my understanding, the "Range-Doppler Profile" Graph is plotted before the CFAR processing and thus I am getting the detections. 

    But in the case of Detected point scatter plot, the final objects to be plotted are calculated after the CFAR processing which is resulting in loss of detections in our case. 

    1. Please confirm whether above mentioned understanding is correct or not ?

    2. As per the radar equation, I can set the min. SNR required for detection algorithm to consider the peak as a detected point. Could you please direct me how to set the min SNR ? Is it included in CFAR settings? 

    3. The CFAR Settings have the following parameters (with default values)

     #/**< Relative detection threshold. If K0 is non-zero value, pfa setting
    # * will be ignored.*/
    K0 6.3
    #/*< Doppler search relative threshold./
    dopplerSearchRelThr 6.3
    #/**< Flag for enabling second pass search, if set to 1. If set to 0,
    # * no second pass search*/
    enableSecondPassSearch 1
    #/*< Search window size for range domain search./
    searchWinSizeRange 16
    #/*< Number of guard samples for range domain search./
    guardSizeRange 4
    #/*< Search window size for Doppler domain search./
    searchWinSizeDoppler 8
    #/*< maximum number of detected obj./
    maxNumDetObj 200
    #/**< number of samples to be skipped on the left side in range domain. */
    leftSkipSize 1
    #/**< number of samples to be skipped on the right side in range domain. */
    rightSkipSize 18
    #/**< number of samples to be skipped on the left side in azimuth domain. */
    leftSkipSizeAzimuth 0
    #/**< number of samples to be skipped on the right side in azimuth domain. */
    rightSkipSizeAzimuth 0

    Could you please expain the meaning of these parameters or direct me to a suitable documentation ?

    4. Do I need to change the CFAR settings everytime I run into a new environment ? 

    Thanks & Regards

    Gagandip Singh Dadhwal

  • Hi TI Team, 

    We are waiting for your response.

    Thanks & Regards

    Gagandip Singh Dadhwal

  • Hi Gangadip,

    Thank you for your patience. Please find my response as follows:

    1. Your understanding is correct.
    2. There is no minimum SNR with which the point is compared against to be classified as a detection. The CFAR algorithm adaptively generates a threshold against which the cell under test is compared based on the noise floor. You can choose a scale value for this threshold based on the signal strength. If you want to choose the scale parameters or the window lengths, I suggest you go through the CFAR algorithm implementation in the code and derive a relation between the SNR and the required CFAR configs as per your requirement. Unfortunately, we do not have any document or video explaining the same.
    3. The short description are as follows:
      1. K0 -> Threshold scale for CFAR done in the range dimension
      2. dopplerSearchRelThr  -> Threshold scale for CFAR in the doppler dimension
      3. enableSecondPassSearch -> Enable/Disable the CFAR filtering with a second pass (can reduce/increase the number of detections further)
      4. searchWinSizeRange  -> Length of the CFAR window in range dimension (Takes a larger window noise average but the relativity to the CUT reduces)
      5. guardSizeRange -> Size of the of the guard cells on either side of the CUT (Guard cells to be chose based on the energy spillover into adjacent bins which can be a result of varying RCS or insufficient N-point FFT)
      6. searchWinSizeDoppler -> Length of the CFAR window in doppler dimension.
      7. maxNumDetObj -> Maximum number of detections allowed to be picked by the CFAR algorithm
      8. leftSkipSize -> Samples to ignore on the left side in the range dimension (saves cycles by not looking at unrequired ranges)
      9. rightSkipSize -> Samples to ignore on the right side in the range dimension( saves cycles by not looking at unrequired ranges)
      10. leftSkipSizeAzimuth -> Samples to ignore on the left side in the angle dimension
      11. rightSkipSizeAzimuth -> Samples to ignore on the right side in the angle dimension

        There is no document explaining these parameters. Would high recommend you go through the web/e2e forum/source code to understand how CFAR works.
    4. Depends on how much the environment changes. Ideally, in a given environment, with known inputs, a set of CFAR config is determined and the same is maintained. If not, CFAR configuration needs to be done in a way that it is adaptive to these changes in the environment via algorithm. 

    Hope this has given you the information you need.

    Regards,

    Kaushik