public abstract class RealDoubleFFT extends Object
The physical layout of the mathematical data d[i] in the array data is as follows:
d[i] = data[i0 + stride*i]The FFT (D[i]) of real data (d[i]) is complex, but restricted by symmetry:
D[n-i] = conj(D[i])It turns out that there are still n `independent' values, so the transformation can still be carried out in-place. However, each Real FFT method tends to leave the real and imaginary parts distributed in the data array in its own unique arrangment.
You must consult the documentation for the specific classes implementing RealDoubleFFT for the details. Note, however, that each class's backtransform and inverse methods understand thier own unique ordering of the transformed result and can invert it correctly.
Constructor and Description |
---|
RealDoubleFFT(int n)
Create an FFT for transforming n points of real, double precision data.
|
Modifier and Type | Method and Description |
---|---|
void |
backtransform(double[] data)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
abstract void |
backtransform(double[] data,
int i0,
int stride)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
protected void |
checkData(double[] data,
int i0,
int stride) |
void |
inverse(double[] data)
Compute the (nomalized) inverse FFT of data, leaving it in place.
|
void |
inverse(double[] data,
int i0,
int stride)
Compute the (nomalized) inverse FFT of data, leaving it in place.
|
double |
normalization()
Return the normalization factor.
|
abstract double[] |
toWraparoundOrder(double[] data)
Return data in wraparound order.
|
abstract double[] |
toWraparoundOrder(double[] data,
int i0,
int stride)
Return data in wraparound order.
|
void |
transform(double[] data)
Compute the Fast Fourier Transform of data leaving the result in data.
|
abstract void |
transform(double[] data,
int i0,
int stride)
Compute the Fast Fourier Transform of data leaving the result in data.
|
public RealDoubleFFT(int n)
protected void checkData(double[] data, int i0, int stride)
public void transform(double[] data)
public abstract void transform(double[] data, int i0, int stride)
public abstract double[] toWraparoundOrder(double[] data)
public abstract double[] toWraparoundOrder(double[] data, int i0, int stride)
public void backtransform(double[] data)
public abstract void backtransform(double[] data, int i0, int stride)
public double normalization()
public void inverse(double[] data)
public void inverse(double[] data, int i0, int stride)
Copyright © 2012. All Rights Reserved.