Skip to content

Devices/laser #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Mar 20, 2025
Merged

Devices/laser #33

merged 14 commits into from
Mar 20, 2025

Conversation

armando-palacio
Copy link
Owner

@armando-palacio armando-palacio commented Mar 19, 2025

This pull request includes several changes to the opticomlib library, focusing on adding new functionality, improving existing functions, and refactoring code for better performance and readability. The most important changes include adding a new LASER function, refactoring the timing functions, and updating various signal processing functions to improve execution time handling.

New Functionality:

  • Added a new LASER function to the opticomlib/devices.py file, providing a model for a continuous wave laser with phase and RIN noises.

Refactoring and Improvements:

  • Refactored the timing functions by introducing a _Timer class and updating the tic and toc functions to use this class for better management of timing operations. [1] [2] [3]
  • Updated various signal processing functions (MZM, BPF, EDFA, DM, LPF, PD, GET_EYE, SAMPLER, DSP) to improve execution time handling by consistently using toc() for timing. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
  • Removed the shorth_int function from GET_EYE and replaced its usage with shortest_int for estimating intervals. [1] [2]

Minor Changes:

  • Added sphinx_copybutton to the list of Sphinx extensions in docs/source/conf.py for better documentation.
  • Added new imports (idbm, dbm) and updated the device list to include LASER in opticomlib/devices.py. [1] [2]

…at save a stack of tics when tic function is called and delete from the stack when toc function is called.

This improvement simplify the management of time inside the devices. Now just a tic() at the begining and a toc() at the end is needed.
…e and RIN noise

refact: update tic() and toc() calls in devices.

BREAKING: SAMPLER device don't accept anymore `_eye_` parameter, `instant` parameter is now accepted.
@armando-palacio armando-palacio merged commit 060ea04 into main Mar 20, 2025
3 checks passed
@armando-palacio armando-palacio deleted the devices/laser branch March 20, 2025 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant