- Scripts for LIV and optical spectra measurements using following equipment:
- Keysight B2901A Precision Source/Measure Unit
- Thorlabs PM100USB Power and energy meter
- Keysight 8163B Lightwave Multimeter
- YOKOGAWA AQ6370D Optical Spectrum Analyzer
- Advanced Temperature Test (ATT) Chuck System A160 CMI
- Script to approximate small signal modulation signal (S-parameters) at different currents stored in multiple .s2p files
- Script to calculate and plot thermal resistance of a VCSEL
How to use:
To measure LIV run
python measure.py
You will get a small instruction on what arguments to provide. settings.py file contains a dictionary with visa addresses and settings.
following arguments are needed: Equipment_choice WaferID Wavelength(nm) Coordinates Temperature(°C) e.g. run
python measure.py k2 gs15 1550 00C9 25
NOTE: Character ‘-’ is not allowed! It breaks filename parsing.
for equipment choice use:
- t for Thorlabs PM100USB Power and energy meter
- k1 for Keysight 8163B Lightwave Multimeter port 1
- k2 for Keysight 8163B Lightwave Multimeter port 2
- y for YOKOGAWA AQ6370D Optical Spectrum Analyzer
Analysis
Usage: analyze.py [OPTIONS] [PATHS]...
Options:
-l, --replot_liv Replot LIV figures
-s, --ssm Analyze small signal modulation data (.s2p files or
automatic system reports)
-r, --rin Analyze RIN data (automatic system reports)
-o, --optical_spectra Plot optical spectra
-y, --yaml_project Read and analize according to settings in YAML files
--help Show this message and exit.
Required python libraries (TODO: update)
pip install numpy scikit-rf pandas scipy scikit-learn matplotlib seaborn pyvisa pyvisa-py pyusb pyserial psutil zeroconf
Install from requirements.txt
pip install -r requirements.txt
Make virtual environment
python -m venv env
(note: “env” is the name of a directory with a virtual environment)
Activate an environment (Unix)
source env\bin\activate
Activate an environment (Windows)
env\Scripts\Activate.Ps1
note: PyVISA installation
If you are told your version of pip is out of date, you might as well update it with
python -m pip install --upgrade pip
Once you have that installed, you will need to install pyvisa. Under Windows, that is as simple as running
pip install pyvisa
Finally, as pyvisa is really only a “wrapper” for a VISA layer, you will need to install a supported VISA layer for it to talk to. If you are running Windows, realistically, you should use the National Instruments NI-VISA package. It’s a bulky piece of software, but it is the most well-supported VISA layer generally speaking – a version of it may already be installed on your computer by the “bundled” software that comes with your instrument. It is possible to avoid using NI-VISA on Windows, but then you will need to cook up your own drivers for each instrument and self-sign them and it’s just a whole heap of hassle.
On Linux, however, you will also need to install pyvisa-py which provides a Python-based VISA layer, as well as pyusb (for USB-TMC instruments) and pyserial (for Serial connected instruments). This can be done by using the following command (both with and without sudo)
pip install pyvisa-py pyusb pyserial
pip install psutil zeroconf
- https://goughlui.com/2021/03/28/tutorial-introduction-to-scpi-automation-of-test-equipment-with-pyvisa/
- https://youtu.be/1HQxnz3P9P4
- https://github.com/instrumentkit/InstrumentKit
- https://instrumentkit.readthedocs.io/en/latest/_modules/instruments/yokogawa/yokogawa6370.html