public abstract class ComplexFloatFFT extends 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 |
---|
ComplexFloatFFT(int n)
Create an FFT for transforming n points of Complex, single precision data.
|
Modifier and Type | Method and Description |
---|---|
void |
backtransform(float[] data)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
abstract void |
backtransform(float[] data,
int i0,
int stride)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
protected void |
checkData(float[] data,
int i0,
int stride) |
ComplexFloatFFT |
getInstance(int n)
Creates an instance of a subclass of ComplexFloatFFT appropriate for data
of n elements.
|
void |
inverse(float[] data)
Compute the (nomalized) inverse FFT of data, leaving it in place.
|
void |
inverse(float[] data,
int i0,
int stride)
Compute the (nomalized) inverse FFT of data, leaving it in place.
|
float |
normalization()
Return the normalization factor.
|
float[] |
toWraparoundOrder(float[] data)
Return data in wraparound order.
|
float[] |
toWraparoundOrder(float[] data,
int i0,
int stride)
Return data in wraparound order.
|
void |
transform(float[] data)
Compute the Fast Fourier Transform of data leaving the result in data.
|
abstract void |
transform(float[] data,
int i0,
int stride)
Compute the Fast Fourier Transform of data leaving the result in data.
|
public ComplexFloatFFT(int n)
public ComplexFloatFFT getInstance(int n)
protected void checkData(float[] data, int i0, int stride)
public void transform(float[] data)
public float[] toWraparoundOrder(float[] data)
public float[] toWraparoundOrder(float[] data, int i0, int stride)
public abstract void transform(float[] data, int i0, int stride)
Re(d[i]) = data[i0 + stride*i] Im(d[i]) = data[i0 + stride*i+1]
public void backtransform(float[] data)
public abstract void backtransform(float[] data, int i0, int stride)
Re(D[i]) = data[i0 + stride*i] Im(D[i]) = data[i0 + stride*i+1]
public float normalization()
public void inverse(float[] data)
public void inverse(float[] data, int i0, int stride)
Re(D[i]) = data[i0 + stride*i] Im(D[i]) = data[i0 + stride*i+1]
Copyright © 2012. All Rights Reserved.