public abstract class ComplexDoubleFFT
extends java.lang.Object
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.
Constructor and Description |
---|
ComplexDoubleFFT(int n)
Create an FFT for transforming n points of complex, double precision data.
|
Modifier and Type | Method and Description |
---|---|
void |
backtransform(ComplexArray.Double data) |
abstract void |
backtransform(ComplexArray.Double data,
int i0,
int stride)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
protected void |
checkData(ComplexArray.Double data,
int i0,
int stride) |
ComplexDoubleFFT |
getInstance(int n)
Creates an instance of a subclass of ComplexDoubleFFT appropriate for data
of n elements.
|
void |
inverse(ComplexArray.Double data)
Compute the (nomalized) inverse FFT of data, leaving it in place.
|
double |
normalization()
Return the normalization factor.
|
void |
transform(ComplexArray.Double data)
Compute the Fast Fourier Transform of data leaving the result in data.
|
abstract void |
transform(ComplexArray.Double data,
int i0,
int stride)
Compute the Fast Fourier Transform of data leaving the result in data.
|
public ComplexDoubleFFT(int n)
public ComplexDoubleFFT getInstance(int n)
protected void checkData(ComplexArray.Double data, int i0, int stride)
public void transform(ComplexArray.Double data)
public abstract void transform(ComplexArray.Double data, int i0, int stride)
Re(d[i]) = data[i0 + stride*i] Im(d[i]) = data[i0 + stride*i+1]
public void backtransform(ComplexArray.Double data)
public abstract void backtransform(ComplexArray.Double data, int i0, int stride)
public double normalization()
public void inverse(ComplexArray.Double data)