Robochameleon  v1.0
Public Member Functions | Public Attributes | List of all members
BalancedPair_v1 Class Reference

Balanced photodiode pair model. More...

Inherits unit.

Public Member Functions

function BalancedPair_v1 (in param)
 Class constructor. More...
 
function traverse (in obj, in in1, in in2)
 Traverse function. More...
 
function checkDimensions (in obj, in N1, in N2)
 Make sure number of specified properties is reasonable.
 
- Public Member Functions inherited from unit
virtual traverse (in obj, in varargin)
 Main function call.
 
function traverseNode (in obj)
 Set unique ID when creating a unit. More...
 
function connectOutput (in obj, in uobj, in unitOutput, in nextUnitInput)
 Specify where signal should go next. More...
 
function connectOutputs (in obj, in units, in destInputs)
 Specify where signal should go next. More...
 
function writeInputBuffer (in obj, in sig, in inputId)
 write input buffer
 
function horzcat (in varargin)
 horizontal concatenation
 
function vertcat (in varargin)
 vertical concatenation
 
function setparams (in obj, in params, in REQUIRED_PARAMS, in QUIET_PARAMS)
 set parameters More...
 
function view (in obj)
 Show interactive GUI through unit_view-class.
 

Public Attributes

Property R
 Responsivity (A/W)
 
Property CMRR
 Common-mode rejection ratio (dB)
 
Property f3dB
 3dB cutoff frequency (Hz)
 
Property Rtherm
 thermal resistance (ohm)
 
Property Pmax
 maximum input power (NOT USED)
 
Property T
 Temperature (K)
 
Property modeAdditionEnabled
 Flag to enable/disable incoherent addition of signals in different optical modes.
 
Property nInputs
 Number of input arguments.
 
Property nOutputs
 Number of output arguments.
 
- Public Attributes inherited from unit
Property inputBuffer
 Buffer for storing inputs as we traverse the graph.
 
Property nextNodes
 Children nodes.
 
Property destInputs
 Destination inputs in children.
 
Property results
 For storing results.
 
Property label
 
Property draw
 enable/disable plotting
 
Property nInputs
 Number of signals traverse expects.
 
Property nOutputs
 Number of outputs traverse expects.
 

Detailed Description

Balanced photodiode pair model.

Balanced pair model. Includes responsivity, finite common-mode rejection ratio, 3dB bandwidth, thermal, and shot noise contributions.

Notes

  1. Has a property for maximum input power, but signal clipping is not implemented.
  2. Can be forced to emulate an array of balanced photodiodes for a dual- or multi-mode coherent receiver by setting modeAdditionEnabled to false. When this flag is true, all columns of a multimode signal will be summed incoherently, as in a real photodiode. When it's false, they are kept independent and the output will have as many columns as the input.
Author
Molly Piels
Version
1

Definition at line 25 of file BalancedPair_v1.m.

Constructor & Destructor Documentation

function BalancedPair_v1::BalancedPair_v1 ( in  param)

Class constructor.

Class constructor

Example:

BPDparam.R = 1;
BPDparam.CMRR = 50;
BPDparam.f3dB = 28e9;
BPDparam.Rtherm = 50;
BPD = BalancedPair_v1(BPDparam);
Parameters
param.RResponsivity [A/W] [Default: 1]
param.f3dBelectrical 3dB bandwidth [Hz] [Default: 40G]
param.Rthermresistance for thermal noise calculation [ohm] [Default: 50]
param.CMRRcommon-mode rejection ratio [dB][Default: inf]
param.TTemperature [K][Default: 290]
param.modeAdditionEnabled[flag] [Default: true]
Return values
BalancedPairobject

Member Function Documentation

function BalancedPair_v1::traverse ( in  obj,
in  in1,
in  in2 
)

Traverse function.

Performs square-law detection on both input signals, then subtracts with finite CMRR, then adds noise, then low-pass filters.

Parameters
in1input signal 1
in2input signal 2
Return values
outBPD output
results.Rmixmixing ratio from CMRR calculation

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