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 number of chirps must be in the range [2, 1024) and must be factorizable using only factors of 2, 3, 4, and 5. The number of Doppler bins can’t be greater than the number of chirps. PVA_DOPPLER_FFT_OUTPUT_LAYOUT_RANGE_DOPPLER_RX only supported for 8 RX channels and number of chirps in the range [32, 900].

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] only when N = 1 If outputLayout is PVA_DOPPLER_FFT_OUTPUT_LAYOUT_DOPPLER_RX_RANGE: H: Number of Doppler bins. C: Number of RX channels. W: Number of range bins. If outputLayout is PVA_DOPPLER_FFT_OUTPUT_LAYOUT_RANGE_RX_DOPPLER: H: Number of range bins. C: Number of RX channels. W: Number of Doppler bins. If outputLayout is PVA_DOPPLER_FFT_OUTPUT_LAYOUT_RANGE_DOPPLER_RX: H: Number of range bins. C: Number of Doppler bins. W: Number of RX channels.

Batches: [1]

Rank: 3 for [HCW] or 4 for [NHCW] only when N = 1.

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.