xWRL6432 MMWAVE-L-SDK  05.04.00.01
udopprocinternal.h
Go to the documentation of this file.
1 
40 /**************************************************************************
41  *************************** Include Files ********************************
42  **************************************************************************/
43 #ifndef UDOPPROC_INTERNAL_H
44 #define UDOPPROC_INTERNAL_H
45 
46 /* Standard Include Files. */
47 #include <stdint.h>
48 #include <stdlib.h>
49 #include <stddef.h>
50 #include <string.h>
51 #include <stdio.h>
52 #include <math.h>
53 
54 /* mmWave SDK Driver/Common Include Files */
55 #include <drivers/hwa.h>
56 
57 /* DPIF Components Include Files */
60 #include <datapath/dpif/dp_error.h>
61 
63 
64 #ifdef __cplusplus
65 extern "C" {
66 #endif
67 
77 typedef struct DPU_uDopProc_hwaLoopCfg_t
78 {
80  uint16_t hwaNumLoops;
81 
84 
86  uint8_t hwaParamStopIdx;
88 
98 typedef struct DPU_uDopProc_Obj_t
99 {
102 
105  uint32_t edmaInstanceId;
106 
109 
112 
115 
118 
120  uint32_t dummySrc;
122  uint32_t dummyDst;
123 
126 
129 
132 
134  uint16_t hwaNumLoops;
135 
138 
141 
143  uint32_t hwaMemBankAddr[DPU_UDOPPROC_NUM_HWA_MEMBANKS];
144 
149 
154 
156  cmplx32ImRe_t zeroValue;
157 
160 
163 
166 
168  float targetSize;
169 
171  uint16_t numAzimuthBins;
172 
174  uint16_t numRangeBins;
175 
177  uint16_t numDopplerBins;
178 
181 
183  uint32_t *uDopplerHwaOutput;
184 
187 
190 
203 
212 
216  uint32_t twiddleStepHalf;
220  uint32_t log2TwiddleStep;
221 
225 
228  FeatExtract_Handle featExtHandle;
229 
233 
237 
238  uint8_t featureSelectionInd[sizeof(FeatExtract_featOutput)/sizeof(float)];
239 
241 
243 
246  uint16_t maxNumTracks;
247 
250 
252 
253 
254 #ifdef __cplusplus
255 }
256 #endif
257 
258 #endif
DPU_uDopProc_Obj::dummyDst
uint32_t dummyDst
Dummy location
Definition: udopprocinternal.h:122
DPU_uDopProc_Obj::oneOverRangeStep
float oneOverRangeStep
RangeStep reciprocal value to convert range (in meters) to range FFT index.
Definition: udopprocinternal.h:162
classifier_Handle
void * classifier_Handle
Handle for classifier.
Definition: udopproc.h:216
DPU_uDopProc_Obj::edmaDoneSemaHandle
SemaphoreP_Object edmaDoneSemaHandle
EDMA Done semaphore Handle.
Definition: udopprocinternal.h:125
DPU_UDOPPROC_NUM_HWA_MEMBANKS
#define DPU_UDOPPROC_NUM_HWA_MEMBANKS
Number of HWA memory banks needed.
Definition: udopproc.h:157
DPU_uDopClassifierCliCfg
Micro Doppler Classifier CLI Configuration.
Definition: udopproc.h:525
DPU_uDopProc_Obj::oneOverDopplerStep
float oneOverDopplerStep
RangeStep reciprocal value to convert Doppler (in meters/sec) to Doppler FFT index.
Definition: udopprocinternal.h:165
DPU_uDopProc_Obj::hwaHandle
HWA_Handle hwaHandle
HWA Handle.
Definition: udopprocinternal.h:101
DPU_uDopProc_Obj::hwaAzimuthBinAccParamSetIdx
uint8_t hwaAzimuthBinAccParamSetIdx
Azimuth bin accumulation ParamSet index.
Definition: udopprocinternal.h:151
DPU_uDopProc_Obj::twiddleStepHalf
uint32_t twiddleStepHalf
Twiddle increment half step size for calcualting twiddle increment in HWA to shift azimuth spectrum.
Definition: udopprocinternal.h:216
DPU_uDopProc_Obj::classifierHandle
classifier_Handle classifierHandle
Definition: udopprocinternal.h:242
udopproc.h
Implements Data path Micro Doppler processing functionality.
DPU_uDopProc_Obj::hwaNumLoops
uint16_t hwaNumLoops
HWA number of loops.
Definition: udopprocinternal.h:134
dpif_detmatrix.h
Defines the detection matrix buffer interface.
DPU_uDopProc_Obj::frameCntrModClassifierNumFrames
int32_t frameCntrModClassifierNumFrames
Definition: udopprocinternal.h:240
DPU_uDopProc_Obj::featExtHandle
FeatExtract_Handle featExtHandle
Micro-doppler feature extraction handle.
Definition: udopprocinternal.h:228
DPU_uDopProc_Obj::edmaInstanceId
uint32_t edmaInstanceId
Definition: udopprocinternal.h:105
DPU_uDopProc_Obj::edmaDetMatOut
DPEDMA_ChanCfg edmaDetMatOut
EDMA configuration for data output from HWA - Detection matrix.
Definition: udopprocinternal.h:114
DPU_uDopProc_Obj::numRangeAccumBins
uint8_t numRangeAccumBins
Number of range bins around the centroid over which the micro doppler is accumulated.
Definition: udopprocinternal.h:159
DPU_uDopProc_Obj::dummySrc
uint32_t dummySrc
Dummy location.
Definition: udopprocinternal.h:120
DPU_uDopProc_Obj::normalizedSpectrum
uint8_t normalizedSpectrum
Normalized output between [0 1].
Definition: udopprocinternal.h:202
DPU_uDopProc_Obj::featureLinBuf
float * featureLinBuf
Linearized features set, inpuyt to classifier.
Definition: udopprocinternal.h:236
DPU_uDopProc_Obj::uDopplerHwaOutput
uint32_t * uDopplerHwaOutput
Output buffer (ping/pong) to store HWA micro Doppler data.
Definition: udopprocinternal.h:183
dp_error.h
Base error codes for the data path Modules.
DPU_uDopProc_hwaLoopCfg::hwaParamStartIdx
uint8_t hwaParamStartIdx
HWA start paramset index.
Definition: udopprocinternal.h:83
DPU_uDopProc_Obj::hwaAzimuthSpectrumParamSetIdx
uint8_t hwaAzimuthSpectrumParamSetIdx
Azimuth Spectrum ParamSet index.
Definition: udopprocinternal.h:146
DPU_uDopProc_Obj::microDopplerClassifierCliCfg
DPU_uDopClassifierCliCfg microDopplerClassifierCliCfg
Classifier CLI configuration.
Definition: udopprocinternal.h:249
DPU_uDopProc_Obj::edmaIn
DPEDMA_ChanCfg edmaIn
EDMA to transfer data from radar cube to HWA memory.
Definition: udopprocinternal.h:111
DPU_uDopProc_Obj::zeroValue
cmplx32ImRe_t zeroValue
Field with value equal to zero to be copied to HWA memory to reset accumulated micro doppler.
Definition: udopprocinternal.h:156
DPU_uDopProc_Obj::numAzimuthBins
uint16_t numAzimuthBins
Azimuth FFT size.
Definition: udopprocinternal.h:171
DPU_uDopProc_Obj::log2TwiddleStep
uint32_t log2TwiddleStep
Log2 of Twiddle increment half step size.
Definition: udopprocinternal.h:220
DPU_uDopProc_Obj::hwaAzimuthBinAccParamSetCfg
HWA_ParamConfig hwaAzimuthBinAccParamSetCfg
Azimuth bin accumulation ParamSet configuration.
Definition: udopprocinternal.h:153
DPU_uDopProc_Obj::hwaParamStartIdx
uint8_t hwaParamStartIdx
HWA start paramset index.
Definition: udopprocinternal.h:137
DPU_uDopProc_hwaLoopCfg::hwaParamStopIdx
uint8_t hwaParamStopIdx
HWA stop paramset index.
Definition: udopprocinternal.h:86
DPU_uDopProc_Obj::uDopplerHwaOutputPinPongInd
uint32_t uDopplerHwaOutputPinPongInd
Output buffer index.
Definition: udopprocinternal.h:186
DPU_uDopProc_Obj::edmaHandle
EDMA_Handle edmaHandle
EDMA driver handle.
Definition: udopprocinternal.h:104
DPU_uDopProc_Obj::magnitudeSquared
uint8_t magnitudeSquared
Output option 0-magnitude, 1-magnitude squared.
Definition: udopprocinternal.h:194
DPU_uDopProc_Obj::edmaInterLoopIn
DPEDMA_ChanCfg edmaInterLoopIn
EDMA configuration for data in.
Definition: udopprocinternal.h:117
DPU_uDopProc_Obj::maxNumAzimAccumBins
uint16_t maxNumAzimAccumBins
Maximum number of azimuth bins in micro-doppler accumulation.
Definition: udopprocinternal.h:180
DPU_uDopProc_HwaParamSaveLoc
Structure for the HWA Params save location.
Definition: udopproc.h:267
DPU_uDopProc_Obj::hwaDmaTriggerSourceChan
uint8_t hwaDmaTriggerSourceChan
DMA trigger source channel for Ping param set.
Definition: udopprocinternal.h:131
DPU_uDopProc_Obj::inProgress
bool inProgress
Flag to indicate if DPU is in processing state.
Definition: udopprocinternal.h:128
DPU_uDopProc_Obj::hwaParamsSaveLoc
DPU_uDopProc_HwaParamSaveLoc hwaParamsSaveLoc
HWA Params save location.
Definition: udopprocinternal.h:224
DPU_uDopProc_Obj::numDopplerBins
uint16_t numDopplerBins
Number of range bins.
Definition: udopprocinternal.h:177
DPU_uDopProc_Obj::hwaParamStopIdx
uint8_t hwaParamStopIdx
HWA stop paramset index.
Definition: udopprocinternal.h:140
DPU_uDopProc_Obj::azimuthProcessingApproach
uint8_t azimuthProcessingApproach
Azimuth processing approach: 0-FFT, 1-Beam Forming, single beam.
Definition: udopprocinternal.h:189
DPU_uDopProc_Obj
dopplerProc DPU internal data Object
Definition: udopprocinternal.h:99
hwa.h
dpif_radarcube.h
Defines the data path radar cube data interface.
DPU_uDopProc_hwaLoopCfg
dopplerProc DPU internal data Object
Definition: udopprocinternal.h:78
DPU_uDopProc_Obj::hwaAzimuthSpectrumParamSetCfg
HWA_ParamConfig hwaAzimuthSpectrumParamSetCfg
Azimuth Spectrum ParamSet configuration.
Definition: udopprocinternal.h:148
DPU_uDopProc_Obj::maxNumTracks
uint16_t maxNumTracks
Maximum number of tracks by tracker.
Definition: udopprocinternal.h:246
EDMA_Handle
void * EDMA_Handle
A handle that is returned from a EDMA_open() call.
Definition: edma/v0/edma.h:471
HWA_ParamConfig
HWA Paramset Config.
Definition: hwa/v0/hwa.h:1256
DPU_uDopProc_Obj::circShiftAroundCentroid
uint8_t circShiftAroundCentroid
Output option 0-disabled, 1-enabled.
Definition: udopprocinternal.h:198
DPU_uDopProc_hwaLoopCfg::hwaNumLoops
uint16_t hwaNumLoops
HWA number of loops.
Definition: udopprocinternal.h:80
SemaphoreP_Object
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
DPU_uDopProc_Obj::butterflyScalingAzimuth
uint8_t butterflyScalingAzimuth
Butterfly scaling in azimuth FFT.
Definition: udopprocinternal.h:207
DPU_uDopProc_Obj::butterflyScalingDoppler
uint8_t butterflyScalingDoppler
Butterfly scaling in Doppler FFT.
Definition: udopprocinternal.h:211
HWA_Handle
void * HWA_Handle
A handle that is returned from a HWA_open() call.
Definition: hwa/v0/hwa.h:620
DPU_uDopProc_Obj::numRangeBins
uint16_t numRangeBins
Number of range bins.
Definition: udopprocinternal.h:174
DPU_uDopProc_Obj::edmaResetIn
DPEDMA_ChanCfg edmaResetIn
EDMA resets acummulate micro doppler in HWA memory.
Definition: udopprocinternal.h:108
DPU_uDopProc_Obj::featureObj
DPU_uDopProc_FeatureObj * featureObj
Collected features across frames per track ID.
Definition: udopprocinternal.h:232
DPU_uDopProc_FeatureObj
Definition: udopproc.h:202
DPEDMA_ChanCfg
EDMA channel configuration.
Definition: dpedma.h:132
DPU_uDopProc_Obj::targetSize
float targetSize
Target width in meters used for micro-doppler accumulation range/azimuth area size.
Definition: udopprocinternal.h:168