Robochameleon
v1.0
|
coherent front-end with polarization diversity More...
Inherits module.
Public Member Functions | |
function | CoherentFrontend_v2 (in varargin) |
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 | nModes |
Number of modes. | |
![]() | |
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. Block diagram illustrating dependencies:
Consists of:
The one output is a down-sampled complex baseband signal.
Example Constructor with minimum parameter set
This will construct a dual-pol coherent rx similar to what we have in the lab, however, with a sampling rate equal to the input sampling rate.
Advanced Example Coming soon!
This will construct a dual-pol coherent rx similar to what we have in the lab, however, with a sampling rate equal to the input sampling rate.
Definition at line 62 of file CoherentFrontend_v2.m.
function CoherentFrontend_v2::CoherentFrontend_v2 | ( | in | varargin | ) |
Class constructor.
Class constructor
param.nModes | Number of optical modes in input [integer] [Default: 2] |
param.Power | Output power (pwr object). Default: SNR:inf, P: 13 dBm |
param.linewidth | Lorentzian linewidth [Hz] [Default: 100kHz] |
param.LFLW1GHZ | linewidth at 1GHz |
param.HFLW | high-frequency linewidth [Hz] |
param.fr | relaxation resonance frequency [Hz] |
param.K | Damping factor |
param.alpha | Linewidth enhancement factor [unitless] |
param.phase_angle | Hybrid phase angle [rad] [Default: pi/2] |
param.R | Responsivity [A/W] [Default: 1] |
param.f3dB | electrical 3dB bandwidth [Hz] [Default: 40G] |
param.Rtherm | resistance for thermal noise calculation [ohm] [Default: 50] |
param.CMRR | common-mode rejection ratio [dB][Default: inf] |
param.T | Temperature [K][Default: 290] |
param.modeAdditionEnabled | [flag] [Default: false] |
param.gaussianOrder | The order of frequency-domain gaussian filter. Turn OFF = 0 (zero) / Turn ON = any other positive number. |
param.gaussianBandwidth | Baseband bandwidth of gaussian filter. |
param.besselOrder | The order of frequency-domain bessel filter for group delay simulation. Turn OFF = 0 (zero) / Turn ON = any other positive integer. |
param.besselBandwidth | Baseband bandwidth of bessel filter. |
param.amplitudeImbalance | A vector containing amplitude imbalance for each output. E.g. if outputVoltage = 2, and amplitude imbalance equals to [1 0.9 1.1 0.8], so, the output peak voltage will be 2, 1.8, 2.2, and 1.6 for I1, Q1, I2, and Q2, respectively. |
param.levelDC | A vector containing DC levels to be added to each of in-phase and quadrature signals. |
param.skew | Skew - A vector with skews: [I1, Q1, I2, Q2, ...]. Normalized by symbol period. |
param.jitterVariance | JitterVariance - The variance of a random walk Jitter. |
param.clockError | ClockError - The clock deviance. E.g. 1e-6 means 1 ppm. |
param.downsamplingRate | DownsamplingRate - The downsampling rate. E.g. if the number of samples per symbol of input is 2 and the downsampling rate is 3, the output will have 0.667 samples per symbol. |
param.bitResolution | BitResolution - is the resolution of your quantizer. [Default: 8] |
param.targetENoB | TargetENoB - is the ENoB target that you want to achieve adding noise. (Optional) |
CoherentFrontend | object |