|
Robochameleon
v1.0
|
Linear or Mach-Zehnder intensity modulator. More...
Inherits unit.
Public Member Functions | |
| function | IntensityModulator_v1 (in param) |
| Class constructor. More... | |
| function | traverse (in obj, in drive, in laser) |
| Traverse function. More... | |
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 | Vpi |
| Half wave voltage [V]. | |
| Property | Vbias |
| Property | extinctionRatio |
| Extinction ratio [dB]. | |
| Property | mode |
| Operation mode. | |
| Property | loss |
| Insertion loss (excess) [dB]. | |
| Property | nInputs |
| Number of inputs. | |
| Property | nOutputs |
| Number of outputs. | |
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. | |
Linear or Mach-Zehnder intensity modulator.
Takes 2 signal_interfaces, applies modulation from signal interface 1 (drive) to signal interface 2 (laser). Runs in linear (ideal, non-physical) or mach-zehnder mode. Extinction ratio and insertion loss can be specified. Insertion loss is excess insertion loss from fiber coupling, splitters, etc. (i.e. the loss we'd see biasing at a maximum and with no drive signal). Drive-signal related loss is calculated by the object and stored in the results structure as inherentLoss.
Example:
References:
Definition at line 57 of file IntensityModulator_v1.m.
| function IntensityModulator_v1::IntensityModulator_v1 | ( | in | param | ) |
Class constructor.
Constructs an object of type IntensityModulator_v1.
| param.Vpi | Half-wave voltage [V]. |
| param.Vbias | Voltage used to set the working region of the modulator [Default: -Vpi/2] |
| param.mode | Operation mode. Possible values 'linear' (slope = 1/Vpi), 'MZM' (Mach zehnder) |
| param.loss | Loss [dB]. |
| param.extinctionRatio | Extinction ratio ER = Pmax/Pmin [dB]. |
| function IntensityModulator_v1::traverse | ( | in | obj, |
| in | drive, | ||
| in | laser | ||
| ) |
Traverse function.
Takes 2 signal_interfaces, applies modulation from signal interface 1 (drive) to signal interface 2 (laser).
| param.drive | Modulating signal (real, single column). |
| param.laser | Laser (single polarization). |
1.8.11