math.fourierTransforms.interleaved
Class ComplexFloatFFT_Radix2

java.lang.Object
  extended by math.fourierTransforms.interleaved.ComplexFloatFFT
      extended by math.fourierTransforms.interleaved.ComplexFloatFFT_Radix2

public class ComplexFloatFFT_Radix2
extends ComplexFloatFFT

Computes FFT's of complex, single 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 no extra storage.

See ComplexFloatFFT 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
ComplexFloatFFT_Radix2(int n)
           
 
Method Summary
 void backtransform(float[] data, int i0, int stride)
          Compute the (unnomalized) inverse FFT of data, leaving it in place.
 void setDecimateInFrequency()
           
 void setDecimateInTime()
           
 void transform(float[] data, int i0, int stride)
          Compute the Fast Fourier Transform of data leaving the result in data.
 
Methods inherited from class math.fourierTransforms.interleaved.ComplexFloatFFT
backtransform, complexToReal, getInstance, getInterleavedData, inverse, inverse, normalization, toWraparoundOrder, toWraparoundOrder, transform
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComplexFloatFFT_Radix2

public ComplexFloatFFT_Radix2(int n)
Method Detail

setDecimateInTime

public void setDecimateInTime()

setDecimateInFrequency

public void setDecimateInFrequency()

transform

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

backtransform

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