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

Introduction

Implements Data path Micro Doppler processing functionality.

NOTE: (C) Copyright 2022-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  FeatExtract_reducedFeatOutput
 
struct  DPU_uDopProc_FeatureObj
 
struct  DPU_uDopProc_RadarCubeChunkEdmaCfg
 Source and destination addresses for EDMA input configuration. More...
 
struct  DPU_uDopProc_InitParams
 dopplerProc DPU initial configuration parameters More...
 
struct  DPU_uDopProc_HwaParamSaveLoc
 Structure for the HWA Params save location. More...
 
struct  DPU_uDopProc_scratch
 Structure for. More...
 
struct  DPU_uDopProc_HwaCfg
 dopplerProc DPU HWA configuration parameters More...
 
struct  DPU_uDopProc_HwaMaxOutput
 Maximum peaks filled by HWA statistics block. More...
 
struct  DPU_uDopProc_HwaSumOutput
 Sum filled by HWA statistics block. More...
 
struct  DPU_uDopProc_EdmaCfg
 dopplerProc DPU EDMA configuration parameters More...
 
struct  DPU_uDopProc_HW_Resources
 Doppler DPU HW configuration parameters. More...
 
struct  DPU_uDopProc_compRxChannelBiasCfg
 Range Bias and rx channel gain/phase compensation configuration. More...
 
struct  DPU_uDopProcCliCfg
 Micro Doppler Processing CLI Configuration. More...
 
struct  DPU_uDopClassifierCliCfg
 Micro Doppler Classifier CLI Configuration. More...
 
struct  DPU_uDopProc_StaticConfig
 Doppler DPU static configuration parameters. More...
 
struct  DPU_uDopProc_Config
 dopplerProc DPU configuration parameters More...
 
struct  DPU_uDopProc_tList
 Structure holds the target coordinates. More...
 
struct  DPU_uDopProc_TrackerData
 
struct  DPU_uDopProc_classifierPrediction
 
struct  DPU_uDopProc_classifierOutput
 
struct  DPU_uDopProc_OutParams
 DPU processing output parameters. More...
 

Macros

#define DP_ERRNO_UDOPPLER_PROC_BASE   (MMWAVE_ERRNO_DPU_BASE -700)
 
#define DPU_UDOPPROC_EINVAL   (DP_ERRNO_UDOPPLER_PROC_BASE-1)
 Error Code: Invalid argument. More...
 
#define DPU_UDOPPROC_ENOMEM   (DP_ERRNO_UDOPPLER_PROC_BASE-2)
 Error Code: Out of memory. More...
 
#define DPU_UDOPPROC_EINPROGRESS   (DP_ERRNO_UDOPPLER_PROC_BASE-3)
 Error Code: DPU is in progress. More...
 
#define DPU_UDOPPROC_EHWARES   (DP_ERRNO_UDOPPLER_PROC_BASE-4)
 Error Code: Out of HWA resources. More...
 
#define DPU_UDOPPROC_ESEMA   (DP_ERRNO_UDOPPLER_PROC_BASE-5)
 Error Code: Semaphore creation failed. More...
 
#define DPU_UDOPPROC_ESEMASTATUS   (DP_ERRNO_UDOPPLER_PROC_BASE-6)
 Error Code: Bad semaphore status. More...
 
#define DPU_UDOPPROC_EEXCEEDHWAMEM   (DP_ERRNO_UDOPPLER_PROC_BASE-7)
 Error Code: Configure parameters exceed HWA memory bank size. More...
 
#define DPU_UDOPPROC_ECUBEFORMAT   (DP_ERRNO_UDOPPLER_PROC_BASE-8)
 Error Code: Unsupported radar cube format. More...
 
#define DPU_UDOPPROC_EDETMFORMAT   (DP_ERRNO_UDOPPLER_PROC_BASE-9)
 Error Code: Unsupported detection matrix format. More...
 
#define DPU_UDOPPROC_EDETMSIZE   (DP_ERRNO_UDOPPLER_PROC_BASE-10)
 Error Code: Insufficient detection matrix size. More...
 
#define DPU_UDOPPROC_EWINDSIZE   (DP_ERRNO_UDOPPLER_PROC_BASE-11)
 Error Code: Wrong window size. More...
 
#define DPU_UDOPPROC_EHWA_PARAM_SAVE_LOC_SIZE   (DP_ERRNO_UDOPPLER_PROC_BASE-12)
 Error Code: Insufficient memory to save HWA param sets. More...
 
#define DPU_UDOPPROC_EEDMA_CONFIG_FAILED   (DP_ERRNO_UDOPPLER_PROC_BASE-13)
 Error Code: EDMA Configuration failed. More...
 
#define DPU_UDOPPROC_MAX_NUM_HWA_PARAMSET   6
 Maximum number of HWA paramsets used by DPU. More...
 
#define DPU_UDOPPROC_NUM_HWA_MEMBANKS   4
 Number of HWA memory banks needed. More...
 
#define DPU_UDOPPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)
 Disables first butterfly stage scaling. More...
 
#define DPU_UDOPPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)
 Enables first butterfly stage scaling. More...
 
#define DPU_UDOPPROC_RANGE_LOOP_HWA_CONTROL   (0)
 Range loop type controlled by HWA. More...
 
#define DPU_UDOPPROC_RANGE_LOOP_CPU_CONTROL   (1)
 Range loop type controlled by CPU. More...
 
#define DPU_UDOPPROC_MAX_NUM_TRACKS   TRACKER_MAX_NUM_TR
 Maximum number of tracks. More...
 
