RadarCFAR#
Functions#
- NVCVStatus pvaRadarCFARCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements const *const inputTensorRequirements, NVCVTensorRequirements const *const outDetectionListTensorRequirements, PVARadarCFARType const algorithm)
Creates and initializes a Radar CFAR operator instance for target detection.
- NVCVStatus pvaRadarCFARSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle const inputTensor, NVCVTensorHandle outDetectionListTensor, NVCVTensorHandle outDetectionCountTensor, PvaRadarCFARParams const *const radarCFARParams)
Submits the RadarCFAR operator to a CUDA stream.
- NVCVStatus pvaRadarCFARSubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle const inputTensor, NVCVTensorHandle outDetectionListTensor, NVCVTensorHandle outDetectionCountTensor, PvaRadarCFARParams const *const radarCFARParams)
Executes the Radar CFAR target detection operation on input radar data.
Structs#
- PvaRadarCFARParamsRec
Configuration parameters for radar CFAR target detection operator.
Functions#
- NVCVStatus pvaRadarCFARCreate(
- NVCVOperatorHandle *handle,
- NVCVTensorRequirements const *const inputTensorRequirements,
- NVCVTensorRequirements const *const outDetectionListTensorRequirements,
- PVARadarCFARType const algorithm,
Creates and initializes a Radar CFAR operator instance for target detection.
Input Tensor Requirements:
Data Layout: [HW, HWC] (2D or 3D tensor)
Channels: [1] (single channel - magnitude data)
Rank: 2 for [HW] 3 for [HWC] layout
Width: Valid range (1-1024) and must be divisible by 8
Height: Valid range (1-1024) and must be divisible by 8
Height * Width Valid range (1-1024*512)
Sum of rows or columns: Must not exceed maximum value of 32-bit signed integer
Supported Data Types:
Data Type
Support
8bit Unsigned
❌ Not supported
8bit Signed
❌ Not supported
16bit Unsigned
❌ Not supported
16bit Signed
❌ Not supported
32bit Unsigned
✅ Supported
32bit Signed
✅ Supported
32bit Float
❌ Not supported
64bit Float
❌ Not supported
Detection List Format: The output tensor contains a detection list where each element contains the following fields:
Data Fields
int32_t
rangeIdx
int32_t
dopplerIdx
Output Tensor Characteristics:
Data Layout: [HW, HWC] (2D or 3D)
Height: Maximum Detection count. Should be less than 8192
Width: 2 (number of fields in a detection list entry)
Channels: [1]
Rank: 2 for [HW], 3 for [HWC]
Output Data Types:
Data Type
Support
8bit Unsigned
❌ Not supported
8bit Signed
❌ Not supported
16bit Unsigned
❌ Not supported
16bit Signed
❌ Not supported
32bit Unsigned
❌ Not supported
32bit Signed
✅ Supported
32bit Float
❌ Not supported
64bit Float
❌ Not supported
Input/Output Tensor Dependencies:
Property
Input == Output
Data Layout
✅ Must match
Channels
✅ Must match (1 channel)
Note
The operator handle must be destroyed using the appropriate destroy function when no longer needed to prevent memory leaks.
- Parameters:
handle – [out] Pointer to store the created operator handle. Must not be NULL. The handle is used for subsequent operator operations.
inputTensorRequirements – [in] Pointer to NVCVTensorRequirements structure defining input tensor specifications.
outDetectionListTensorRequirements – [in] Pointer to NVCVTensorRequirements structure defining output tensor specifications.
algorithm – [in] PVARadarCFARType containing CFAR algorithm type. Supported algorithms:
PVA_CFAR_CA: Cell Averaging
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Invalid handle pointer or parameter values outside valid range.
NVCV_ERROR_OUT_OF_MEMORY – Insufficient memory to allocate operator resources.
NVCV_ERROR_INVALID_IMAGE_FORMAT – Unsupported tensor format or data type.
NVCV_SUCCESS – Operator created successfully and ready for use.
- NVCVStatus pvaRadarCFARSubmit(
- NVCVOperatorHandle handle,
- cudaStream_t stream,
- NVCVTensorHandle const inputTensor,
- NVCVTensorHandle outDetectionListTensor,
- NVCVTensorHandle outDetectionCountTensor,
- PvaRadarCFARParams const *const radarCFARParams,
Submits the RadarCFAR 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] Valid operator handle created by pvaRadarCFARCreate().
stream – [in] Valid CUDA stream handle for asynchronous execution.
inputTensor – [in] Input tensor handle containing input data.
outDetectionListTensor – [out] Output tensor handle for storing detection results.
outDetectionCountTensor – [out] Output tensor to store the number of detections found.
radarCFARParams – [in] Pointer to PvaRadarCFARParams structure containing CFAR algorithm configuration.
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Invalid handle pointer or mismatched tensor dimensions.
NVCV_ERROR_INTERNAL – Internal processing error, invalid data types, or execution failure.
NVCV_ERROR_OUT_OF_MEMORY – Insufficient memory for processing.
NVCV_SUCCESS – CFAR detection completed successfully.
- NVCVStatus pvaRadarCFARSubmit(
- NVCVOperatorHandle handle,
- cupvaStream_t stream,
- NVCVTensorHandle const inputTensor,
- NVCVTensorHandle outDetectionListTensor,
- NVCVTensorHandle outDetectionCountTensor,
- PvaRadarCFARParams const *const radarCFARParams,
Executes the Radar CFAR target detection operation on input radar data.
This function performs Constant False Alarm Rate (CFAR) target detection on the input radar range-Doppler map data and produces detection list. The operation uses the CFAR algorithm and parameters configured during operator creation to maintain a constant false alarm rate while maximizing target detection probability.
- Parameters:
handle – [in] Valid operator handle created by pvaRadarCFARCreate(). Must not be NULL and must reference a properly initialized operator.
stream – [in] Valid cuPVA stream handle for asynchronous execution.
inputTensor – [in] Input tensor handle containing input data.
outDetectionListTensor – [out] Output tensor handle for storing detection results.
outDetectionCountTensor – [out] to store the number of detections found.
Data type: NVCV_DATA_TYPE_S32
Data layout: [W]
Length: W = 1;
Must not be NULL
Contains the count of valid detections in the detection list
radarCFARParams – [in] Pointer to PvaRadarCFARParams structure containing CFAR algorithm configuration. Must not be NULL. See PvaRadarCFARParams structure documentation for detailed parameter constraints and behavior.
- Return values:
NVCV_ERROR_INVALID_ARGUMENT – Invalid handle pointer or mismatched tensor dimensions.
NVCV_ERROR_INTERNAL – Internal processing error, invalid data types, or execution failure.
NVCV_ERROR_OUT_OF_MEMORY – Insufficient memory for processing.
NVCV_SUCCESS – CFAR detection completed successfully.