Filtering digital signals using a front end to scipy filters
Project description
A collection of digital signal filter front end for SciPy
A collection of signal processing tools, utilities and class for signal processing
Description
The signal processing tool box has the following topics
- filters: Definition of three digital signal filters (all with low, high, -band-pass mode)
Ideal block filter
Butterworth filter
Kaiser filter
Phase shift removal
- utils: Classes and function to support signal processing
SignalGenerator: class to generated signal with multiple harmonic components and noise for testing purposes
get_peaks: Extract the peaks from a power spectral density
Installation
SignalFilters can be installed via pip from PyPi
pip install SignalFilters
Examples
Using digital filters is easy. In two steps we do:
Define a noisy sine wave
from numpy import linspace, sin, random, pi
from signal_filters.filters import filter_signal
A_peak = 1.0 # Amplitude at 10 m
a_noise = 0.2 * A # Noise rms at 0.2 m
T_peak = 10 # period of 10 seconds
f_peak = 1 / T_peak # peak frequency at 0.1 Hz
total_time = 1000 # total sampling time of 1000 seconds
f_sample = 10 # sample frequency at 10 Hz
n_points = total_time * f_sample
time = linspace(0, total_time, num=n_points, endpoint=False)
y_original = sin(2 * pi * time / T_peak)
y_noise = random.normal(scale=a_noise, size=y_original.size)
y_total = y_original + y_noise
Filter the noisy sine wave with a band pass filter with low and high cut-off frequency at 0.08 Hz and 0.12 Hz, respectively:
y_sine_filtered = filter_signal(y_total,
f_cut_low=0.08,
f_cut_high=.12,
f_sampling=f_sample)
More examples can be found at example_filtering and example_filtering_rtd.
Notes
The SciPy packages provides most signal processing tool, such as as a Power Spectral Density (PSF) estimator.
The filters defined in this package are a front end to the Scipy filters, making it easier to use digital filters in your code.
For peak finding either the PeakUtils or the PyWafo package is recommended.
The function get_peaks is a front end to the peakutils.peaks function
This project has been set up using PyScaffold 4.5.0. For details and usage information on PyScaffold see http://pyscaffold.readthedocs.org/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file signalfilters-0.0.8.tar.gz
.
File metadata
- Download URL: signalfilters-0.0.8.tar.gz
- Upload date:
- Size: 15.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e670ac22224876ee9f12bbffc54eacf2b753445ac436b1d638feca097d9c87dd |
|
MD5 | de8b5cdf2263013c035c3244ca5f5dbf |
|
BLAKE2b-256 | 00d5f5aea3e5c12e8cf9396a25bdf74cb9eda3a5e1b921736588b98b81d71203 |
File details
Details for the file SignalFilters-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: SignalFilters-0.0.8-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5985b86d6a545637fa0ee425ba1fb24fe2caceab5771c13c5aef2f9019a1842 |
|
MD5 | f04dc1eea729d80a9bf79463b88a9cbe |
|
BLAKE2b-256 | eae8678eb2375b815f20237a135c4ef38e328bd97d49a2a884e2fe3f3f57dc45 |