|
| 1 | +# 🔷 Quaternionic Signal Processing (QSP) |
| 2 | + |
| 3 | +**Status:** Active development · Production-ready architecture |
| 4 | + |
| 5 | +> **Apply quaternion mathematics to real-world signal processing.** |
| 6 | +
|
| 7 | +QSP is a quaternion-native signal processing framework built on `qsp-core`. It provides FFT, filtering, modulation, and orientation estimation through a unified API that treats signals as quaternion-valued sequences. |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## Stack Architecture |
| 12 | + |
| 13 | +<div style="border: 2px solid var(--md-primary-fg-color); border-radius: 10px; overflow: hidden; text-align: center; font-family: var(--md-code-font); max-width: 640px; margin: 1.5rem auto;"> |
| 14 | + <div style="background: var(--md-primary-fg-color); color: var(--md-primary-bg-color); padding: 14px 16px; font-weight: bold; font-size: 1.05em; letter-spacing: 0.04em;"> |
| 15 | + qsp-stack |
| 16 | + </div> |
| 17 | + <div style="display: grid; grid-template-columns: repeat(4, 1fr); border-top: 2px solid var(--md-primary-fg-color);"> |
| 18 | + <div style="padding: 12px 8px; border-right: 1px solid var(--md-primary-fg-color); font-size: 0.9em;"> |
| 19 | + <strong>qsp-fft</strong> |
| 20 | + </div> |
| 21 | + <div style="padding: 12px 8px; border-right: 1px solid var(--md-primary-fg-color); font-size: 0.9em;"> |
| 22 | + <strong>qsp-filter</strong> |
| 23 | + </div> |
| 24 | + <div style="padding: 12px 8px; border-right: 1px solid var(--md-primary-fg-color); font-size: 0.9em;"> |
| 25 | + <strong>qsp-modulation</strong> |
| 26 | + </div> |
| 27 | + <div style="padding: 12px 8px; font-size: 0.9em;"> |
| 28 | + <strong>qsp-orient</strong> |
| 29 | + </div> |
| 30 | + </div> |
| 31 | + <div style="background: var(--md-primary-fg-color--light, #e8eaf6); color: var(--md-primary-fg-color); padding: 14px 16px; border-top: 2px solid var(--md-primary-fg-color); font-weight: bold; font-size: 1.05em; letter-spacing: 0.04em;"> |
| 32 | + qsp-core |
| 33 | + </div> |
| 34 | +</div> |
| 35 | + |
| 36 | +--- |
| 37 | + |
| 38 | +## Package Roles |
| 39 | + |
| 40 | +<div class="grid cards" markdown> |
| 41 | + |
| 42 | +- **`qsp-core`** — Foundation |
| 43 | + |
| 44 | + --- |
| 45 | + |
| 46 | + Defines the quaternion-valued signal primitives, number types, and shared utilities that every other `qsp-*` package depends on. |
| 47 | + |
| 48 | + - Single source of truth for quaternion arithmetic |
| 49 | + - No external signal-processing dependencies |
| 50 | + - Designed for numerical correctness and testability |
| 51 | + |
| 52 | +- **`qsp-fft`** — Quaternionic FFT |
| 53 | + |
| 54 | + --- |
| 55 | + |
| 56 | + Implements the quaternion Fourier transform and its inverse, enabling frequency-domain analysis of quaternion-valued signals. |
| 57 | + |
| 58 | + - Quaternion FFT (QQFT) and inverse |
| 59 | + - Spectral analysis for multi-channel signals |
| 60 | + - Depends on `qsp-core` |
| 61 | + |
| 62 | +- **`qsp-filter`** — Signal Filtering |
| 63 | + |
| 64 | + --- |
| 65 | + |
| 66 | + Provides FIR and IIR filter designs that operate natively on quaternion signals, preserving inter-channel phase relationships. |
| 67 | + |
| 68 | + - Quaternion FIR and IIR filters |
| 69 | + - Hilbert-transform-based analytic signals |
| 70 | + - Depends on `qsp-core` |
| 71 | + |
| 72 | +- **`qsp-modulation`** — Modulation & Demodulation |
| 73 | + |
| 74 | + --- |
| 75 | + |
| 76 | + Encodes and decodes information using quaternion phase-shift keying and amplitude modulation schemes. |
| 77 | + |
| 78 | + - Quaternion phase-shift keying (QPSK extensions) |
| 79 | + - Amplitude and phase modulation |
| 80 | + - Depends on `qsp-core` |
| 81 | + |
| 82 | +- **`qsp-orient`** — Orientation Estimation |
| 83 | + |
| 84 | + --- |
| 85 | + |
| 86 | + Estimates rigid-body orientation from inertial or multi-antenna sensor streams using quaternion-domain filtering. |
| 87 | + |
| 88 | + - Attitude estimation from IMU data |
| 89 | + - Quaternion Kalman and complementary filters |
| 90 | + - Depends on `qsp-core` |
| 91 | + |
| 92 | +- **`qsp-stack`** — Umbrella Package |
| 93 | + |
| 94 | + --- |
| 95 | + |
| 96 | + A convenience meta-package that installs the complete QSP ecosystem in a single step. |
| 97 | + |
| 98 | + ```bash |
| 99 | + pip install qsp-stack |
| 100 | + ``` |
| 101 | + |
| 102 | +</div> |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +🌐 **Website:** [https://rqmtechnologies.com](https://rqmtechnologies.com) |
0 commit comments