Python and C implementation for logarithmical power spectral density (LPSD) calculation.
Project description
Python 3 LPSD algorithm
Overview
This repository contains a Python 3 implementation of the LPSD algorithm. The implementation is similiar to the LPSD implementation in the Matlab package LTPDA. The core of the algorithm can be run as Python 3 or as (faster) C code. Both deliver the same results. To run the C core the file ltpda_dft.c has to be compiled to a shared library.
Installation
Install directly with pip:
pip install lpsd
Usage
Fully working examples can be found in /doc/examples.
With a DataFrame
Recommended interface, direct usage of a DataFrame
import pandas as pd
from lpsd import lpsd
# read time series
data = pd.read_csv("time_series.csv.gz", index_col=0)
# select column and calculate
spectrum = lpsd(data["column"])
# plot PSD
spectrum["psd"].plot(logx=True, logy=True)
Using numpy arrays
Use the traditional method lpsd_trad
, which uses simple numpy arrays.
References
- Improved spectrum estimation from digitized time series on a logarithmic frequency axis Authors: Michael Tröbs and Gerhard Heinzel
- Spectrum and spectral density estimation by the Discrete Fourier transform (DFT), including a comprehensive list of window functions and some new flat-top windows Authors: Gerhard Heinzel, Albrecht Rüdiger and Roland Schilling
- MATLAB Toolbox LTPDA Author: Martin Hewitson
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
Hashes for lpsd-1.0.4-cp311-cp311-manylinux_2_36_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53ff8300e3e7dd5b7994c9244429ae6a33a48460f93d660f3c4b23cdf6e0c062 |
|
MD5 | 106030f657214966a2a6a3ec5c3c0ed7 |
|
BLAKE2b-256 | 34572f428c2ea654b2cc3e1464518f96003fba7143df627522630b02e62a973f |