Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

TDSPfft Class Reference

#include <TDSPfft.h>

Inheritance diagram for TDSPfft:

TDSPOperator TQQObject TDSPBlockfft TDSPStft TDSPOfdm

Detailed Description

Author:
Peter Jung

Definition at line 33 of file TDSPfft.h.

Public Member Functions

void do_fft (TComplex *, TComplex *, Int_t ndat, Int_t stepin=1, Int_t stepout=1, Int_t cp=0, Double_t oversampling=1.0)
void do_ifft (TComplex *, TComplex *, Int_t ndat, Int_t stepin=1, Int_t stepout=1, Int_t cp=0, Double_t oversampling=1.0)
 TDSPfft (char *name=NULL)
 ~TDSPfft ()
void SetDim (Int_t d)
Int_t GetDim () const
TDSPSignalGetFFTSignal () const
TDSPSignalGetIFFTSignal () const
void RegisterSignalsAndSlots ()
void fft (TComplex *in, TComplex *out, Int_t l, Int_t stepin=1, Int_t stepout=1)
void ifft (TComplex *in, TComplex *out, Int_t l, Int_t stepin=1, Int_t stepout=1)
TDSPVectorfft (TDSPVector *in, TDSPVector *out=NULL)
 the fft of "in"

TDSPMatrixfft (TDSPMatrix *in, Int_t dim, TDSPMatrix *out=NULL)
 the fft of the rows(dim=1,'R') or cols(dim=2,'C') of "in"

TDSPVectorifft (TDSPVector *in, TDSPVector *out=NULL)
 the ifft of "in"

TDSPMatrixifft (TDSPMatrix *in, Int_t dim, TDSPMatrix *out=NULL)
 the ifft of the rows(dim=1,'R') or cols(dim=2,'C') of "in"

TDSPSignalFFT (TDSPSignal *input)
TDSPSignalIFFT (TDSPSignal *input)
Int_t GetIFFTLen (Int_t len)
Int_t GetFFTLen (Int_t len)
void SetOverSampling (Double_t o)
Double_t GetOverSampling () const
void SetCyclicPrefix (UInt_t c)
UInt_t GetCyclicPrefix () const

Static Public Member Functions

Bool_t LoadFFTW ()
 loads the atlas library

void EnableFFTW ()
void DisableFFTW ()
Bool_t UsingFFTW ()

Static Public Attributes

Bool_t _fftw_destroy_plans

Protected Attributes

Int_t fDim
 The Dimension ('r','R',1 or 'c','C',2) for the fft of incoming signals.

Double_t fOverSampling
 Oversampling factor (zeropadding in ifft for >1).

UInt_t fCyclicPrefix
 The Cyclic Prefix = number of element from end inserted at the beginning.

TDSPSignalfFFT_Signal
 the fft signal-vector

TDSPSignalfIFFT_Signal
 the ifft signal-vector

void * fftw_vec
void * fftw_plan_forward
void * fftw_plan_backward
TString Slot_FFT
TString Slot_IFFT
TString Signal_FFT
TString Signal_IFFT

Static Protected Attributes

Bool_t fFFTW
 do we have the fftw-library ?


Friends

istream & operator>> (istream &, TDSPfft &)
ostream & operator<< (ostream &, TDSPfft &)
istream & operator>> (istream &, TDSPfft *)
ostream & operator<< (ostream &, TDSPfft *)


Constructor & Destructor Documentation

TDSPfft::TDSPfft char *  name = NULL  ) 
 

TDSPfft::~TDSPfft  ) 
 


Member Function Documentation

void TDSPfft::DisableFFTW  )  [inline, static]
 

Definition at line 72 of file TDSPfft.h.

References fFFTW.

00072 { fFFTW=kFALSE;}; 

void TDSPfft::do_fft TComplex ,
TComplex ,
Int_t  ndat,
Int_t  stepin = 1,
Int_t  stepout = 1,
Int_t  cp = 0,
Double_t  oversampling = 1.0
 

