RadarDopplerFFT#

Functions#

NVCVStatus pvaDopplerFFTCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements const *const inTensorRequirements, NVCVTensorRequirements const *const winTensorRequirements, NVCVTensorRequirements const *const outTensorRequirements, PVADopplerFFTParams const *const params)

Constructs an instance of the DopplerFFT operator.

NVCVStatus pvaDopplerFFTSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle const in, NVCVTensorHandle const win, NVCVTensorHandle out)

Submits the DopplerFFT operator to a CUDA stream.

NVCVStatus pvaDopplerFFTSubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle const in, NVCVTensorHandle const win, NVCVTensorHandle out)

Submits the DopplerFFT operator to a cuPVA stream.

Functions#

NVCVStatus pvaDopplerFFTCreate(
NVCVOperatorHandle *handle,
NVCVTensorRequirements const *const inTensorRequirements,
NVCVTensorRequirements const *const winTensorRequirements,
NVCVTensorRequirements const *const outTensorRequirements,
PVADopplerFFTParams const *const params,
)#

Constructs an instance of the DopplerFFT operator.

Limitations:

The supported number of chirps is 256 and 512. The number of Doppler bins can’t be greater than the number of chirps.

Input: Data Layout: [HCW, NHCW] W: Number of range bins. C: Number of RX channels. H: Number of chirps.

Batches: [1]

Rank: 3 for [HCW] or 4 for [NHCW].

Data Type

Allowed

8bit Unsigned

No

8bit Signed

No

16bit Unsigned

No

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

32bit Float

No

64bit Float

No

2x16bit Unsigned

No

2x16bit Signed

No

2x32bit Unsigned

No

2x32bit Signed

Yes

Input: Data Layout: [W, NW] W: Number of coefficients. Must be the same as the number of chirps in the input tensor.

Batches: [1]

Rank: 1 for [W] or 2 for [NW].

Data Type

Allowed

8bit Unsigned

No

8bit Signed

No

16bit Unsigned

No

16bit Signed

No

32bit Unsigned

No

32bit Signed

Yes

32bit Float

No

64bit Float

No

2x16bit Unsigned

No

2x16bit Signed

No

2x32bit Unsigned

No

2x32bit Signed

No

Output: Data Layout: [HCW, NHCW] If transposeOutput is disabled: W: Number of range bins. C: Number of RX channels. H: Number of Doppler bins. If transposeOutput is enabled: W: Number of Doppler bins. C: Number of RX channels. H: Number of range bins.

Batches: [1]

Rank: 3 for [HCW] or 4 for [NHCW].

Data Type

Allowed

8bit Unsigned

No

8bit Signed

No

16bit Unsigned

No

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

32bit Float

No

64bit Float

No

2x16bit Unsigned

No

2x16bit Signed

No

2x32bit Unsigned

No

2x32bit Signed

Yes

Input/Output Dependency:

Property

Input == Output

Data Layout

N/A

Data Type

Yes

Number

Yes

Channels

Yes

Width

N/A

Height

N/A

Parameters:
  • handle[out] Where the operator instance handle will be written to.

    • Must not be NULL.

  • inTensorRequirements[in] Pointer to the NVCVTensorRequirements structure which contains input Tensor layout rank, shape and data type information.

  • winTensorRequirements[in] Pointer to the NVCVTensorRequirements structure which contains window Tensor layout rank, shape and data type information.

  • outTensorRequirements[in] Pointer to the NVCVTensorRequirements structure which contains output Tensor layout rank, shape and data type information.

  • params[in] Pointer to the DopplerFFT parameters. PVADopplerFFTParams. Pass NULL to use the operator’s default parameters.

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_ERROR_INVALID_IMAGE_FORMAT – Image format is invalid.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus pvaDopplerFFTSubmit(
NVCVOperatorHandle handle,
cudaStream_t stream,
NVCVTensorHandle const in,
NVCVTensorHandle const win,
NVCVTensorHandle out,
)#

Submits the DopplerFFT 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.

  • in[in] Input tensor handle.

  • win[in] Window tensor handle.

  • out[out] Output tensor handle.

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 pvaDopplerFFTSubmit(
NVCVOperatorHandle handle,
cupvaStream_t stream,
NVCVTensorHandle const in,
NVCVTensorHandle const win,
NVCVTensorHandle out,
)#

Submits the DopplerFFT operator to a cuPVA stream.

Parameters:
  • handle[in] Handle to the operator.

    • Must not be NULL.

  • stream[in] Handle to a valid cuPVA stream.

  • in[in] Input tensor handle.

  • win[in] Window tensor handle.

  • out[out] Output tensor handle.

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.