KissFFT

class KissFFT(*args)

Kiss FFT.

See also

FFT

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

getClassName(self)

Accessor to the object’s name.

getId(self)

Accessor to the object’s id.

getName(self)

Accessor to the object’s name.

getShadowedId(self)

Accessor to the object’s shadowed id.

getVisibility(self)

Accessor to the object’s visibility state.

hasName(self)

Test if the object is named.

hasVisibleName(self)

Test if the object has a distinguishable 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.

setShadowedId(self, id)

Accessor to the object’s shadowed id.

setVisibility(self, visible)

Accessor to the object’s visibility state.

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.

getName(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

getShadowedId(self)

Accessor to the object’s shadowed id.

Returns
idint

Internal unique identifier.

getVisibility(self)

Accessor to the object’s visibility state.

Returns
visiblebool

Visibility flag.

hasName(self)

Test if the object is named.

Returns
hasNamebool

True if the name is not empty.

hasVisibleName(self)

Test if the object has a distinguishable name.

Returns
hasVisibleNamebool

True if the name is not empty and not the default one.

inverseTransform(self, *args)

Perform Inverse Fast Fourier Transform (fft).

Parameters
collectionComplexCollection or ScalarCollection, sequence of float

Data to transform.

Returns
collectionComplexCollection

The transformed data.

Notes

The Inverse Fast Fourier Transform writes as following:

{\rm y_k} = \sum_{n=0}^{N-1} \frac{1}{N} x_n exp(2 i \pi \frac{kn}{N})

where x denotes the data, of size N, 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
matrixComplexMatrix, Matrix, 2-d sequence of float

Data to transform.

Returns
resultComplexMatrix

The data transformed.

Notes

The 2D Fast Inverse Fourier Transform writes as following:

{\rm Y_{k,l}} = \frac{1}{M\times N}\sum_{m=0}^{M-1}\sum_{n=0}^{N-1} Z_{m,n} exp(2 i \pi \frac{km}{M}) exp(2 i \pi \frac{ln}{N})

where Z denotes the data to be transformed with shape (M,: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
tensorComplexTensor or Tensor or 3d array

The data to be transformed.

Returns
resultComplexTensor

The transformed data.

Notes

The 3D Inverse Fast Fourier Transform writes as following:

{\rm Y_{k,l,r}} = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1}\sum_{p=0}^{P-1} \frac{1}{M\times N \times P} Z_{m,n,p} exp(2 i \pi \frac{km}{M}) exp(2 i \pi \frac{ln}{N}) exp(2 i \pi \frac{rp}{P})

where Z denotes the data to be transformed with shape (M, N, P)

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.

setShadowedId(self, id)

Accessor to the object’s shadowed id.

Parameters
idint

Internal unique identifier.

setVisibility(self, visible)

Accessor to the object’s visibility state.

Parameters
visiblebool

Visibility flag.

transform(self, *args)

Perform Fast Fourier Transform (fft).

Parameters
collectionComplexCollection or ScalarCollection, sequence of float

Data to transform.

Returns
collectionComplexCollection

The data in Fourier domain.

Notes

The Fast Fourier Transform writes as following:

{\rm y_k} = \sum_{n=0}^{N-1} x_n exp(-2 i \pi \frac{kn}{N})

where x denotes the data to be transformed, of size N.

Examples

>>> import openturns as ot
>>> fft = ot.FFT()
>>> result = fft.transform(ot.Normal(8).getRealization())
transform2D(self, *args)

Perform 2D FFT.

Parameters
matrixComplexMatrix, Matrix, 2-d sequence of float

Data to transform.

Returns
resultComplexMatrix

The data in fourier domain.

Notes

The 2D Fast Fourier Transform writes as following:

{\rm Z_{k,l}} = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1} X_{m,n} exp(-2 i \pi \frac{km}{M}) exp(-2 i \pi \frac{ln}{N})

where X denotes the data to be transformed with shape (M,: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
tensorComplexTensor or Tensor or 3d array

Data to transform.

Returns
resultComplexTensor

The data in fourier domain.

Notes

The 3D Fast Fourier Transform writes as following:

{\rm Z_{k,l,r}} = \sum_{m=0}^{M-1}\sum_{n=0}^{N-1}\sum_{p=0}^{P-1} X_{m,n,p} exp(-2 i \pi \frac{km}{M}) exp(-2 i \pi \frac{ln}{N}) exp(-2 i \pi \frac{rp}{P})

where X denotes the data to be transformed with shape (M,:math:N, P)

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)