Metadata-Version: 2.1
Name: opticomlib
Version: 0.4.11
Summary: Python package for optical communication systems.
Home-page: https://github.com/armando-palacio/opticomlib.git
Maintainer: Armando P. Romeu
Maintainer-email: armandopr3009@gmail.com
License: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Programming Language :: Python :: 3
Requires-Python: >3.8
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: scipy
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scikit-learn
Requires-Dist: tqdm
Requires-Dist: pympler
Requires-Dist: pyvisa

## Features

* **Electro-optic devices:** most common electro-optic devices are implemented in the package (`opticomlib.devices`):
  * `PRBS`: Pseudo Random Binary Sequence Generator
  * `DAC`: Digital to Analog Converter
  * `ADC`: Analog to Digital Converter
  * `PM`: Phase Modulator
  * `MZM`: Mach-Zehnder Modulator (intensity modulator)
  * `FIBER`: Optical Fiber
  * `DM`: Pure Dispersive Medium
  * `PD`: Photodetector
  * `EDFA`: Erbium Doped Fiber Amplifier
  * `SAMPLER`: electrical sampler
  * `LPF`: Low Pass Filter
  * `BPF`: Band Pass Filter
  * `GET_EYE`: Eye Diagram parameters estimator
  * `FBG`: Fiber Bragg Grating
  * ... and more in the future
* **Modulation formats:** modulations are implemented in separate modules, with their own functionalities:
  * `OOK`: On-Off Keying (`opticomlib.ook`)
  * `PPM`: Pulse Position Modulation (`opticomlib.ppm`)
  * ... and more in the future
* **Objects types:** methods for signal processing and visualization are integrated in the following objects:
  * `binary_sequence`: object for binary sequences
  * `electrical_signal`: object for electrical signals
  * `optical_signal`: object for optical signals
  * `eye`: object for eye diagrams

* **Laboratory utilities:** framework for communication with laboratory equipment and post-processing of data (`opticomlib.lab`).

## Installation

You can install opticomlib using pip:

```bash
pip install opticomlib
```

or from source code:

```bash
pip install git+https://github.com/armando-palacio/opticomlib.git
```

## License

This project is licensed under the terms of the [MIT license](LICENSE.md).

## Contact

If you wish to contact me you can do so at <armandopr3009@gmail.com>.
