NMSIS-DSP  Version 1.2.0
NMSIS DSP Software Library

Macros

#define FFTINIT(EXT, SIZE)
 
#define CFFTINIT_Q15(LEN, LENTWIDDLE)
 

Functions

 CFFTINIT_Q15 (4096, 4096)
 Initialization function for the cfft q15 function for 4096 samples. More...
 
 CFFTINIT_Q15 (2048, 1024)
 Initialization function for the cfft q15 function for 2048 samples. More...
 
 CFFTINIT_Q15 (1024, 1024)
 Initialization function for the cfft q15 function for 1024 samples. More...
 
 CFFTINIT_Q15 (512, 256)
 Initialization function for the cfft q15 function for 512 samples. More...
 
 CFFTINIT_Q15 (256, 256)
 Initialization function for the cfft q15 function for 256 samples. More...
 
 CFFTINIT_Q15 (128, 64)
 Initialization function for the cfft q15 function for 128 samples. More...
 
 CFFTINIT_Q15 (64, 64)
 Initialization function for the cfft q15 function for 64 samples. More...
 
 CFFTINIT_Q15 (32, 16)
 Initialization function for the cfft q15 function for 32 samples. More...
 
 CFFTINIT_Q15 (16, 16)
 Initialization function for the cfft q15 function for 16 samples. More...
 
riscv_status riscv_cfft_init_q15 (riscv_cfft_instance_q15 *S, uint16_t fftLen)
 Generic initialization function for the cfft q15 function. More...
 
void riscv_cfft_q15 (const riscv_cfft_instance_q15 *S, q15_t *p1, uint8_t ifftFlag, uint8_t bitReverseFlag)
 Processing function for Q15 complex FFT. More...
 

Detailed Description

Macro Definition Documentation

◆ CFFTINIT_Q15

#define CFFTINIT_Q15 (   LEN,
  LENTWIDDLE 
)

◆ FFTINIT

#define FFTINIT (   EXT,
  SIZE 
)

Function Documentation

◆ CFFTINIT_Q15() [1/9]

CFFTINIT_Q15 ( 1024  ,
1024   
)

Initialization function for the cfft q15 function for 1024 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [2/9]

CFFTINIT_Q15 ( 128  ,
64   
)

Initialization function for the cfft q15 function for 128 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [3/9]

CFFTINIT_Q15 ( 16  ,
16   
)

Initialization function for the cfft q15 function for 16 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [4/9]

CFFTINIT_Q15 ( 2048  ,
1024   
)

Initialization function for the cfft q15 function for 2048 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [5/9]

CFFTINIT_Q15 ( 256  ,
256   
)

Initialization function for the cfft q15 function for 256 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [6/9]

CFFTINIT_Q15 ( 32  ,
16   
)

Initialization function for the cfft q15 function for 32 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [7/9]

CFFTINIT_Q15 ( 4096  ,
4096   
)

Initialization function for the cfft q15 function for 4096 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [8/9]

CFFTINIT_Q15 ( 512  ,
256   
)

Initialization function for the cfft q15 function for 512 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ CFFTINIT_Q15() [9/9]

CFFTINIT_Q15 ( 64  ,
64   
)

Initialization function for the cfft q15 function for 64 samples.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h

◆ riscv_cfft_init_q15()

riscv_status riscv_cfft_init_q15 ( riscv_cfft_instance_q15 S,
uint16_t  fftLen 
)

Generic initialization function for the cfft q15 function.

Parameters
[in,out]Spoints to an instance of the floating-point CFFT structure
[in]fftLenfft length (number of complex samples)
Returns
execution status
  • RISCV_MATH_SUCCESS : Operation successful
  • RISCV_MATH_ARGUMENT_ERROR : an error is detected
Use of this function is mandatory only for the MVE version of the FFT.
Other versions can still initialize directly the data structure using variables declared in riscv_const_structs.h
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 static 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.

◆ riscv_cfft_q15()

void riscv_cfft_q15 ( const riscv_cfft_instance_q15 S,
q15_t *  p1,
uint8_t  ifftFlag,
uint8_t  bitReverseFlag 
)

Processing function for Q15 complex FFT.

Parameters
[in]Spoints to an instance of Q15 CFFT structure
[in,out]p1points to the complex data buffer of size 2*fftLen. Processing occurs in-place
[in]ifftFlagflag that selects transform direction
  • value = 0: forward transform
  • value = 1: inverse transform
[in]bitReverseFlagflag that enables / disables bit reversal of output
  • value = 0: disables bit reversal of output
  • value = 1: enables bit reversal of output
Returns
none