Skip to content

Ecosystem

The QSP ecosystem is a family of coordinated Python packages designed to work together while remaining independently installable. Each package has a clearly scoped responsibility. They share a common type system defined in qsp-core.


Architecture

QSP Architecture

The packages are layered by level of abstraction:

Layer Package Responsibility
Foundation qsp-core Quaternionic primitives, shared math types, common utilities
Transforms qsp-fft Spectral analysis and frequency-domain transforms
Conditioning qsp-filter Filtering, preprocessing, and signal conditioning
Application qsp-modulation Symbol generation and communication-oriented workflows
Application qsp-orientation Attitude estimation and motion handling
Convenience qsp-stack Meta-package bundling the full ecosystem

Layered view

┌─────────────────────────────────────────────────────────┐
│                      qsp-stack                          │
│         (convenience meta-package / full install)       │
├──────────────┬──────────────┬──────────────┬────────────┤
│  qsp-fft     │  qsp-filter  │ qsp-modulation│ qsp-orient │
│  (transforms)│  (filtering) │ (modulation)  │ (attitude) │
├──────────────┴──────────────┴──────────────┴────────────┤
│                      qsp-core                           │
│          (quaternionic primitives and shared math)      │
└─────────────────────────────────────────────────────────┘

The mid-tier packages (qsp-fft, qsp-filter, qsp-modulation, qsp-orientation) are peers — they do not depend on each other. Each depends only on qsp-core. qsp-stack depends on all of them.


Package map

QSP Package Map


Package summaries

qsp-core

The foundation of the ecosystem. Provides the quaternion types, shared signal representations, and utility functions that all other packages build on. If you are working with any QSP package, qsp-core is a transitive dependency.

qsp-core docs

qsp-fft

Transforms and spectral analysis tools designed for quaternionic and structured signals. Extends classical FFT concepts to quaternion-valued inputs and provides analysis utilities for frequency-domain work.

qsp-fft docs

qsp-filter

Signal conditioning and filtering tools. Includes filter design and application for quaternionic and structured data streams. Used after data acquisition and before analysis or modulation stages.

qsp-filter docs

qsp-modulation

Symbol generation and modulation helpers for communication-oriented signal workflows. Focused on representing signals in modulation space using quaternionic representations.

qsp-modulation docs

qsp-orientation

Orientation, attitude, and motion-estimation tools for quaternionic sensor and navigation workflows. Supports fusion of sensor data into stable orientation estimates.

qsp-orientation docs

qsp-stack

A convenience meta-package. Installing qsp-stack installs all the above packages. Intended for users who want the full ecosystem without specifying each package individually.

qsp-stack docs


Choose your entry point

Goal Entry point
Try the full ecosystem quickly qsp-stack
Build a spectral analysis tool qsp-fft
Filter and preprocess signals qsp-filter
Design a modulation scheme qsp-modulation
Estimate orientation from sensors qsp-orientation
Work directly with quaternion math qsp-core

For help deciding, see Choosing a Package.