ca.uol.aig.fftpack
Class ComplexDoubleFFT

java.lang.Object
  extended byca.uol.aig.fftpack.ComplexDoubleFFT_Mixed
      extended byca.uol.aig.fftpack.ComplexDoubleFFT

public class ComplexDoubleFFT
extends ca.uol.aig.fftpack.ComplexDoubleFFT_Mixed

FFT transform of a complex periodic sequence.


Field Summary
 double norm_factor
          norm_factor can be used to normalize this FFT transform.
 
Constructor Summary
ComplexDoubleFFT(int n)
          Construct a wavenumber table with size n for Complex FFT.
 
Method Summary
 void bt(Complex1D x)
          Backward complex FFT transform.
 void bt(double[] x)
          Backward complex FFT transform.
 void ft(Complex1D x)
          Forward complex FFT transform.
 void ft(double[] x)
          Forward complex FFT transform.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

norm_factor

public double norm_factor
norm_factor can be used to normalize this FFT transform. This is because a call of forward transform (ft) followed by a call of backward transform (bt) will multiply the input sequence by norm_factor.

Constructor Detail

ComplexDoubleFFT

public ComplexDoubleFFT(int n)
Construct a wavenumber table with size n for Complex FFT. The sequences with the same size can share a wavenumber table. The prime factorization of n together with a tabulation of the trigonometric functions are computed and stored.

Parameters:
n - the size of a complex data sequence. When n is a multiplication of small numbers (4, 2, 3, 5), this FFT transform is very efficient.
Method Detail

ft

public void ft(double[] x)
Forward complex FFT transform.

Parameters:
x - 2*n real double data representing n complex double data. As an input parameter, x is an array of 2*n real data representing n complex data. As an output parameter, x represents n FFT'd complex data. Their relation as follows:
x[2*i] is the real part of i-th complex data;
x[2*i+1] is the imaginary part of i-the complex data.

ft

public void ft(Complex1D x)
Forward complex FFT transform.

Parameters:
x - an array of n Complex data

bt

public void bt(double[] x)
Backward complex FFT transform. It is the unnormalized inverse transform of ft(double[]).

Parameters:
x - 2*n real double data representing n complex double data. As an input parameter, x is an array of 2*n real data representing n complex data. As an output parameter, x represents n FFT'd complex data. Their relation as follows:
x[2*i] is the real part of i-th complex data;
x[2*i+1] is the imaginary part of i-the complex data.

bt

public void bt(Complex1D x)
Backward complex FFT transform. It is the unnormalized inverse transform of ft(Complex1D[]).

Parameters:
x - an array of n Complex data