C# Class Accord.Math.Transforms.FourierTransform2

Fourier Transform (for arbitrary size matrices).
This fourier transform accepts arbitrary-length matrices and is not restricted only to matrices that have dimensions which are powers of two. It also provides results which are more equivalent with other mathematical packages, such as MATLAB and Octave.
Show file Open project: accord-net/framework Class Usage Examples

Public Methods

Method Description
Convolve ( Complex x, Complex y, Complex result ) : void

Computes the circular convolution of the given complex vectors. All vectors must have the same length.

Convolve ( double x, double y, double result ) : void

Computes the circular convolution of the given real vectors. All vectors must have the same length.

Convolve ( double xreal, double ximag, double yreal, double yimag, double outreal, double outimag ) : void

Computes the circular convolution of the given complex vectors. All vectors must have the same length.

DFT ( Complex data, FourierTransform direction ) : void

1-D Discrete Fourier Transform.

DFT2 ( Complex data, FourierTransform direction ) : void

2-D Discrete Fourier Transform.

FFT ( Complex data, FourierTransform direction ) : void

1-D Fast Fourier Transform.

FFT ( double real, double imag, FourierTransform direction ) : void

1-D Fast Fourier Transform.

FFT2 ( Complex data, FourierTransform direction ) : void

2-D Fast Fourier Transform.

Private Methods

Method Description
FFT ( double real, double imag ) : void

Computes the discrete Fourier transform (DFT) of the given complex vector, storing the result back into the vector. The vector can have any length. This is a wrapper function.

HighestOneBit ( int i ) : int
IDFT ( Complex data ) : void

Computes the inverse discrete Fourier transform (IDFT) of the given complex vector, storing the result back into the vector. The vector can have any length. This is a wrapper function. This transform does not perform scaling, so the inverse is not a true inverse.

IDFT ( double real, double imag ) : void

Computes the inverse discrete Fourier transform (IDFT) of the given complex vector, storing the result back into the vector. The vector can have any length. This is a wrapper function. This transform does not perform scaling, so the inverse is not a true inverse.

Reverse ( int i ) : int
TransformBluestein ( Complex data ) : void
TransformBluestein ( double real, double imag ) : void

Computes the discrete Fourier transform (DFT) of the given complex vector, storing the result back into the vector. The vector can have any length. This requires the convolution function, which in turn requires the radix-2 FFT function. Uses Bluestein's chirp z-transform algorithm.

TransformRadix2 ( Complex complex ) : void

Computes the discrete Fourier transform (DFT) of the given complex vector, storing the result back into the vector. The vector's length must be a power of 2. Uses the Cooley-Tukey decimation-in-time radix-2 algorithm.

TransformRadix2 ( double real, double imag ) : void

Computes the discrete Fourier transform (DFT) of the given complex vector, storing the result back into the vector. The vector's length must be a power of 2. Uses the Cooley-Tukey decimation-in-time radix-2 algorithm.

Method Details

Convolve() public static method

Computes the circular convolution of the given complex vectors. All vectors must have the same length.
public static Convolve ( Complex x, Complex y, Complex result ) : void
x Complex
y Complex
result Complex
return void

Convolve() public static method

Computes the circular convolution of the given real vectors. All vectors must have the same length.
public static Convolve ( double x, double y, double result ) : void
x double
y double
result double
return void

Convolve() public static method

Computes the circular convolution of the given complex vectors. All vectors must have the same length.
public static Convolve ( double xreal, double ximag, double yreal, double yimag, double outreal, double outimag ) : void
xreal double
ximag double
yreal double
yimag double
outreal double
outimag double
return void

DFT() public static method

1-D Discrete Fourier Transform.
public static DFT ( Complex data, FourierTransform direction ) : void
data Complex The data to transform..
direction AForge.Math.FourierTransform The transformation direction.
return void

DFT2() public static method

2-D Discrete Fourier Transform.
public static DFT2 ( Complex data, FourierTransform direction ) : void
data Complex The data to transform.
direction AForge.Math.FourierTransform The transformation direction.
return void

FFT() public static method

1-D Fast Fourier Transform.
public static FFT ( Complex data, FourierTransform direction ) : void
data Complex The data to transform..
direction AForge.Math.FourierTransform The transformation direction.
return void

FFT() public static method

1-D Fast Fourier Transform.
public static FFT ( double real, double imag, FourierTransform direction ) : void
real double The real part of the complex numbers to transform.
imag double The imaginary part of the complex numbers to transform.
direction AForge.Math.FourierTransform The transformation direction.
return void

FFT2() public static method

2-D Fast Fourier Transform.
public static FFT2 ( Complex data, FourierTransform direction ) : void
data Complex The data to transform..
direction AForge.Math.FourierTransform The Transformation direction.
return void