Gamma  0.9.5
Generic Synthesis Library
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
RFFT< T > Class Template Reference

One-dimensional real-to-complex fast Fourier transform. More...

#include <FFT.h>

List of all members.

Public Member Functions

 RFFT (int size=0)
int size () const
 Get size of transform.
void forward (T *buf, bool complexBuf=false, bool normalize=true)
 Perform real-to-complex forward transform in-place.
void inverse (T *buf, bool complexBuf=false)
 Perform complex-to-real inverse transform in-place.
void resize (int n)
 Set size of transform.

Detailed Description

template<class T>
class gam::RFFT< T >

One-dimensional real-to-complex fast Fourier transform.

The complex sequence format for forward and inverse transforms is [2r0, r1, i1, ... , r(n/2-1), i(n/2-1), 2r(n/2)]


Constructor & Destructor Documentation

RFFT ( int  size = 0)
Parameters:
[in]sizesize of real input sequence; most efficient when a product of small primes

Member Function Documentation

void forward ( T *  buf,
bool  complexBuf = false,
bool  normalize = true 
)

Perform real-to-complex forward transform in-place.

Parameters:
[in,out]bufinput is real sequence, output is complex sequence
[in]complexBufIf true, then input is [ *, x0, x1, x2, ..., x(n), *] and output is [r0, 0, r1, i1, ..., r(n/2), 0]. If false, then input is [x0, x1, x2, ..., x(n) ] and output is [r0, r1, i1, ..., r(n/2)].
[in]normalizewhether to scale magnitudes by 1/N
void inverse ( T *  buf,
bool  complexBuf = false 
)

Perform complex-to-real inverse transform in-place.

Parameters:
[in,out]bufinput is complex sequence, output is real sequence
[in]complexBufIf true, then input is [r0, 0, r1, i1, ..., r(n/2), 0] and output is [ *, x0, x1, x2, ..., x(n), *]. If false, then input is [r0, r1, i1, ..., r(n/2)] and output is [x0, x1, x2, ..., x(n) ].

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