All Projects → sam210723 → wavebin

sam210723 / wavebin

Licence: MIT license
∿ Oscilloscope waveform capture viewer and converter.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to wavebin

dunya-desktop
A modular, customizable and open-source desktop application for accessing and visualizing music data.
Stars: ✭ 76 (+145.16%)
Mutual labels:  pyqt5, qt5, pyqtgraph
Amadia
Astus' Mathematical Display Application : A GUI for Mathematics (Calculator, LaTeX Converter, Plotter, ... )
Stars: ✭ 172 (+454.84%)
Mutual labels:  numpy, pyqt5
Beautycamera
美颜相机,具有人脸检测、磨皮美白人脸、滤镜、调节图片、摄像功能
Stars: ✭ 117 (+277.42%)
Mutual labels:  numpy, pyqt5
sugaroid
The not-that intelligent, but cute Artificially Intelligent bot, created when I was bored.
Stars: ✭ 12 (-61.29%)
Mutual labels:  pyqt5, qt5
Breezestylesheets
Breeze/BreezeDark-like Qt StyleSheets
Stars: ✭ 221 (+612.9%)
Mutual labels:  pyqt5, qt5
Photobooth
A flexible photobooth software
Stars: ✭ 227 (+632.26%)
Mutual labels:  pyqt5, qt5
Amplituda
Amlituda - an android library that calculates amplitudes from audio and provides data in different formats. Based on this data, you can draw waveform. Android audio amplitude library.
Stars: ✭ 75 (+141.94%)
Mutual labels:  waveform, waveform-visualizer
Handwriter
A smart program to convert digital document to hand-written document
Stars: ✭ 108 (+248.39%)
Mutual labels:  pyqt5, qt5
drop
A LÖVE visualizer and music player
Stars: ✭ 17 (-45.16%)
Mutual labels:  waveform, waveform-visualizer
QtPyConvert
An automatic Python Qt binding transpiler to the Qt.py abstraction layer.
Stars: ✭ 66 (+112.9%)
Mutual labels:  pyqt5, qt5
Qdarkstylesheet
A dark style sheet for QtWidgets application
Stars: ✭ 1,952 (+6196.77%)
Mutual labels:  pyqt5, qt5
qt-template
Template/Example of Qt/QML built with CMake/qmake. (include PyQt and PySide2)
Stars: ✭ 15 (-51.61%)
Mutual labels:  pyqt5, qt5
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+5664.52%)
Mutual labels:  pyqt5, qt5
Ni Pyt
Materiály k předmětu NI-PYT na FIT ČVUT
Stars: ✭ 112 (+261.29%)
Mutual labels:  numpy, qt5
Galacteek
Browser for the distributed web
Stars: ✭ 114 (+267.74%)
Mutual labels:  pyqt5, qt5
NotEnoughAV1Encodes-Qt
Linux GUI for AV1 Encoders
Stars: ✭ 27 (-12.9%)
Mutual labels:  pyqt5, qt5
Examples
Learn to create a desktop app with Python and Qt
Stars: ✭ 1,196 (+3758.06%)
Mutual labels:  pyqt5, qt5
Hydra
A simple customizable cross-platform IDE
Stars: ✭ 109 (+251.61%)
Mutual labels:  pyqt5, qt5
gopem
GUI for OPEM library
Stars: ✭ 20 (-35.48%)
Mutual labels:  pyqt5, qt5
CanSat-Ground-station
Code for a CanSat or OBCs GUI ground station where different sensor data are displayed in real time. No sensors needed to try it.
Stars: ✭ 55 (+77.42%)
Mutual labels:  pyqt5, pyqtgraph

Oscilloscope Waveform Capture Viewer

GitHub release PyPI - Python Version PyPI - Downloads GitHub license

wavebin reads binary capture files generated by Agilent, Keysight and Rigol oscilloscopes and renders the waveforms in an interactive plot. Waveforms can be inspected, filtered, clipped, subsampled and exported to sigrok PulseView or WAV files.

wavebin has been tested with capture files from a Keysight DSO-X 1102G, Keysight MSO-X 4154A and Rigol MSO5074. If you have access to waveform files from other Agilent, Keysight or Rigol oscilloscopes, please submit them for testing through the Sample Waveforms issue.

Getting Started

wavebin is available via the Python Package Index (PyPI) and is installed using pip.

> pip3 install wavebin

Keysight oscilloscopes save capture files to external USB Mass Storage devices for easy transfer to a PC. These files use the .bin extension. To open a capture file in wavebin, start the application by running:

> python3 -m wavebin

Next, click FileOpen and navigate to the .bin file.

Alternatively a capture file path can be specified when running wavebin using the -i argument.

> python3 -m wavebin -i [PATH TO BIN FILE]

For more information about the wavebin command-line arguments run:

> python3 -m wavebin -h
                              __    _
   _      ______ __   _____  / /_  (_)___
  | | /| / / __ `/ | / / _ \/ __ \/ / __ \
  | |/ |/ / /_/ /| |/ /  __/ /_/ / / / / /
  |__/|__/\__,_/ |___/\___/_.___/_/_/ /_/  v2.1

             vksdr.com/wavebin


usage: wavebin [-h] [-i FILE] [-v] [--no-opengl] [--no-limit]

Waveform capture viewer for Keysight oscilloscopes.

optional arguments:
  -h, --help   show this help message and exit
  -i FILE      path to Keysight waveform capturefile (.bin)
  -v           enable verbose logging mode
  --no-opengl  disable hardware accelerated rendering with OpenGL
  --no-limit   disable subsampling limit (may cause slow frame rates with large captures)

Features

Export to PulseView

PulseView by sigrok is a logic analysis tool typically used with hardware logic analyser devices. It is capable of decoding many serial and parallel protocols with its built-in decoders.

Below is a 115200bd UART waveform captured on a DSO-X 1102G, loaded into wavebin with clipping enabled to create a clean digital waveform, exported to PulseView and decoded using the PulseView UART protocol decoder.

To export waveforms to PulseView, click FileExport to PulseView then navigate to a save location. The produced .sr file can then be opened directly in PulseView.

Export to WAV

WAV files can be opened in most media players (e.g. VLC) and audio editors (e.g. Audacity).

To export waveforms to WAV files, click FileExport to WAV file then navigate to a save location. This will produce a mono .wav file for each waveform. The WAV files names follow the format *_[n].wav, where n is the waveform number starting at 0.

Filtering

A Savitzky-Golay low pass filter is included in wavebin for smoothing waveforms. This filter can be enabled using the Filter Type dropdown menu.

Clipping

The clipping option converts analog waveforms to digital waveforms in a similar way to a Schmitt trigger.

The filtering and clipping options can be used simultaneously. Clipping is always applied after filtering.

Subsampling

When a waveform capture is first loaded, all available sample points will be used to render the waveform. The subsampling option renders the waveform using an equally-spaced subset of points.

Below is a 62.5 MHz wave being rendered with all 20,000 points in the capture file, and then with only 1250 points.

By default, waveforms with over 50,000 points will automatically be subsampled. This can be overridden using the --no-limit switch.

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].