Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
FftBase Class Referenceabstract

Detailed Description

Base class for FFT library interfaces.

The purpose of this class is to hide an underlying FFT implementation behind a common interface.

TODO: Switch primitive Laplace transform implementation to Talbot's method or Wiedeman's.

See Also
Fftw3Transform, DftiTransform

#include <fftbase.h>

Inheritance diagram for FftBase:
Collaboration diagram for FftBase:

Public Member Functions

 FftBase ()
virtual ~FftBase ()
 virtual destructor
virtual void plan (size_t n, bool forward=true, int flags=0)=0
 create a plan for size n and with library-dependent flags
size_t length () const
 length for which the transform was planned
virtual void execute (const Complex in[], Complex out[])=0
 perform FFT on in, write to out
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

Static Public Member Functions

static FftBasePtr create ()
 instantiate the best available FFT implementation

Protected Member Functions

Real damping (Real dt) const
 compute damping constant for numerical Laplace transform

Protected Attributes

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: