Skip to main content

A Python package for digital signal processing.

Project description

sigpropy - A Python package for signal processing

Joseph Vantassel, The University of Texas at Austin

DOI PyPI - License CircleCI Documentation Status Language grade: Python Codacy Badge codecov PyPI - Python Version Maintainability

Table of Contents

About sigpropy

sigpropy is a Python package for digital signal processing. It includes two main class definitions, TimeSeries and FourierTransform. These classes include methods to perform common signal processing techniques (e.g., trimming and resampling) and properties to make using them readable and intuitive.

This package and the classes therein are being used in several other Python projects, some of which have been released publicly and others are still in the development stage, so if you do not see a feature you would like it may very well be under development and released in the near future. To be notified of future releases, you can either watch the repository on GitHub or Subscribe to releases on the Python Package Index (PyPI).

TimeSeries

A simple example:

import sigpropy
import matplotlib.pyplot as plt
import numpy as np

dt = 0.002
time = np.arange(0, 1, dt)
s1 = 1*np.sin(2*np.pi*10*time)
s2 = 2*np.sin(2*np.pi*20*time)
s3 = 5*np.sin(2*np.pi*30*time)
amplitude = s1 + s2 + s3

tseries = sigpropy.TimeSeries(amplitude, dt)
fseries = sigpropy.FourierTransform.from_timeseries(tseries)

plt.plot(tseries.time, tseries.amplitude)
plt.xlabel("Time (s)")
plt.ylabel("Amplitude")
plt.show()

FourierTransform

A simple example:

import sigpropy
import matplotlib.pyplot as plt
import numpy as np

dt=0.002
time = np.arange(0, 1, dt)
s1 = 1*np.sin(2*np.pi*10*time)
s2 = 2*np.sin(2*np.pi*20*time)
s3 = 5*np.sin(2*np.pi*30*time)
amplitude = s1 + s2 + s3

tseries = sigpropy.TimeSeries(amplitude, dt)
fseries = sigpropy.FourierTransform.from_timeseries(tseries)

plt.plot(fseries.frequency, fseries.mag)
plt.xscale("log")
plt.xlabel("Frequency (Hz)")
plt.ylabel("|FFT Amplitude|")
plt.show()

Special Thanks To

  • Albert Kottke for his suggestions to speed up the Konno and Ohmachi smoothing. For a standalone implementation of Konno and Ohmachi smoothing see his project pykooh.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigpropy-1.0.0.tar.gz (28.4 kB view hashes)

Uploaded source

Built Distribution

sigpropy-1.0.0-py3-none-any.whl (29.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page