void TDSPfft::do_ifft TComplex ,
TComplex ,
Int_t  ndat,
Int_t  stepin = 1,
Int_t  stepout = 1,
Int_t  cp = 0,
Double_t  oversampling = 1.0
 

void TDSPfft::EnableFFTW  )  [inline, static]
 

Definition at line 71 of file TDSPfft.h.

References fFFTW.

00071 { fFFTW=kTRUE;}; 

TDSPSignal* TDSPfft::FFT TDSPSignal input  ) 
 

Reimplemented in TDSPBlockfft.

TDSPMatrix* TDSPfft::fft TDSPMatrix in,
Int_t  dim,
TDSPMatrix out = NULL
 

the fft of the rows(dim=1,'R') or cols(dim=2,'C') of "in"

TDSPVector* TDSPfft::fft TDSPVector in,
TDSPVector out = NULL
 

the fft of "in"

Reimplemented in TDSPBlockfft.

void TDSPfft::fft TComplex in,
TComplex out,
Int_t  l,
Int_t  stepin = 1,
Int_t  stepout = 1
 

UInt_t TDSPfft::GetCyclicPrefix  )  const [inline]
 

Definition at line 151 of file TDSPfft.h.

References fCyclicPrefix.

00151 { return fCyclicPrefix;}; 

Int_t TDSPfft::GetDim  )  const [inline]
 

Definition at line 100 of file TDSPfft.h.

References fDim.

00100 { return fDim;};

Int_t TDSPfft::GetFFTLen Int_t  len  )  [inline]
 

Definition at line 141 of file TDSPfft.h.

References fCyclicPrefix, and fOverSampling.

00141 {return (Int_t)((len/fOverSampling)-fCyclicPrefix);};  // FFT-outputlen translation

TDSPSignal* TDSPfft::GetFFTSignal  )  const [inline]
 

Definition at line 102 of file TDSPfft.h.

References fFFT_Signal.

Referenced by TDSPOfdm::GetReceivedSignal().

00102 { return fFFT_Signal;};

Int_t TDSPfft::GetIFFTLen Int_t  len  )  [inline]
 

Definition at line 140 of file TDSPfft.h.

References fCyclicPrefix, and fOverSampling.

00140 {return (Int_t)((len+fCyclicPrefix)*fOverSampling);}; // IFFT-outputlen translation

TDSPSignal* TDSPfft::GetIFFTSignal  )  const [inline]
 

Definition at line 103 of file TDSPfft.h.

References fIFFT_Signal.

Referenced by TDSPOfdm::GetTransmitSignal().

00103 { return fIFFT_Signal;};

Double_t TDSPfft::GetOverSampling  )  const [inline]
 

Definition at line 146 of file TDSPfft.h.

References fOverSampling.

00146 { return fOverSampling;}; 

TDSPSignal* TDSPfft::IFFT TDSPSignal input  ) 
 

Reimplemented in TDSPBlockfft.

TDSPMatrix* TDSPfft::ifft TDSPMatrix in,
Int_t  dim,
TDSPMatrix out = NULL
 

the ifft of the rows(dim=1,'R') or cols(dim=2,'C') of "in"

TDSPVector* TDSPfft::ifft TDSPVector in,
TDSPVector out = NULL
 

the ifft of "in"

Reimplemented in TDSPBlockfft.

void TDSPfft::ifft TComplex in,
TComplex out,
Int_t  l,
Int_t  stepin = 1,
Int_t  stepout = 1
 

Bool_t TDSPfft::LoadFFTW  )  [static]
 

loads the atlas library

void TDSPfft::RegisterSignalsAndSlots  )  [inline, virtual]
 

Reimplemented from TQQObject.

Definition at line 108 of file TDSPfft.h.

References TQQObject::AddSignal(), TQQObject::AddSlot(), Signal_FFT, Signal_IFFT, Slot_FFT, and Slot_IFFT.

00108                                  {
00109     
00110     // Add the Signals
00111 
00112     Signal_FFT     = AddSignal("FFT(TDSPSignal*)");
00113     Signal_IFFT    = AddSignal("IFFT(TDSPSignal*)");
00114 
00115     // Add the Slots
00116    
00117     Slot_FFT       = AddSlot("FFT(TDSPSignal*)");
00118     Slot_IFFT      = AddSlot("IFFT(TDSPSignal*)");
00119     
00120   }

