NMSIS-DSP  Version 1.2.0
NMSIS DSP Software Library
Real FFT F64 Functions

Functions

void riscv_rfft_fast_f64 (riscv_rfft_fast_instance_f64 *S, float64_t *p, float64_t *pOut, uint8_t ifftFlag)
 Processing function for the Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_32_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 32pt double precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_64_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 64pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_128_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 128pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_256_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 256pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_512_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 512pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_1024_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 1024pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_2048_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 2048pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_4096_f64 (riscv_rfft_fast_instance_f64 *S)
 Initialization function for the 4096pt Double Precision floating-point real FFT. More...
 
riscv_status riscv_rfft_fast_init_f64 (riscv_rfft_fast_instance_f64 *S, uint16_t fftLen)
 Generic initialization function for the Double Precision floating-point real FFT. More...
 

Detailed Description

Function Documentation

◆ riscv_rfft_fast_f64()

void riscv_rfft_fast_f64 ( riscv_rfft_fast_instance_f64 S,
float64_t *  p,
float64_t *  pOut,
uint8_t  ifftFlag 
)

Processing function for the Double Precision floating-point real FFT.

Parameters
[in]Spoints to an riscv_rfft_fast_instance_f64 structure
[in]ppoints to input buffer (Source buffer is modified by this function.)
[in]pOutpoints to output buffer
[in]ifftFlag
  • value = 0: RFFT
  • value = 1: RIFFT
Returns
none

◆ riscv_rfft_fast_init_1024_f64()

riscv_status riscv_rfft_fast_init_1024_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 1024pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_128_f64()

riscv_status riscv_rfft_fast_init_128_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 128pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_2048_f64()

riscv_status riscv_rfft_fast_init_2048_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 2048pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_256_f64()

riscv_status riscv_rfft_fast_init_256_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 256pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_32_f64()

riscv_status riscv_rfft_fast_init_32_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 32pt double precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_4096_f64()

riscv_status riscv_rfft_fast_init_4096_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 4096pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_512_f64()

riscv_status riscv_rfft_fast_init_512_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 512pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_64_f64()

riscv_status riscv_rfft_fast_init_64_f64 ( riscv_rfft_fast_instance_f64 S)

Initialization function for the 64pt Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected

◆ riscv_rfft_fast_init_f64()

riscv_status riscv_rfft_fast_init_f64 ( riscv_rfft_fast_instance_f64 S,
uint16_t  fftLen 
)

Generic initialization function for the Double Precision floating-point real FFT.

Parameters
[in,out]Spoints to an riscv_rfft_fast_instance_f64 structure
[in]fftLenlength of the Real Sequence
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : fftLen is not a supported length
Description
The parameter fftLen specifies the length of RFFT/CIFFT process. Supported FFT Lengths are 32, 64, 128, 256, 512, 1024, 2048, 4096.
This Function also initializes Twiddle factor table pointer and Bit reversal table pointer.
This function should be used only if you don't know the FFT sizes that you'll need at build time. The use of this function will prevent the linker from removing the FFT tables that are not needed and the library code size will be bigger than needed.
If you use NMSIS-DSP as a library, and if you know the FFT sizes that you need at build time, then it is better to use the initialization functions defined for each FFT size.