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

TDSPNofdm Class Reference

#include <TDSPNofdm.h>

Inheritance diagram for TDSPNofdm:

TDSPBlockMap TDSPOperator TDSPBlockOperation TQQObject

Detailed Description

Implemenation of the NOFDM transmitter receiver
Author:
Peter Jung

Definition at line 31 of file TDSPNofdm.h.

Public Member Functions

 TDSPNofdm (char *name=NULL)
virtual ~TDSPNofdm ()
Int_t GetNumCarriers () const
void SetNumCarriers (Int_t n)
Int_t GetLength () const
void SetLength (Int_t l)
Int_t GetTimePad () const
void SetTimePad (Int_t t)
Int_t GetFreqPad () const
void SetFreqPad (Int_t t)
void SetPads (Int_t time, Int_t freq)
void SetTransmitMatrix (TDSPMatrix *h)
void SetReceiverMatrix (TDSPMatrix *h)
TDSPVectorGetTransmitPulse (TDSPVector *p=NULL)
TDSPVectorGetReceiverPulse (TDSPVector *p=NULL)
TDSPMatrixGetTransmitMatrix () const
TDSPMatrixGetReceiverMatrix () const
void SetPulseName (TString n)
void SetPulseParam (Int_t num, Double_t v)
Double_t GetPulseParam (Int_t num)
char * GetPulseFile ()
virtual void Print ()
virtual void Draw ()
void SetChannel (TDSPMatrix *)
TDSPMatrixGetChannel () const
void SetMode (Int_t mode)
void SetOption (Option_t *opt)
TDSPMatrixGetMapping ()
TDSPMatrixGetMappingPart1 ()
TDSPMatrixGetCorrelation ()
TDSPMatrixGetNoiseCorrelation ()
TDSPSignalGetTransmitSignal ()
TDSPSignalGetReceivedSignal ()
Double_t GetBandWidthEfficiency ()
void CreatePulses ()
void LoadPulses (char *fname, char *transmitname="TransmitMatrix", char *receivername="ReceiverMatrix")
void SavePulses (char *fname, char *transmitname="TransmitMatrix", char *receivername="ReceiverMatrix")
void CalcMappingFromChannel (TDSPMatrix *channel)
 Calculate the Mapping from a Channel-Matrix.

void CalcCorrelationFromChannel (TDSPMatrix *channel)
 Calculate the Correlation matrix from a Channel-Matrix.

void Correlation (TDSPMatrix *c)
 Emit a new correlation matrix.

void Mapping (TDSPMatrix *c)
 Emit a new mapping matrix (G^* H Gamma).

void MappingPart1 (TDSPMatrix *c)
 Emit a new partial mapping matrix (H Gamma).


Data Fields

TH1F * fHistogram_all
TH1F * fHistogram_diag
TH1F * fHistogram_nondiag
TH1F * fHistogram_corr_all
TH1F * fHistogram_corr_diag
TH1F * fHistogram_corr_nondiag

Protected Member Functions

void _free_mode (Int_t)
void _new_mode (Int_t)
void _calc_correlations ()
void _calc_mapping ()

Protected Attributes

Int_t fMode
Bool_t fDual
Bool_t fTight
UInt_t fOptions
Int_t fNumCarriers
Int_t fNumTime
Int_t fTimePad
 Timepad "T".

Int_t fFreqPad
 Freqpad "F".

Int_t fLength
 Length "L".

TString fPulseName
Int_t fPulseNumParams
Double_t fPulseParams [4]
TString fPulseFile
TDSPMatrixfMapping
 The complete Mapping (incl. channel) from input to output (G^*H Gamma).

TDSPMatrixfMappingPart1
 The partial Mapping (incl. channel) from input to received (H Gamma).

TDSPMatrixfCorrelation
TDSPMatrixfNoiseCorrelation
TDSPMatrixfTransmitMatrix
TDSPMatrixfReceiverMatrix
TDSPMatrixfChannel
TDSPMatrixf_PseudoInverseMatrix
Bool_t _recalc_correlations
Bool_t _recalc_mapping


