xWRL6432 MMWAVE-L-SDK  05.04.00.01
aoa2dproc.h File Reference

Introduction

Implements Data path AoA2D processing functionality.

Implements Data path DoA processing functionality.

NOTE: (C) Copyright 2023 Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Go to the source code of this file.

Data Structures

struct  DPU_Aoa2dProc_InitParams
 dopplerProc DPU initial configuration parameters More...
 
struct  DPU_Aoa2dProc_HWA_Doppler_Fft_Cfg
 Configuration parameters for each HWA param set performing the Doppler FFTs and mappng output into row-col array as input to azimuth/elevation FFTs. More...
 
struct  DPU_Aoa2dProc_HWA_Option_Cfg
 
struct  DPU_Aoa2dProc_FFTWindowCfg
 dopplerProc DPU HWA configuration parameters More...
 
struct  DPU_Aoa2dProc_HwaCfg
 dopplerProc DPU HWA configuration parameters More...
 
struct  DPU_Aoa2dProc_HwaMaxOutput
 Maximum peaks filled by HWA statistics block. More...
 
struct  DPU_Aoa2dProc_EdmaCfg
 dopplerProc DPU EDMA configuration parameters More...
 
struct  DPU_Aoa2dProc_HW_Resources
 Aoa2d DPU HW configuration parameters. More...
 
struct  DPU_Aoa2dProc_compRxChannelBiasCfg
 Range Bias and rx channel gain/phase compensation configuration. More...
 
struct  DPU_Aoa2dProc_compRxChannelBiasFloatCfg
 Range Bias and rx channel gain/phase compensation configuration. More...
 
struct  DPU_Aoa2dProc_AoaFovCfg
 Field of view - AoA2d Configuration. More...
 
struct  DPU_Aoa2dProc_detectionCfg
 Holds number of samples to be skipped in detection process from left and right side of the dimension for range, azimuth and elevation dimension. More...
 
struct  DPU_Aoa2dProc_compressCfg
 Compression parameters. More...
 
struct  DPU_Aoa2dProc_StaticConfig
 Doppler DPU static configuration parameters. More...
 
struct  DPU_Aoa2dProc_Config
 aoa2dProc DPU configuration parameters More...
 
struct  DPU_Aoa2dProc_OutParams
 DPU processing output parameters. More...
 

Macros

#define DPU_AOA2DPROC_EINVAL   (DP_ERRNO_AOA2D_PROC_BASE-1)
 Error Code: Invalid argument. More...
 
#define DPU_AOA2DPROC_ENOMEM   (DP_ERRNO_AOA2D_PROC_BASE-2)
 Error Code: Out of memory. More...
 
#define DPU_AOA2DPROC_EINPROGRESS   (DP_ERRNO_AOA2D_PROC_BASE-3)
 Error Code: DPU is in progress. More...
 
#define DPU_AOA2DPROC_EHWARES   (DP_ERRNO_AOA2D_PROC_BASE-4)
 Error Code: Out of HWA resources. More...
 
#define DPU_AOA2DPROC_ESEMA   (DP_ERRNO_AOA2D_PROC_BASE-5)
 Error Code: Semaphore creation failed. More...
 
#define DPU_AOA2DPROC_ESEMASTATUS   (DP_ERRNO_AOA2D_PROC_BASE-6)
 Error Code: Bad semaphore status. More...
 
#define DPU_AOA2DPROC_EEXCEEDHWAMEM   (DP_ERRNO_AOA2D_PROC_BASE-7)
 Error Code: Configure parameters exceed HWA memory bank size. More...
 
#define DPU_AOA2DPROC_ECUBEFORMAT   (DP_ERRNO_AOA2D_PROC_BASE-8)
 Error Code: Unsupported radar cube format. More...
 
#define DPU_AOA2DPROC_EDETMFORMAT   (DP_ERRNO_AOA2D_PROC_BASE-9)
 Error Code: Unsupported detection matrix format. More...
 
#define DPU_AOA2DPROC_EDETMSIZE   (DP_ERRNO_AOA2D_PROC_BASE-10)
 Error Code: Insufficient detection matrix size. More...
 
#define DPU_AOA2DPROC_EWINDSIZE   (DP_ERRNO_AOA2D_PROC_BASE-11)
 Error Code: Wrong window size. More...
 
#define DPU_AOA2DPROC_E_NOTSUPPORTED_ANGLE_DIM_ONE_AND_CPU_LOOP_CTRL   (DP_ERRNO_AOA2D_PROC_BASE-12)
 Error Code: Not supported angle dim 1 (no elevation) and. More...
 
#define DPU_AOA2DPROC_E_EXCEEDED_MAX_NUM_DOPPLER_BINS   (DP_ERRNO_AOA2D_PROC_BASE-13)
 Error Code: Doppler FFT size exceeded the limit. Maximum Doppler index is stored in array of type uint8_t. More...
 
#define DPU_AOA2DPROC_HWA_NUM_REGS_PER_PARAM_SET   8
 Number of registers per HWA param set. More...
 
#define DPU_AOA2DPROC_MAX_NUM_HWA_PARAMSET   6
 Maximum number of HWA paramsets used by DPU. More...
 
#define DPU_AOA2DPROC_NUM_HWA_MEMBANKS   4
 Number of HWA memory banks needed. More...
 
