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
backtransform( org.das2.math.fft.ComplexArray.Double data, int i0, int stride ) → void
Compute the (unnomalized) inverse FFT of data, leaving it in place.
Parameters
data - a ComplexArray.Double
i0 - an int
stride - an int
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
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
transform( org.das2.math.fft.ComplexArray.Double data, int i0, int stride ) → void
Compute the Fast Fourier Transform of data leaving the result in data.
The array data must contain the data points in the following locations:
Re(d[i]) = data[i0 + stride*i]
Im(d[i]) = data[i0 + stride*i+1]
Parameters
data - a ComplexArray.Double
i0 - an int
stride - an int
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]