math.fourierTransforms.interleaved
Class ComplexDoubleFFT_Radix2

java.lang.Object
  extended by math.fourierTransforms.interleaved.ComplexDoubleFFT
      extended by math.fourierTransforms.interleaved.ComplexDoubleFFT_Radix2

public class ComplexDoubleFFT_Radix2
extends ComplexDoubleFFT

Computes FFT's of complex, double precision data where n is an integer power of 2. This appears to be slower than the Radix2 method, but the code is smaller and simpler, and it requires little extra storage.

See ComplexDoubleFFT for details of data layout.

Author:
Bruce R. Miller bruce.miller@nist.gov, Contribution of the National Institute of Standards and Technology,, not subject to copyright., Derived from GSL (Gnu Scientific Library), GSL's FFT Code by Brian Gough bjg@vvv.lanl.gov, Since GSL is released under, GPL,, this package must also be.

Constructor Summary
ComplexDoubleFFT_Radix2(int n)
           
 
Method Summary
 void backtransform(double[] data, int i0, int stride)
          Compute the (unnomalized) inverse FFT of data, leaving it in place.
 void setDecimateInFrequency()
           
 void setDecimateInTime()
           
 void transform(double[] data, int i0, int stride)
          Compute the Fast Fourier Transform of data leaving the result in data.
 
Methods inherited from class math.fourierTransforms.interleaved.ComplexDoubleFFT
backtransform, getInstance, inverse, inverse, normalization, toWraparoundOrder, toWraparoundOrder, transform
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexDoubleFFT_Radix2

public ComplexDoubleFFT_Radix2(int n)
Method Detail

setDecimateInTime

public void setDecimateInTime()

setDecimateInFrequency

public void setDecimateInFrequency()

transform

public void transform(double[] data,
                      int i0,
                      int stride)
Description copied from class: ComplexDoubleFFT
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]

Specified by:
transform in class ComplexDoubleFFT

backtransform

public void backtransform(double[] data,
                          int i0,
                          int stride)
Description copied from class: ComplexDoubleFFT
Compute the (unnomalized) inverse FFT of data, leaving it in place. The frequency domain data must be in wrap-around order, and be stored in the following locations:
    Re(D[i]) = data[i0 + stride*i]
    Im(D[i]) = data[i0 + stride*i+1]

Specified by:
backtransform in class ComplexDoubleFFT