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
Accessor to the object's name.
getId
()Accessor to the object's id.
Accessor to the underlying implementation.
getName
()Accessor to the object's name.
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__).
- getId()¶
Accessor to the object’s id.
- Returns
- idint
Internal unique identifier.
- getImplementation()¶
Accessor to the underlying implementation.
- Returns
- implImplementation
The implementation class.
- getName()¶
Accessor to the object’s name.
- Returns
- namestr
The name of the object.
- 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)