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