Click or drag to resize

DoubleGeneral1DFFT Class

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

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

The DoubleGeneral1DFFT type exposes the following members.

Constructors
  NameDescription
Public methodDoubleGeneral1DFFT
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(Double)
Using the given configuration, computes the real forward FFT of vin
Public methodFFT(DoubleComplex)
Using given configuration, computes the complex foward FFT of vin.
Public methodFFT(Double, Double)
Using the given configuration, computes the real forward FFT of vin
Public methodFFT(DoubleComplex, DoubleComplex)
Using given configuration, computes the complex foward FFT of vin and places the result in vout
Public methodFFTInPlace(Double)
Using the given configuration, computes the in-place real forward FFT of vinout
Public methodFFTInPlace(DoubleComplex) Obsolete.
Using the given configuration, computes the forward 1D FFT of each row in arrayinout and returns the results in-place.
Public methodFFTInPlace(DoubleComplex)
Using given configuration, computes the in-place complex 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.
Examples
This is an example of using the DoubleGeneral1DFFT class to compute a FFT of an offset and strided signal.
// Offset, and strided 1D signal layout.  
// The actual signal is of length 4, and is: {2, 3, 4, 5}
double[] 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.DOUBLE, FFTDomain.REAL, 1, 4);
config.DataOffset = 1;
config.DataStride = 2;

// Create the FFT with the given configuration.
DoubleGeneral1DFFT gfft4 = new DoubleGeneral1DFFT(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