math.jwave.transforms

## Class DiscreteFourierTransform

- java.lang.Object
- math.jwave.transforms.BasicTransform
- math.jwave.transforms.DiscreteFourierTransform

public class DiscreteFourierTransformextends BasicTransform

The Discrete Fourier Transform (DFT) is - as the name says - the discrete version of the Fourier Transform applied to a discrete complex valued series. While the DFT can be applied to any complex valued series; of any length, in practice for large series it can take considerable time to compute, while the time taken being proportional to the square of the number on points in the series.

### Constructor Summary

Constructors Constructor and Description **DiscreteFourierTransform**()Constructor; does nothing

### Method Summary

Methods Modifier and Type Method and Description `Complex[]`

**forward**(Complex[] arrTime)The 1-D forward version of the Discrete Fourier Transform (DFT); The input array arrTime is organized by a class called Complex keeping real and imaginary part of a complex number.`double[]`

**forward**(double[] arrTime)The 1-D forward version of the Discrete Fourier Transform (DFT); The input array arrTime is organized by real and imaginary parts of a complex number using even and odd places for the index.`double[][]`

**forward**(double[][] matTime)The 2-D forward version of the Discrete Fourier Transform (DFT); The input array matTime is organized by real and imaginary parts of a complex number using even and odd places for the indices.`double[][][]`

**forward**(double[][][] spcTime)The 3-D forward version of the Discrete Fourier Transform (DFT);`Complex[]`

**reverse**(Complex[] arrFreq)The 1-D reverse version of the Discrete Fourier Transform (DFT); The input array arrFreq is organized by a class called Complex keeping real and imaginary part of a complex number.`double[]`

**reverse**(double[] arrFreq)The 1-D reverse version of the Discrete Fourier Transform (DFT); The input array arrFreq is organized by real and imaginary parts of a complex number using even and odd places for the index.`double[][]`

**reverse**(double[][] matFreq)The 2-D reverse version of the Discrete Fourier Transform (DFT); The input array matFreq is organized by real and imaginary parts of a complex number using even and odd places for the indices.`double[][][]`

**reverse**(double[][][] spcHilb)The 3-D reverse version of the Discrete Fourier Transform (DFT);

### Constructor Detail

#### DiscreteFourierTransform

public DiscreteFourierTransform()

Constructor; does nothing

### Method Detail

#### forward

public double[] forward(double[] arrTime)

The 1-D forward version of the Discrete Fourier Transform (DFT); The input array arrTime is organized by real and imaginary parts of a complex number using even and odd places for the index. For example: arrTime[ 0 ] = real1, arrTime[ 1 ] = imag1, arrTime[ 2 ] = real2, arrTime[ 3 ] = imag2, ... The output arrFreq is organized by the same scheme.**Specified by:**`forward`

in class`BasicTransform`

- Parameters:
`arrTime`

- coefficients of 1-D time domain- Returns:
- coefficients of 1-D frequency or Hilbert domain
- See Also:
`BasicTransform.forward(double[])`

#### reverse

public double[] reverse(double[] arrFreq)

The 1-D reverse version of the Discrete Fourier Transform (DFT); The input array arrFreq is organized by real and imaginary parts of a complex number using even and odd places for the index. For example: arrTime[ 0 ] = real1, arrTime[ 1 ] = imag1, arrTime[ 2 ] = real2, arrTime[ 3 ] = imag2, ... The output arrTime is organized by the same scheme.**Specified by:**`reverse`

in class`BasicTransform`

- Parameters:
`arrFreq`

- coefficients of 1-D frequency or Hilbert domain- Returns:
- coefficients of 1-D time domain
- See Also:
`BasicTransform.reverse(double[])`

#### forward

public Complex[] forward(Complex[] arrTime)

The 1-D forward version of the Discrete Fourier Transform (DFT); The input array arrTime is organized by a class called Complex keeping real and imaginary part of a complex number. The output arrFreq is organized by the same scheme.**Overrides:**`forward`

in class`BasicTransform`

- Parameters:
`arrTime`

- array of type Complex keeping coefficients of complex numbers- Returns:
- array of type Complex keeping the discrete fourier transform coefficients

#### reverse

public Complex[] reverse(Complex[] arrFreq)

The 1-D reverse version of the Discrete Fourier Transform (DFT); The input array arrFreq is organized by a class called Complex keeping real and imaginary part of a complex number. The output arrTime is organized by the same scheme.**Overrides:**`reverse`

in class`BasicTransform`

- Parameters:
`arrFreq`

- array of type Complex keeping the discrete fourier transform coefficients- Returns:
- array of type Complex keeping coefficients of tiem domain

#### forward

public double[][] forward(double[][] matTime)

The 2-D forward version of the Discrete Fourier Transform (DFT); The input array matTime is organized by real and imaginary parts of a complex number using even and odd places for the indices. For example: matTime[0][0] = real11, matTime[0][1] = imag11, matTime[0][2] = real12, matTime[0][3] = imag12, matTime[1][0] = real21, matTime[1][1] = imag21, matTime[1][2] = real22, matTime[1][3] = imag2... The output matFreq is organized by the same scheme.**Overrides:**`forward`

in class`BasicTransform`

- Parameters:
`matTime`

- coefficients of 2-D time domain- Returns:
- coefficients of 2-D frequency or Hilbert domain
- See Also:
`BasicTransform.forward(double[][])`

#### reverse

public double[][] reverse(double[][] matFreq)

The 2-D reverse version of the Discrete Fourier Transform (DFT); The input array matFreq is organized by real and imaginary parts of a complex number using even and odd places for the indices. For example: matFreq[0][0] = real11, matFreq[0][1] = imag11, matFreq[0][2] = real12, matFreq[0][3] = imag12, matFreq[1][0] = real21, matFreq[1][1] = imag21, matFreq[1][2] = real22, matFreq[1][3] = imag2... The output matTime is organized by the same scheme.**Overrides:**`reverse`

in class`BasicTransform`

- Parameters:
`matFreq`

- coefficients of 2-D frequency or Hilbert domain- Returns:
- coefficients of 2-D time domain
- See Also:
`BasicTransform.reverse(double[][])`

#### forward

public double[][][] forward(double[][][] spcTime)

The 3-D forward version of the Discrete Fourier Transform (DFT);**Overrides:**`forward`

in class`BasicTransform`

- Parameters:
`spcTime`

- coefficients of 3-D time domain domain- Returns:
- coefficients of 3-D frequency or Hilbert domain
- See Also:
`BasicTransform.forward(double[][][])`

#### reverse

public double[][][] reverse(double[][][] spcHilb)

The 3-D reverse version of the Discrete Fourier Transform (DFT);**Overrides:**`reverse`

in class`BasicTransform`

- Parameters:
`spcHilb`

- coefficients of 3-D frequency or Hilbert domain- Returns:
- coefficients of 3-D time domain
- See Also:
`BasicTransform.reverse(double[][][])`

**SCaVis 2.0 © jWork.ORG**