FFT¶
-
class
FFT
(*args)¶ Base class for Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT).
Notes
Perform FFT and IFFT with array of ndim=1,2,3
Methods
getClassName
(self)Accessor to the object’s name.
getId
(self)Accessor to the object’s id.
getImplementation
(self)Accessor to the underlying implementation.
getName
(self)Accessor to the object’s name.
inverseTransform
(self, \*args)Perform Inverse Fast Fourier Transform (fft).
inverseTransform2D
(self, \*args)Perform 2D IFFT.
inverseTransform3D
(self, \*args)Perform 3D IFFT.
setName
(self, name)Accessor to the object’s name.
transform
(self, \*args)Perform Fast Fourier Transform (fft).
transform2D
(self, \*args)Perform 2D FFT.
transform3D
(self, \*args)Perform 3D FFT.
-
__init__
(self, \*args)¶ Initialize self. See help(type(self)) for accurate signature.
-
getClassName
(self)¶ Accessor to the object’s name.
- Returns
- class_namestr
The object class name (object.__class__.__name__).
-
getId
(self)¶ Accessor to the object’s id.
- Returns
- idint
Internal unique identifier.
-
getImplementation
(self)¶ Accessor to the underlying implementation.
- Returns
- implImplementation
The implementation class.
-
getName
(self)¶ Accessor to the object’s name.
- Returns
- namestr
The name of the object.
-
inverseTransform
(self, \*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
(self, \*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
(self, \*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
(self, name)¶ Accessor to the object’s name.
- Parameters
- namestr
The name of the object.
-
transform
(self, \*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
(self, \*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
(self, \*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)
-