RadarNCI (Non-Coherent Integration)#
Functions#
- NVCVStatus pvaNciCreate(NVCVOperatorHandle *handle, const NVCVTensorRequirements *inTensorRequirements, const NVCVTensorRequirements **outTensorRequirements, PVARadarNCIParams *params)
Constructs an instance of the NCI operator.
- NVCVStatus pvaNciSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle const *inHandles, NVCVTensorHandle *outHandles)
Submits the NCI operator to a CUDA stream.
- NVCVStatus pvaNciSubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle const *inHandles, NVCVTensorHandle *outHandles)
Submits the NCI operator to a cuPVA stream.
Structs#
- PVARadarNCIParams
Parameters for the NCI operator.
Functions#
- NVCVStatus pvaNciCreate(
- NVCVOperatorHandle *handle,
- const NVCVTensorRequirements *inTensorRequirements,
- const NVCVTensorRequirements **outTensorRequirements,
- PVARadarNCIParams *params,
Constructs an instance of the NCI operator.
The tensor has the following dimensions: Nb - number of range bins (samples), Nr - number of Doppler bins (ramps), NofRx - number of RX antennas, Limitations: NofRx must be a power of 2 with a maximum of 64. Nr - number of Doppler bins (ramps) should be a multiple of NofRx
FT2D: std::complex<int32_t> [Nb][NofRx][Nr] Data type: 2S32 Data layout: HCW, H – number of range bins, C – number of RX antennas, W – number of Doppler bins
Tensor 0: NciRx The tensor has the following dimensions: Nb - number of range bins (samples), Nr - number of Doppler bins (ramps) NciRx: uint32_t [Nb][Nr] Data type: U32 Data layout: HW, H – number of range bins, W – number of Doppler bins
Tensor 1: NciFinal The tensor has the following dimensions: Nb - number of range bins (samples), Nr - number of Doppler bins (ramps), repeatFold - number of times the Doppler bins are repeated NciFinal: uint32_t [Nb][Nr/repeatFold] Data type: U32 Data layout: HW, H – number of range bins, W – number of Doppler bins divided by repeatFold
Tensor 2: NoiseEstimate (only present if noiseEstimationEnabled is true, set to NULL if noiseEstimationEnabled is false) The tensor has the following dimensions: Nb - number of range bins (samples) NoiseEstimate: uint32_t [Nb] Data type: U32 Data layout: W, W – number of range bins
- Parameters:
handle – [out] Pointer to where the operator instance handle will be written. Must not be NULL.
inTensorRequirements – [in] Pointer to a NVCVTensorRequirements structure containing tensor rank, shape, layout, and data type information.
The inTensorRequirements corresponds to the dimensions of the FT2D tensor
outTensorRequirements – [in] Pointer to 3 NVCVTensorRequirements structure pointers containing tensor rank, shape, layout, and data type information.
params – [in] Pointer to a PVARadarNCIParams structure containing the NCI parameters. See PVARadarNCIParams for more details.
- 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 pvaNciSubmit(
- NVCVOperatorHandle handle,
- cudaStream_t stream,
- NVCVTensorHandle const *inHandles,
- NVCVTensorHandle *outHandles,
Submits the NCI 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.
inHandles – [in] Pointer to array of input NVCVTensorHandle.
outHandles – [out] Pointer to array of output NVCVTensorHandle.
- 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 pvaNciSubmit(
- NVCVOperatorHandle handle,
- cupvaStream_t stream,
- NVCVTensorHandle const *inHandles,
- NVCVTensorHandle *outHandles,
Submits the NCI operator to a cuPVA stream.
- Parameters:
handle – [in] Handle to the operator.
Must not be NULL.
stream – [in] Handle to a valid cuPVA stream.
inHandles – [in] Pointer to array of input NVCVTensorHandle.
inHandles[0] is the FT2D tensor.
outHandles – [out] Pointer to array of output NVCVTensorHandle.
outHandles[0] is the NciRx tensor.
outHandles[1] is the NciFinal tensor.
outHandles[2] is the NoiseEstimate tensor. This is only present if noiseEstimationEnabled is true.
- 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.