Click or drag to resize

RealFFTResultWrapper Class

Class to provide convenient access to the result of a real valued fourier transform. See remarks for learning about different representations of a real valued Fourier transform.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.FourierRealFFTResultWrapper

Namespace: Altaxo.Calc.Fourier
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public class RealFFTResultWrapper

The RealFFTResultWrapper type exposes the following members.

Constructors
 NameDescription
Public methodRealFFTResultWrapper Constructur. You must provide the array with the result of a real valued fourier transformation.
Top
Properties
 NameDescription
Public propertyAmplitude Returns the vector of amplitudes, i.e. the modulus of the complex result.
Public propertyComplexResult Returns the vector of the complex result of the FFT.
Public propertyCount Return the length of the wrapper vectors Amplitude, RealPart, ImaginaryPart and Phase
Public propertyImaginaryPart Returns the vector of the resulting imaginary parts of the FFT.
Public propertyPhase Returns the vector of the resulting phases of the FFT.
Public propertyRealPart Returns the vector of the resulting real parts of the FFT.
Top
Methods
 NameDescription
Public methodStatic memberAddSpectra Addition of two spectra that where created as the result of two real fourier transformations.
Public methodCircularFrequenciesFromXIncrement Given a value for the xincrement (x interval between two points before the Fourier transformation), the vector of circular frequencies is returned.
Public methodCircularFrequenciesFromXRate Given a value for the xrate (inverse of x interval between two points before the Fourier transformation), the vector of circular frequencies is returned.
Public methodStatic memberDivideSpectra Divides two spectra that where created as the result of two real fourier transformations.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodFrequenciesFromXIncrement Given a value for the xincrement (x interval between two points before the Fourier transformation), the vector of frequencies is returned.
Public methodFrequenciesFromXRate Given a value for the xrate (inverse of x interval between two points before the Fourier transformation), the vector of frequencies is returned.
Public methodStatic memberFromRepresentationCompactComplexToReal(IROComplexDoubleVector, IVectorDouble) Transforms from a compact complex representation (nyquist frequency value put in imaginary part of first element) to real representation.
Public methodStatic memberFromRepresentationCompactComplexToReal(IReadOnlyListDouble, IReadOnlyListDouble, IVectorDouble) Transforms from a compact complex representation (nyquist frequency value put in imaginary part of first element) to real representation.
Public methodStatic memberFromRepresentationRealToCompactComplex(IReadOnlyListDouble, IComplexDoubleVector) Transforms from the real representation of a spectrum to the compact complex representation (nyquist frequency value put in imaginary part of first element).
Public methodStatic memberFromRepresentationRealToCompactComplex(IReadOnlyListDouble, IVectorDouble, IVectorDouble) Transforms from the real representation of a spectrum to the compact complex representation (nyquist frequency value put in imaginary part of first element).
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Remarks

This class is a wrapper for different representations of the result of a real valued fourier transformation.

1. Real value representation

----------------------------

The first value of the array is the real part of the spectrum at zero frequency, followed by the real part of the spectrum at first frequency and so on. The last value of the array is the imaginary part of the spectrum at first frequency, the value before this is the imaginary part of the spectrum at second frequency and so on. If the length of the fourier transform is even, the value of the array at index of half the length (N/2) is the real part of the spectrum at nyquist frequency. If the length of the fourier transform is odd, there is no value of the spectrum at nyquist frequency.

2. Verbose complex representation

---------------------------------

The real and imaginary part of the spectrum are properly ordered from zero frequency to nyquist frequency. The element at zero frequency contains only the real part, the imaginary part of this element is zero. The element at nyquist frequency contains only the real part at nyquist frequency, the imaginary part of this element is zero. Note that if the length of the FFT is for instance 1024, there are 513 complex spectral values. If the length of the FFT is 1023 (odd), there are 512 complex spectral values.

3. Compact complex representation

---------------------------------

The real and imaginary part of the spectrum are properly ordered from zero frequency to one element below the nyquist frequency. The value at nyquist frequency is put into the imaginary part of the spectrum at zero index. If the length of the FFT is odd, there is no value at nyquist frequency, and hence the imaginary part at zero index is set to zero. If the length of the FFT is for instance 1024, there are 512 complex spectral values. If the length of the FFT is 1023 (odd), there are still 512 complex spectral values, but the imaginary part of the first value is set to zero.

See Also