FFT¶
- class FFT(*args)¶
Base class for Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT).
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.
Notes
Perform FFT and IFFT with array of ndim=1,2,3
- __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
A copy of the underlying implementation object.
- 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)