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.