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

Introduction

Implements Data path DoA processing functionality.

NOTE: (C) Copyright 2022 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_DoaProc_RadarCubeChunkEdmaCfg
 Source and destination addresses for EDMA input configuration. More...
 
struct  DPU_DoaProc_RadarCubeSource
 
struct  DPU_DoaProc_InitParams
 dopplerProc DPU initial configuration parameters More...
 
struct  DPU_DoaProc_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_DoaProc_HWA_Option_Cfg
 
struct  DPU_DoaProc_HwaCfg
 dopplerProc DPU HWA configuration parameters More...
 
struct  DPU_DoaProc_HwaMaxOutput
 Maximum peaks filled by HWA statistics block. More...
 
struct  DPU_DoaProc_EdmaCfg
 dopplerProc DPU EDMA configuration parameters More...
 
struct  DPU_DoaProc_HW_Resources
 Doppler DPU HW configuration parameters. More...
 
struct  DPU_DoaProc_compRxChannelBiasCfg
 Range Bias and rx channel gain/phase compensation configuration. More...
 
struct  DPU_DoaProc_compRxChannelBiasFloatCfg
 Range Bias and rx channel gain/phase compensation configuration. More...
 
struct  DPU_DoaProc_StaticConfig
 Doppler DPU static configuration parameters. More...
 
struct  DPU_DoaProc_Config
 dopplerProc DPU configuration parameters More...
 
struct  DPU_DoaProc_OutParams
 DPU processing output parameters. More...
 

Macros

#define DPU_DOAPROC_EINVAL   (DP_ERRNO_DOA_PROC_BASE-1)
 Error Code: Invalid argument. More...
 
#define DPU_DOAPROC_ENOMEM   (DP_ERRNO_DOA_PROC_BASE-2)
 Error Code: Out of memory. More...
 
#define DPU_DOAPROC_EINPROGRESS   (DP_ERRNO_DOA_PROC_BASE-3)
 Error Code: DPU is in progress. More...
 
#define DPU_DOAPROC_EHWARES   (DP_ERRNO_DOA_PROC_BASE-4)
 Error Code: Out of HWA resources. More...
 
#define DPU_DOAPROC_ESEMA   (DP_ERRNO_DOA_PROC_BASE-5)
 Error Code: Semaphore creation failed. More...
 
#define DPU_DOAPROC_ESEMASTATUS   (DP_ERRNO_DOA_PROC_BASE-6)
 Error Code: Bad semaphore status. More...
 
#define DPU_DOAPROC_EEXCEEDHWAMEM   (DP_ERRNO_DOA_PROC_BASE-7)
 Error Code: Configure parameters exceed HWA memory bank size. More...
 
#define DPU_DOAPROC_ECUBEFORMAT   (DP_ERRNO_DOA_PROC_BASE-8)
 Error Code: Unsupported radar cube format. More...
 
#define DPU_DOAPROC_EDETMFORMAT   (DP_ERRNO_DOA_PROC_BASE-9)
 Error Code: Unsupported detection matrix format. More...
 
#define DPU_DOAPROC_EDETMSIZE   (DP_ERRNO_DOA_PROC_BASE-10)
 Error Code: Insufficient detection matrix size. More...
 
#define DPU_DOAPROC_EWINDSIZE   (DP_ERRNO_DOA_PROC_BASE-11)
 Error Code: Wrong window size. More...
 
#define DPU_DOAPROC_E_NOTSUPPORTED_ANGLE_DIM_ONE_AND_CPU_LOOP_CTRL   (DP_ERRNO_DOA_PROC_BASE-12)
 Error Code: Not supported angle dim 1 (no elevation) and. More...
 
#define DPU_DOAPROC_E_EXCEEDED_MAX_NUM_DOPPLER_BINS   (DP_ERRNO_DOA_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_DOAPROC_MAX_NUM_HWA_PARAMSET   11
 Maximum number of HWA paramsets used by DPU. More...
 
