This is a brief description of the most important functions in Robochameleon, grouped thematically.
DSP
| Description |
File name |
| Dispersion compensation (FFT-based) |
CDCompensation_v1 |
| Timing recovery |
Resample_v1, Decimate_v1 |
| I-Q imbalance compensation |
QuadratureImbalanceCompensation_v1 |
| MMA or CMA-based adaptive equalization |
AdaptiveEqualizer_MMA_RDE_v1 |
| Carrier recovery (decision-directed PLL) |
DDPLL_v1 |
| Error counting and display |
BERT_v1 |
Physical models
| Description |
File name |
| Linear fiber model (dispersion, mode mixing, loss) |
LinChBulk_v1 |
| Nonlinear fiber model (split-step Fourier solver, ssprop3) |
NonlinearChannel_v1 |
| Noise loading |
EDFA_v1, SNR_v1, OSNR_v1 |
| Symbol sequence generation |
PatternGenerator_v1, Mapper_v1, SymbolGenerator_v1 |
| Pulse shaping and digital-analog conversion |
PulseShaper_v1, Quantizer_v1, DAC_v1 |
| Transmitter models (coherent and intensity) |
IQModulator_v1, IntensityModulator_v1 |
| Receiver models (photodiodes, balanced pairs, analog-digital conversion) |
PD_v1, BalancedPair_v1, ADC_v1, CoherentFrontend_v2 |
| Other optical components (laser, optical hybrid, polarization beam splitter, ...) |
Laser_v1, OpticalHybrid_v1, PBS_1xN_v1, PBC_Nx1_v1, Polarizer_v1 |
| Other impairments |
ResampleSkewJitter_v1, ElectricalFilter_v1 |
Signal analysis and display
| Description |
File name |
| Signal display with DCA-like triggering |
DSO_v1 |
| EVM analysis |
EVM_Analysis |