Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

DComplexFFTServer



Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Synopsis

#include <rw/cfft.h>
DComplexFFTServer dcffts;

Description

Class DComplexFFTServer performs double precision complex fast Fourier transforms (FFTs) of an RWMathVec<DComplex> vector. The transform of a complex vector is a complex vector; therefore, the server returns a complex vector for either a forward or backward (inverse) transform.

At any given moment, the server is configured to transform a vector of a specified length. This length can be set three ways:

The last method means that if the vector length changes, the server automatically reconfigures to the new length. Since this is an expensive calculation, it is most efficient to call a server repeatedly for series of the same length. Different FFT servers may be constructed to handle different lengths.

There are no restrictions on the number of points; that is, the number need not be a power of 2.

The Fourier transform calculated is:

The inverse Fourier transform (IDFT) calculated is:

where A and X are complex. Note that the sum is not normalized; a call to fourier() followed by a call to ifourier() results in the original series multiplied by N.

Public Constructors

DComplexFFTServer();
DComplexFFTServer(unsigned order);
DComplexFFTServer(const DComplexFFTServer&);

Public Member Functions

RWMathVec<DComplex>
fourier(const RWMathVec<DComplex>& v);
RWMathVec<DComplex>
ifourier(const RWMathVec<DComplex>& v);
unsigned
order() const;
Void
setOrder(unsigned N);

Public Member Operator

void    operator=(const DComplexFFTServer& v);

Related Global Functions

expandConjugateEven   expandConjugateOdd
expandEven            expandOdd
rootsOfOne            spectralVariance


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.