#define DPU_DOAPROC_NUM_HWA_MEMBANKS   4
 Number of HWA memory banks needed. More...
 
#define DPU_DOAPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)
 Disables first butterfly stage scaling. More...
 
#define DPU_DOAPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)
 Enables first butterfly stage scaling. More...
 
#define DPU_DOAPROC_RANGE_LOOP_HWA_CONTROL   (0)
 Range loop type controlled by HWA. More...
 
#define DPU_DOAPROC_RANGE_LOOP_CPU_CONTROL   (1)
 Range loop type controlled by CPU. More...
 
#define DPU_DOA_PROC_MAX_NUM_DOP_FFFT_PARAMS   5
 Maximum nuber of Doppler FFT params. More...
 
#define DPU_DOA_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_DoaProc_Handle
 Handle for Doppler Processing DPU. More...
 

Functions

DPU_DoaProc_Handle DPU_DoaProc_init (DPU_DoaProc_InitParams *initCfg, int32_t *errCode)
 
int32_t DPU_DoaProc_process (DPU_DoaProc_Handle handle, DPU_DoaProc_RadarCubeSource *radarCubeSrc, DPIF_DetMatrix *detMatrix, DPU_DoaProc_OutParams *outParams)
 
int32_t DPU_DoaProc_deinit (DPU_DoaProc_Handle handle)
 
int32_t DPU_DoaProc_config (DPU_DoaProc_Handle handle, DPU_DoaProc_Config *cfg)
 

Macro Definition Documentation

◆ DPU_DOAPROC_MAX_NUM_HWA_PARAMSET

#define DPU_DOAPROC_MAX_NUM_HWA_PARAMSET   11

Maximum number of HWA paramsets used by DPU.

◆ DPU_DOAPROC_NUM_HWA_MEMBANKS

#define DPU_DOAPROC_NUM_HWA_MEMBANKS   4

Number of HWA memory banks needed.

◆ DPU_DOAPROC_FIRST_SCALING_DISABLED

#define DPU_DOAPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)

Disables first butterfly stage scaling.

◆ DPU_DOAPROC_FIRST_SCALING_ENABLED

#define DPU_DOAPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)

Enables first butterfly stage scaling.

◆ DPU_DOAPROC_RANGE_LOOP_HWA_CONTROL

#define DPU_DOAPROC_RANGE_LOOP_HWA_CONTROL   (0)

Range loop type controlled by HWA.

◆ DPU_DOAPROC_RANGE_LOOP_CPU_CONTROL

#define DPU_DOAPROC_RANGE_LOOP_CPU_CONTROL   (1)

Range loop type controlled by CPU.

◆ DPU_DOA_PROC_MAX_NUM_DOP_FFFT_PARAMS

#define DPU_DOA_PROC_MAX_NUM_DOP_FFFT_PARAMS   5

Maximum nuber of Doppler FFT params.

◆ DPU_DOA_PROC_MAX_2D_ANT_ARRAY_ELEMENTS

#define DPU_DOA_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_DoaProc_Handle

typedef void* DPU_DoaProc_Handle

Handle for Doppler Processing DPU.

Function Documentation

◆ DPU_DoaProc_init()

DPU_DoaProc_Handle DPU_DoaProc_init ( DPU_DoaProc_InitParams initCfg,
int32_t *  errCode 
)

◆ DPU_DoaProc_process()

int32_t DPU_DoaProc_process ( DPU_DoaProc_Handle  handle,
DPU_DoaProc_RadarCubeSource radarCubeSrc,
DPIF_DetMatrix detMatrix,
DPU_DoaProc_OutParams outParams 
)

◆ DPU_DoaProc_deinit()

int32_t DPU_DoaProc_deinit ( DPU_DoaProc_Handle  handle)

◆ DPU_DoaProc_config()

int32_t DPU_DoaProc_config ( DPU_DoaProc_Handle  handle,
DPU_DoaProc_Config cfg 
)