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.
The following code is partially adopted from the FFT library, see www.jjj.de.
Constructor | Description |
Full Usage:
ChirpFFT()
|
|
Static member | Description |
Full Usage:
ChirpFFT.CyclicConvolution(datare, dataim, responsere, responseim, resultre, resultim, n)
Parameters:
float[]
-
Real part of the data array (first input array).
dataim : float[]
-
Imaginary part of the data array (first input array).
responsere : float[]
-
Real part of the response array (second input array).
responseim : float[]
-
Imaginary part of the response array (second input array).
resultre : float[]
-
The real part of the resulting array.
resultim : float[]
-
The imaginary part of the resulting array.
n : int
-
The convolution size. The input and result arrays may be larger, but of course not smaller than this number.
|
Performs a cyclic convolution of splitted complex data of arbitrary length.
|
Full Usage:
ChirpFFT.CyclicCorrelation(datare, dataim, responsere, responseim, resultre, resultim, n)
Parameters:
float[]
-
Real part of the data array (first input array).
dataim : float[]
-
Imaginary part of the data array (first input array).
responsere : float[]
-
Real part of the response array (second input array).
responseim : float[]
-
Imaginary part of the response array (second input array).
resultre : float[]
-
The real part of the resulting array.
resultim : float[]
-
The imaginary part of the resulting array.
n : int
-
The convolution size. The input and result arrays may be larger, but of course not smaller than this number.
|
Performs a cyclic correlation of splitted complex data of arbitrary length.
|
Full Usage:
ChirpFFT.CyclicCorrelation(src1, src2, result, n)
Parameters:
float[]
-
The first input array.
src2 : float[]
-
The second input array.
result : float[]
-
The resulting array.
n : int
-
The correlation size. The input and result arrays may be larger, but of course not smaller than this number.
|
Performs a cyclic correlation of splitted complex data of arbitrary length.
|
Full Usage:
ChirpFFT.FFT(x, y, direction)
Parameters:
float[]
-
Array of real values.
y : float[]
-
Array of imaginary values.
direction : FourierDirection
-
Direction of Fourier transform.
|
Performs an FFT of arbitrary length by the chirp method. Use this method only if no other FFT is applicable.
|
Full Usage:
ChirpFFT.FFT(x, y, direction, temporaryStorage)
Parameters:
float[]
-
Array of real values.
y : float[]
-
Array of imaginary values.
direction : FourierDirection
-
Direction of Fourier transform.
temporaryStorage : byref<obj>
-
On return, this reference holds an object for temporary storage. You can use this in subsequent FFTs of the same size.
|
Performs an FFT of arbitrary length by the chirp method. Use this method only if no other FFT is applicable.
|
Full Usage:
ChirpFFT.FFT(x, y, n, direction)
Parameters:
float[]
-
Array of real values.
y : float[]
-
Array of imaginary values.
n : uint32
-
Number of points to transform.
direction : FourierDirection
-
Direction of Fourier transform.
|
Performs an FFT of arbitrary length by the chirp method. Use this method only if no other FFT is applicable.
|
Full Usage:
ChirpFFT.FFT(x, y, n, direction, temporaryStorage)
Parameters:
float[]
-
Array of real values.
y : float[]
-
Array of imaginary values.
n : uint32
-
Number of points to transform.
direction : FourierDirection
-
Direction of Fourier transform.
temporaryStorage : byref<obj>
-
On return, this reference holds an object for temporary storage. You can use this in subsequent FFTs of the same size.
|
Performs an FFT of arbitrary length by the chirp method. Use this method only if no other FFT is applicable.
|
Full Usage:
ChirpFFT.FourierTransformation2D(matrixRe, matrixIm, direction)
Parameters:
IMatrix<float>
-
Matrix of thre real part of the values to transform.
matrixIm : IMatrix<float>
-
Matrix of thre imaginary part of the values to transform.
direction : FourierDirection
-
Direction of Fourier transform.
|
Performs an two dimensional FFT of arbitrary length by the chirp method. Use this method only if no other FFT is applicable. This function first performs a FFT on all columns of the matrix, and then transforms all rows of the resulting matrix.
|
Full Usage:
ChirpFFT.GetNecessaryConvolutionSize(n)
Parameters:
int
-
The length of the convolution.
Returns: int
Neccessary length of the scratch arrays. Note that this is based on a convolution of
base 2.
|
Returns the neccessary size for a chirp convolution of length n.
|
Full Usage:
ChirpFFT.GetNecessaryCorrelationSize(n)
Parameters:
int
-
The length of the cyclic correlation.
Returns: int
Neccessary length of the scratch arrays. Note that this is based on a convolution of
base 2.
|
Returns the neccessary size of the padding arrays for a cyclic correlation of length n.
|
Full Usage:
ChirpFFT.GetNecessaryTransformationSize(n)
Parameters:
int
-
The length of the chirp transformation.
Returns: int
Neccessary length of the transformation arrays. Note that this is based on a convolution of
base 2.
|
Returns the neccessary transformation size for a chirp transformation of length n.
|