xWRL6432 MMWAVE-L-SDK
05.04.00.01
Go to the documentation of this file.
43 #ifndef UDOPPROC_HWA_H
44 #define UDOPPROC_HWA_H
63 #include <datapath/dpu/udopproc/v0/udopproccommon.h>
64 #include <alg/featExtract/spectrumBased/featExtract.h>
65 #include <alg/classifier/targetClassifier/classifier.h>
73 #define DP_ERRNO_UDOPPLER_PROC_BASE (MMWAVE_ERRNO_DPU_BASE -700) //ToDo move this to dp_error.h
83 #define DPU_UDOPPROC_EINVAL (DP_ERRNO_UDOPPLER_PROC_BASE-1)
88 #define DPU_UDOPPROC_ENOMEM (DP_ERRNO_UDOPPLER_PROC_BASE-2)
93 #define DPU_UDOPPROC_EINPROGRESS (DP_ERRNO_UDOPPLER_PROC_BASE-3)
98 #define DPU_UDOPPROC_EHWARES (DP_ERRNO_UDOPPLER_PROC_BASE-4)
103 #define DPU_UDOPPROC_ESEMA (DP_ERRNO_UDOPPLER_PROC_BASE-5)
108 #define DPU_UDOPPROC_ESEMASTATUS (DP_ERRNO_UDOPPLER_PROC_BASE-6)
113 #define DPU_UDOPPROC_EEXCEEDHWAMEM (DP_ERRNO_UDOPPLER_PROC_BASE-7)
118 #define DPU_UDOPPROC_ECUBEFORMAT (DP_ERRNO_UDOPPLER_PROC_BASE-8)
123 #define DPU_UDOPPROC_EDETMFORMAT (DP_ERRNO_UDOPPLER_PROC_BASE-9)
128 #define DPU_UDOPPROC_EDETMSIZE (DP_ERRNO_UDOPPLER_PROC_BASE-10)
133 #define DPU_UDOPPROC_EWINDSIZE (DP_ERRNO_UDOPPLER_PROC_BASE-11)
138 #define DPU_UDOPPROC_EHWA_PARAM_SAVE_LOC_SIZE (DP_ERRNO_UDOPPLER_PROC_BASE-12)
143 #define DPU_UDOPPROC_EEDMA_CONFIG_FAILED (DP_ERRNO_UDOPPLER_PROC_BASE-13)
152 #define DPU_UDOPPROC_MAX_NUM_HWA_PARAMSET 6
157 #define DPU_UDOPPROC_NUM_HWA_MEMBANKS 4
162 #define DPU_UDOPPROC_FIRST_SCALING_DISABLED ((uint8_t)0U)
167 #define DPU_UDOPPROC_FIRST_SCALING_ENABLED ((uint8_t)1U)
172 #define DPU_UDOPPROC_RANGE_LOOP_HWA_CONTROL (0)
176 #define DPU_UDOPPROC_RANGE_LOOP_CPU_CONTROL (1)
182 #define DPU_UDOPPROC_MAX_NUM_TRACKS TRACKER_MAX_NUM_TR
185 #define DPU_UDOPPROC_AZIMUTH_FFT_APPROACH 0
186 #define DPU_UDOPPROC_AZIMUTH_BEAM_FORMING_APPROACH 1
189 #define DPU_UDOPPROC_MAX_NUM_AZIMUTH_ACCUM_BINS 15
192 #define CLASSIFIER_NUM_FRAMES 30
193 #define CLASSIFIER_NUM_FEATURES 4
194 #define CLASSIFIER_NUM_CLASSES 2
196 typedef struct FeatExtract_reducedFeatOutput_t
201 typedef struct DPU_uDopProc_FeatureObj_t
227 typedef struct DPU_uDopProc_RadarCubeChunkEdmaCfg_t
253 typedef struct DPU_uDopProc_InitCfg_t
266 typedef struct DPU_uDopProc_HwaParamSaveLoc_t
282 typedef struct DPU_uDopProc_scratch_t
301 typedef struct DPU_uDopProc_HwaCfg_t
344 typedef volatile struct DPU_uDopProc_HwaMaxOutput_t
356 typedef volatile struct DPU_uDopProc_HwaSumOutput_t
372 typedef struct DPU_uDopProc_EdmaCfg_t
408 typedef struct DPU_uDopProc_HW_Resources_t
448 typedef struct DPU_uDopProc_compRxChannelBiasCfg_t
457 cmplx32ReIm_t rxChPhaseComp[SYS_COMMON_NUM_TX_ANTENNAS * SYS_COMMON_NUM_RX_CHANNEL];
467 typedef struct DPU_uDopProcCliCfg_t
524 typedef struct DPU_uDopClassifierCliCfg_t
559 typedef struct DPU_uDopProc_StaticConfig_t
642 typedef struct DPU_uDopProc_Config_t
661 typedef struct DPU_uDopProc_tList_t
679 typedef struct DPU_uDopProc_TrackerData_t
701 typedef struct DPU_uDopProc_classifierPrediction_t
707 typedef struct DPU_uDopProc_classifierOutput_t
721 typedef struct DPU_uDopProc_OutParams_t
float rangeStep
Range conversion factor for FFT range index to meters.
Definition: udopproc.h:607
void * data
Pointer to scratch.
Definition: udopproc.h:285
uint32_t srcAddress
Address in L3 of the chunk of data in radar cube matrix to be copied to HWA
Definition: udopproc.h:230
EDMA_Handle edmaHandle
EDMA driver handle.
Definition: udopproc.h:375
void * classifier_Handle
Handle for classifier.
Definition: udopproc.h:216
uint8_t minNumPntsPerTrack
Minimum number of associated point-cloud points with the track ID for classifier to be called.
Definition: udopproc.h:539
uint16_t numAntCol
Number of virtual antenna columns.
Definition: udopproc.h:622
uint16_t elevationFftSize
elevation FFT size
Definition: udopproc.h:583
DPU_uDopProc_FeatureObj * featureObj
Collected features across frames per track ID.
Definition: udopproc.h:434
#define DPU_UDOPPROC_MAX_NUM_TRACKS
Maximum number of tracks.
Definition: udopproc.h:182
uint16_t numAntRow
Number of virtual antenna rows.
Definition: udopproc.h:619
Micro Doppler Classifier CLI Configuration.
Definition: udopproc.h:525
Detection matrix buffer interface.
Definition: dpif_detmatrix.h:81
float posY
Detected target Y coordinate, in m.
Definition: udopproc.h:668
DPU_DoaProc_HWA_Option_Cfg doaRngGateCfg
HWA Doppler FFT Parmas set configuration (performing Doppler FFT and antenna mapping)
Definition: udopproc.h:430
Implements Data path DoA processing functionality.
DPU_uDopProc_compRxChannelBiasCfg compRxChanCfg
Range Bias and rx channel gain/phase compensation configuration.
Definition: udopproc.h:604
int32_t sumIm
Sum imaginary.
Definition: udopproc.h:358
uint8_t genApproach
Generation approach: 0-Azimuth FFT + mean around fixed target size, 1-Azimuth beamforming+centroid on...
Definition: udopproc.h:498
Defines the detection matrix buffer interface.
#define CLASSIFIER_NUM_FRAMES
Definition: udopproc.h:192
uint32_t numIndicesMajorMotion
Number of major motion detected points in point cloud.
Definition: udopproc.h:688
EDMA interrupt configuration object. The object is passed to the EDMA_registerIntr() function....
Definition: edma/v0/edma.h:451
float posZ
Detected target Z coordinate, in m.
Definition: udopproc.h:670
uint8_t magnitudeSquared
Output option 0-magnitude, 1-magnitude squared.
Definition: udopproc.h:503
uint32_t * uDopplerHwaOutput
Output buffer (ping/pong) to store HWA micro Doppler data.
Definition: udopproc.h:423
DPU_uDopProc_Handle DPU_uDopProc_init(DPU_uDopProc_InitParams *initCfg, int32_t *errCode)
uint32_t Bcnt_Acnt
Packed EDMA values for A count (LSB 16-bit position) and B count (MSB 16-bit position.
Definition: udopproc.h:236
Definition: udopproc.h:708
uint16_t numDopplerBins
Number of Doppler bins.
Definition: udopproc.h:577
float interceptThrLowFreq
Lower frequency power interception (in percentage)
Definition: udopproc.h:477
int32_t DPU_uDopProc_deinit(DPU_uDopProc_Handle handle)
bool isDetMatrixLogScale
Detection matrix format 0 - Linear 32-bit integer, 1 - 16-bit log2 magnitude in Q11 format.
Definition: udopproc.h:595
uint8_t numVirtualAntennas
Number of virtual antennas.
Definition: udopproc.h:568
uint8_t firstStageScaling
Indicates if HWA should enable butterfly scaling (divide by 2) of the first radix-2 stage....
Definition: udopproc.h:312
uint16_t numMinorMotionChirpsPerFrame
Number of chirps per frame for Minor Motion Detection.
Definition: udopproc.h:586
DPU_uDopProc_scratch scratchBuf
Scratch buffer for feature extraction and classifier.
Definition: udopproc.h:426
uint32_t sizeBytes
Size of scratch in Bytes.
Definition: udopproc.h:288
Base error codes for the data path Modules.
DPU processing output parameters.
Definition: udopproc.h:722
dopplerProc DPU initial configuration parameters
Definition: udopproc.h:254
uint32_t numTargets
Number of tracks.
Definition: udopproc.h:682
uint32_t edmaInstanceId
Definition: udopproc.h:376
uint8_t enabled
Enabled Classifier processing on target.
Definition: udopproc.h:529
DPU_uDopProcCliCfg cliCfg
CLI Configuration.
Definition: udopproc.h:616
uint32_t dstAddress
Destination address in HWA of the copied chunk.
Definition: udopproc.h:233
uint32_t numTargets
Number of targets, i.e. number of micro doppler buffers.
Definition: udopproc.h:733
Sum filled by HWA statistics block.
Definition: udopproc.h:357
Structure holds the target coordinates.
Definition: udopproc.h:662
#define CLASSIFIER_NUM_FEATURES
Definition: udopproc.h:193
float velY
velocity, in m/s
Definition: udopproc.h:674
uint32_t numIndicesMinorMotion
Number of minor motion detected points in point cloud.
Definition: udopproc.h:691
EDMA channel configuration with 3 shadow channels.
Definition: dpedma.h:163
bool isRxChGainPhaseCompensationEnabled
Range Bias and rx channel gain/phase compensation enable flag.
Definition: udopproc.h:601
uint32_t numIndices
Number of detected points in point cloud.
Definition: udopproc.h:685
Source and destination addresses for EDMA input configuration.
Definition: udopproc.h:228
uint32_t tid
tracking ID
Definition: udopproc.h:664
bool isStaticClutterRemovalEnabled
Static Clutter Removal Cfg.
Definition: udopproc.h:598
DPU_uDopProc_scratch scratchBuf2
Scratch buffer for classifier, for linearized input feature set.
Definition: udopproc.h:437
float interceptThrUpFreq
Upper frequency power interception (in percentage)
Definition: udopproc.h:482
uint32_t paramSetStartIdx
Number of HWA paramsets reserved for the Doppler DPU. The number of HWA paramsets required by this DP...
Definition: udopproc.h:327
Definition: doaproc.h:269
DPU_uDopProc_classifierOutput classifierOutput
Definition: udopproc.h:741
uint8_t numTxAntennas
Number of transmit antennas.
Definition: udopproc.h:562
uint32_t numDopplerBins
Number of micro doppler buffers.
Definition: udopproc.h:730
float dopplerStep
Doppler conversion factor for Doppler FFT index to m/s.
Definition: udopproc.h:610
dopplerProc DPU configuration parameters
Definition: udopproc.h:643
Structure for.
Definition: udopproc.h:283
Structure for the HWA Params save location.
Definition: udopproc.h:267
#define CLASSIFIER_NUM_CLASSES
Definition: udopproc.h:194
int32_t DPU_uDopProc_GetNumUsedHwaParamSets(DPU_uDopProc_Handle handle, uint8_t *numUsedHwaParamSets)
uint8_t circShiftAroundCentroid
micro doppler FFT output shift option: 0-circulate FFT spectrum around 0 Hz (equivalent to matlab fft...
Definition: udopproc.h:509
void * data
Pointer to save location for HWA PARAM sets.
Definition: udopproc.h:269
HWA_Handle hwaHandle
Definition: udopproc.h:255
uint16_t numRangeBins
Number of range bins.
Definition: udopproc.h:571
uint8_t numMisses
Definition: udopproc.h:209
uint32_t peak
Maximum peak value.
Definition: udopproc.h:347
DPU_uDopClassifierCliCfg microDopplerClassifierCliCfg
Classifier CLI configuration.
Definition: udopproc.h:628
uint8_t numCumMisses
Definition: udopproc.h:210
dopplerProc DPU EDMA configuration parameters
Definition: udopproc.h:373
DPU_uDopProc_Stats stats
DPU statistics.
Definition: udopproc.h:724
float rangeBias
Compensation for range estimation bias in meters.
Definition: udopproc.h:452
Radar Cube Buffer Interface.
Definition: dpif_radarcube.h:105
float * uDopplerOutput
micro doppler arrays
Definition: udopproc.h:727
DPIF_RadarCube radarCube
Radar Cube.
Definition: udopproc.h:417
uint8_t missTotFrmThre
Maximum number of allowed missed frames in the observation window specified for classification.
Definition: udopproc.h:534
Definition: udopproc.h:680
DPU_uDopProc_HwaCfg hwaCfg
HWA configuration.
Definition: udopproc.h:414
int32_t sumRe
Sum real.
Definition: udopproc.h:359
Definition: udopproc.h:702
DPU_uDopProc_HwaParamSaveLoc hwaParamsSaveLoc
HWA Params save location.
Definition: udopproc.h:331
DPIF_DetMatrix detMatrix
Detection matrix.
Definition: udopproc.h:420
uint8_t * tIndex
index list
Definition: udopproc.h:697
Defines the data path radar cube data interface.
uint8_t specShiftMode
Additional micro doppler spectrum shift by the feature extractor, based on the mean/median estimate,...
Definition: udopproc.h:488
float velX
velocity, in m/s
Definition: udopproc.h:672
uint32_t maxInd
Maximum peak index position.
Definition: udopproc.h:346
Range Bias and rx channel gain/phase compensation configuration.
Definition: udopproc.h:449
DPU_uDopProc_EdmaCfg edmaCfg
EDMA configuration.
Definition: udopproc.h:411
dopplerProc DPU HWA configuration parameters
Definition: udopproc.h:302
float targetSize
Target size in meters.
Definition: udopproc.h:472
uint8_t maxNumAzimAccumBins
Maximum number of azimuth bins in micro-doppler accumulation.
Definition: udopproc.h:613
void * EDMA_Handle
A handle that is returned from a EDMA_open() call.
Definition: edma/v0/edma.h:471
Micro Doppler Processing CLI Configuration.
Definition: udopproc.h:468
void * DPU_uDopProc_Handle
Handle for Doppler Processing DPU.
Definition: udopproc.h:242
DPEDMA_ChanCfg edmaHotSig
EDMA configuration for hot signature.
Definition: udopproc.h:385
DPEDMA_ChanCfg edmaIn
EDMA configuration for Input data (Radar cube -> HWA memory).
Definition: udopproc.h:379
Doppler DPU static configuration parameters.
Definition: udopproc.h:560
DPEDMA_ChanCfg edmaResetIn
EDMA configuration for the memory reset.
Definition: udopproc.h:382
DPEDMA_ChanCfg edmaMicroDopOut
EDMA configuration for data output from HWA - Detection matrix.
Definition: udopproc.h:391
uint8_t numPresent
Definition: udopproc.h:208
uint32_t sizeBytes
Size of the save location for HWA PARAM sets in Bytes.
Definition: udopproc.h:272
float posX
Detected target X coordinate, in m.
Definition: udopproc.h:666
uint16_t maxNumTracks
Maximum number of tracks by tracker.
Definition: udopproc.h:625
uint32_t numClassifiedTargets
Number of classified Targets.
Definition: udopproc.h:739
uint8_t log2NumDopplerBins
Log2 of number of Doppler bins.
Definition: udopproc.h:589
uint8_t enabled
Enabled Micro Doppler processing.
Definition: udopproc.h:493
uint8_t normalizedSpectrum
Normalized output between [0 1].
Definition: udopproc.h:514
bool isFirstTimeCfg
Flag indicating first time configuration call.
Definition: udopproc.h:651
float velZ
velocity, in m/s
Definition: udopproc.h:676
DPU_uDopProc_StaticConfig staticCfg
Static configuration.
Definition: udopproc.h:648
DPEDMA_3LinkChanCfg edmaChainOut
EDMA configuration for chaining back and final out.
Definition: udopproc.h:388
int32_t DPU_uDopProc_process(DPU_uDopProc_Handle handle, DPIF_RadarCube *radarCube, DPIF_DetMatrix *detMatrix, DPU_uDopProc_TrackerData *trackerData, DPU_uDopProc_OutParams *outParams)
void * HWA_Handle
A handle that is returned from a HWA_open() call.
Definition: hwa/v0/hwa.h:620
uint8_t dmaTrigSrcChan
HWA param set dma trigger source channel.
Definition: udopproc.h:335
Definition: udopproc.h:202
DPU_uDopProc_HW_Resources hwRes
HW resources.
Definition: udopproc.h:645
uint8_t angleDimension
1 - 1D: 6x1 azimuth antenna array 2 - 2D: one lower row: 4 antennas, upper row 2 antennas
Definition: udopproc.h:592
uint16_t numDopplerChirps
Number of Doppler chirps.
Definition: udopproc.h:574
uint16_t azimuthFftSize
Azimuth FFT size.
Definition: udopproc.h:580
Doppler DPU HW configuration parameters.
Definition: udopproc.h:409
FeatExtract_featOutput * uDopplerFeatures
micro doppler feature array
Definition: udopproc.h:736
Edma_IntrObject * intrObj
EDMA interrupt object.
Definition: udopproc.h:394
uint8_t numRxAntennas
Number of receive antennas.
Definition: udopproc.h:565
EDMA channel configuration.
Definition: dpedma.h:132
Maximum peaks filled by HWA statistics block.
Definition: udopproc.h:345
int32_t DPU_uDopProc_config(DPU_uDopProc_Handle handle, DPU_uDopProc_Config *cfg)