Source: fft.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Fast Fourier Transformation                                      ####
// ####                                                                  ####
// #### Version 1.00  --  February 04, 2001                              ####
// ####                                                                  ####
// #### Copyright (C) 1999  Thomas Dreibholz                             ####
// ####               2000  Universität Bonn, Abt. IV                    ####
// ####               2001  EMail: Dreibholz@bigfoot.com                 ####
// ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
// ####                                                                  ####
// ##########################################################################


#ifndef FFT_H
#define FFT_H


#include "system.h"
#include "audiowriterinterface.h"


namespace Coral {


/**
  * This class does fast fourier transformation.
  *
  * @short   Fast Fourier Transformation
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class FastFourierTransformation {
   // ====== Constructor/Destructor =========================================
   public:
   /**
     * Constructor.
     */
   FastFourierTransformation(const integer fftlen);

   /**
     * Destructor.
     */
   ~FastFourierTransformation();


   // ====== FFT functions ==================================================
   /**
     * Do Fourier transformation.
     *
     * @param buffer Input buffer.
     */
   void fft(int16* buffer);

   /**
     * Get BitReversed array.
     */
   integer* getBitReversed();


   // ====== Private data ===================================================
   private:
   integer* BitReversed;
   int16*   SinTable;
   integer  Points;

   int16    *A,*B;
   int16    *sptr;
   int16    *endptr1,*endptr2;
   integer  *br1,*br2;
   integer  HRplus,HRminus,HIplus,HIminus;
};


}


#endif

Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22.