Class DiscreteFourierTransform

  • All Implemented Interfaces:
    DataTransform<Access1D<?>,​MatrixStore<ComplexNumber>>
    Direct Known Subclasses:
    DiscreteFourierTransform.FFT, DiscreteFourierTransform.FullMatrix, DiscreteFourierTransform.Single

    public abstract class DiscreteFourierTransform
    extends java.lang.Object
    implements DataTransform<Access1D<?>,​MatrixStore<ComplexNumber>>
    The discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence. An inverse DFT is a Fourier series, using the DTFT samples as coefficients of complex sinusoids at the corresponding DTFT frequencies. The DFT is therefore said to be a frequency domain representation of the original input sequence.

    The fast Fourier transform (FFT) is an algorithm for computing the DFT; it achieves its high speed by storing and reusing results of computations as it progresses.

    Calling the factory method newInstance(int) will return an FFT implementation if the size is a power of 2, and a full matrix implementation otherwise.