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

Linear EDFA model. More...

Inherits unit.

Public Member Functions

function EDFA_v1 (in param)
 Class constructor. More...
 
function traverse (in obj, in in)
 Amplify the signal and add ASE noise. 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.
 

Public Attributes

Property nInputs
 Number of input arguments.
 
Property nOutputs
 Number of output arguments.
 
Property gain
 EDFA gain [dB].
 
Property NF
 EDFA noise figure [dB].
 
- 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.
 

Detailed Description

Linear EDFA model.

It amplify the input signal by multiplying the input field by the square root of the specified gain and it adds to it an Amplified Spontaneous Emission (ASE) noise, which power density is determined by the specified noise figure.

The noise power is determined as Noise spectral density * Sampling frequency. For a complex baseband signal the sampling frequency corresponds to the "simulation" bandwidth.

Example:

param.edfa.gain = 16;
param.edfa.NF = 5;
s1 = rand(1000,2);
Ein = signal_interface(s1,struct('Fs',10e9,'Fc',193.1e12,'Rs',1e9,'PCol', [pwr(20,{-16,'dBm'}), pwr(25,{-18,'dBm'})]))
edfa = EDFA_v1(param.edfa);
Eout = edfa.traverse(Ein);

References:

Author
Molly Piels
Simone Gaiarin
Version
1

Definition at line 37 of file EDFA_v1.m.

Constructor & Destructor Documentation

function EDFA_v1::EDFA_v1 ( in  param)

Class constructor.

Constructs an object of type EDFA_v1.

Parameters
param.gainGain [dB].
param.NFNoise figure [dB].

Member Function Documentation

function EDFA_v1::traverse ( in  obj,
in  in 
)
virtual

Amplify the signal and add ASE noise.

Parameters
inThe signal_interface of the signal to be amplified
Return values
outThe signal_interface of the amplified signal with extra ASE noise

Reimplemented from unit.


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