History

0.0.7 (2018-10-09)

  • First release on PyPI.

0.0.8 (2018-11-26)

  • First major update. Added wfmBuilder.iq_correction(), which utilizes Keysight’s VSA software and a Keysight receiver (either an oscilloscope or signal analyzer) and applies a digital predistortion filter to a waveform to flatten amplitude and phase response.

0.0.10 (2018-12-10)

  • Added multitone_generator method. Added 128-QAM and 256-QAM. Updated index to include a better intro to the project.

0.0.11 (2019-01-23)

  • Fixed bugs with multitone_generator method. Added AM modulator.

0.0.12 (2019-02-20)

  • Expanded VSG class to include M9381A and M9383A without changing public API.

0.0.13 (2019-04-19)

  • Added GUI. Adjusted several functions to streamline waveform creation and download between all instrument types.

0.0.14 (2019-11-12)

  • Added pri argument to pulse creation methods.

2020.04.0 (2020-04-29)

  • Removed communications.py and replaced it with external module socketscpi. .configure() methods now use **kwargs to prevent the function from changing any settings not explicitly specified back to default values. Changed multitone_generator waveform creation method to frequency domain. Significant updates to documentation and in-code comments. Changed from semantic versioning to calendar versioning.

2020.05.0 (2020-05-13)

  • Changed name of digmod_prbs_generator() to digmod_generator(). Overhauled digitally modulated waveform creation function, fixing bugs and producing better signal fidelity. Added vsaControl.py, which allows the user to control an instance of Keysight 89600 VSA software for waveform analysis.

2020.06.0 (2020-06-01)

  • Added 16-, 32-, and 64-APSK modulation types to wfmBuilder.py. Moved PDW-building function definitions from instruments.py to pdwBuilder.py. Updated documentation.

2020.07.1 (2020-07-06)

  • BUGFIX: corrected a problem with the 16-QAM modulator in digmod_generator(). Fixed a math error in power level calculations in PDW functions.

2020.07.3 (2020-07-31)

  • Dramatically improved resampling and wraparound handling in digmod_generator().

2020.08.1 (2020-08-03)

  • BROKEN: Updated GUI to reflect changes to instrument configuration functions and improvements to wfmBuilder functions. You can now access pyarbtools.pdwBuilder directly. Improved version updating.

2020.08.2 (2020-08-06)

  • Fixed issue where the GUI icon was not included with the PyArbTools package, which prevented the GUI from running.

2020.09.1 (2020-09-03)

  • Added VXG instrument class for controlling the M9384B VXG signal generators.

2020.09.2 (2020-09-08)

  • Added import_mat() method to wfmBuilder.py that imports .mat files containing waveform data and optional metadata.

2021.02.1 (2021-02-22)

  • Added ampScale as an argument to cw_pulse_generator().

2021.02.2 (2021-02-23)

  • Added an rms keyword argument to VXG.play() that allows the user to manually override the RMS power calculation made by the VXG. This is an advanced feature primarily developed for waveforms containing pulsed signals with different power levels.

2021.02.3 (2021-02-24)

  • Added long-awaited sequencer functionality to M8190A. Added create_sequence(), insert_wfm_in_sequence(), and insert_idle_in_sequence() methods to M8190A. Added zero_generator() function to wfmBuilder.

2021.02.4 (2021-02-26)

  • Fixed bug with ampScale argument in cw_pulse_generator().

2021.06.2 (2021-06-26)

  • Fixed marker generation functionality in M8190A.

2021.11.1 (2021-11-01)

  • Fixed broken links in ReadMe

  • Fixed timeout issue with single-channel VXGs

  • Relaxed VXG.configure() type checking

2022.02.1 (2022-02-01)

  • Added get_iq_data() method to VSA object

  • Added two new functions in examples.py

2022.03.2 (2022-03-23)

  • Added VMA class to vsaControl. Currently only supports custom OFDM demod using .xml import.

2022.04.1 (2022-04-19)

  • Cleaned up documentation for vsaControl.

2022.11.1 (2022-11-10)

  • Removed all features for the UXG.

2022.11.2 (2022-11-10)

  • Fixed issues with documentation.

2023.06.1 (2023-06-13)

  • Implemented SignalGeneratorBase class to support either socketscpi or pyvisa for instrument communications.

2023.10.1 (2023-10-24)

  • Added timeout setting for pyvisa apiType. Changed tkinter imports in gui.py to explicit. Changed favicon.ico to favicon.png to better support cross-platform usage.

2025.06.1 (2025-06-12)

  • Removed Keysight icon in the GUI window because it was causing too many problems.

  • Added support for N5186A Vector MXG