Robochameleon
v1.0
|
FFT-based chromatic dispersion compensation. More...
Inherits unit.
Public Member Functions | |
function | CDCompensation_v1 (in params) |
Class constructor. More... | |
function | traverse (in obj, in in) |
Traverse function. More... | |
function | cdtransfun (in obj, in omega) |
Calculate CD transfer function. 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 |
Property | nOutputs |
Property | L |
System length, km. | |
Property | D |
Average dispersion parameter, ps/nm/km. | |
Property | S |
Dispersion slope, ps/nm^2/km. | |
Property | lambda |
Compensation wavelength, m. | |
Property | Nfft |
FFT size, Sa. | |
![]() | |
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. | |
FFT-based chromatic dispersion compensation.
FFT-based chromatic dispersion compensation. Applies dispersion transfer function to signal - reverse signs to compensate (e.g. if the fiber has a dispersion slope of 16.3 ps/nm/km, set obj.D = -16.3).
Definition at line 17 of file CDCompensation_v1.m.
function CDCompensation_v1::CDCompensation_v1 | ( | in | params | ) |
Class constructor.
Class constructor
Example:
param.D | Dispersion parameter (ps/nm/km) (default 17) |
param.S | Dispersion slope, ps/nm^2/km (default 0) |
CDCompensation | object |
function CDCompensation_v1::cdtransfun | ( | in | obj, |
in | omega | ||
) |
Calculate CD transfer function.
Calculate CD transfer function.
omega | angular frequencies at which to calculate transfer function |
H | transfer function |
|
virtual |
Traverse function.
Applies CD transfer function in the frequency domain to the signal
in | Signal to be compensated |
out | compensated signal |
results | no results |
Reimplemented from unit.