libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DftiTransform Class Reference

Detailed Description

Interface to FFT interface in MKL.

When the Math Kernel Library is available, this class provides an interface to the 1-D FFT transform contained there. This may then be an alternative to the FFTW3 interface when the GPL license is not acceptable.

See Also
FftBase

#include <dftitransform.h>

Inheritance diagram for DftiTransform:
[legend]
Collaboration diagram for DftiTransform:
[legend]

Public Member Functions

 DftiTransform ()
 create empty transform without a plan
 
 ~DftiTransform ()
 deallocate
 
void plan (size_t n, bool forward=true, int flags=0)
 prepare a plan for execution
 
void execute (const Complex in[], Complex out[])
 perform 1D transform
 
- Public Member Functions inherited from FftBase
 FftBase ()
 initialize
 
virtual ~FftBase ()
 virtual destructor
 
size_t length () const
 length for which the transform was planned
 
virtual Real directLaplace (Real dt, Complex ft[], Complex Fs[])
 numerical Laplace transform build using forward fft (unreliable)
 
virtual Real inverseLaplace (Real dt, Complex Fs[], Complex ft[])
 inverse numerical Laplace transform (unreliable)
 
void computeWindow (WindowFunction wf, Real w[]) const
 determine window function coefficients
 
void windowScaling (const Real w[], Real &S1, Real &S2) const
 compute scaling factors S1, S2 for a windowing function
 
Real periodogram (Real fs, const Complex in[], Real psd[], WindowFunction wf=Boxcar, Scaling scl=PowerDensity)
 compute a periodogram, return frequency resolution
 

Private Member Functions

void destroy ()
 free resources
 
void check (int status)
 handle error message from MKL
 

Private Attributes

MKL_Complex16 * m_work
 local workspace
 
DFTI_DESCRIPTOR_HANDLE m_handle
 plan
 
bool m_forward
 forward or backward transform?
 

Additional Inherited Members

- Static Public Member Functions inherited from FftBase
static FftBasePtr create ()
 instantiate the best available FFT implementation
 
- Protected Member Functions inherited from FftBase
Real damping (Real dt) const
 compute damping constant for numerical Laplace transform
 
- Protected Attributes inherited from FftBase
size_t m_size
 number of elements in 'm_in', out; passed to plan()
 
DVector< Complex > m_psdwork
 work array for periodogram
 
DVector< Real > m_psdwindow
 window function used by periodogram
 
WindowFunction m_wfun
 window function stored
 

The documentation for this class was generated from the following files: