PULSE

A comprehensive Python library for synthetic sensor data generation

PULSE: Python Unified Library for Sensor Emulation

PULSE is a sophisticated Python library developed jointly by Zenteiq Aitech Innovations and the AiREX Lab at IISc Bangalore. It provides a unified interface for generating synthetic sensor data, enabling researchers and developers to simulate realistic datasets without physical hardware.

Key Features

  • Comprehensive Sensor Coverage: Simulate data from dozens of sensor types for testing and validation
  • High-Performance Computing: Optimized numerical computations using JAX and NumPy
  • Configurable Parameters: Fine-tune simulation settings for noise levels, ranges, and frequencies
  • Advanced Error Modeling: Support for Constant, Linear, Sinusoidal, Gaussian, and Uniform error models

Technical Implementation

PULSE leverages modern Python libraries and best practices:

  • Core Framework: Built with Python 3.12, utilizing NumPy and SciPy
  • User Interface: Interactive web interface using Streamlit
  • Data Management: Efficient handling with HDF5 and YAML configuration
  • Visualization: Dynamic plotting using Plotly

Future Enhancements

Our development roadmap includes:

  1. GPU Support for enhanced computational performance
  2. Real-time simulation capabilities
  3. Distributed computing support
  4. Additional sensor types and domains

Try It Out

Get started with PULSE using Conda:

conda create -n pulse_env python=3.12
conda activate pulse_env
conda install numpy scipy pandas streamlit pyyaml h5py plotly
pip install -e .

For developers interested in contributing or exploring the codebase, visit the GitHub repository for detailed documentation and installation instructions.

The project is developed in collaboration with ARTPARK at IISc and is licensed under the Apache License 2.0.