public class RealDoubleFFT_Radix2 extends RealDoubleFFT
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.
For RealDoubleFFT_Radix2, the correspondence is as follows:
| Logical | Physical | |
|---|---|---|
| Re(D[0]) | = | data[0] |
| Im(D[0]) | = | 0 |
| Re(D[1]) | = | data[1] |
| Im(D[1]) | = | data[n-1] |
| ... | ... | |
| Re(D[k]) | = | data[k] |
| Im(D[k]) | = | data[n-k] |
| ... | ... | |
| Re(D[n/2]) | = | data[n/2] |
| Im(D[n/2]) | = | 0 |
| ... | ... | |
| Re(D[n-k]) | = | data[k] |
| Im(D[n-k]) | = | -data[n-k] |
| ... | ... | |
| Re(D[n-1]) | = | data[1] |
| Im(D[n-1]) | = | -data[n-1] |
| Constructor and Description |
|---|
RealDoubleFFT_Radix2(int n)
Create an FFT for transforming n points of real, double precision data.
|
| Modifier and Type | Method and Description |
|---|---|
void |
backtransform(double[] data,
int i0,
int stride)
Compute the (unnomalized) inverse FFT of data, leaving it in place.
|
protected void |
bitreverse(double[] data,
int i0,
int stride) |
double[] |
toWraparoundOrder(double[] data)
Return data in wraparound order.
|
double[] |
toWraparoundOrder(double[] data,
int i0,
int stride)
Return data in wraparound order.
|
void |
transform(double[] data,
int i0,
int stride)
Compute the Fast Fourier Transform of data leaving the result in data.
|
backtransform, checkData, inverse, inverse, normalization, transformpublic RealDoubleFFT_Radix2(int n)
public void transform(double[] data,
int i0,
int stride)
transform in class RealDoubleFFTpublic void backtransform(double[] data,
int i0,
int stride)
transform.backtransform in class RealDoubleFFTpublic double[] toWraparoundOrder(double[] data)
toWraparoundOrder in class RealDoubleFFTpublic double[] toWraparoundOrder(double[] data,
int i0,
int stride)
toWraparoundOrder in class RealDoubleFFTprotected void bitreverse(double[] data,
int i0,
int stride)
Copyright © 2012. All Rights Reserved.