KissFFT¶
- class KissFFT(*args)¶
Kiss FFT.
See also
Notes
The KissFFT class inherits from the
FFT
class. The methods are the same as the FFT class (there is no additional method). This class interacts with the kissfft implemented and return results as OpenTURNS objects (ComplexCollection
).Methods
Accessor to the object's name.
getName
()Accessor to the object's name.
hasName
()Test if the object is named.
inverseTransform
(*args)Perform Inverse Fast Fourier Transform (fft).
inverseTransform2D
(*args)Perform 2D IFFT.
inverseTransform3D
(*args)Perform 3D IFFT.
setName
(name)Accessor to the object's name.
transform
(*args)Perform Fast Fourier Transform (fft).
transform2D
(*args)Perform 2D FFT.
transform3D
(*args)Perform 3D FFT.
- __init__(*args)¶
- getClassName()¶
Accessor to the object’s name.
- Returns:
- class_namestr
The object class name (object.__class__.__name__).
- getName()¶
Accessor to the object’s name.
- Returns:
- namestr
The name of the object.
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- inverseTransform(*args)¶
Perform Inverse Fast Fourier Transform (fft).
- Parameters:
- collection
ComplexCollection
orScalarCollection
, sequence of float Data to transform.
- collection
- Returns:
- collection
ComplexCollection
The transformed data.
- collection
Notes
The Inverse Fast Fourier Transform writes as following:
where denotes the data, of size , to be transformed.
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> collection = ot.ComplexCollection([1+1j,2-0.3j,5-.3j,6+1j,9+8j,16+8j,0.3]) >>> result = fft.inverseTransform(collection)
- inverseTransform2D(*args)¶
Perform 2D IFFT.
- Parameters:
- matrix
ComplexMatrix
,Matrix
, 2-d sequence of float Data to transform.
- matrix
- Returns:
- result
ComplexMatrix
The data transformed.
- result
Notes
The 2D Fast Inverse Fourier Transform writes as following:
where denotes the data to be transformed with shape (,:math:N)
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> x = ot.Normal(8).getSample(16) >>> result = fft.inverseTransform2D(x)
- inverseTransform3D(*args)¶
Perform 3D IFFT.
- Parameters:
- tensor
ComplexTensor
orTensor
or 3d array The data to be transformed.
- tensor
- Returns:
- result
ComplexTensor
The transformed data.
- result
Notes
The 3D Inverse Fast Fourier Transform writes as following:
where denotes the data to be transformed with shape (, , )
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> x = ot.ComplexTensor(8,8,2) >>> y = ot.Normal(8).getSample(8) >>> x.setSheet(0, fft.transform2D(y)) >>> z = ot.Normal(8).getSample(8) >>> x.setSheet(1, fft.transform2D(z)) >>> result = fft.inverseTransform3D(x)
- setName(name)¶
Accessor to the object’s name.
- Parameters:
- namestr
The name of the object.
- transform(*args)¶
Perform Fast Fourier Transform (fft).
- Parameters:
- collection
ComplexCollection
orScalarCollection
, sequence of float Data to transform.
- collection
- Returns:
- collection
ComplexCollection
The data in Fourier domain.
- collection
Notes
The Fast Fourier Transform writes as following:
where denotes the data to be transformed, of size .
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> result = fft.transform(ot.Normal(8).getRealization())
- transform2D(*args)¶
Perform 2D FFT.
- Parameters:
- matrix
ComplexMatrix
,Matrix
, 2-d sequence of float Data to transform.
- matrix
- Returns:
- result
ComplexMatrix
The data in fourier domain.
- result
Notes
The 2D Fast Fourier Transform writes as following:
where denotes the data to be transformed with shape (,:math:N)
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> x = ot.Normal(8).getSample(16) >>> result = fft.transform2D(x)
- transform3D(*args)¶
Perform 3D FFT.
- Parameters:
- tensor
ComplexTensor
orTensor
or 3d array Data to transform.
- tensor
- Returns:
- result
ComplexTensor
The data in fourier domain.
- result
Notes
The 3D Fast Fourier Transform writes as following:
where denotes the data to be transformed with shape (,:math:N, )
Examples
>>> import openturns as ot >>> fft = ot.FFT() >>> x = ot.ComplexTensor(8,8,2) >>> y = ot.Normal(8).getSample(8) >>> x.setSheet(0,fft.transform2D(y)) >>> z = ot.Normal(8).getSample(8) >>> x.setSheet(1,fft.transform2D(z)) >>> result = fft.transform3D(x)