Robochameleon  v1.0
Public Member Functions | List of all members
ExtendedCoherentTransmitter_v1 Class Reference

Extended coherent transmitter. More...

Inherits SimpleCoherentTransmitter_v1.

Public Member Functions

function ExtendedCoherentTransmitter_v1 (in param)
 Class constructor. More...
 
- Public Member Functions inherited from SimpleCoherentTransmitter_v1
function SimpleCoherentTransmitter_v1 (in varargin)
 Class constructor. More...
 
function init (in obj, in param)
 
- Public Member Functions inherited from module
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...
 
- Public Member Functions inherited from unit
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.
 

Additional Inherited Members

- Public Attributes inherited from SimpleCoherentTransmitter_v1
Property nInputs
 Number of inputs.
 
Property nOutputs
 Number of outputs.
 
- Public Attributes inherited from module
Property nInputs
 Number of input arguments (required)
 
Property nOutputs
 Number of output arguments (required)
 
- 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.
 
- Protected Member Functions inherited from module
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...
 
- Protected Attributes inherited from SimpleCoherentTransmitter_v1
Property flag
 
- Protected Attributes inherited from module
Property outputBuffer
 Where output signal is stored.
 

Detailed Description

Extended coherent transmitter.

This is a extended coherent transmitter which contains a extended arbitrary waveform generator, a laser and an IQ modulator.

Block diagram illustrating dependencies:

ExtendedTx_v1_blockdiagram.png
Author
Rasmus Jones
Version
1

Definition at line 17 of file ExtendedCoherentTransmitter_v1.m.

Constructor & Destructor Documentation

function ExtendedCoherentTransmitter_v1::ExtendedCoherentTransmitter_v1 ( in  param)

Class constructor.

Constructs an object of type ExtendedCoherentTransmitter_v1. It also constructs a ExtendedAWG_v1, Laser_v1 and IQModulator_v1.

Parameters
param.nOutputsNumber of outputs

ExtendedAWG_v1 - WaveformGenerator_v1

Parameters
param.totalLengthOutput sequence length [symbols].
param.typePatternType of Pattern. Can be 'PRBS' or 'Random'.
param.PRBSOrderPolynomial order (any integer 2-23; 27, 31)
param.modulationFormatModulation format
param.modulationOrderModulation order
param.nModesNumber of Modes (or polarizations)
param.samplesPerSymbolIt is the desired output number of samples per symbol.
param.symbolRateYou are able to define a symbol rate for your signal here. The output sample frequency will be define as symbolRate*samplesPerSymbol.
param.pulseShapeChoose among 'rc', 'rrc', 'rz33', 'rz50', 'rz67', 'nrz' or 'custom';
param.filterCoeffsYou should define this as a vector if you chose 'custom' 'pulseShape'.
param.filterSymbolLengthYou should define a symbol length for 'rc' or 'rrc' filters. The default value is 202.
param.rollOffThe Roll-Off factor. You should define this value if you are using 'rc' or 'rrc' shapings. Usually, this number varies from 0 to 1.

ExtendedAWG_v1 - DACPrecompensator_v1

Parameters
param.DACPreGaussianOrderOrder of Gaussian Pre-Filter [Default: 1]
param.DACPreGaussianBandwidthBandwidth of Gaussian Pre-Filter
param.DACPreBesselOrderOrder of Bessel Pre-Filter [Default: 1]
param.DACPreBesselBandwidthBandwidth of Bessel Pre-Filter

ExtendedAWG_v1 - DAC_v1

Parameters
param.bitResolutionResolution of DAC in bits [Default: 8]
param.targetENoBTarget Effective Number of Bits
param.upsamplingRateUpsampling rate [see DAC_v1]
param.skewSkew [see DAC_v1]
param.jitterVarianceJitter amplitude [see DAC_v1]
param.clockErrorClock deviation [see DAC_v1]
param.rectangularBandwidthBandwidth of rectangular filter
param.DACGaussianOrderOrder of Gaussian filter [see DAC_v1]
param.DACGaussianBandwidthBandwidth of Gaussian filter
param.DACBesselOrderOrder of Bessel filter [see DAC_v1]
param.DACBesselBandwidthBandwidth of bessel filter

Laser_v1

Parameters
param.FsSampling frequency [Hz] [see Laser_v1]
param.RsSymbol rate [Hz] [see Laser_v1]
param.LnoiseSignal length [Samples] [see Laser_v1]
param.FcCarrier frequency [Hz] [see Laser_v1]
param.PowerOutput power [see Laser_v1]
param.LFM noise PSD length [see Laser_v1]
param.LirFM noise PSD length [see Laser_v1]
param.linewidthLorentzian linewidth [see Laser_v1]
param.LFLW1GHZLinewidth at 1GHz [see Laser_v1]
param.HFLWHigh-frequency linewidth [see Laser_v1]
param.frRelaxation resonance frequency [see Laser_v1]
param.KDamping factor [see Laser_v1]

IQModulator_v1

Parameters
param.VbBias voltage [V] [see IQModulator_v1]
param.VpiV pi for child modulators [V] [see IQModulator_v1]
param.IQphaseIQ phase angle [rad] [see IQModulator_v1]
param.IQGainImbalanceGain imbalance in I and Q [dB] [see IQModulator_v1]
param.rescaleVdriveForce drive signal to a certain value [boolean] [see IQModulator_v1]
param.VampWhat drive voltage should be forced to, if rescaling is enabled [V] [see IQModulator_v1]
Return values
objAn instance of the class SimpleCoherentTransmitter_v1

The documentation for this class was generated from the following file: