Go to the source code of this file.
|
| struct fft_plan * | mod_fft_plan_new (struct processing_module *mod, void *inb, void *outb, uint32_t size, int bits) |
| void | fft_execute_16 (struct fft_plan *plan, bool ifft) |
| void | fft_execute_32 (struct fft_plan *plan, bool ifft) |
| void | mod_fft_plan_free (struct processing_module *mod, struct fft_plan *plan) |
| struct fft_multi_plan * | mod_fft_multi_plan_new (struct processing_module *mod, void *inb, void *outb, uint32_t size, int bits) |
| | mod_fft_multi_plan_new() - Prepare FFT for 2^N size and some other FFT sizes
|
| void | fft_multi_execute_32 (struct fft_multi_plan *plan, bool ifft) |
| | fft_multi_execute_32() - Calculate Fast Fourier Transform (FFT) for 2^size and other
|
| void | mod_fft_multi_plan_free (struct processing_module *mod, struct fft_multi_plan *plan) |
| | mod_fft_multi_plan_free() - Free the FFT plan
|
| void | dft3_32 (struct icomplex32 *input, struct icomplex32 *output) |
| | dft3_32() - Discrete Fourier Transform (DFT) for size 3.
|
◆ FFT_GENERIC
◆ FFT_MULTI_COUNT_MAX
| #define FFT_MULTI_COUNT_MAX 3 |
◆ FFT_SIZE_MAX
| #define FFT_SIZE_MAX 1024 |
◆ FFT_SIZE_MIN
◆ dft3_32()
dft3_32() - Discrete Fourier Transform (DFT) for size 3.
- Parameters
-
| input | Pointer to complex values input array, Q1.31. |
| output | Pointer to complex values output array, Q1.31, scaled down by 1/3. |
This function is useful for calculating some non power of two FFTs. E.g. the FFT for size 1536 is done with three 512 size FFTs and one 3 size DFT.
◆ fft_execute_16()
| void fft_execute_16 |
( |
struct fft_plan * | plan, |
|
|
bool | ifft ) |
◆ fft_execute_32()
| void fft_execute_32 |
( |
struct fft_plan * | plan, |
|
|
bool | ifft ) |
◆ fft_multi_execute_32()
◆ mod_fft_multi_plan_free()
| void mod_fft_multi_plan_free |
( |
struct processing_module * | mod, |
|
|
struct fft_multi_plan * | plan ) |
mod_fft_multi_plan_free() - Free the FFT plan
- Parameters
-
| mod | Pointer to module |
| plan | Pointe to FFT plan |
This function frees the allocations done internally by the function mod_fft_multi_plan_new(). The input and output buffers need to be freed separately.
◆ mod_fft_multi_plan_new()
| struct fft_multi_plan * mod_fft_multi_plan_new |
( |
struct processing_module * | mod, |
|
|
void * | inb, |
|
|
void * | outb, |
|
|
uint32_t | size, |
|
|
int | bits ) |
mod_fft_multi_plan_new() - Prepare FFT for 2^N size and some other FFT sizes
- Parameters
-
| mod | Pointer to module |
| inb | Buffer to use for complex input data |
| outb | Buffer to use for complex output data |
| size | Size of FFT as number of bins |
| bits | World length of FFT. Currently only 32 is supported. |
- Returns
- Pointer to allocated FFT plan
This function does the preparations to calculate FFT. If the size is power of two the operation is similar to mod_fft_plan_new(). Some other FFT sizes like 1536 is supported by allocated multiple FFT plans and by wrapping all needed for similar usage as power of two size FFT.
◆ mod_fft_plan_free()
| void mod_fft_plan_free |
( |
struct processing_module * | mod, |
|
|
struct fft_plan * | plan ) |
◆ mod_fft_plan_new()
| struct fft_plan * mod_fft_plan_new |
( |
struct processing_module * | mod, |
|
|
void * | inb, |
|
|
void * | outb, |
|
|
uint32_t | size, |
|
|
int | bits ) |