The Wrapper class for other FFTs provided by different libraries. More...
#include <FFT.hpp>
Public Member Functions | |
| DFT (size_t fftSize) | |
| Constructor. | |
| DFT () | |
| Constructs an unplanned DFT: no backend state is created. | |
| ~DFT () | |
| Destructor. | |
| DFT (DFT &&) noexcept | |
| Move constructor. | |
| DFT & | operator= (DFT &&) noexcept |
| Move assignment. | |
| DFT (const DFT &)=delete | |
| Copy constructor (deleted: a DFT owns backend-specific state). | |
| DFT & | operator= (const DFT &)=delete |
| Copy assignment (deleted: a DFT owns backend-specific state). | |
| void | dft (const Eigen::ArrayXcd &X, Eigen::ArrayXcd &Y) |
| Computes the Discrete Fourier Transform (DFT) on 1D data. | |
| void | idft (const Eigen::ArrayXcd &X, Eigen::ArrayXcd &Y) |
| Computes the inverse Discrete Fourier Transform (IDFT) on 1D data. | |
| void | rdft (const Eigen::ArrayXd &x, Eigen::ArrayXcd &X) |
| Computes the forward Real Discrete Fourier Transform (RDFT) on 1D data. | |
| void | irdft (const Eigen::ArrayXcd &X, Eigen::ArrayXd &x) |
| Computes the inverse Real Discrete Fourier Transform (IRDFT) on 1D data. | |
| void | dft (const Eigen::ArrayXXcd &X, Eigen::ArrayXXcd &Y) |
| Computes the forward Discrete Fourier Transform (DFT) on 2D data. | |
| void | idft (const Eigen::ArrayXXcd &X, Eigen::ArrayXXcd &Y) |
| Computes the inverse Discrete Fourier Transform (IDFT) on 2D data. | |
| void | rdft (const Eigen::ArrayXXd &x, Eigen::ArrayXXcd &X) |
| Computes the forward Real Discrete Fourier Transform (RDFT) on 2D data. | |
| void | irdft (const Eigen::ArrayXXcd &X, Eigen::ArrayXXd &x) |
| Computes the inverse Real Discrete Fourier Transform (IRDFT) on 2D data. | |
Static Public Member Functions | |
| static std::string | getName () |
| gets the name of the currently used backend. | |
The Wrapper class for other FFTs provided by different libraries.
This is a pImpl based wrapper to other commonly known FFTs like
It also provides interfaces for different "versions" of Fourier Transforms like dft and idft (a complex to complex transform), and rdft and irdft (a real to complex transform). Moreover, it also provides interfaces to process many DFTs when the data is based on a matrix; however it is simply calling the single DFTs repeatedly
| DFT::DFT | ( | size_t | fftSize | ) |
Constructor.
| fftSize | FFT size (power of two). |
|
default |
Constructs an unplanned DFT: no backend state is created.
Exists so owners (e.g. an inert NsgfCqt* object, see NsgfCqtCommon::isValid()) can hold a DFT member without planning one. Calling any transform on an unplanned DFT is undefined.
| void jsa::cicuetea::DFT::dft | ( | const Eigen::ArrayXcd & | X, |
| Eigen::ArrayXcd & | Y ) |
Computes the Discrete Fourier Transform (DFT) on 1D data.
| X | Input array of complex values. |
| Y | Output array of transformed complex values. |
| void jsa::cicuetea::DFT::dft | ( | const Eigen::ArrayXXcd & | X, |
| Eigen::ArrayXXcd & | Y ) |
Computes the forward Discrete Fourier Transform (DFT) on 2D data.
| X | Input matrix of complex values. |
| Y | Output matrix of transformed complex values. |
| void jsa::cicuetea::DFT::idft | ( | const Eigen::ArrayXcd & | X, |
| Eigen::ArrayXcd & | Y ) |
Computes the inverse Discrete Fourier Transform (IDFT) on 1D data.
| X | Input array of complex values. |
| Y | Output array of transformed complex values. |
| void jsa::cicuetea::DFT::idft | ( | const Eigen::ArrayXXcd & | X, |
| Eigen::ArrayXXcd & | Y ) |
Computes the inverse Discrete Fourier Transform (IDFT) on 2D data.
| X | Input matrix of complex values. |
| Y | Output matrix of transformed complex values. |
| void jsa::cicuetea::DFT::irdft | ( | const Eigen::ArrayXcd & | X, |
| Eigen::ArrayXd & | x ) |
Computes the inverse Real Discrete Fourier Transform (IRDFT) on 1D data.
| X | Input array of complex values. |
| x | Output array of transformed real values. |
| void jsa::cicuetea::DFT::irdft | ( | const Eigen::ArrayXXcd & | X, |
| Eigen::ArrayXXd & | x ) |
Computes the inverse Real Discrete Fourier Transform (IRDFT) on 2D data.
| X | Input matrix of complex values. |
| x | Output matrix of transformed real values. |
| void jsa::cicuetea::DFT::rdft | ( | const Eigen::ArrayXd & | x, |
| Eigen::ArrayXcd & | X ) |
Computes the forward Real Discrete Fourier Transform (RDFT) on 1D data.
| x | Input array of real values. |
| X | Output array of transformed complex values. |
| void jsa::cicuetea::DFT::rdft | ( | const Eigen::ArrayXXd & | x, |
| Eigen::ArrayXXcd & | X ) |
Computes the forward Real Discrete Fourier Transform (RDFT) on 2D data.
| x | Input matrix of real values. |
| X | Output matrix of transformed complex values. |