Robochameleon
v1.0
|
coherent front-end with polarization diversity More...
Inherits module.
Public Member Functions | |
function | CoherentFrontend_v1 (in param) |
Class constructor. More... | |
![]() | |
function | module () |
Create sink for internal output buffers. | |
function | view (in obj) |
Show biograph through module_view-class. | |
function | getOutput (in obj) |
Function to access module output for various intentions. | |
function | keepOutput (in obj) |
Function tells outputBuffer sink not to delete itself after traverse. | |
function | traverse (in obj, in varargin) |
Traverse function for modules. More... | |
![]() | |
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 | nInputs |
Number of input arguments. | |
Property | nOutputs |
Number of output arguments. | |
![]() | |
Property | nInputs |
Number of input arguments (required) | |
Property | nOutputs |
Number of output arguments (required) | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
function | exportModule (in obj, in varargin) |
Construct module. More... | |
function | connectInputs (in obj, in destInternalUnits, in destInternalInputs) |
Connect input signal to internal unit(s) More... | |
![]() | |
Property | outputBuffer |
Where output signal is stored. | |
coherent front-end with polarization diversity
Coherent front-end module. Consists of:
The four outputs are, in order, I1, Q1, I2, Q2 The user can specify PBS parameters, but typically this would be done so that the outputs were Ix, Qx, Iy, Qy.
Note: PBS_v1 will assign a state of polarization to the LO - make sure it is something that makes sense (45 deg., not TE). The default should be 45, but if one signal is zero, this may be why. (PBS_v1 will also assign a SOP to the input signal if it is unpolarized. Again, you have to check this makes sense).
Relative to a real coherent front end, this implementation has one implementation difference. There is a splitter on the input that feeds the input signal to the LO. This is so that the signal length from the LO is the same length as the input signal.
Definition at line 34 of file CoherentFrontend_v1.m.
function CoherentFrontend_v1::CoherentFrontend_v1 | ( | in | param | ) |
Class constructor.
Class constructor
Example:
param.LO | local oscillator parameters |
param.sigPBS | signal PBS paramters |
param.LOPBS | local oscillator PBS paramters |
param.hyb | optical hybrid parameters |
param.bpd | balanced pair parameters |
CoherentFrontend | object |