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.2-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d66f3b7b9ab53a50155a7e7379f4f005ebc4f983aebd18ce6fafe4a4ea790a76 |
|
MD5 | a459c96ba4263a08c96c9a0ce5222ff9 |
|
BLAKE2b-256 | ee41151e61b1d6e0d3e27327c8aa990baa50ced61fbd0bb9abe7d1632c02de4c |