Click or drag to resize

FloatGeneral1DFFT Class

General 1D FFT class assuming the behavior of the provided FFT configuration instance.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreFFTBase
    CenterSpace.NMath.CoreFloatGeneral1DFFT

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class FloatGeneral1DFFT : FFTBase, 
	ICloneable

The FloatGeneral1DFFT type exposes the following members.

Constructors
 NameDescription
Public methodFloatGeneral1DFFT Constructs a general 1D FFT instance by deep cloning the provided FFTConfiguration instance.
Top
Properties
 NameDescription
Public propertyDimension Gets the FFT dimension.
(Inherited from FFTBase)
Public propertyDirection Gets the direction of the FFT, either forward or backward.
(Inherited from FFTBase)
Public propertyDomain Gets the forward domain of signal data; either complex or real.
(Inherited from FFTBase)
Public propertyLength Gets the length of the signal data.
(Inherited from FFTBase)
Public propertyPrecision Gets the FFT precision; either float or double
(Inherited from FFTBase)
Top
Methods
 NameDescription
Public methodClone Creates a deep copy of this general 1D FFT instance.
Public methodFFT(FloatComplex) Using given configuration, computes the complex foward FFT of vin.
Public methodFFT(Single) Using the given configuration, computes the real forward FFT of vin
Public methodFFT(FloatComplex, FloatComplex) Using given configuration, computes the complex foward FFT of vin and places the result in vout
Public methodFFT(Single, Single) Using the given configuration, computes the real forward FFT of vin
Public methodFFTInPlace(FloatComplex) Using given configuration, computes the in-place complex forward FFT of vinout.
Public methodFFTInPlace(FloatComplex)Obsolete.
Using the given configuration, computes the forward 1D FFT of each row in arrayinout and returns the results in-place.
Public methodFFTInPlace(Single) Using the given configuration, computes the in-place real forward FFT of vinout
Public methodFFTInPlaceArray Using the given configuration, computes the forward 1D FFT of each row in arrayinout and returns the results in-place.
Public methodToString Returns a String containing a summary of this FFT type.
(Inherited from FFTBase)
Top
Fields
 NameDescription
Protected fieldipconfig_ In-place FFT configuration.
(Inherited from FFTBase)
Protected fieldofpconfig_ Out-of-place FFT configuration.
(Inherited from FFTBase)
Top
Remarks
This general 1D FFT class can process signals with complex memory configurations with offset and strided signals. This class is designed for advanced users, and if the configuration does not correctly match the layout and type of the input signal data, exceptions and erroneous outputs will result.
Example
This is an example of using the FloatGeneral1DFFT class to compute a FFT of an offset and strided signal.
C#
// Offset, and strided 1D signal layout.  
// The actual signal is of length 4, and is: {2, 3, 4, 5}
float[] signal = { 9423423, 2, -111, 3, -111, 4, -111, 5 };

// Build the FFTConfiguration instance which describes the FFT to be computed.
FFTConfiguration config= new FFTConfiguration(FFTDirection.FORWARD, FFTPrecision.FLOAT, FFTDomain.REAL, 1, 4);
config.DataOffset = 1;
config.DataStride = 2;

// Create the FFT with the given configuration.
FloatGeneral1DFFT gfft4 = new FloatGeneral1DFFT(config);

// Compute the the real in-place FFT.  
// The array, signal, will now contain the FFT(signal) = { 9423423, 14, -111, -2, -111, 2, -111, -2 }; 
// Which is a packed complex-conjugate symmetric FFT, with offset of 1, and a data stride of 2.
// Unpacked, and unstrided, the full FFT(signal) would be { 14, -2+2i, -2, -2-2i }; 
gfft4.FFTInPlace(signal);
See Also