Click or drag to resize

Altaxo.Calc.Fourier Namespace

[Missing <summary> documentation for "N:Altaxo.Calc.Fourier"]

Classes
 ClassDescription
Public classArrayMath ArrayMath provides some basic methods for manipulating numeric arrays.
Public classChirpFFT Provides a method to perform a Fourier transformation of arbirtrary length. This algorithm is known either as Bluestein FFT algorithm, or as Chirp-z-Transformation.
Public classComplexFFT

Static functions for doing various Fourier Operations.

Public classFastHadamardTransformation Fast correlation of a maximum length sequence with a signal. The result is the response function of the system under test. See remarks for detail.
Public classFastHartleyTransform Fast Fourier Transform class based on the Fast Hartley Transform.
Public classNativeFourierMethods This class provides reference methods related to Fourier transformation that are slow and not very accurate. Do not use them except for comparism and testing purposes! The direction of the forward Fourier transform will be defined here as reference for all other Fourier methods as multiplication of f(x)*exp(iwt), i.e. as (wt) having a positive sign (forward) and wt having a negative sign (backward).
Public classPfa235Convolution Convolves or deconvolves a real-valued data set data[] (including any user supplied zero padding) with a response function response[]. The result is returned in the array result[]. All arrays including the scratch[] array must have the same dimensions (or larger). The data set (and of course the other arrays) can be either one-dimensional, two-dimensional, or three-dimensional, d = 1,2,3. Each dimension must be of the form n = (2**p) * (3**q) * (5**r), because of the underlying FFT. The d-dimensional data can be either single precision (FLOAT := float) or double precision (FLOAT := double).
Public classPfa235FFT Generalized prime factor complex fast Fourier transform and backtransform in one, two, and three dimensions (d = 1,2,3). Each dimension must be of the form n = (2**p) * (3**q) * (5**r). The complex d-dimensional data can be either given in a vector of double precision complex numbers or in two seperate vectors of doubles for the real and imaginary parts respectively, or in single precision, either in a vector of complex or in two seperate vectors of float. A leading dimension different from the first data dimension can be specified - this can prevent memory-bank conflicts and therefore dramatically improves performance on vector machines with interleaved memory. The Fourier transform is always perfored inplace. The data array can be stored either in column (Fortran convention) or row (C convention) order. This makes about 40 different combinations (float - double, dimension, order, complex - real) which can be easily accessed by a simple class definition:
Public classRealFFTResultWrapper 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.
Public classRealFourierTransform Common interface for real valued fourier transformations of any length. Depending of the length, which must be given at creation time and can not be changed afterwards, the fastes transformation method is used. The neccessary temporary data is being held in this class, so that repeated transformations will not create more temporary storage than neccessary.
Public classRealFourierTransformation2D Class to assist in executing a 2D Fourier transform on data originating from a matrix of real values.
Enumerations
 EnumerationDescription
Public enumerationFourierDirection The direction of the fourier transform.
Public enumerationRealFourierTransformationOutputKind Designates different possible kinds of output of the real fourier transformation.