An interactive, offline-first Intelligent Tutoring System (ITS) and practice laboratory for university-level Analog Signal Processing & Linear Systems.
SignalLab provides undergraduate and graduate engineering students with an interactive, step-by-step practice environment for mastering continuous-time signals and systems. Designed around cognitive tutoring principles, SignalLab breaks complex signal processing problems into structured sub-steps, evaluates student inputs with exact symbolic math normalization, and delivers real-time diagnostic feedback.
- 🧩 Zero-Guesswork Step Solvers: Step-by-step problem workflows showing characteristic roots, differential trial ansatzes, systems of linear equations, and partial fraction expansions.
- 📐 Symbolic Math Normalization: Powered by
@cortex-js/compute-enginewith AST normalization tolerant of student shorthand, equivalent algebraic groupings, and fractional forms. - 💡 Adaptive Diagnostic Feedback: Real-time syntax checking, multi-tiered hints, and step-specific error classification.
- 📊 Interactive Canvas Visualizers: Dynamic canvas plots for Fourier harmonic series synthesis and continuous-time signal analysis.
- 🔒 100% Client-Side & Private: PWA with IndexedDB persistence—runs entirely in the browser with zero external telemetry, tracking, or network dependencies.
- 📱 Fluid & Accessible: Fully accessible via keyboard (
:focus-visible), with responsive layouts verified down to$320\text{px}$ viewports (WCAG 2.1 Reflow).
| Module | Core Topics & Capabilities | Route |
|---|---|---|
| Differential Equations | Characteristic equation roots, zero-input response ( |
/odes |
| Continuous-Time Convolution | Graphical convolution, sliding window integration, interval partitioning, and composite piece-wise response computation. | /convolution |
| Fourier Series Representation | Trigonometric & compact exponential Fourier series, Dirichlet conditions, line spectra, and harmonic synthesis. | /fourier-series |
| Continuous-Time Fourier Transform | Forward and inverse CTFT, spectral density |
/fourier-transform |
| Laplace Transform & ROC | Unilateral/bilateral Laplace transforms, pole-zero constellations, Region of Convergence ( |
/laplace |
| Analog Circuit Analysis |
|
/circuits |
| Fourier Series Analysis & Live Harmonic Synthesis | Second-Order ODE Response Solver |
|---|---|
![]() |
![]() |
- Node.js
v20.0.0or higher npmv10.0.0or higher
# Clone the repository
git clone <repository-url>
cd "Analog Signal Processing Practice"
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser to start practicing.
- 🛠️ Development & Testing Guide — Contributor setup, dual-runtime Vitest architecture (ADR
0025), Playwright E2E suites, AST math testing, and formatting standards. - 📐 Terminology & Mathematical Standards — Canonical signal processing symbols, operator conventions, and notation rules.
- 🏛️ Architectural Decision Records (ADRs) — Index of 33 ADRs recording foundational design, mathematical engine, and UI decisions.
- 🤖 Workspace Agent Rules — Development guidelines for LaTeX math formatting, component styling, and code quality.
This project is licensed for non-commercial educational use under the PolyForm Noncommercial License 1.0.0.


