Analysis updated 2026-06-24
Plot the spectrum of a custom LaTeX-defined signal in the browser
Demonstrate aliasing or beat frequency from the built-in teaching presets
Compare windowing effects using Hann, Hamming, or Blackman on the same signal
Self-host the static demo on GitHub Pages for a class
| z-yiwei/signal-playground | avacocloud/avaco-deno | doorman11991/budget-aware-mcp | |
|---|---|---|---|
| Stars | 19 | 19 | 19 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | easy |
| Complexity | 3/5 | 3/5 | 3/5 |
| Audience | researcher | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Runs entirely in the browser with no backend, so the only setup is opening the live demo or running Vite locally.
Signal Playground is a browser-based tool for learning and playing with signals and their frequency spectra. It is aimed at students and researchers in electrical engineering and computer science who study topics like signals and systems or digital signal processing. The author points out that most textbooks only show static plots and most online tools either hide the math or hide the controls, so this project tries to sit between those two extremes. There is a live demo hosted on GitHub Pages. The user defines a signal by typing a LaTeX expression such as sin(2 pi 5 t) + e^(-t). The page renders the formula with KaTeX, evaluates it with mathjs, and immediately shows the time-domain signal and the chosen transform. You can switch between continuous signals x(t) and discrete signals x[n], and the list of available transforms filters itself to match. Eleven transforms are built in, including DFT and FFT, DTFT, DFS, DCT-II, DST-I, CTFT, CTFS, STFT, Hilbert, Z-transform, and Laplace. Four window functions are available: rectangular, Hann, Hamming, and Blackman. The interface includes a cheatsheet drawer with definitions, properties, and common transform pairs, plus a card for each transform that shows its math, input requirements, output meaning, and common pitfalls. Each parameter has both a slider for rough control and a numeric textbox for precise values, and the textbox accepts values outside the slider range. Ten teaching presets cover aliasing, beat frequency, square-wave spectra, chirp spectrograms, DCT energy compaction, and similar topics. The project is built with Vite and TypeScript, uses Plotly for the plots and KaTeX for the math, runs entirely in the browser with no backend, and is released under the MIT license.
A browser tool for learning signals and DSP where you type a LaTeX expression and see the time-domain signal plus one of eleven transforms like DFT, STFT, or Laplace.
Mainly TypeScript. The stack also includes TypeScript, Vite, Plotly.
MIT licensed: free to use, modify, and ship commercially as long as the copyright notice stays in the source.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.