Fast Fourier Transform block

That block computes a direct or backward Fast Fourier Transform. Regular inputs/outputs are the real and imaginary part of a complex number. They are vectorial.

The parameter **Mode** details which algorithms are used to compute the FFT.

If **Mode=0** the interfacing function will automatically choose between the fft842 and dfftmx algorithms. The first are more powerful for computational time but only work for size of vectors with 2 power and for size less than 2^15. The second algorithm (dfftmx) can work for any size of vector but is more slow. If the size of the input vector is a 2 power and less than 2^15 fft842 will be used else this is dfftmx.

**Mode=1** is to always use dfftmx.

If the 'Modnum' toolbox have been build with the FFTW library the block will automatically use that library in any case.

**Size of inputs**

The size of the input vectors.

Type 'vec' of size 1.**Inherit (no:0, yes:1)**

Herits events by its regular input ports (disable the event input port).

Type 'vec' of size 1.**Type of fft (-1:direct/1:indirect)**

Use -1 for direct fft and 1 for indirect fft.

Type 'vec' of size 1.**Mode (0:Auto/1:Dfftmx)**

Use 0 to automatically switch betwenn fft842/dfftmx algorithms or force dfftmx with 1.

Type 'vec' of size 1.

**always active:**no**direct-feedthrough:**yes**zero-crossing:**no**mode:**no**regular inputs:**

**- port 1 : size [256,1] / type 1**

**- port 2 : size [256,1] / type 1****regular outputs:**

**- port 1 : size [256,1] / type 1**

**- port 2 : size [256,1] / type 1****number/sizes of activation inputs:**0**number/sizes of activation outputs:**0**continuous-time state:**no**discrete-time state:**no**object discrete-time state:**no**name of computational function:***fftcmplx*

- MODNUMCOS/macros/scicos_blocks/Signal/FFTCMPLX_f.sci [view code]

- MODNUMCOS/routines/signal/fftcmplx.c (Type 4) [view code]

- Signal Processing with Scilab. Available : signal.pdf

FFTW. Available : FFTW web site