SignalMath.InverseFourierTransform Method

Definition

Namespace: Numerics.NET
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0

Overload List

InverseFourierTransform<T>(Vector<Complex<T>>) Computes the inverse discrete Fourier transform of a complex spectrum and returns the time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(ReadOnlySpan<Complex<T>>, Span<T>) Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(ReadOnlySpan<Complex<T>>, Span<Complex<T>>) Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(Vector<Complex<T>>, Vector<T>) Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(Vector<Complex<T>>, Vector<Complex<T>>) Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(Int32, ReadOnlySpan<Complex<T>>, Int32, Span<T>, Int32) Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
InverseFourierTransform<T>(Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32) Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.

InverseFourierTransform<T>(Vector<Complex<T>>)

Computes the inverse discrete Fourier transform of a complex spectrum and returns the time-domain signal. The result is scaled by 1/N.
C#
public static Vector<Complex<T>> InverseFourierTransform<T>(
	Vector<Complex<T>> spectrum
)

Parameters

spectrum  Vector<Complex<T>>
The complex frequency spectrum vector.

Type Parameters

T
The element type (double or float).

Return Value

Vector<Complex<T>>
A complex-valued vector containing the time-domain signal.

Exceptions

ArgumentNullException Thrown when spectrum is null.

InverseFourierTransform<T>(ReadOnlySpan<Complex<T>>, Span<T>)

Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	ReadOnlySpan<Complex<T>> hermitianSpectrum,
	Span<T> result
)

Parameters

hermitianSpectrum  ReadOnlySpan<Complex<T>>
A read-only span containing the Hermitian-symmetric frequency spectrum.
result  Span<T>
A span to hold the real time-domain signal.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentException Thrown when the spectrum and result dimensions do not match expected sizes.

InverseFourierTransform<T>(ReadOnlySpan<Complex<T>>, Span<Complex<T>>)

Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	ReadOnlySpan<Complex<T>> spectrum,
	Span<Complex<T>> result
)

Parameters

spectrum  ReadOnlySpan<Complex<T>>
A read-only span containing the complex frequency spectrum.
result  Span<Complex<T>>
A span to hold the complex time-domain signal.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentException Thrown when the spectrum and result dimensions do not match.

InverseFourierTransform<T>(Vector<Complex<T>>, Vector<T>)

Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	Vector<Complex<T>> hermitianSpectrum,
	Vector<T> output
)

Parameters

hermitianSpectrum  Vector<Complex<T>>
The Hermitian-symmetric frequency spectrum vector.
output  Vector<T>
The real time-domain signal vector.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentNullException Thrown when hermitianSpectrum or output is null.
ArgumentException Thrown when the spectrum and output vector lengths do not match expected sizes.

InverseFourierTransform<T>(Vector<Complex<T>>, Vector<Complex<T>>)

Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	Vector<Complex<T>> spectrum,
	Vector<Complex<T>> output
)

Parameters

spectrum  Vector<Complex<T>>
The complex frequency spectrum vector.
output  Vector<Complex<T>>
The complex time-domain signal vector.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentNullException Thrown when spectrum or output is null.
ArgumentException Thrown when the spectrum and output vector lengths do not match.

InverseFourierTransform<T>(Int32, ReadOnlySpan<Complex<T>>, Int32, Span<T>, Int32)

Computes the inverse discrete Fourier transform of a Hermitian-symmetric complex spectrum, returning a real time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	int length,
	ReadOnlySpan<Complex<T>> hermitianSpectrum,
	int spectrumStride,
	Span<T> result,
	int resultStride
)

Parameters

length  Int32
The number of elements in the result signal.
hermitianSpectrum  ReadOnlySpan<Complex<T>>
A read-only span containing the Hermitian-symmetric frequency spectrum.
spectrumStride  Int32
The stride between successive elements in hermitianSpectrum.
result  Span<T>
A span to hold the real time-domain signal.
resultStride  Int32
The stride between successive elements in result.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentException Thrown when the spectrum and result dimensions do not match expected sizes.

InverseFourierTransform<T>(Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

Computes the inverse discrete Fourier transform of a complex spectrum, returning a complex time-domain signal. The result is scaled by 1/N.
C#
public static void InverseFourierTransform<T>(
	int length,
	ReadOnlySpan<Complex<T>> spectrum,
	int spectrumStride,
	Span<Complex<T>> result,
	int resultStride
)

Parameters

length  Int32
The number of elements in the spectrum.
spectrum  ReadOnlySpan<Complex<T>>
A read-only span containing the complex frequency spectrum.
spectrumStride  Int32
The stride between successive elements in spectrum.
result  Span<Complex<T>>
A span to hold the complex time-domain signal.
resultStride  Int32
The stride between successive elements in result.

Type Parameters

T
The element type (double or float).

Exceptions

ArgumentException Thrown when the spectrum and result dimensions do not match.

See Also