@hackage comfort-fftw0.0.0.1
High-level interface to FFTW (Fast Fourier Transform) based on comfort-array
Categories
License
BSD-3-Clause
Maintainer
Henning Thielemann <haskell@henning-thielemann.de>
Links
Versions
Installation
Tested Compilers
Dependencies (6)
- QuickCheck >=2 && <3
- base >=4.5 && <5
- comfort-array >=0.5 && <0.6
- deepseq >=1.3 && <1.6
- fftw-ffi >=0.0 && <0.2
- netlib-ffi >=0.0 && <0.2 Show all…
Dependents (3)
@hackage/align-audio, @hackage/patch-image, @hackage/sound-collage
FFTW claims to be the fastest Fourier Transform in the West.
This is a high-level interface to libfftw.
We re-use the type classes from netlib-ffi.
Features:
Support of one (audio), two (image), three (video) dimensional data, as well as n-dimensional one.
Support for batched transformations e.g. for block-wise Fourier transform.
No normalization like in plain
fftw. This is because I see no universally best place to apply normalization.
The use of comfort-array enables to use array shapes tailored
to Fourier transforms:
Shape.Cyclic- for data where the
n-1-th element can also be accessed via index-1. Shape.Half- for complex data of a real-to-complex Fourier transform. It saves you from case distinction between even and odd data length and according mistakes.
Shape.Symmetric- for real-to-real Sine and Cosine transforms. They assert that you will always use the appropriate kind for back transformation.
For rather simple examples
see the packages align-audio and morbus-meniere.
See also package fft.