Skip to content

Gueni/PEARLNN

Repository files navigation

PEARLNN Project Overview

Core Concept

PEARLNN (Parameter Extraction And Reverse Learning Neural Network) is an open-source, community-powered AI tool that automatically extracts electronic component parameters from measurement data or datasheet images.


What It Does

Input Flexibility

  • CSV files with measured waveform data (oscilloscope exports, simulation results)
  • Images of waveforms from datasheets, manuals, or publications
  • Initial conditions and component specifications
  • Multiple signal types: voltage, current, switching, frequency response

Output Precision

  • Accurate parameter values for electronic components
  • Uncertainty estimates for each parameter (Bayesian confidence intervals)
  • Iterative improvement with each usage
  • Validation metrics showing fit quality

Supported Components

  • MOSFETs: Rds_on, Ciss, Coss, Crss, Qg, Vth, switching times
  • BJTs: Beta, Vce_sat, Vbe_on, capacitances, Ft
  • Op-Amps: GBW, slew rate, Vos, Ib, CMRR, PSRR
  • Capacitors: ESR, ESL, leakage, dissipation factor, temperature coefficient
  • Inductors/Transformers: DCR, Q-factor, saturation current, SRF
  • Diodes: Vf, reverse recovery, junction capacitance, leakage
  • Voltage Regulators: line/load regulation, dropout voltage, PSRR

AI Architecture

Neural Network Core

# Dual-mode neural network
- **Backpropagation Network**: Main pattern recognition from waveforms
- **Bayesian Layers**: Uncertainty quantification and confidence scoring
- **Multi-modal Input Processing**: Handles both CSV numerical data and image waveforms
- **Transfer Learning**: Builds on previous community knowledge

Training Approach

  • Supervised Learning: Uses known parameter→waveform relationships
  • Community Training: Each user's successful fits improve the shared model
  • Incremental Learning: Models get smarter with more usage
  • Uncertainty-Aware: Knows when it's confident vs. guessing

Community Learning System

Model Hosting & Sharing

# Distributed model storage (completely free)
- **GitHub Gists**: For model metadata and version tracking
- **IPFS Network**: For actual model weights and training data
- **Multiple Fallbacks**: Ensures always-available access
- **Anonymous Contributions**: No login required for sharing

Usage Flow

  1. User installs: pip install pearlnn
  2. First use: Downloads latest community model automatically
  3. Analysis: Processes local CSV/image, extracts parameters
  4. Training: If user provides validation, model improves locally
  5. Sharing: Improved model uploaded to community pool
  6. Everyone benefits: Next user gets smarter model

Technical Implementation

Data Processing Pipeline

Raw Input → Feature Extraction → Neural Network → Parameter Output
    ↑              ↑                  ↑               ↑
 CSV/Image   Waveform Analysis   Bayesian NN     Uncertainty
                                  + Backprop      Estimates

Key Features

  • Automated waveform feature extraction from images/datasheets
  • Bayesian uncertainty tells users when to trust results
  • Incremental learning without catastrophic forgetting
  • Model compression for easy sharing
  • Cross-platform command-line tool
  • Batch processing for multiple components

User Experience

Simple Usage Examples

# Analyze MOSFET from oscilloscope CSV
pearlnn extract mosfet --csv gate_switching.csv --vds 24V

# Extract op-amp parameters from datasheet image  
pearlnn extract opamp --image gain_plot.png --supply ±15V

# Batch process multiple measurements
pearlnn batch-analyze --folder lab_measurements/ --component capacitor

# Get uncertainty estimates
pearlnn analyze --uncertainty diode --csv reverse_recovery.csv

Community Benefits

# Check community model status
pearlnn community --status

# Share your improvements
pearlnn share --contribution

# Download latest knowledge
pearlnn community --sync

Unique Value Proposition

For Engineers

  • Free alternative to $50,000+ commercial tools
  • AI-powered accuracy that improves over time
  • Community knowledge from thousands of users
  • Command-line automation for batch processing

For Researchers

  • Reproducible parameter extraction
  • Uncertainty quantification
  • Collaborative model development
  • Growing knowledge base

For Hobbyists/Students

  • Learn component behavior through AI analysis
  • Professional-grade tools for free
  • Contribute to community knowledge
  • Practical parameter fitting for projects

Project Goals

Short Term (MVP)

  • MOSFET parameter extraction from CSV/Images
  • Basic Bayesian neural network
  • Community model sharing via IPFS
  • Command-line interface

Medium Term

  • Support for 10+ component types
  • Advanced uncertainty quantification
  • Web interface for non-programmers
  • Model validation suite

Long Term

  • Industry-standard accuracy
  • Real-time parameter estimation
  • Integration with SPICE simulators
  • Mobile app for field measurements

Why This Matters

PEARLNN democratizes electronics characterization by making advanced parameter extraction accessible to everyone, while creating a continuously improving community knowledge base that benefits all users with each analysis performed.

Tips :

- "pylint.args": ["--disable=C0111","--disable=E1101", "--max-line-length=120"] as pylint arguments for ignoring issues with pylint compatibility with opencv-python

Todo :

- use firebase for hosting the shared model file instead of ipfs 

About

Parameter Extraction And Reverse Learning Neural Network

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors