Module Owl.Fft (.ml)

module Fft: Owl_fft

type rmat = Owl_dense_real.mat 
type cmat = Owl_dense_complex.mat 
val fft : rmat -> cmat
fft x performs an FFT operation on matrix x. If x has more than one row, then one FFT operation will be performed on each of them. The input is a real dense matrix, and the returned result is a complex dense matrix.
val fft_complex : cmat -> cmat
fft_complex x is similar to fft x but is performed on complex matrices.
val ifft : cmat -> cmat
ifft x performs the inverse operation of FFT on x. Note the input x is a complex matrix, both the output from fft x and fft_complex x can be used as the input of ifft.
val fft2 : rmat -> cmat
fft2 x performns a two-dimensional FFT on a real matrix x.
val fft2_complex : cmat -> cmat
fft2_complex x is similar to fft2 x but is performed on complex matrices.
val ifft2 : cmat -> cmat
ifft2 x performs the inverse operation of FFT on x, i.e., the inverse function of both fft2 and fft2_complex.
val fftshift : cmat -> cmat
fftshift x shifts the zero frequency component in the middle. This is especially useful when plotting the figures.
val ifftshift : cmat -> cmat
ifftshift x undoes the results of fftshift x, it is the inverse operation of fftshift. Note that calling fftshift twice such as fftshift (fftshift x) will not give you the same x if there is an odd number of elements.