xWRL6432 MMWAVE-L-SDK  05.04.00.01
cfarproccommon.h
Go to the documentation of this file.
1 
40 /**************************************************************************
41  *************************** Include Files ********************************
42  **************************************************************************/
43 #ifndef CFAR_PROC_COMMON_H
44 #define CFAR_PROC_COMMON_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 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
62 #define DPU_CFAR_RANGE_AZIMUTH_HEATMAP 0
63 #define DPU_CFAR_RANGE_DOPPLER_HEATMAP 1
64 
66 #define DPU_CFAR_RANGE_DOMAIN 0
67 
69 #define DPU_CFAR_DOPPLER_DOMAIN 1
70 
72 #define DPU_CFAR_PEAK_GROUPING_DET_MATRIX_BASED 1
73 
75 #define DPU_CFAR_PEAK_GROUPING_CFAR_PEAK_BASED 2
76 
80 #define DPU_CFAR_CONV_LOG2Q11_TO_20LOG10(val) (val * 2.939746e-03)
81 
89 typedef struct DPU_CFARProc_CfarCfg_t
90 {
92  uint32_t thresholdScale;
93 
95  float threshold_dB;
96 
98  uint8_t averageMode;
99 
101  uint8_t winLen;
102 
104  uint8_t guardLen;
105 
114  uint8_t noiseDivShift;
115 
117  uint8_t cyclicMode;
118 
123 
125  uint8_t peakGroupingEn;
126 
129 
132 
135 
138 
141 
144 
147 
149 
157 typedef struct DPU_CFARProc_CfarScndPassCfg_t
158 {
160  uint32_t thresholdScale;
161 
164 
166  uint8_t averageMode;
167 
169  uint8_t winLen;
170 
172  uint8_t guardLen;
173 
182  uint8_t noiseDivShift;
183 
185  uint8_t cyclicMode;
186 
188  uint8_t peakGroupingEn;
189 
191  uint8_t enabled;
193 
203 typedef struct DPU_CFARProc_Stats_t
204 {
206  uint32_t numProcess;
207 
209  uint32_t processingTime;
210 
212  uint32_t waitTime;
214 
225 typedef struct DPU_CFARProc_AoaFovCfg_t
226 {
229 
232 
235 
239 
250 typedef struct DPU_CFARProc_RangeFovCfg_t
251 {
253  float min;
254 
256  float max;
257 
259 
268 typedef struct DPU_CFARProc_detectionCfg_t
269 {
271  int16_t skipLeftRange;
273  int16_t skipRightRange;
275  int16_t skipLeftAzim;
277  int16_t skipRightAzim;
279  int16_t skipLeftElev;
281  int16_t skipRightElev;
283 
284 #ifdef __cplusplus
285 }
286 #endif
287 
288 #endif
DPU_CFARProc_CfarCfg::peakGroupingEn
uint8_t peakGroupingEn
Peak grouping, 0- disabled, 1-enabled.
Definition: cfarproccommon.h:125
DPU_CFARProc_CfarCfg::thresholdScale
uint32_t thresholdScale
CFAR threshold scale.
Definition: cfarproccommon.h:92
DPU_CFARProc_CfarScndPassCfg::cyclicMode
uint8_t cyclicMode
CFAR 0-cyclic mode disabled, 1-cyclic mode enabled.
Definition: cfarproccommon.h:185
DPU_CFARProc_CfarCfg::winLen
uint8_t winLen
CFAR noise averaging one sided window length.
Definition: cfarproccommon.h:101
DPU_CFARProc_CfarCfg::enableLocalMaxRange
bool enableLocalMaxRange
Check for peak being local peak in range direction.
Definition: cfarproccommon.h:131
DPU_CFARProc_CfarScndPassCfg::peakGroupingEn
uint8_t peakGroupingEn
Peak grouping, 0- disabled, 1-enabled.
Definition: cfarproccommon.h:188
DPU_CFARProc_CfarScndPassCfg::thresholdScale
uint32_t thresholdScale
CFAR threshold scale.
Definition: cfarproccommon.h:160
DPU_CFARProc_CfarScndPassCfg::threshold_dB
float threshold_dB
CFAR threshold in dB.
Definition: cfarproccommon.h:163
DPU_CFARProc_AoaFovCfg
Field of view - AoA Configuration.
Definition: cfarproccommon.h:226
DPU_CFARProc_CfarCfg::enableInterpAzimuthDom
bool enableInterpAzimuthDom
Interpolation in azimuth direction.
Definition: cfarproccommon.h:140
DPU_CFARProc_CfarCfg::guardLen
uint8_t guardLen
CFAR one sided guard length.
Definition: cfarproccommon.h:104
DPU_CFARProc_detectionCfg
Holds number of samples to be skipped in detection process from left and right side of the dimension ...
Definition: cfarproccommon.h:269
DPU_CFARProc_CfarScndPassCfg
CFAR Configuration.
Definition: cfarproccommon.h:158
DPU_CFARProc_CfarCfg::enableInterpDopplerDom
bool enableInterpDopplerDom
Interpolation in Doppler domain (valid for Range/Doppler heatmap option)
Definition: cfarproccommon.h:146
DPU_CFARProc_CfarScndPassCfg::noiseDivShift
uint8_t noiseDivShift
CFAR cumulative noise sum divisor CFAR_CA: noiseDivShift should account for both left and right noise...
Definition: cfarproccommon.h:182
DPU_CFARProc_detectionCfg::skipLeftAzim
int16_t skipLeftAzim
number of samples to be skipped from left in azimuth dimension
Definition: cfarproccommon.h:275
DPU_CFARProc_Stats
Data processing Unit statistics.
Definition: cfarproccommon.h:204
DPU_CFARProc_CfarCfg::peakGroupingScheme
uint8_t peakGroupingScheme
Peak grouping scheme 1-based on neighboring peaks from detection matrix 2-based on on neighboring CFA...
Definition: cfarproccommon.h:122
DPU_CFARProc_RangeFovCfg
Field of view - Range Configuration.
Definition: cfarproccommon.h:251
DPU_CFARProc_CfarScndPassCfg::winLen
uint8_t winLen
CFAR noise averaging one sided window length.
Definition: cfarproccommon.h:169
DPU_CFARProc_detectionCfg::skipLeftRange
int16_t skipLeftRange
number of samples to be skipped from left in range dimension
Definition: cfarproccommon.h:271
DPU_CFARProc_AoaFovCfg::maxElevationDeg
float maxElevationDeg
maximum elevation angle (in degrees) exported to Host
Definition: cfarproccommon.h:237
DPU_CFARProc_Stats::processingTime
uint32_t processingTime
total processing time during all chirps in a frame excluding EDMA waiting time
Definition: cfarproccommon.h:209
DPU_CFARProc_RangeFovCfg::min
float min
minimum Range
Definition: cfarproccommon.h:253
DPU_CFARProc_Stats::waitTime
uint32_t waitTime
total wait time for EDMA data transfer during all chirps in a frame
Definition: cfarproccommon.h:212
DPU_CFARProc_CfarCfg
CFAR Configuration.
Definition: cfarproccommon.h:90
DPU_CFARProc_AoaFovCfg::minElevationDeg
float minElevationDeg
minimum elevation angle (in degrees) exported to Host
Definition: cfarproccommon.h:234
DPU_CFARProc_CfarCfg::averageMode
uint8_t averageMode
CFAR averagining mode 0-CFAR_CA, 1-CFAR_CAGO, 2-CFAR_CASO.
Definition: cfarproccommon.h:98
DPU_CFARProc_detectionCfg::skipLeftElev
int16_t skipLeftElev
number of samples to be skipped from left in elevation dimension
Definition: cfarproccommon.h:279
DPU_CFARProc_CfarCfg::enableLocalMaxAzimuth
bool enableLocalMaxAzimuth
Check for peak being local peak in azimuth direction.
Definition: cfarproccommon.h:134
DPU_CFARProc_CfarCfg::enableInterpRangeDom
bool enableInterpRangeDom
Interpolation in range direction.
Definition: cfarproccommon.h:137
DPU_CFARProc_RangeFovCfg::max
float max
maximum Range
Definition: cfarproccommon.h:256
DPU_CFARProc_CfarCfg::enableLocalMaxDoppler
bool enableLocalMaxDoppler
Check for peak being local peak in Doppler domain (valid for Range/Doppler heatmap option)
Definition: cfarproccommon.h:143
DPU_CFARProc_CfarScndPassCfg::averageMode
uint8_t averageMode
CFAR averagining mode 0-CFAR_CA, 1-CFAR_CAGO, 2-CFAR_CASO.
Definition: cfarproccommon.h:166
DPU_CFARProc_CfarCfg::threshold_dB
float threshold_dB
CFAR threshold in dB.
Definition: cfarproccommon.h:95
DPU_CFARProc_detectionCfg::skipRightRange
int16_t skipRightRange
number of samples to be skipped from right in range dimension
Definition: cfarproccommon.h:273
DPU_CFARProc_detectionCfg::skipRightElev
int16_t skipRightElev
number of samples to be skipped from right in elevation dimension
Definition: cfarproccommon.h:281
DPU_CFARProc_AoaFovCfg::maxAzimuthDeg
float maxAzimuthDeg
maximum azimuth angle (in degrees) exported to Host
Definition: cfarproccommon.h:231
DPU_CFARProc_CfarCfg::sideLobeThresholdScaleQ8
int16_t sideLobeThresholdScaleQ8
Side lobe threshold linear scale in Q8 format.
Definition: cfarproccommon.h:128
DPU_CFARProc_CfarCfg::cyclicMode
uint8_t cyclicMode
CFAR 0-cyclic mode disabled, 1-cyclic mode enabled.
Definition: cfarproccommon.h:117
DPU_CFARProc_CfarCfg::noiseDivShift
uint8_t noiseDivShift
CFAR cumulative noise sum divisor CFAR_CA: noiseDivShift should account for both left and right noise...
Definition: cfarproccommon.h:114
DPU_CFARProc_CfarScndPassCfg::guardLen
uint8_t guardLen
CFAR one sided guard length.
Definition: cfarproccommon.h:172
DPU_CFARProc_CfarScndPassCfg::enabled
uint8_t enabled
Second pass CFAR Enabled flag, 0- disabled, 1-enabled.
Definition: cfarproccommon.h:191
DPU_CFARProc_detectionCfg::skipRightAzim
int16_t skipRightAzim
number of samples to be skipped from right in azimuth dimension
Definition: cfarproccommon.h:277
DPU_CFARProc_Stats::numProcess
uint32_t numProcess
total number of calls of DPU processing
Definition: cfarproccommon.h:206
DPU_CFARProc_AoaFovCfg::minAzimuthDeg
float minAzimuthDeg
minimum azimuth angle (in degrees) exported to Host
Definition: cfarproccommon.h:228