#define DPU_UDOPPROC_AZIMUTH_FFT_APPROACH   0
 
#define DPU_UDOPPROC_AZIMUTH_BEAM_FORMING_APPROACH   1
 
#define DPU_UDOPPROC_MAX_NUM_AZIMUTH_ACCUM_BINS   15
 
#define CLASSIFIER_NUM_FRAMES   30
 
#define CLASSIFIER_NUM_FEATURES   4
 
#define CLASSIFIER_NUM_CLASSES   2
 

Typedefs

typedef void * classifier_Handle
 Handle for classifier. More...
 
typedef void * DPU_uDopProc_Handle
 Handle for Doppler Processing DPU. More...
 

Functions

DPU_uDopProc_Handle DPU_uDopProc_init (DPU_uDopProc_InitParams *initCfg, int32_t *errCode)
 
int32_t DPU_uDopProc_process (DPU_uDopProc_Handle handle, DPIF_RadarCube *radarCube, DPIF_DetMatrix *detMatrix, DPU_uDopProc_TrackerData *trackerData, DPU_uDopProc_OutParams *outParams)
 
int32_t DPU_uDopProc_deinit (DPU_uDopProc_Handle handle)
 
int32_t DPU_uDopProc_config (DPU_uDopProc_Handle handle, DPU_uDopProc_Config *cfg)
 
int32_t DPU_uDopProc_GetNumUsedHwaParamSets (DPU_uDopProc_Handle handle, uint8_t *numUsedHwaParamSets)
 

Macro Definition Documentation

◆ DP_ERRNO_UDOPPLER_PROC_BASE

#define DP_ERRNO_UDOPPLER_PROC_BASE   (MMWAVE_ERRNO_DPU_BASE -700)

◆ DPU_UDOPPROC_MAX_NUM_HWA_PARAMSET

#define DPU_UDOPPROC_MAX_NUM_HWA_PARAMSET   6

Maximum number of HWA paramsets used by DPU.

◆ DPU_UDOPPROC_NUM_HWA_MEMBANKS

#define DPU_UDOPPROC_NUM_HWA_MEMBANKS   4

Number of HWA memory banks needed.

◆ DPU_UDOPPROC_FIRST_SCALING_DISABLED

#define DPU_UDOPPROC_FIRST_SCALING_DISABLED   ((uint8_t)0U)

Disables first butterfly stage scaling.

◆ DPU_UDOPPROC_FIRST_SCALING_ENABLED

#define DPU_UDOPPROC_FIRST_SCALING_ENABLED   ((uint8_t)1U)

Enables first butterfly stage scaling.

◆ DPU_UDOPPROC_RANGE_LOOP_HWA_CONTROL

#define DPU_UDOPPROC_RANGE_LOOP_HWA_CONTROL   (0)

Range loop type controlled by HWA.

◆ DPU_UDOPPROC_RANGE_LOOP_CPU_CONTROL

#define DPU_UDOPPROC_RANGE_LOOP_CPU_CONTROL   (1)

Range loop type controlled by CPU.

◆ DPU_UDOPPROC_MAX_NUM_TRACKS

#define DPU_UDOPPROC_MAX_NUM_TRACKS   TRACKER_MAX_NUM_TR

Maximum number of tracks.

◆ DPU_UDOPPROC_AZIMUTH_FFT_APPROACH

#define DPU_UDOPPROC_AZIMUTH_FFT_APPROACH   0

◆ DPU_UDOPPROC_AZIMUTH_BEAM_FORMING_APPROACH

#define DPU_UDOPPROC_AZIMUTH_BEAM_FORMING_APPROACH   1

◆ DPU_UDOPPROC_MAX_NUM_AZIMUTH_ACCUM_BINS

#define DPU_UDOPPROC_MAX_NUM_AZIMUTH_ACCUM_BINS   15

◆ CLASSIFIER_NUM_FRAMES

#define CLASSIFIER_NUM_FRAMES   30

◆ CLASSIFIER_NUM_FEATURES

#define CLASSIFIER_NUM_FEATURES   4

◆ CLASSIFIER_NUM_CLASSES

#define CLASSIFIER_NUM_CLASSES   2

Typedef Documentation

◆ classifier_Handle

typedef void* classifier_Handle

Handle for classifier.

◆ DPU_uDopProc_Handle

typedef void* DPU_uDopProc_Handle

Handle for Doppler Processing DPU.

Function Documentation

◆ DPU_uDopProc_init()

DPU_uDopProc_Handle DPU_uDopProc_init ( DPU_uDopProc_InitParams initCfg,
int32_t *  errCode 
)

◆ DPU_uDopProc_process()

int32_t DPU_uDopProc_process ( DPU_uDopProc_Handle  handle,
DPIF_RadarCube radarCube,
DPIF_DetMatrix detMatrix,
DPU_uDopProc_TrackerData trackerData,
DPU_uDopProc_OutParams outParams 
)

◆ DPU_uDopProc_deinit()

int32_t DPU_uDopProc_deinit ( DPU_uDopProc_Handle  handle)

◆ DPU_uDopProc_config()

int32_t DPU_uDopProc_config ( DPU_uDopProc_Handle  handle,
DPU_uDopProc_Config cfg 
)

◆ DPU_uDopProc_GetNumUsedHwaParamSets()

int32_t DPU_uDopProc_GetNumUsedHwaParamSets ( DPU_uDopProc_Handle  handle,
uint8_t *  numUsedHwaParamSets 
)