RadarTargetProcessing#
Functions#
- NVCVStatus pvaTargetProcessingCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements const *const detectionListTensorRequirements, NVCVTensorRequirements const *const targetIndexMapTensorRequirements, NVCVTensorRequirements const *const targetAnglesTensorRequirements, NVCVTensorRequirements const *const ddmDopplerOffsetsTensorRequirements, NVCVTensorRequirements const *const targetListTensorRequirements, NVCVTensorRequirements const *const nciTensorRequirements, PVATargetProcessingParams const *const params)
Constructs an instance of the Target Processing operator.
- NVCVStatus pvaTargetProcessingSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle const targetCount, NVCVTensorHandle const detectionCount, NVCVTensorHandle const detectionList, NVCVTensorHandle const targetIndexMap, NVCVTensorHandle const targetAngles, NVCVTensorHandle const ddmDopplerOffsets, NVCVTensorHandle const nci, NVCVTensorHandle targetList)
Submits the Target Processing operator to a CUDA stream.
- NVCVStatus pvaTargetProcessingSubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle const targetCount, NVCVTensorHandle const detectionCount, NVCVTensorHandle const detectionList, NVCVTensorHandle const targetIndexMap, NVCVTensorHandle const targetAngles, NVCVTensorHandle const ddmDopplerOffsets, NVCVTensorHandle const nci, NVCVTensorHandle targetList)
Submits the Target Processing operator to a cuPVA stream.
Functions#
- NVCVStatus pvaTargetProcessingCreate(
- NVCVOperatorHandle *handle,
- NVCVTensorRequirements const *const detectionListTensorRequirements,
- NVCVTensorRequirements const *const targetIndexMapTensorRequirements,
- NVCVTensorRequirements const *const targetAnglesTensorRequirements,
- NVCVTensorRequirements const *const ddmDopplerOffsetsTensorRequirements,
- NVCVTensorRequirements const *const targetListTensorRequirements,
- NVCVTensorRequirements const *const nciTensorRequirements,
- PVATargetProcessingParams const *const params,
Constructs an instance of the Target Processing operator.
The operator performs Range-Velocity (RV) decoupling and Cartesian coordinate computation for detected radar targets. It consumes detection list indices, a per-target detection index map, DOA angles (and optional NCI for quadratic interpolation) and writes a complete target list: velocity, range, angles, Cartesian coordinates, and optional peak power.
Limitations:
The maximum number of detections and targets is 8192. The maximum number of DDM Doppler folds is 32.
- Parameters:
handle – [out] Where the operator instance handle will be written to.
Must not be NULL.
detectionListTensorRequirements – [in] Detection list tensor requirements
Data Layout: [HW] — H: number of detections (numDetections); W: 2 (rangeIdx, dopplerIdx)
Rank: 2
Data Type: NVCV_DATA_TYPE_S32
targetIndexMapTensorRequirements – [in] Target index map tensor requirements
Data Layout: [W] — W: number of targets (numTargets)
Rank: 1
Data Type: NVCV_DATA_TYPE_S32
Description: Maps each target to a detection index; each element is the detection index for that target.
targetAnglesTensorRequirements – [in] Target angles tensor requirements
Data Layout: [HW] — H: 3 (azimuth, elevation, power); W: number of targets (numTargets)
Rank: 2
Data Type: NVCV_DATA_TYPE_F32
Description: DOA estimation — row 0: azimuth (degrees); row 1: elevation (degrees); row 2: peak power (dB)
ddmDopplerOffsetsTensorRequirements – [in] DDM Doppler Offsets tensor requirements
Data Layout: [W] — W: number of Doppler folds (numDopplerFolds)
Rank: 1
Data Type: NVCV_DATA_TYPE_F32
targetListTensorRequirements – [in] Target list tensor requirements
Data Layout: [HW] — H: 7 (without peak power) or 8 (with peak power); W: number of targets (numTargets)
Rank: 2
Data Type: NVCV_DATA_TYPE_F32
Description: Target rows — 0: velocity (m/s); 1: range (m); 2: azimuth (degrees); 3: elevation (degrees); 4: X (m); 5: Y (m); 6: Z (m); 7: optional peak power (dB)
nciTensorRequirements – [in] NCI final output tensor requirements (optional, can be NULL)
Data Layout: [HW] — H: number of range bins (numRangeBins); W: number of folded Doppler bins (numFoldedDopplerBins)
Rank: 2
Data Type: NVCV_DATA_TYPE_U32
Description: NCI power for quadratic interpolation (sub-bin range and Doppler). If NULL, interpolation is off. Required when params->enableQuadraticInterpolation is true.
params – [in] Pointer to the Target Processing parameters. PVATargetProcessingParams.
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Handle is null or some parameter is outside valid range.
NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.
NVCV_SUCCESS – Operation executed successfully.
- NVCVStatus pvaTargetProcessingSubmit(
- NVCVOperatorHandle handle,
- cudaStream_t stream,
- NVCVTensorHandle const targetCount,
- NVCVTensorHandle const detectionCount,
- NVCVTensorHandle const detectionList,
- NVCVTensorHandle const targetIndexMap,
- NVCVTensorHandle const targetAngles,
- NVCVTensorHandle const ddmDopplerOffsets,
- NVCVTensorHandle const nci,
- NVCVTensorHandle targetList,
Submits the Target Processing operator to a CUDA stream.
Note
CUDA stream support requirements:
PVA SDK 2.7.0 or later
Jetpack 7 or later
DriveOS 7 or later
x86 Emulator is not supported
- Parameters:
handle – [in] Handle to the operator.
stream – [in] Handle to a valid CUDA stream.
targetCount – [in] Input tensor: Target Count
detectionCount – [in] Input tensor: Detection Count
detectionList – [in] Input tensor: Detection List
targetIndexMap – [in] Input tensor: Target Index Map
targetAngles – [in] Input tensor: Target Angles
ddmDopplerOffsets – [in] Input tensor: DDM Doppler Offsets
nci – [in] Input tensor: NCI (optional, can be NULL)
targetList – [out] Output tensor: Target List
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Handle is null.
NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.
NVCV_SUCCESS – Operation executed successfully.
- NVCVStatus pvaTargetProcessingSubmit(
- NVCVOperatorHandle handle,
- cupvaStream_t stream,
- NVCVTensorHandle const targetCount,
- NVCVTensorHandle const detectionCount,
- NVCVTensorHandle const detectionList,
- NVCVTensorHandle const targetIndexMap,
- NVCVTensorHandle const targetAngles,
- NVCVTensorHandle const ddmDopplerOffsets,
- NVCVTensorHandle const nci,
- NVCVTensorHandle targetList,
Submits the Target Processing operator to a cuPVA stream.
- Parameters:
handle – [in] Handle to the operator.
Must not be NULL.
stream – [in] Handle to a valid cuPVA stream.
targetCount – [in] Input tensor: Target Count (also used as detection count for processing) Data Layout: [W] where W=1 Data Type: NVCV_DATA_TYPE_S32
detectionCount – [in] Input tensor: Detection Count Data Layout: [W] where W=1 Data Type: NVCV_DATA_TYPE_S32
detectionList – [in] Input tensor: Range-Doppler Detection List Data Layout: [HW] where H=numDetections, W=2 Data Type: NVCV_DATA_TYPE_S32
targetIndexMap – [in] Input tensor: Target Index Map Data Layout: [W] where W=numTargets Data Type: NVCV_DATA_TYPE_S32
targetAngles – [in] Input tensor: Target Angles from DOA Data Layout: [HW] where H=3, W=numTargets Data Type: NVCV_DATA_TYPE_F32
ddmDopplerOffsets – [in] Input tensor: DDM Doppler Offsets Data Layout: [W] where W=numDopplerFolds Data Type: NVCV_DATA_TYPE_F32
nci – [in] Input tensor: NCI (optional, can be NULL for no quadratic interpolation) Data Layout: [HW] where H=numRangeBins, W=numFoldedDopplerBins Data Type: NVCV_DATA_TYPE_U32
targetList – [out] Output tensor: Target List (complete target information) Data Layout: [HW] where H=7 or 8, W=numTargets Data Type: NVCV_DATA_TYPE_F32
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Handle is null.
NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.
NVCV_SUCCESS – Operation executed successfully.