--- license: other license_name: ambiq-model-weights-license license_link: https://github.com/AmbiqAI/compressionkit/blob/main/LICENSE-MODEL-WEIGHTS.md library_name: compressionkit pipeline_tag: other tags: - compressionkit - signal-compression - ppg - rvq - tflite - edge-ai --- # compressionkit-ppg-2x A **PPG** signal compression codec using Residual Vector Quantization (RVQ), optimized for edge and wearable devices. ## Model Details - **Modality:** PPG - **Sample Rate:** 64 Hz - **Compression Ratio:** 2x - **Quantization:** INT8 - **RVQ Levels:** 4 - **Codebook Size:** 256 entries × 16D - **Encoder Input:** `[None, 1, 320, 1]` - **Encoder Output:** `[None, 1, 160, 16]` ## Quality Metrics ### Time Domain | Metric | Mean | Median | P90 | |--------|------|--------|-----| | PRD (%) | 6.1800 | 2.2707 | 10.7564 | | RMSE | 0.0241 | 0.0199 | 0.0386 | | Cosine Similarity | 0.9912 | 0.9998 | 0.9999 | ### Spectral - **Band Total Relative Error (median):** 0.0263 ### Bitrate - **Codec CR (uniform):** 2.0x - **Codec CR (learned prior):** 3.11x ## Usage ### Python (compressionkit runtime) ```python from compressionkit.runtime import RVQCodec codec = RVQCodec.from_pretrained("Ambiq/compressionkit-ppg-2x") # Encode: float32 signal → RVQ indices indices = codec.encode(signal) # Decode: RVQ indices → reconstructed signal recon = codec.decode(indices) ``` ### Local deployment directory ```python codec = RVQCodec("path/to/deploy/") ``` ## Files | File | Description | |------|-------------| | `encoder_int8.tflite` | INT8 quantized encoder (on-device) | | `encoder.h` | C header for encoder | | `decoder_float32.tflite` | Float32 decoder (server-side evaluation) | | `decoder_int8.tflite` | INT8 decoder (optional, on-device) | | `codebook.npz` | RVQ codebook tables | | `codebook.h` | C header for codebook | | `config.json` | Deployment manifest | | `sample_stimulus.npz` | Synthetic test data | | `quality_scorecard.json` | Full evaluation metrics | ## Dataset & License Training data: MESA (NSRR restricted). Sample data uses synthetic physiokit waveforms only — no patient data is redistributed. Model weights are released under the **Ambiq Model Weights License** — deployment is restricted to Ambiq silicon devices. See `LICENSE-MODEL-WEIGHTS.md` for full terms. ## Citation ```bibtex @software{compressionkit, author = {Ambiq AI}, title = {compressionKIT: Signal Compression for Edge AI}, url = {https://github.com/AmbiqAI/compressionkit} } ```