Fft2D<T>.ForwardTransform Method

Definition

Namespace: Extreme.Mathematics.SignalProcessing
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

ForwardTransform(Matrix<T>) Computes the discrete Fourier transform of a real signal and returns the result.
ForwardTransform(Matrix<Complex<T>>) Computes the discrete Fourier transform of a complex signal and returns the result.
ForwardTransform(Array2D<T>, Array2D<Complex<T>>) Computes the discrete Fourier transform of a real signal.
ForwardTransform(Array2D<Complex<T>>, Array2D<Complex<T>>) Computes the discrete Fourier transform of a complex signal.
ForwardTransform(DenseMatrix<T>, ComplexConjugateSignalMatrix<T>) Computes the discrete Fourier transform of a real signal.
ForwardTransform(DenseMatrix<Complex<T>>, DenseMatrix<Complex<T>>) Computes the discrete Fourier transform of a complex signal.
ForwardTransform(Matrix<T>, Matrix<Complex<T>>) Computes the discrete Fourier transform of a real signal.
ForwardTransform(Matrix<Complex<T>>, Matrix<Complex<T>>) Computes the discrete Fourier transform of a complex signal.
ForwardTransform(Matrix<T>, Matrix<Complex<T>>, RealFftFormat) Computes the discrete Fourier transform of a real signal.

ForwardTransform(Matrix<T>)

Computes the discrete Fourier transform of a real signal and returns the result.
C#
public ComplexConjugateSignalMatrix<T> ForwardTransform(
	Matrix<T> input
)

Parameters

input  Matrix<T>
A Double matrix containing the input signal.

Return Value

ComplexConjugateSignalMatrix<T>
A ComplexConjugateSignalMatrix<T>.

Remarks

The output is stored in a compact format to take advantage of the symmetry properties of a real Fourier transform.

Exceptions

ArgumentNullExceptioninput is null.

ForwardTransform(Matrix<Complex<T>>)

Computes the discrete Fourier transform of a complex signal and returns the result.
C#
public DenseMatrix<Complex<T>> ForwardTransform(
	Matrix<Complex<T>> input
)

Parameters

input  Matrix<Complex<T>>
On input, a complex matrix containing the input signal. On return, the forward transform of the input.

Return Value

DenseMatrix<Complex<T>>

Exceptions

ArgumentNullExceptioninput is null.

ForwardTransform(Array2D<T>, Array2D<Complex<T>>)

Computes the discrete Fourier transform of a real signal.
C#
public abstract void ForwardTransform(
	Array2D<T> input,
	Array2D<Complex<T>> output
)

Parameters

input  Array2D<T>
A real 2D array containing the input signal.
output  Array2D<Complex<T>>
A complex 2D array to hold the transformed signal.

Remarks

The output is stored in a compact format to take advantage of the symmetry properties of a real Fourier transform. Specifically, output contains only the first n/2+1 terms of the transformed signal.

Exceptions

InvalidOperationExceptionThe Fourier transform implementation is not configured to accept real input.
ArgumentNullExceptioninput is null.

-or-

output is null.

DimensionMismatchException The length of input does not equal the length of output.

ForwardTransform(Array2D<Complex<T>>, Array2D<Complex<T>>)

Computes the discrete Fourier transform of a complex signal.
C#
public abstract void ForwardTransform(
	Array2D<Complex<T>> input,
	Array2D<Complex<T>> output
)

Parameters

input  Array2D<Complex<T>>
A complex 2D array containing the input signal.
output  Array2D<Complex<T>>
A complex 2D array to hold the transformed signal.

Exceptions

ArgumentNullExceptioninput is null.

-or-

output is null.

DimensionMismatchException The length of input does not equal the length of output.

ForwardTransform(DenseMatrix<T>, ComplexConjugateSignalMatrix<T>)