Constructor & Destructor Documentation

TDSPNofdm::TDSPNofdm char *  name = NULL  ) 
 

virtual TDSPNofdm::~TDSPNofdm  )  [virtual]
 


Member Function Documentation

void TDSPNofdm::_calc_correlations  )  [protected]
 

Referenced by GetCorrelation(), and GetNoiseCorrelation().

void TDSPNofdm::_calc_mapping  )  [protected]
 

Referenced by GetMapping(), and GetMappingPart1().

void TDSPNofdm::_free_mode Int_t   )  [protected]
 

void TDSPNofdm::_new_mode Int_t   )  [protected]
 

void TDSPNofdm::CalcCorrelationFromChannel TDSPMatrix channel  ) 
 

Calculate the Correlation matrix from a Channel-Matrix.

void TDSPNofdm::CalcMappingFromChannel TDSPMatrix channel  ) 
 

Calculate the Mapping from a Channel-Matrix.

void TDSPNofdm::Correlation TDSPMatrix c  ) 
 

Emit a new correlation matrix.

void TDSPNofdm::CreatePulses  ) 
 

virtual void TDSPNofdm::Draw  )  [virtual]
 

Double_t TDSPNofdm::GetBandWidthEfficiency  )  [inline]
 

Definition at line 155 of file TDSPNofdm.h.

References fLength, fNumCarriers, and fNumTime.

00155 { return Double_t(fNumCarriers*fNumTime)/Double_t(fLength); };

TDSPMatrix* TDSPNofdm::GetChannel  )  const [inline]
 

Definition at line 133 of file TDSPNofdm.h.

References fChannel.

00133 { return fChannel;};

TDSPMatrix* TDSPNofdm::GetCorrelation  )  [inline]
 

Definition at line 150 of file TDSPNofdm.h.

References _calc_correlations(), _recalc_correlations, and fCorrelation.

Int_t TDSPNofdm::GetFreqPad  )  const [inline]
 

Definition at line 111 of file TDSPNofdm.h.

References fFreqPad.

00111 { return fFreqPad;};

Int_t TDSPNofdm::GetLength  )  const [inline]
 

Definition at line 107 of file TDSPNofdm.h.

References fLength.

00107 { return fLength;};

TDSPMatrix* TDSPNofdm::GetMapping  )  [inline]
 

Definition at line 148 of file TDSPNofdm.h.

References _calc_mapping(), _recalc_mapping, and fMapping.

00148 { if (_recalc_mapping) _calc_mapping();return fMapping;};

TDSPMatrix* TDSPNofdm::GetMappingPart1  )  [inline]
 

Definition at line 149 of file TDSPNofdm.h.

References _calc_mapping(), _recalc_mapping, and fMappingPart1.

00149 { if (_recalc_mapping) _calc_mapping();return fMappingPart1;};

TDSPMatrix* TDSPNofdm::GetNoiseCorrelation  )  [inline]
 

Definition at line 151 of file TDSPNofdm.h.

References _calc_correlations(), _recalc_correlations, and fNoiseCorrelation.

Int_t TDSPNofdm::GetNumCarriers  )  const [inline]
 

Definition at line 105 of file TDSPNofdm.h.

References fNumCarriers.

00105 { return fNumCarriers; };

char* TDSPNofdm::GetPulseFile  )  [inline]
 

Definition at line 127 of file TDSPNofdm.h.

References fPulseFile.

00127 { return (char*)fPulseFile.Data();};

Double_t TDSPNofdm::GetPulseParam Int_t  num  ) 
 

TDSPSignal* TDSPNofdm::GetReceivedSignal  )  [inline]
 

Definition at line 154 of file TDSPNofdm.h.

References TDSPBlockMap::GetInverseSignal().

00154 { return GetInverseSignal(); };

TDSPMatrix* TDSPNofdm::GetReceiverMatrix  )  const [inline]
 

Definition at line 122 of file TDSPNofdm.h.

References fReceiverMatrix.

