Classes | Defines | Enumerations | Functions

ChiSquareReceiver.hh File Reference

#include <gsl/gsl_errno.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_roots.h>
#include "NoiseCovariance.hh"
#include "ocsOptDemuxer.hh"
#include "ocsPhotodetector.hh"
#include "ocsElecFilter.hh"
#include "ocsHistogram2D.hh"
#include "ocsElecSignalStat.hh"

Go to the source code of this file.

Classes

struct  ChiSquareReceiverParameters
 Structure required to pass information to GSL root finding algorithm. More...
class  ChiSquareReceiver

Defines

#define F77NAME(x)   x##_

Enumerations

enum  typeOutput { PDFS = 1, EYE = 2 }
enum  typeIntegrationMethod { FOURIER_TRANSFORM = 1, STEEPEST_DESCENT = 2 }

Functions

cplx ChiSquareReceiverPsiCplx (cplx s, void *InParameters)
double ChiSquareReceiverPsi (double s, void *InParameters)
double ChiSquareReceiverDerivativePsi (double s, void *InParameters)
double ChiSquareReceiverSecondDerivativePsi (double s, void *InParameters)
void F77NAME() dsyev (char *, char *, int *, double *, int *, double *, double *, int *, int *)
int F77NAME() ilaenv (int *, char *, char *, int *, int *, int *, int *, int)

Define Documentation

#define F77NAME (   x  )     x##_

Enumeration Type Documentation

Enumeration type that specifies how to calculate the integral to obtain the value of the pdf at a given value of the current from the characteristic function

Automatically set by code.

Possible values:

  • FOURIER_TRANSFORM = 1 For now we don't seem to need this option So not implemented yet
  • STEEPEST_DESCENT = 2
Enumerator:
FOURIER_TRANSFORM 
STEEPEST_DESCENT 
enum typeOutput

Enumeration type that specifies sort of statistics of electrical pdf to be generated by the class

Possible values:

  • PDFS = 1, i.e., pdfs in each bit at clock recovery together with average pdfs of marks and spaces
  • EYE = 2, i.e., a contour eye diagram
Enumerator:
PDFS 
EYE 

Function Documentation

double ChiSquareReceiverDerivativePsi ( double  s,
void *  InParameters 
)

cout << "Term = " << (Parameters->LambdaVec[kk]*z + Parameters->LambdaQSqVec[kk])/(sq(z)) << endl;

References ChiSquareReceiverParameters::ActiveCurrentValue, ChiSquareReceiverParameters::CovMatrixDim, ChiSquareReceiverParameters::LambdaQSqVec, ChiSquareReceiverParameters::LambdaVec, and sq().

double ChiSquareReceiverPsi ( double  s,
void *  InParameters 
)
cplx ChiSquareReceiverPsiCplx ( cplx  s,
void *  InParameters 
)
double ChiSquareReceiverSecondDerivativePsi ( double  s,
void *  InParameters 
)
void F77NAME() dsyev ( char *  ,
char *  ,
int *  ,
double *  ,
int *  ,
double *  ,
double *  ,
int *  ,
int *   
)
int F77NAME() ilaenv ( int *  ,
char *  ,
char *  ,
int *  ,
int *  ,
int *  ,
int *  ,
int   
)