Public Member Functions | Public Attributes | Private Attributes

Photodetector Class Reference

#include <ocsPhotodetector.hh>

List of all members.

Public Member Functions

 Photodetector ()
 Photodetector (string InFileName, OptSignal *oOptSignal2)
 Photodetector (string InFileName, OptSignal *oOptSignal2, RanNumGen *RNG2)
 Photodetector (string InFileName, OptSignal *oOptSignal2, RanNumGen *RNG2, fftPowerMatrices &sfftPM2, fftPowerMatrices &WorksfftPM2)
 Photodetector (Photodetector &OrigPhotodetector)
Photodetectoroperator= (Photodetector &RHS_Photodetector)
void SetOptSignal (OptSignal *oOptSignal2)
 ~Photodetector ()
void ReleaseMemory ()
void InitPhotodetector ()
void DetectOptSignal ()
void AddShotNoise (void)
void AddShotNoiseOLD (void)
double GetRFPower (double Freq)
double GetRFPhase (double Freq)
double GetRFPowerFromFreqIndex (int FreqIndex)
double GetRFPhaseFromFreqIndex (int FreqIndex)
void ComputeWorkDifferentiatedThenSquaredElecSignal (void)
void ComputeWorkContEXORElecSignal (void)
void ComputeWorkBinaryEXORElecSignal (void)
void ComputeWorkSumDelayedHalfBitPeriodThenSquare (void)
double GetAverageElecPower (void)
double GetAverageElecCurrent (void)
double GetAverageAbsElecPower (void)
double GetMaxCurrentIsolatedBit1 (void)
double GetSignalBandwidth (void)
void InitPhotodetector (cfftw *fft2, fftMatrices sfftM2, double ConvFactOptElecPhotod2)
void GenerateImpulseCurrent (void)
void Time2Freq (void)
void Freq2Time (void)
void WorkTime2Freq (void)
void fftshift (void)
void ifftshift (void)
void TimeShiftSignal (double dTime)
double GetConvFactOptElecPhotod ()
int GetQtPoints (void)
double GetDeltaTime (void)
double GetDeltaFreq (void)
double GetTimeWindow (void)
double GetFreqWindow (void)
int GetStringLength (void)
int GetDebugLevel (void)
void WriteFileTimePower (string OutFile)
void WriteFileFreqPower (string OutFile, int OmitDCFlag)
void WriteFileFreqPower (string OutFile)

Public Attributes

fftPowerMatrices sfftPM
fftPowerMatrices WorksfftPM
cfftwfft
OptSignaloOptSignal

Private Attributes

fftMatrices sfftM
int ObjectInitialized
int qtPoints
int qtPointsLast
double ConvFactOptElecPhotod
double DeltaFreq
double DeltaTime
double FreqWindow
double TimeWindow
double BitPeriod
int AddShotNoiseFlag
double ShotNoiseCoeff
double ShotNoiseVarianceCoeff
RanNumGenRNG
int DebugLevel

Constructor & Destructor Documentation

Photodetector::Photodetector (  ) 

References ObjectInitialized.

Photodetector::Photodetector ( string  InFileName,
OptSignal oOptSignal2 
)
Photodetector::Photodetector ( string  InFileName,
OptSignal oOptSignal2,
RanNumGen RNG2 
)
Photodetector::Photodetector ( string  InFileName,
OptSignal oOptSignal2,
RanNumGen RNG2,
fftPowerMatrices sfftPM2,
fftPowerMatrices WorksfftPM2 
)
Photodetector::Photodetector ( Photodetector OrigPhotodetector  ) 
Photodetector::~Photodetector (  ) 

Member Function Documentation

void Photodetector::AddShotNoise ( void   ) 
void Photodetector::AddShotNoiseOLD ( void   ) 
void Photodetector::ComputeWorkBinaryEXORElecSignal ( void   ) 
void Photodetector::ComputeWorkContEXORElecSignal ( void   ) 
void Photodetector::ComputeWorkDifferentiatedThenSquaredElecSignal ( void   ) 
void Photodetector::ComputeWorkSumDelayedHalfBitPeriodThenSquare ( void   ) 
void Photodetector::DetectOptSignal (  ) 

References AddShotNoise(), ConvFactOptElecPhotod, ObjectInitialized, qtPoints, sfftM, sfftPM, sq(), Time2Freq(), fftMatrices::tOptSignalX, fftMatrices::tOptSignalY, and fftPowerMatrices::tPowerSignal.