00122 { return fReceiverMatrix;};

TDSPVector* TDSPNofdm::GetReceiverPulse TDSPVector p = NULL  ) 
 

Int_t TDSPNofdm::GetTimePad  )  const [inline]
 

Definition at line 109 of file TDSPNofdm.h.

References fTimePad.

00109 { return fTimePad;};

TDSPMatrix* TDSPNofdm::GetTransmitMatrix  )  const [inline]
 

Definition at line 121 of file TDSPNofdm.h.

References fTransmitMatrix.

00121 { return fTransmitMatrix;};

TDSPVector* TDSPNofdm::GetTransmitPulse TDSPVector p = NULL  ) 
 

TDSPSignal* TDSPNofdm::GetTransmitSignal  )  [inline]
 

Definition at line 153 of file TDSPNofdm.h.

References TDSPBlockMap::GetSignal().

00153 { return GetSignal(); };

void TDSPNofdm::LoadPulses char *  fname,
char *  transmitname = "TransmitMatrix",
char *  receivername = "ReceiverMatrix"
 

void TDSPNofdm::Mapping TDSPMatrix c  ) 
 

Emit a new mapping matrix (G^* H Gamma).

void TDSPNofdm::MappingPart1 TDSPMatrix c  ) 
 

Emit a new partial mapping matrix (H Gamma).

virtual void TDSPNofdm::Print  )  [virtual]
 

void TDSPNofdm::SavePulses char *  fname,
char *  transmitname = "TransmitMatrix",
char *  receivername = "ReceiverMatrix"
 

void TDSPNofdm::SetChannel TDSPMatrix  ) 
 

void TDSPNofdm::SetFreqPad Int_t  t  )  [inline]
 

Definition at line 112 of file TDSPNofdm.h.

References fFreqPad, fLength, and fNumCarriers.

Referenced by SetPads().

void TDSPNofdm::SetLength Int_t  l  )  [inline]
 

Definition at line 108 of file TDSPNofdm.h.

References fLength.

00108 { fLength = l;};

void TDSPNofdm::SetMode Int_t  mode  ) 
 

void TDSPNofdm::SetNumCarriers Int_t  n  )  [inline]
 

Definition at line 106 of file TDSPNofdm.h.

00106 { Error("SetNumCarriers","Not yet implemented!"); };

void TDSPNofdm::SetOption Option_t *  opt  ) 
 

void TDSPNofdm::SetPads Int_t  time,
Int_t  freq
[inline]
 

Definition at line 113 of file TDSPNofdm.h.

References SetFreqPad(), and SetTimePad().

00113 { SetTimePad(time);SetFreqPad(freq);};

void TDSPNofdm::SetPulseName TString  n  )  [inline]
 

Definition at line 124 of file TDSPNofdm.h.

References fPulseName.

00124 { fPulseName = n;};

void TDSPNofdm::SetPulseParam Int_t  num,
Double_t  v
 

void TDSPNofdm::SetReceiverMatrix TDSPMatrix h  ) 
 

void TDSPNofdm::SetTimePad Int_t  t  )  [inline]
 

Definition at line 110 of file TDSPNofdm.h.

References fLength, fNumTime, and fTimePad.

Referenced by SetPads().

void TDSPNofdm::SetTransmitMatrix TDSPMatrix h  ) 
 


Field Documentation

Bool_t TDSPNofdm::_recalc_correlations [protected]
 

Definition at line 80 of file TDSPNofdm.h.

Referenced by GetCorrelation(), and GetNoiseCorrelation().

Bool_t TDSPNofdm::_recalc_mapping [protected]
 

Definition at line 81 of file TDSPNofdm.h.

Referenced by GetMapping(), and GetMappingPart1().

TDSPMatrix* TDSPNofdm::f_PseudoInverseMatrix [protected]
 

Definition at line 74 of file TDSPNofdm.h.

TDSPMatrix* TDSPNofdm::fChannel [protected]
 

Definition at line 72 of file TDSPNofdm.h.

Referenced by GetChannel().

