PyArbTools: Keysight Signal Generator Control & Waveform Creation¶
Current version: 2025.06.1
Frustrated after looking through hundreds of pages of user manuals to find out how to download a waveform to a signal generator?
Need to test your amplifier or filter with a complex signal but don’t want to crack open your digital signal processing books from college?
Tired of troubleshooting VISA connections, conflicts, and incompatibilities?
Can’t get a Matlab license or the correct toolbox(es) for your work?
Try PyArbTools: a fast, free, and flexible way to create waveforms and control Keysight signal generators.
PyArbTools is a collection of Python classes and functions that provide basic signal creation, instrument configuration, and waveform download capabilities for Keysight signal sources.
It is loosely based on Keysight’s IQ Tools, a Matlab-based toolkit that accomplishes similar things. PyArbTools was built to satisfy the needs of signal generator users who can’t/don’t want to use Matlab and to improve code readability and documentation.
Features
New in 2023.06.1: Choose between direct socket communication and PyVISA for all instruments.
- Supports the following instruments:
M8190A, M8195A, and M8196A arbitrary waveform generators
N5182B MXG, N5172B EXG, E8267D PSG vector signal generators
M9384B and M9484C VXG vector signal generators
N5186A MXG vector signal generator
Connect to and configure instruments, download waveforms, and control playback, all using easy-to-use functions rather than a list of SCPI commands.
Create sequences on the M8190A.
Calibrate waveforms using Keysight’s 89600 VSA software.
For custom applications, communicate with instruments using SCPI commands.
Take a look at pyarbtools/examples.py for sample code.
PyArbTools was written for Python and is not currently compatible with legacy Python 2.x
License: GPL 3