Skip to content

patrykkopacz2006/ARCHE-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ARHCE Code

This repository contains embedded C++ and supporting Python code developed for real-time signal processing, calibration, and visualization of optical measurement data.

The implementation focuses on robust data acquisition, noise reduction, and calibration under constrained microcontroller resources.


Overview

The code implements a real-time processing pipeline that:

  • Acquires streaming sensor data
  • Computes normalized signal ratios
  • Applies calibration and correction factors
  • Performs noise reduction and outlier rejection
  • Classifies signal states based on calibrated thresholds
  • Provides optional real-time visualization and data logging

This work emphasizes efficient computation and stability in resource-constrained embedded environments.


Key Features

Real-Time Signal Processing

  • Continuous acquisition and processing of streaming data
  • Ratio-based normalization for signal stability
  • Low-latency updates for responsive feedback

Calibration System

  • Multi-sample calibration using median-based estimation
  • Persistent storage of calibration parameters in non-volatile memory
  • Runtime recalibration support

Noise Reduction

  • Median filtering for robust central tendency estimation
  • Median Absolute Deviation (MAD)-based outlier rejection
  • Configurable sample window for performance vs accuracy tradeoff

Resource-Constrained Optimization

  • Two processing modes:
    • Optimized mode for real-time execution
    • High-accuracy mode with per-sample outlier filtering
  • Tradeoff between computational cost and signal robustness

Embedded Interface

  • Real-time display updates for processed values
  • Structured serial output for external monitoring

Optional Visualization (Python)

  • Live plotting of processed signals
  • Derived metric estimation and smoothing
  • Data logging for offline analysis

File Descriptions

  • currentHematuria.cpp
    Optimized implementation designed for real-time execution on limited hardware.
    Uses windowed sampling and median filtering for stable performance.

  • preferableHematuria.cpp
    Higher-accuracy implementation with per-sample outlier rejection using MAD filtering.
    Computationally more intensive and intended for higher-performance environments.

  • liveplot.py
    Optional visualization tool for real-time monitoring, analysis, and data export.


Signal Processing Approach

Ratio-Based Normalization

A ratio between two measurement channels is computed to reduce sensitivity to absolute signal variation and improve robustness.

Calibration

  • A reference value is computed from multiple samples
  • Median estimation is used to reduce sensitivity to noise
  • A correction factor is derived and stored for future use

Outlier Rejection

The high-accuracy implementation applies:

  • Median computation
  • Median Absolute Deviation (MAD)
  • Threshold-based filtering:
    • Values exceeding a normalized deviation threshold are excluded

Filtering and Stability

  • Multi-sample aggregation improves robustness
  • Tradeoffs between responsiveness and noise suppression are configurable

Classification

Processed values are mapped to discrete categories representing signal intensity levels.
Thresholds are applied to the calibrated signal to determine classification states.


Design Considerations

  • Designed for real-time embedded execution
  • Optimized for limited processing and memory constraints
  • Balances:
    • Accuracy
    • Responsiveness
    • Computational cost
  • Emphasizes robust statistical methods over simple averaging

Notes

  • This repository contains only the signal processing and visualization components
  • Hardware configuration and full system integration are not included
  • Certain implementation details are intentionally abstracted

Purpose

This work demonstrates:

  • Embedded signal processing design
  • Robust statistical filtering techniques
  • Calibration system implementation
  • Real-time data handling under resource constraints

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors