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
Fftw3Transform Class Reference

Detailed Description

C++ Interface for FFTW3.

This class implements the interface of FftBase and links against the FFTW3 implementation. Hence, this interface is only available if FFTW3 is detected by the qmake run.

Note that the use of FFTW3 implies GPL license unless you have obtained another license for that library.

See Also
FftBase, DftiTransform

#include <fftw3interface.h>

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

Public Member Functions

 Fftw3Transform ()
 initialize
 
 ~Fftw3Transform ()
 destruct
 
void plan (size_t n, bool forward=true, int flags=0)
 create a plan - this call is not thread-safe!
 
void execute (const Complex in[], Complex out[])
 perform FFT according to plan - thread-safe.
 
- 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 ()
 deallocate, destroy plan
 

Private Attributes

fftw_plan m_plan
 the plan
 
fftw_complex * m_in
 work arrays for the library
 

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: