RadarRangeFFT#

Functions#

NVCVStatus pvaRangeFFTCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements const *const inTensorRequirements, NVCVTensorRequirements const *const winTensorRequirements, NVCVTensorRequirements const *const outTensorRequirements, PVARangeFFTParams const *const params)

Constructs an instance of the RangeFFT operator.

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

Submits the RangeFFT operator to a cuPVA stream.

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

Submits the RangeFFT operator to a CUDA stream.

Functions#

NVCVStatus pvaRangeFFTCreate(
NVCVOperatorHandle *handle,
NVCVTensorRequirements const *const inTensorRequirements,
NVCVTensorRequirements const *const winTensorRequirements,
NVCVTensorRequirements const *const outTensorRequirements,
PVARangeFFTParams const *const params,
)#

Constructs an instance of the RangeFFT operator.

Limitations:

The supported number of samples is 512 and 1024. The number of range bins can’t be greater than (the number of samples / 2 + 1).

Input: Data Layout: [HCW, NHCW] W: Number of samples. 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

Yes

32bit Float

No

64bit Float

No

2x16bit Unsigned

No

2x16bit Signed

No

2x32bit Unsigned

No

2x32bit Signed

No

Input: Data Layout: [W, NW] W: Number of coefficients. Must be the same as the number of samples 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] 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/Output Dependency:

Property

Input == Output

Data Layout

Yes

Data Type

No

Number

Yes

Channels

Yes

Width

N/A

Height

Yes

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 RangeFFT parameters. PVARangeFFTParams.

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

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

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

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