org.das2.math.fft.jnt.ComplexDoubleFFT

Abstract Class representing FFT's of complex, double precision data. Concrete classes are typically named ComplexDoubleFFT_method, implement the FFT using some particular method.

Complex data is represented by 2 double values in sequence: the real and imaginary parts. Thus, in the default case (i0=0, stride=2), N data points is represented by a double array dimensioned to 2*N. To support 2D (and higher) transforms, an offset, i0 (where the first element starts) and stride (the distance from the real part of one value, to the next: at least 2 for complex values) can be supplied. The physical layout in the array data, of the mathematical data d[i] is as follows:

    Re(d[i]) = data[i0 + stride*i]
    Im(d[i]) = data[i0 + stride*i+1]
The transformed data is returned in the original data array in wrap-around order.

ComplexDoubleFFT( int n )

Create an FFT for transforming n points of complex, double precision data.


backtransform

backtransform( org.das2.math.fft.ComplexArray.Double data ) → void

Parameters

data - a ComplexArray.Double

Returns:

void (returns nothing)

[search for examples] [view on GitHub] [view on old javadoc] [view source]

backtransform( org.das2.math.fft.ComplexArray.Double data, int i0, int stride ) → void

getInstance

getInstance( int n ) → org.das2.math.fft.jnt.ComplexDoubleFFT

Creates an instance of a subclass of ComplexDoubleFFT appropriate for data of n elements.

Parameters

n - an int

Returns:

org.das2.math.fft.jnt.ComplexDoubleFFT

[search for examples] [view on GitHub] [view on old javadoc] [view source]


inverse

inverse( org.das2.math.fft.ComplexArray.Double data ) → void

Compute the (nomalized) inverse FFT of data, leaving it in place.

Parameters

data - a ComplexArray.Double

Returns:

void (returns nothing)

[search for examples] [view on GitHub] [view on old javadoc] [view source]


normalization

normalization( ) → double

Return the normalization factor. Multiply the elements of the backtransform'ed data to get the normalized inverse.

Returns:

double

[search for examples] [view on GitHub] [view on old javadoc] [view source]


transform

transform( org.das2.math.fft.ComplexArray.Double data ) → void

Compute the Fast Fourier Transform of data leaving the result in data. The array data must be dimensioned (at least) 2*n, consisting of alternating real and imaginary parts.

Parameters

data - a ComplexArray.Double

Returns:

void (returns nothing)

[search for examples] [view on GitHub] [view on old javadoc] [view source]

transform( org.das2.math.fft.ComplexArray.Double data, int i0, int stride ) → void