Computes the discrete Fourier transform of a real signal.
C#
public void ForwardTransform(
	DenseMatrix<T> input,
	ComplexConjugateSignalMatrix<T> output
)

Parameters

input  DenseMatrix<T>
A Double matrix containing the input signal.
output  ComplexConjugateSignalMatrix<T>
A complex matrix to hold the transformed signal.

Remarks

The output is stored in a compact format to take advantage of the symmetry properties of a real Fourier transform. Specifically, output contains only the first n/2+1 terms of the transformed signal. Use the ComplexConjugateSignalMatrix<T> class to obtain a complex matrix that represents the complete signal.

Exceptions

InvalidOperationExceptionThe Fourier transform implementation is not configured to accept real input.
ArgumentNullExceptioninput is null.

-or-

output is null.

DimensionMismatchException The length of input does not equal the length of output.

ForwardTransform(DenseMatrix<Complex<T>>, DenseMatrix<Complex<T>>)

Computes the discrete Fourier transform of a complex signal.
C#
public void ForwardTransform(
	DenseMatrix<Complex<T>> input,
	DenseMatrix<Complex<T>> output
)

Parameters

input  DenseMatrix<Complex<T>>
A complex dense matrix containing the input signal.
output  DenseMatrix<Complex<T>>
A complex dense matrix to hold the transformed signal.

Exceptions

ArgumentNullExceptioninput is null.

-or-

output is null.

DimensionMismatchException The length of input does not equal the length of output.

ForwardTransform(Matrix<T>, Matrix<Complex<T>>)

Computes the discrete Fourier transform of a real signal.
C#
public void ForwardTransform(
	Matrix<T> input,
	Matrix<Complex<T>> output
)

Parameters

input  Matrix<T>
A Double matrix containing the input signal.
output  Matrix<Complex<T>>
A complex matrix to hold the transformed signal.

Remarks

The output is stored in a compact format to take advantage of the symmetry properties of a real Fourier transform. Specifically, output contains only the first n/2+1 terms of the transformed signal. Use the ComplexConjugateSignalMatrix<T> class to obtain a complex matrix that represents the complete signal.

Exceptions

ArgumentNullExceptioninput is null.

-or-

output is null.

ForwardTransform(Matrix<Complex<T>>, Matrix<Complex<T>>)

Computes the discrete Fourier transform of a complex signal.
C#
public void ForwardTransform(
	Matrix<Complex<T>> input,
	Matrix<Complex<T>> output
)

Parameters

input  Matrix<Complex<T>>
A complex matrix containing the input signal.
output  Matrix<Complex<T>>
A complex matrix to hold the transformed signal.

Exceptions

ArgumentNullExceptioninput is null.

-or-

output is null.

ForwardTransform(Matrix<T>, Matrix<Complex<T>>, RealFftFormat)

Computes the discrete Fourier transform of a real signal.
C#
public void ForwardTransform(
	Matrix<T> input,
	Matrix<Complex<T>> output,
	RealFftFormat outputFormat
)

Parameters

input  Matrix<T>
A Double matrix containing the input signal.
output  Matrix<Complex<T>>
A complex matrix to hold the transformed signal.
outputFormat  RealFftFormat
A RealFftFormat value that specifies whether to return a one-sided or a two-sided transform.

Remarks

Use this method to compute the Fourier transform of a real signal. The outputFormat specifies whether the return value should contain the full complex transform (TwoSided), or only the first n/2+1 terms of the transformed signal (OneSided), where n is the length of the transform.

Exceptions

InvalidOperationExceptionThe Fourier transform implementation is not configured to accept real input.
ArgumentNullExceptioninput is null.

-or-

output is null.

ArgumentOutOfRangeExceptionoutputFormat is not a valid RealFftFormat value.
DimensionMismatchExceptionoutputFormat equals OneSided and the length of output does not equal half the length of input plus one.

-or-

outputFormat equals TwoSided and the length of input does not equal the length of output.

See Also