/SDS-Framework

Synchronous Data Stream (SDS) Framework allowing to record real-world data off a device and playing it back on Arm Virtual Hardware.

Primary LanguageCApache License 2.0Apache-2.0

SDS Framework

The Synchronous Data Stream (SDS) Framework implements a data stream management, provides methods and helper tools for developing and optimizing embedded applications that integrate DSP and ML algorithms. This framework may be used stand-alone, but also in combination with CMSIS-Stream that allows to combine algorihms using a compute graph.

Overview

  • Implements a flexible data stream management for sensor and audio data interfaces

    • Supports data streams from multiple interfaces including provisions for time drifts.
  • Provides methods to record real-world data for analysis and development

    • Input to Digital Signal Processing (DSP) development tools such as filter designers
    • Input to Machine Learning (ML) model classification, training, and performance optimization
    • Verify execution of DSP algorithm on Cortex-M targets with off-line tools
  • Playback real-world data for algorithm validation using Arm Virtual Hardware

    • Input to Digital Signal Processing (DSP) development tools such as filter designers
    • Input to Machine Learning (ML) model classification, training, and performance optimization
    • Verify execution of DSP algorithm on Cortex-M targets with off-line tools
  • Defines binary data format with YAML metadata file.

  • Python-based utilities for recording, playback, visualization, and data conversion

Refer to "ML Developers Guide for Cortex-M Processors and Ethos-U NPU" - "Tool Support" - "SDS Framework Usage" for more information.

Interfaces

The SDS Framework interfaces implement the SDS streaming interfaces via different methods. The functions of the sds.h Circular Buffer Handling may be used at any level of a Compute Graph to provide inputs or capture outputs of an DSP or ML algorithm.

Interfaces

Repository top-level structure

Directory Description
examples Example implementations for various evaluation boards
documentation User documentation of the SDS Framework
schema Schema for SDS File Format
sds Interfaces of the SDS Framework for Cortex-M devices
utilities Python scripts for processing of SDS binary data files

License Terms

The SDS Framework is licensed under Apache License 2.0.