Functions for calculating the discrete finite fourier transform using the fast fourier transform algorithms.
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.
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.