Skip to main content

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

Metadata

Release files for dasp-stacker 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dasp-stacker 0.1.1
File Size Uploaded
dasp-stacker-0.1.1.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dasp-stacker 0.1.1
File Interpreter ABI Platform
dasp_stacker-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.5 kB

Release files / dasp-stacker-0.1.1.tar.gz

Download URL dasp-stacker-0.1.1.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
499d9a6e09494955f9c8d17df6e58410400ffb34d0293cf338b3b16d6e880b3d
BLAKE2b-256 checksum
How to use checksums
db983135d51bcf56424e551e0fed7c267e73e55b46e5c68781bbce8e10bcef08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.6

Release files / dasp_stacker-0.1.1-py3-none-any.whl

Download URL dasp_stacker-0.1.1-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
179ef51db52a33e7ea01d8647ab2062560e8338724e9dff00afd9ce7c2554c46
BLAKE2b-256 checksum
How to use checksums
15ea572e058924e44ec12ca29ee41c9b012e6eefc32a47336d7fb4977418db71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page