void TDSPfft::SetCyclicPrefix UInt_t  c  )  [inline]
 

Definition at line 150 of file TDSPfft.h.

References fCyclicPrefix.

00150 {  fCyclicPrefix = c; }; 

void TDSPfft::SetDim Int_t  d  )  [inline]
 

Definition at line 99 of file TDSPfft.h.

References fDim.

00099 { fDim=d;}; 

void TDSPfft::SetOverSampling Double_t  o  )  [inline]
 

Definition at line 145 of file TDSPfft.h.

References fOverSampling.

00145 {  fOverSampling = o; }; 

Bool_t TDSPfft::UsingFFTW  )  [inline, static]
 

Definition at line 73 of file TDSPfft.h.

References fFFTW.

00073 { return fFFTW;}; 


Friends And Related Function Documentation

ostream& operator<< ostream &  ,
TDSPfft
[friend]
 

ostream& operator<< ostream &  ,
TDSPfft
[friend]
 

istream& operator>> istream &  ,
TDSPfft
[friend]
 

istream& operator>> istream &  ,
TDSPfft
[friend]
 


Field Documentation

Bool_t TDSPfft::_fftw_destroy_plans [static]
 

Definition at line 77 of file TDSPfft.h.

UInt_t TDSPfft::fCyclicPrefix [protected]
 

The Cyclic Prefix = number of element from end inserted at the beginning.

Definition at line 46 of file TDSPfft.h.

Referenced by TDSPOfdm::GetBandWidthEfficiency(), GetCyclicPrefix(), GetFFTLen(), GetIFFTLen(), and SetCyclicPrefix().

Int_t TDSPfft::fDim [protected]
 

The Dimension ('r','R',1 or 'c','C',2) for the fft of incoming signals.

Definition at line 44 of file TDSPfft.h.

Referenced by GetDim(), and SetDim().

TDSPSignal* TDSPfft::fFFT_Signal [protected]
 

the fft signal-vector

Definition at line 49 of file TDSPfft.h.

Referenced by GetFFTSignal().

Bool_t TDSPfft::fFFTW [static, protected]
 

do we have the fftw-library ?

Definition at line 43 of file TDSPfft.h.

Referenced by DisableFFTW(), EnableFFTW(), and UsingFFTW().

void* TDSPfft::fftw_plan_backward [protected]
 

Definition at line 56 of file TDSPfft.h.

void* TDSPfft::fftw_plan_forward [protected]
 

Definition at line 55 of file TDSPfft.h.

void* TDSPfft::fftw_vec [protected]
 

Definition at line 54 of file TDSPfft.h.

TDSPSignal* TDSPfft::fIFFT_Signal [protected]
 

the ifft signal-vector

Definition at line 50 of file TDSPfft.h.

Referenced by GetIFFTSignal().

Double_t TDSPfft::fOverSampling [protected]
 

Oversampling factor (zeropadding in ifft for >1).

Definition at line 45 of file TDSPfft.h.

Referenced by GetFFTLen(), GetIFFTLen(), GetOverSampling(), and SetOverSampling().

TString TDSPfft::Signal_FFT [protected]
 

Definition at line 64 of file TDSPfft.h.

Referenced by RegisterSignalsAndSlots().

TString TDSPfft::Signal_IFFT [protected]
 

Definition at line 65 of file TDSPfft.h.

Referenced by RegisterSignalsAndSlots().

TString TDSPfft::Slot_FFT [protected]
 

Definition at line 60 of file TDSPfft.h.

Referenced by RegisterSignalsAndSlots().

TString TDSPfft::Slot_IFFT [protected]
 

Definition at line 61 of file TDSPfft.h.

Referenced by RegisterSignalsAndSlots().


The documentation for this class was generated from the following file:
Generated on Fri Apr 23 16:23:53 2004 by doxygen 1.3.2