Luftzig / elm-signal-processing / FFT

Functions for calculating the discrete finite fourier transform using the fast fourier transform algorithms.

Complex values

Functions that work on complex values

fft : List Complex -> List Complex

compute the fourier transform of a list of complex values

fft [ real 1, zero, real 1, imaginary 0.5 ]

inverseFft : List Complex -> List Complex

compute the inverse fourier transform of a list of complex values The inverse fourier transform of list Z is equal to $$(conjugate (fft (conjugate Z)) / (length Z))$$ where Z* is the conjugate of Z.

Real values

Functions that work real (Float) values

realFft : List Basics.Float -> List Complex

compute the fourier transform of a list of real values. The output is a list of complex values.

realFft [ 1, 0, 1, 0.5 ]

realInverseFft : List Basics.Float -> List Complex

compute the inverse fourier transform of a list of real values The inverse fourier transform of list Z is equal to $$(conjugate (fft (conjugate Z)) / (length Z))$$ where Z* is the conjugate of Z.