questrail / sdfascii

Python module for reading SDF and ASCII files saved by HP/Agilent Dynamic Signal Analyzers
MIT License
3 stars 1 forks source link

sdfascii

PyPi Version Build Status Coverage Status License Badge

sdfascii is a Python (3.8+) module for reading the HP/Agilent Standard Data Format (SDF) binary files and the ASCII files saved by HP/Agilent Dynamic Signal Analyzers (DSA). A few examples of using sdfascii can be found at this example repository.

The HP/Agilent 35670A Dynamic Signal Analyzer has the ability to save files as either SDF or ASCII format.

HP/Agilent SDF Binary Format

The "Standard Data Format Utilities User's Guide" version B.02.01, P/N 5963-1715 was used to determine the SDF file format while developing sdfascii.

HP/Agilent DSA ASCII Format

Four files are created when saving to the HP/Agilent DSA ASCII format:

  1. .HDR contains SDF header information
  2. .TXT contains the y-axis information, preserving the same units as displayed on the analyzer screen when the trace was saved
  3. .X contains the x-axis information
  4. .Z contains the z-axis information, if the trace contains waterfall data

Contributing

Contributions are welcome! To contribute please:

  1. Fork the repository
  2. Create a feature branch
  3. Add code and tests
  4. Pass lint and tests
  5. Submit a pull request

Development Setup

Development Setup Using pyenv

Use the following commands to create a Python 3.9.9 virtualenv using pyenv and pyenv-virtualenv, install the requirements in the virtualenv named sdfascii, and list the available Invoke tasks.

$ pyenv virtualenv 3.11 sdfascii
$ pyenv activate sdfascii
$ pip install --upgrade pip
$ pip install -r requirements.txt
$ inv -l

License

sdfascii is released under the MIT license. Please see the LICENSE.txt file for more information.