#define DPU_AOA2DPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)
 Disables first butterfly stage scaling. More...
 
#define DPU_AOA2DPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)
 Enables first butterfly stage scaling. More...
 
#define DPU_AOA2DPROC_SHIFT_Q8   8
 scale for side-lobe threshold More...
 
#define DPU_AOA2DPROC_ONE_Q8   (1<<DPU_CFARPROCHWA_SHIFT_Q8)
 
#define DPU_AOA2D_PROC_MAX_NUM_DOP_FFFT_PARAMS   5
 Maximum nuber of Doppler FFT params. More...
 
#define DPU_AOA2D_PROC_MAX_2D_ANT_ARRAY_ELEMENTS   16
 Maximum number of antenna elements in 2D virtual antenna array (maximum value of the product numRows*numCol) More...
 

Typedefs

typedef void * DPU_Aoa2dProc_Handle
 Handle for Aoa2d Processing DPU. More...
 

Functions

DPU_Aoa2dProc_Handle DPU_Aoa2dProc_init (DPU_Aoa2dProc_InitParams *initCfg, int32_t *errCode)
 
int32_t DPU_Aoa2dProc_process (DPU_Aoa2dProc_Handle handle, DPIF_RadarCube *radarCubeSrc, DPIF_CFARRngDopDetListElement *detRngDopList, uint32_t numDetPoints, DPIF_DetectedRangeGates *detectedRangeGates, DPIF_DetMatrix *detMatrix, DPU_Aoa2dProc_OutParams *outParams)
 
int32_t DPU_Aoa2dProc_deinit (DPU_Aoa2dProc_Handle handle)
 
int32_t DPU_Aoa2dProc_config (DPU_Aoa2dProc_Handle handle, DPU_Aoa2dProc_Config *cfg)
 
int32_t DPU_Aoa2dProc_GetNumUsedHwaParamSets (DPU_Aoa2dProc_Handle handle, uint8_t *numUsedHwaParamSets)
 

Macro Definition Documentation

◆ DPU_AOA2DPROC_HWA_NUM_REGS_PER_PARAM_SET

#define DPU_AOA2DPROC_HWA_NUM_REGS_PER_PARAM_SET   8

Number of registers per HWA param set.

◆ DPU_AOA2DPROC_MAX_NUM_HWA_PARAMSET

#define DPU_AOA2DPROC_MAX_NUM_HWA_PARAMSET   6

Maximum number of HWA paramsets used by DPU.

◆ DPU_AOA2DPROC_NUM_HWA_MEMBANKS

#define DPU_AOA2DPROC_NUM_HWA_MEMBANKS   4

Number of HWA memory banks needed.

◆ DPU_AOA2DPROC_FIRST_SCALING_DISABLED

#define DPU_AOA2DPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)

Disables first butterfly stage scaling.

◆ DPU_AOA2DPROC_FIRST_SCALING_ENABLED

#define DPU_AOA2DPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)

Enables first butterfly stage scaling.

◆ DPU_AOA2DPROC_SHIFT_Q8

#define DPU_AOA2DPROC_SHIFT_Q8   8

scale for side-lobe threshold

◆ DPU_AOA2DPROC_ONE_Q8

#define DPU_AOA2DPROC_ONE_Q8   (1<<DPU_CFARPROCHWA_SHIFT_Q8)

◆ DPU_AOA2D_PROC_MAX_NUM_DOP_FFFT_PARAMS

#define DPU_AOA2D_PROC_MAX_NUM_DOP_FFFT_PARAMS   5

Maximum nuber of Doppler FFT params.

◆ DPU_AOA2D_PROC_MAX_2D_ANT_ARRAY_ELEMENTS

#define DPU_AOA2D_PROC_MAX_2D_ANT_ARRAY_ELEMENTS   16

Maximum number of antenna elements in 2D virtual antenna array (maximum value of the product numRows*numCol)

Typedef Documentation

◆ DPU_Aoa2dProc_Handle

typedef void* DPU_Aoa2dProc_Handle

Handle for Aoa2d Processing DPU.

Function Documentation

◆ DPU_Aoa2dProc_init()

DPU_Aoa2dProc_Handle DPU_Aoa2dProc_init ( DPU_Aoa2dProc_InitParams initCfg,
int32_t *  errCode 
)

◆ DPU_Aoa2dProc_process()

int32_t DPU_Aoa2dProc_process ( DPU_Aoa2dProc_Handle  handle,
DPIF_RadarCube radarCubeSrc,
DPIF_CFARRngDopDetListElement *  detRngDopList,
uint32_t  numDetPoints,
DPIF_DetectedRangeGates *  detectedRangeGates,
DPIF_DetMatrix detMatrix,
DPU_Aoa2dProc_OutParams outParams 
)

◆ DPU_Aoa2dProc_deinit()

int32_t DPU_Aoa2dProc_deinit ( DPU_Aoa2dProc_Handle  handle)

◆ DPU_Aoa2dProc_config()

int32_t DPU_Aoa2dProc_config ( DPU_Aoa2dProc_Handle  handle,
DPU_Aoa2dProc_Config cfg 
)

◆ DPU_Aoa2dProc_GetNumUsedHwaParamSets()

int32_t DPU_Aoa2dProc_GetNumUsedHwaParamSets ( DPU_Aoa2dProc_Handle  handle,
uint8_t *  numUsedHwaParamSets 
)