TDSPMatrix* TDSPNofdm::fCorrelation [protected]
 

Definition at line 68 of file TDSPNofdm.h.

Referenced by GetCorrelation().

Bool_t TDSPNofdm::fDual [protected]
 

Definition at line 51 of file TDSPNofdm.h.

Int_t TDSPNofdm::fFreqPad [protected]
 

Freqpad "F".

Definition at line 58 of file TDSPNofdm.h.

Referenced by GetFreqPad(), and SetFreqPad().

TH1F* TDSPNofdm::fHistogram_all
 

Definition at line 90 of file TDSPNofdm.h.

TH1F* TDSPNofdm::fHistogram_corr_all
 

Definition at line 94 of file TDSPNofdm.h.

TH1F* TDSPNofdm::fHistogram_corr_diag
 

Definition at line 95 of file TDSPNofdm.h.

TH1F* TDSPNofdm::fHistogram_corr_nondiag
 

Definition at line 96 of file TDSPNofdm.h.

TH1F* TDSPNofdm::fHistogram_diag
 

Definition at line 91 of file TDSPNofdm.h.

TH1F* TDSPNofdm::fHistogram_nondiag
 

Definition at line 92 of file TDSPNofdm.h.

Int_t TDSPNofdm::fLength [protected]
 

Length "L".

Definition at line 59 of file TDSPNofdm.h.

Referenced by GetBandWidthEfficiency(), GetLength(), SetFreqPad(), SetLength(), and SetTimePad().

TDSPMatrix* TDSPNofdm::fMapping [protected]
 

The complete Mapping (incl. channel) from input to output (G^*H Gamma).

Definition at line 66 of file TDSPNofdm.h.

Referenced by GetMapping().

TDSPMatrix* TDSPNofdm::fMappingPart1 [protected]
 

The partial Mapping (incl. channel) from input to received (H Gamma).

Definition at line 67 of file TDSPNofdm.h.

Referenced by GetMappingPart1().

Int_t TDSPNofdm::fMode [protected]
 

Definition at line 50 of file TDSPNofdm.h.

TDSPMatrix* TDSPNofdm::fNoiseCorrelation [protected]
 

Definition at line 69 of file TDSPNofdm.h.

Referenced by GetNoiseCorrelation().

Int_t TDSPNofdm::fNumCarriers [protected]
 

Definition at line 54 of file TDSPNofdm.h.

Referenced by GetBandWidthEfficiency(), GetNumCarriers(), and SetFreqPad().

Int_t TDSPNofdm::fNumTime [protected]
 

Definition at line 55 of file TDSPNofdm.h.

Referenced by GetBandWidthEfficiency(), and SetTimePad().

UInt_t TDSPNofdm::fOptions [protected]
 

Definition at line 53 of file TDSPNofdm.h.

TString TDSPNofdm::fPulseFile [protected]
 

Definition at line 64 of file TDSPNofdm.h.

Referenced by GetPulseFile().

TString TDSPNofdm::fPulseName [protected]
 

Definition at line 61 of file TDSPNofdm.h.

Referenced by SetPulseName().

Int_t TDSPNofdm::fPulseNumParams [protected]
 

Definition at line 62 of file TDSPNofdm.h.

Double_t TDSPNofdm::fPulseParams[4] [protected]
 

Definition at line 63 of file TDSPNofdm.h.

TDSPMatrix* TDSPNofdm::fReceiverMatrix [protected]
 

Definition at line 71 of file TDSPNofdm.h.

Referenced by GetReceiverMatrix().

Bool_t TDSPNofdm::fTight [protected]
 

Definition at line 52 of file TDSPNofdm.h.

Int_t TDSPNofdm::fTimePad [protected]
 

Timepad "T".

Definition at line 57 of file TDSPNofdm.h.

Referenced by GetTimePad(), and SetTimePad().

TDSPMatrix* TDSPNofdm::fTransmitMatrix [protected]
 

Definition at line 70 of file TDSPNofdm.h.

Referenced by GetTransmitMatrix().


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