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

TDSPOfdm.h

Go to the documentation of this file.
00001 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef TDSPOFDM_H
00019 #define TDSPOFDM_H
00020 
00021 #include <TDSPBlockfft.h>
00022 
00028 class TDSPOfdm : public TDSPBlockfft  {
00029 
00030 
00031   Bool_t      fAutoEqualization; 
00032   TDSPVector *fEqualization; 
00033 
00034  public: 
00035   TDSPOfdm(char *name = NULL);
00036   ~TDSPOfdm();
00037 
00038   Int_t       GetNumCarriers() { return GetBlockLen(); };
00039   void        SetNumCarriers(Int_t n) { SetBlockLen(n); };
00040   
00041   void        SetEqualization(TDSPVector *e);
00042   TDSPVector* GetEqualization() const { return fEqualization;};
00043   
00044 
00045   // Setting Options
00046   // opt="autoequalization" - switch on autoequalization
00047   
00048   void        SetOption(Option_t *opt);
00049       
00050   TDSPSignal* GetTransmitSignal() { return GetIFFTSignal(); };
00051   TDSPSignal* GetReceivedSignal() { return GetFFTSignal(); };
00052   Double_t    GetBandWidthEfficiency() { return Double_t(GetNumCarriers())/Double_t(GetBlockLen()+fCyclicPrefix);};
00053   
00054 
00055   virtual Bool_t      CalcEqualization(TDSPVector *r); 
00056   virtual void        EqualizeMe(TDSPVector*in=NULL); 
00057   virtual TDSPSignal* Receive(TDSPSignal* in); 
00058   virtual TDSPSignal* Transmit(TDSPSignal* in); 
00059   void                Received(TDSPSignal*);
00060   void                Transmitted(TDSPSignal*);
00061   ClassDef(TDSPOfdm,1)
00062 
00063 };
00064 
00065 inline void TDSPOfdm::Received(TDSPSignal *r) {
00066   Emit("Received(TDSPSignal*)",r);
00067 }
00068 
00069 inline void TDSPOfdm::Transmitted(TDSPSignal *r) {
00070   Emit("Transmitted(TDSPSignal*)",r);
00071 }
00072 
00073 #endif

Generated on Fri Apr 23 16:23:43 2004 by doxygen 1.3.2