Robochameleon is a coding framework and component library for simulation and experimental analysis of optical communication systems.
The framework was designed to facilitate sharing code between researchers by articulating some standard methods and syntax for signal representation and function calls.
It has been used successfully for this purpose within the DSP group at DTU for the past year, and we welcome contributions from other groups.
The library includes physical models of most components found in coherent and incoherent optical communication systems, as well as standard DSP blocks.
The DSP blocks have been developed over a longer period of time and validated on real data.
That said, this software is provided "as-is" without warranty of any kind, as stated in the license.
There is a quick start guide in powerpoint format in the doc folder. An HTML version of this file can be found [here](@ref quickstart) (link only works from the html API documentation).
To consult the documentation open:
- index.html located in the folder doc/user manual/html/
or type robohelp
in the MATLAB command line.
Several examples can be found in the _setups/Demo folder
- Robert Borkowski <robert.borkow+robochameleon@gmail.com>
- Edson Porto Da Silva <edpod@fotonik.dtu.dk>
- Simone Gaiarin <simga@fotonik.dtu.dk>
- Miguel Iglesias <miguelio@kth.se>
- Molly Piels <mopi@fotonik.dtu.dk>
- Darko Zibar <dazi@fotoni.dtu.dk>
- Rasmus Jones <rajo@fotoni.dtu.dk>
- Julio Cesar Medeiros Diniz <jcmdi@fotonik.dtu.dk>
- Xiaodan Pang <xiaodan.pang@acreo.se>
- Oskars Ozolins <oskars.ozolins@acreo.se>
- Leonardo Marcon <leonardo.marcon.1@phd.unipd.it>
Gnu public license version 3
There are several open-source projects that have been incorporated into Robochameleon:
Name | License | Usage | Source |
---|---|---|---|
ssprop-3.0.1 | GPL v2 | Nonlinear channel model | Photonics Research Lab, Univ. of Maryland link |
scatplot | "copy-left" | Constellation plotting | Alejandro Sanchez-Barba link |
PrintTable | BSD | Table formatting in BERT readout | Daniel Wirtz link |
InterPointDistanceMatrix | BSD | Calculate set of Euclidean distances | John D'Errico link |
ENC8B10B | ? | 8b/10b encoder | Alex Forencich link |
cprintf | BSD | text formatting for robolog | Yair Altman link |
scripts | Using Doxygen with Matlab | Documentation generation | Fabrice link |
clearex | clear all except | Arnaud Laurent | |
cloudPlot | The MathWorks | Constellation display | Daniel Armyr link |
convo_bench ver 2.0 | own | Fast convolution using fft | Ilias Konsoulas link |
distinguishable_colors | own | plotting | Tim Holy link |
fieldnamesr | BSD | parameter parsing | Adam Tudor Jones link |
All but the documentation add-in can be found in the addons/Name folders (as appropriate). The documentation generation code is in doc/scripts.
- [Github page] (https://github.com/dtu-dsp/Robochameleon)
- [Group website] (http://www.fotonik.dtu.dk/english/Research/Communication-technologies/HighSpeed)