Robochameleon
v1.0
|
Passive part of an optical hybrid. More...
Inherits unit.
Public Member Functions | |
function | OpticalHybrid_v1 (in params) |
Class constructor. More... | |
function | traverse (in obj, in sig, in lo) |
Traverse function. More... | |
![]() | |
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 | phase_angle |
Optical hybrid phase angle [rad]. | |
Property | nInputs |
Number of input arguments. | |
Property | nOutputs |
Number of output arguments. | |
![]() | |
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. | |
Passive part of an optical hybrid.
Simple 2x4 MMI model.
Example
Signal inputs: 2 -For conventional I-Q definitions, signal goes to input 1, LO to input 2
Signal outputs: 4 -Outputs 1 and 2 are in-phase (I+ and I-, respectively) -Outputs 3 and 4 are quadrature (Q+ and Q-, respectively)
Definition at line 25 of file OpticalHybrid_v1.m.
function OpticalHybrid_v1::OpticalHybrid_v1 | ( | in | params | ) |
Class constructor.
Class constructor
param.phase_angle | Hybrid phase angle [rad] [Default: pi/2] |
function OpticalHybrid_v1::traverse | ( | in | obj, |
in | sig, | ||
in | lo | ||
) |
Traverse function.
Applies frequency shift to LO, then mixes LO with signal coherently
sig | Input signal |
lo | Input local oscillator (swapping LO and signal swaps I and Q) |
out1 | I+ |
out2 | I- |
out3 | Q+ |
out4 | Q- |
results | no results |