Referenced by ChiSquareReceiver::ChiSquareReceiver(), ElecSignalStat::GetCurrentExtinctionRatio_GaussianStatistics(), ElecSignalStat::GetEnhancementFactor(), ElecSignalStat::GetESNR_GaussianStatistics(), ElecSignalStat::GetESNR_Mark_GaussianStatistics(), ElecSignalStat::GetNormalizedEnhancementFactor(), ElecSignalStat::GetNormKcoeff0_GaussianStatistics(), ElecSignalStat::GetNormKcoeff1_GaussianStatistics(), ElecSignalStat::GetNormNumberNoiseModes_GaussianStatistics(), ElecSignalStat::GetQ_FactorFromESNR_GaussianStatistics(), ElecSignalStat::GetQ_FactorGaussianStatisticsFirstPattern(), ElecSignalStat::GetQ_FactorGaussianStatisticsFromBER(), ElecSignalStat::GetQ_FactorGaussianStatisticsWorstPattern(), ElecSignalStat::GetStdDevSignal_ASE_BitSlot(), ElecSignalStat::GetStdDevWorstBit0_GaussianStatistics(), ElecSignalStat::GetStdDevWorstBit1_GaussianStatistics(), ChiSquareReceiver::ReceiveNoiseFreeSignalAndRecoverClock(), ReceiverSubsystem::ReceivePreviouslyDemultiplexedSingleChannnel(), ReceiverSubsystem::ReceiveSignal(), ReceiverSubsystem::ReceiveSignalBackToBack(), ReceiverSubsystem::ReceiveSignalBackToBackCenterFreq(), ReceiverSemiAnalytical::ReceiveSignalBackToBackMonteCarlo(), ReceiverSubsystem::ReceiveSignalCenterFreq(), GaussianReceiver::ReceiveSignalDGD_NoisePartiallyPolarized(), ReceiverSemiAnalytical::ReceiveSignalMonteCarlo(), ReceiverSemiAnalytical::ReceiveSignalSemiAnalytical(), GaussianReceiver::ReceiveSignalUnpolarizedNoise(), and GaussianReceiver::RecoverClockAndSetTimeSlices().

void Photodetector::fftshift ( void   ) 
void Photodetector::Freq2Time ( void   ) 
void Photodetector::GenerateImpulseCurrent ( void   ) 

Used in ChiSquareReceiver class to construct the transfer function of the electric filter. JZ May 2004

Used in ChiSquareReceiver class to construct the transfer function of the electric filter.

References OptSignal::GenerateImpulseSignal(), oOptSignal, qtPoints, OptSignal::sfftM, sfftPM, Time2Freq(), fftMatrices::tOptSignalX, and fftPowerMatrices::tPowerSignal.

Referenced by ChiSquareReceiver::ComputeTimeIndependentPartOfFilterMatrix(), ElecFilter::GetCurrentEquivalentSpectralWidth(), and ElecFilter::WriteFilterImpulseResponse().

double Photodetector::GetAverageAbsElecPower ( void   ) 
double Photodetector::GetAverageElecCurrent ( void   ) 
double Photodetector::GetAverageElecPower ( void   ) 
double Photodetector::GetConvFactOptElecPhotod (  )  [inline]
int Photodetector::GetDebugLevel ( void   )  [inline]

References DebugLevel.

Referenced by ElecFilter::ElecFilter().

double Photodetector::GetDeltaFreq ( void   )  [inline]
double Photodetector::GetDeltaTime ( void   )  [inline]

References DeltaTime.

double Photodetector::GetFreqWindow ( void   )  [inline]

References FreqWindow.

double Photodetector::GetMaxCurrentIsolatedBit1 ( void   ) 
int Photodetector::GetQtPoints ( void   )  [inline]
double Photodetector::GetRFPhase ( double  Freq  ) 
double Photodetector::GetRFPhaseFromFreqIndex ( int  FreqIndex  ) 
double Photodetector::GetRFPower ( double  Freq  ) 
double Photodetector::GetRFPowerFromFreqIndex ( int  FreqIndex  ) 
double Photodetector::GetSignalBandwidth ( void   ) 
int Photodetector::GetStringLength ( void   )  [inline]

References BitPeriod, and TimeWindow.

double Photodetector::GetTimeWindow ( void   )  [inline]

References TimeWindow.

void Photodetector::ifftshift ( void   ) 
void Photodetector::InitPhotodetector (  ) 
void Photodetector::InitPhotodetector ( cfftw fft2,
fftMatrices  sfftM2,
double  ConvFactOptElecPhotod2 
)
Photodetector & Photodetector::operator= ( Photodetector RHS_Photodetector  ) 
void Photodetector::ReleaseMemory ( void   ) 
void Photodetector::SetOptSignal ( OptSignal oOptSignal2  ) 
void Photodetector::Time2Freq ( void   ) 
void Photodetector::TimeShiftSignal ( double  dTime  ) 
void Photodetector::WorkTime2Freq ( void   ) 
void Photodetector::WriteFileFreqPower ( string  OutFile  ) 
void Photodetector::WriteFileFreqPower ( string  outFile,
int  OmitDCFlag 
)
void Photodetector::WriteFileTimePower ( string  OutFile  ) 

Member Data Documentation

double Photodetector::BitPeriod [private]

Referenced by GetDebugLevel(), and Photodetector().

double Photodetector::DeltaFreq [private]
double Photodetector::DeltaTime [private]
double Photodetector::FreqWindow [private]
int Photodetector::qtPoints [private]
double Photodetector::TimeWindow [private]

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