Skip to main content

Dimensionally aligned signal projection library

Project description

Dimensionally Aligned Signal Projection (DASP)

Code style: black

Summary

Dimensionally aligned signal projection (DASP) algorithms are used to analyze fast Fourier transforms (FFTs) and generate visualizations that help focus on the harmonics for specific signals. At a high level, these algorithms extract the FFT segments around each harmonic frequency center, and then align them in equally sized arrays ordered by increasing distance from the base frequency. This allows for a focused view of the harmonic frequencies, which, among other use cases, can enable machine learning algorithms to more easily identify salient patterns. This work seeks to provide an effective open-source implementation of the DASP algorithms as well as functionality to help explore and test how these algorithms work with an interactive dashboard and signal-generation tool.

The DASP library is implemented in Python and contains four types of algorithms for implementing these feature engineering techniques: fixed harmonically aligned signal projection (HASP), decimating HASP, interpolating HASP, and frequency aligned signal projection (FASP). Each algorithm returns a numerical array, which can be visualized as an image. For consistency FASP, which is the terminology used for the short-time Fourier transform, has been implemented as part of the library to provide a similar interface to the STFT of the raw signal. Additionally, the library contains an algorithm to generate artificial signals with basic customizations such as the base frequency, sample rate, duration, number of harmonics, noise, and number of signals.

Finally, the library provides multiple interactive visualizations, each implemented using IPyWidgets and work in a Jupyter environment. A dashboard-style visualization is provided, which contains some common signal-processing visual components (signal, FFT, spectogram) updating in unison with the HASP functions (see Figure 1 below). Seperate from the dashboard, an independent visualization is provided for each of the DASP algorithms as well as the artifical signal generator. These visualizations are included in the library to aid in developing an intuitive understanding how the algorithms are affected by different input signals and parameter selections.

A detailed breakdown of how these algorithms work can be seen in 'example/algorithm_walkthrough'

Features

  • Dashboard-style interactive visualization (Figure 1)
  • Numerical array output for each algorithm
  • Interactive visualization for FASP only
  • Interactive visualization for HASP algorithms (selecting one at a time)
  • Interactive visualization for sine wave generation

Examples

An example of each feature available, and how to use them, can be seen in 'examples/dasp_example_notebook.ipynb'

Installation

pip install dasp-stacker

Citation

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

dasp-stacker-0.1.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

dasp_stacker-0.1.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file dasp-stacker-0.1.1.tar.gz.

File metadata

  • Download URL: dasp-stacker-0.1.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for dasp-stacker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 499d9a6e09494955f9c8d17df6e58410400ffb34d0293cf338b3b16d6e880b3d
MD5 e856ad5c8919f55ff80a65f283e02a87
BLAKE2b-256 db983135d51bcf56424e551e0fed7c267e73e55b46e5c68781bbce8e10bcef08

See more details on using hashes here.

File details

Details for the file dasp_stacker-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dasp_stacker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.6

File hashes

Hashes for dasp_stacker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 179ef51db52a33e7ea01d8647ab2062560e8338724e9dff00afd9ce7c2554c46
MD5 0926c94aa56e2cc6c9acd95f6bc2aef2
BLAKE2b-256 15ea572e058924e44ec12ca29ee41c9b012e6eefc32a47336d7fb4977418db71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page