<!-- GIFPLATE:BEGIN v1.0 g16 — Commons hotlink; do not hand-edit inside -->
## Images
<figure class="wt-gifplate">
<img src="https://commons.wikimedia.org/wiki/Special:FilePath/Fourier_series_square_wave_circles_animation.gif" alt="Fourier Decomposition" loading="lazy" decoding="async">
<figcaption><strong>Fourier Decomposition</strong> — Watch rotating circles add up to draw a square wave.<br>
<span class="wt-credit">Wikimedia Commons · <strong>licence pending verification</strong> (run <code>g17_gif_verify.py</code> on a networked lane) · <a href="https://commons.wikimedia.org/wiki/File:Fourier_series_square_wave_circles_animation.gif">Details</a></span></figcaption>
</figure>
*Room plate for [[Signal_Processing]]. The interactive builds live below; this is the room's one still-motion establishing shot.*
<!-- GIFPLATE:END -->
The largest single asset in the legacy vault, made a spine: **291 p5.js microsims across 9 movements** and a **24-sim three.js slate** (commissioned, 0 shipped — the gap is the point). Article face: [[Signal_processing]]. Third sibling to [[PORTAL_Acoustics]] (vibration) and [[PORTAL_WT!Thury_Hydrodynamics_Compendium]] (fluids). Index: [[PORTAL_INDEX]].
## Movement I — three.js (build targets, per the spine rule — none shipped yet)
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/4HJeXX2SZ" data-title="Z-transform"></div>
<!-- SECTIONSIMS:END -->
Commissioned worklist, `THREE_JS_SIGNAL_PROCESSING_MICROSIMS.md`: 24 slated, 0 built. Listed here as the honest build-target queue, not as live embeds — the whole point of putting three.js first is that this row is where the gap shows.
| # | Station | Movement | Build note |
|---|---------|----------|------------|
| 1 | `Spectrogram` | I · Time–frequency in relief | the waterfall: time, frequency and power as terrain you fly over. |
| 2 | `Short-time_Fourier_transform` | I · Time–frequency in relief | window length trades time for frequency — watch the blur swap axes. |
| 3 | `Wavelet_transform` | I · Time–frequency in relief | the scalogram surface — zoomed clocks for every frequency band. |
| 4 | `Waterfall_plot` | I · Time–frequency in relief | spectra stacked in time — the RF engineer's rolling landscape. |
| 5 | `Window_function` | I · Time–frequency in relief | each window's leakage skirt rendered as a 3D surface family. |
| 6 | `Spectral_leakage` | I · Time–frequency in relief | truncation smears tones across bins — see the energy escape live. |
| 7 | [[Z-transform]] | II · The s- and z-planes | |H(z)| as a rubber sheet — poles pitch tents, zeros pin it down. |
| 8 | `Pole–zero_plot` | II · The s- and z-planes | drag poles and zeros on the plane; the frequency response follows. |
| + | — | *16 more slated* | Full 24-row slate: `_registry/mint/signal_processing_threejs_slate.tsv`. |
## Movement II — p5.js (live, curated from all 291)
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/tHGSVAofH" data-title="Aliasing"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/8xKJaOCM8" data-title="Analog-to-digital conversion"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/zp4JIHxw4" data-title="Advanced z-transform"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/unax-Mpfn" data-title="Analytic signal"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/dTrXZt86w" data-title="Active filter"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/9VuPGD79-" data-title="Adaptive filter"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/mSUZLEd6C" data-title="Amplitude modulation"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/-MG6jnt4_" data-title="Amplitude-shift keying"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/1vP1OvVoE" data-title="Audio data compression"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/NqmzIIKDU" data-title="Code"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/XAQlBmchK" data-title="Analog feedback shift register"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/nIoKSZZHo" data-title="Automatic control"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/aYSDWi7st" data-title="Antenna array"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/A8CqoVo83" data-title="Antenna gain"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/rX-rWngwr" data-title="Audio signal processing"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/-qz3TPybl" data-title="Charge-coupled device"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/BndGvyoqq" data-title="4-20 mA current loop"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/e8sjc9WX4" data-title="Adjacencymatrix"></div>
</div>
<!-- SECTIONSIMS:END -->
2 stations per movement, drawn from the full ledger (`_registry/mint/signal_processing_p5_ledger.tsv`); fork links live in the source portal.
| # | Station | Movement | Sim (p5.js, /full embed) | Explanatory spine |
|---|---------|----------|---------------------------|--------------------|
| 1 | **Aliasing** | I · Sampling, quantization & data conversion | `https://editor.p5js.org/sciencenibber/full/tHGSVAofH` | Sample too slowly and high frequencies fold back, masquerading as lower ones — the irreversible error every sampler is built to prevent. |
| 2 | **Analog-to-digital conversion** | I · Sampling, quantization & data conversion | `https://editor.p5js.org/sciencenibber/full/8xKJaOCM8` | Turning a continuous voltage into a stream of numbers by sampling in time and quantizing in amplitude — the doorway into DSP. |
| 3 | **Advanced z-transform** | II · Transforms & the frequency domain | `https://editor.p5js.org/sciencenibber/full/zp4JIHxw4` | A z-transform generalized with a delay parameter, handling signals sampled with a fractional time offset. |
| 4 | **Analytic signal** | II · Transforms & the frequency domain | `https://editor.p5js.org/sciencenibber/full/unax-Mpfn` | A complex signal with no negative frequencies, built from a real signal plus j times its Hilbert transform — gives instantaneous amplitud... |
| 5 | **Active filter** | III · Filters & filter design | `https://editor.p5js.org/sciencenibber/full/dTrXZt86w` | A filter built with amplifiers so it can boost as well as block, shaping response without bulky inductors. |
| 6 | **Adaptive filter** | III · Filters & filter design | `https://editor.p5js.org/sciencenibber/full/9VuPGD79-` | A filter that tunes its own coefficients to match changing conditions — the trick behind echo and noise cancelling. |
| 7 | **Amplitude modulation** | IV · Modulation, carriers & keying | `https://editor.p5js.org/sciencenibber/full/mSUZLEd6C` | Encode a message by varying a carrier's amplitude — the oldest broadcast method. |
| 8 | **Amplitude-shift keying** | IV · Modulation, carriers & keying | `https://editor.p5js.org/sciencenibber/full/-MG6jnt4_` | Send digital bits by switching a carrier's amplitude on and off. |
| 9 | **Audio data compression** | V · Coding, compression & communication | `https://editor.p5js.org/sciencenibber/full/1vP1OvVoE` | Shrink audio by discarding sound the ear won't miss — the idea behind MP3 and AAC. |
| 10 | [[Code|Code]] | V · Coding, compression & communication | `https://editor.p5js.org/sciencenibber/full/NqmzIIKDU` | A mapping from information to symbols — the raw material of compression and error protection. |
| 11 | **Analog feedback shift register** | VI · Control theory & estimation | `https://editor.p5js.org/sciencenibber/full/XAQlBmchK` | A shift register with analog feedback that generates pseudo-random or chaotic sequences. |
| 12 | **Automatic control** | VI · Control theory & estimation | `https://editor.p5js.org/sciencenibber/full/nIoKSZZHo` | Making a system regulate itself by feeding its output back to its input — thermostats to autopilots. |
| 13 | **Antenna array** | VII · Antennas, waves & RF propagation | `https://editor.p5js.org/sciencenibber/full/aYSDWi7st` | Many antennas fed together to steer and sharpen a beam electronically — no moving parts. |
| 14 | **Antenna gain** | VII · Antennas, waves & RF propagation | `https://editor.p5js.org/sciencenibber/full/A8CqoVo83` | How strongly an antenna concentrates power in its favored direction versus an ideal isotropic radiator. |
| 15 | **Audio signal processing** | VIII · Imaging, audio & sensors | `https://editor.p5js.org/sciencenibber/full/rX-rWngwr` | The manipulation of sound signals — filtering, effects, compression, and analysis. |
| 16 | **Charge-coupled device** | VIII · Imaging, audio & sensors | `https://editor.p5js.org/sciencenibber/full/-qz3TPybl` | An image sensor that shuttles collected charge packet by packet to be read out — the old workhorse of digital cameras. |
| 17 | **4-20 mA current loop** | IX · Foundations & the rest of the toolbox | `https://editor.p5js.org/sciencenibber/full/BndGvyoqq` | An industrial standard that encodes a sensor reading as a current, immune to voltage drop and easy to fault-check. |
| 18 | [[Adjacency_matrix|Adjacency matrix]] | IX · Foundations & the rest of the toolbox | `https://editor.p5js.org/sciencenibber/full/e8sjc9WX4` | A grid that records which nodes of a graph connect — the algebra behind graph signal processing. |
## The Centers of Excellence — signal-processing crossings
## ⊙ The Center Circle — Space Mining In Minnesota
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/solar/Solar_System.html?obj=Moon&embed=1" data-title="The Moon in the Solar System explorer"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/solar/Solar_System.html?obj=Mars&embed=1" data-title="Mars in the Solar System explorer"></div>
</div>
<!-- SECTIONSIMS:END -->
MTN.org — Troy, Volunteer Director — the ninth, featured center: Earth, the Moon, Mars, and Minnesota are all in space. The house center: not one of the eight, the hub they ring around (legacy precedent: the CoE portal’s own “0 · FEATURED”, kept distinct from “I · The Eight”).
Seismic and radar returns are the prospector's raw signal; every survey plate downstream is a transform of that signal.
**Downstream:** [[Helium-3]] · [[Regolith]] · [[Moon]] · [[Mars]]
## The Eight Centers of Excellence — signal-processing crossings
### 1 · [[WT!Engineering_Center_of_Excellence|Engineering Center of Excellence]] · ring:0
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/acoustics/Wave_equation.html" data-title="Wave equation"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/thury/Fluid_dynamics.html" data-title="Fluid dynamics"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/thury/Reynolds_number.html" data-title="Reynolds number"></div>
</div>
<!-- SECTIONSIMS:END -->
Minnesota State University, Mankato — engineering education and pathways. Every control loop is a signal loop: PID tuning, sensor filtering, and system identification are signal processing wearing an engineer's badge.
**Downstream:** [[Systems_engineering]] · [[Control_theory]] · [[Wave_equation]] · [[Fluid_dynamics]] · [[Reynolds_number]] · [[Reliability_engineering]] · [[Engineering]] · [[Structural_engineering]] · [[Mechanical_engineering]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 2 · [[WT!Advanced_Manufacturing_Center_of_Excellence|Advanced Manufacturing Center of Excellence]] · ring:1
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/thury/Viscosity.html" data-title="Viscosity"></div>
<!-- SECTIONSIMS:END -->
Minnesota State University, Mankato — automation, precision machining, and Industry 4.0. Vibration spectra, machine-vision pipelines, and encoder feedback: the smart factory runs on real-time DSP.
**Downstream:** [[Robotics]] · [[Fluid_dynamics]] · [[Viscosity]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 3 · [[WT!Transportation_Center_of_Excellence|Transportation Center of Excellence]] · ring:2
Dakota County Technical College — automotive, diesel, aviation, and logistics trades. Radar, GPS correction, and CAN-bus telemetry: transportation runs on filtered, sampled, and transformed signals.
**Downstream:** [[Fluid_dynamics]] · [[Reynolds_number]] · [[Logistics]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 4 · [[WT!Energy_Center_of_Excellence|Energy Center of Excellence]] · ring:3
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/matter/Electric_power_transmission.html" data-title="Electric power transmission"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/acoustics/Oscillation.html" data-title="Oscillation"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/matter/Electrical_grid.html" data-title="Electrical grid"></div>
</div>
<!-- SECTIONSIMS:END -->
Minnesota West Community & Technical College — generation, transmission, utilities, and renewables. Phasor measurement units and SCADA telemetry read the grid's health the way a scope reads a waveform — sampled, filtered, transformed.
**Downstream:** [[Energy]] · [[Electric_power_transmission]] · [[Oscillation]] · [[Thermodynamics]] · [[Electrical_grid]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 5 · [[WT!IT_Center_of_Excellence|IT Center of Excellence]] · ring:4
Metropolitan State University — software, networking, data, and cybersecurity. Codecs, compression, and the networking stack are applied signal processing — bits are just heavily quantized signals.
**Downstream:** [[Information_theory]] · [[Algorithm]] · [[Signal_processing]] · [[Fluid_dynamics]] · [[Computer_science]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 6 · [[WT!HealthForce_Center_of_Excellence|HealthForce Center of Excellence]] · ring:5
Winona State University — nursing, allied health, and the clinical pipeline. ECG, EEG, and ultrasound beamforming are clinical signal processing: filter the noise, transform the domain, read the diagnosis.
**Downstream:** [[Medicine]] · [[Viscosity]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 7 · [[WT!Northern_Agricultural_Center_of_Excellence|Northern Agricultural Center of Excellence]] · ring:6
Central Lakes College (AgCentric) — agriculture and agribusiness across the north and central counties. Yield-monitor telemetry and remote-sensing imagery are sampled, filtered signals long before a chart shows a farmer a trend.
**Downstream:** [[Ecology]]
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
### 8 · [[WT!Southern_Agricultural_Center_of_Excellence|Southern Agricultural Center of Excellence]] · ring:7
South Central College — agriculture and agribusiness across the southern counties. Soil-moisture sensor networks and drone multispectral imagery: precision agriculture is a signal-processing pipeline in the field.
**Downstream:** *pending mints*
*All roads lead to [[WT!Space_Mining_In_Minnesota|the Center Circle]] — this station's trades converge back at the house center.*
## Sign system
This spine reads and writes `kanji_radicals` (19 rooms), `circuit_symbols_iec` (18), `acoustic_diagrams` (11), `peirce_sign_classes` (10), `chart_glyph_dictionary` (9), `morse_code` (5) — the densest bridge set of any single room in the legacy vault.
---
*Spine portal, curated (WIKI_RULES §7). Unbuilt links = intentional forward-refs. Assets: 291-sketch p5 ledger (9 movements) + 24-slate three.js build queue. Run plan: `_registry/plans/RUN_PLAN_acoustics_thury_coe.md`.*
<!-- SIMGALLERY:BEGIN v1.0 g13 — generated iframe set; do not hand-edit inside -->
## Play every microsim on this page
<p class="microsim-gallery-note">Every microsim linked from this portal, embedded live. <strong>75 players</strong> — 19 threejs · 56 p5js. 2 are staged but not yet deployed and show as placeholders.</p>
<ul class="microsim-gallery">
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/polytope4d.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Four-dimensional polytopes — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Four-dimensional polytopes</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/polytope4d.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Three.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Klein_bottle.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Klein bottle — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Klein bottle</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Klein_bottle.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Three.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Platonic_solid.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Platonic solids — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Platonic solids</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Platonic_solid.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Three_js_Microsim_Master_Class">Three.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Reliability_engineering.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Reliability engineering — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Reliability_engineering">Reliability engineering</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Reliability_engineering.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Reynolds_number.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Reynolds number — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Reynolds_number">Reynolds number</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Reynolds_number.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Structural_engineering.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Structural engineering — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Structural_engineering">Structural engineering</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Structural_engineering.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Viscosity.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Viscosity — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Viscosity">Viscosity</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Viscosity.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/Rnmcsvwbo" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Advanced Manufacturing Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Advanced Manufacturing Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/Rnmcsvwbo" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/YQ1jdugGs" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Advanced Manufacturing Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Advanced Manufacturing Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/YQ1jdugGs" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!HealthForce_Center_of_Excellence">HealthForce Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/tqkls7TH0" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Advanced Manufacturing Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Advanced Manufacturing Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/tqkls7TH0" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/DtAoGXBbj" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Control theory (p5.js) — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Control_theory">Control theory (p5.js)</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/DtAoGXBbj" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/Control_theory">Control theory</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/xsQloH63c" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Electric power transmission — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Electric_power_transmission">Electric power transmission</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/xsQloH63c" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/o-KZ5R9hV" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Electrical grid — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Electrical_grid">Electrical grid</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/o-KZ5R9hV" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/CN9h2kEA0" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Energy Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/CN9h2kEA0" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/FrVY75N0P" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Energy Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/FrVY75N0P" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/XyMhYXxqj" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Energy Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/XyMhYXxqj" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/90jeLsBsW" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Engineering Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Engineering Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/90jeLsBsW" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!P5_js_Microsim_Master_Class">p5.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/LrZ3_kDcz" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Engineering Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Engineering Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/LrZ3_kDcz" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/suggb6pQy" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Engineering Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Engineering Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/suggb6pQy" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a>, <a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Transportation Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/sevFmMxGw" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Fluid dynamics — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Fluid_dynamics">Fluid dynamics</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/sevFmMxGw" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/EKxWMazJF" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="HealthForce Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!HealthForce_Center_of_Excellence">HealthForce Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/EKxWMazJF" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/lmVzpqGH4" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="HealthForce Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!HealthForce_Center_of_Excellence">HealthForce Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/lmVzpqGH4" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!Northern_Agricultural_Center_of_Excellence">Northern Agricultural Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/clpT03_2G" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Helium-3 — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Helium-3">Helium-3</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/clpT03_2G" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/HVNGd9nMv" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Histogram — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!P5_js_Microsim_Master_Class">Histogram</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/HVNGd9nMv" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!P5_js_Microsim_Master_Class">p5.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/byCRgwg34" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Information theory — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Information_theory">Information theory</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/byCRgwg34" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/MFFPM7AEH" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Information theory (p5.js) — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Information_theory">Information theory (p5.js)</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/MFFPM7AEH" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/Information_theory">Information theory</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/87KvqaOYZ" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="IT Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">IT Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/87KvqaOYZ" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/jDSVr9k4y" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="IT Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">IT Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/jDSVr9k4y" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/pQPM1m6eN" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="IT Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">IT Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/pQPM1m6eN" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/p472uEZ32" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Mars — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Mars">Mars</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/p472uEZ32" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/7S176uP2p" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Northern Agricultural Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Northern_Agricultural_Center_of_Excellence">Northern Agricultural Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/7S176uP2p" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/mdgpEb9UH" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Northern Agricultural Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Northern_Agricultural_Center_of_Excellence">Northern Agricultural Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/mdgpEb9UH" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/Q21EyK7NF" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Oscillation — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Oscillation">Oscillation</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/Q21EyK7NF" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/7nc6jHf-e" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Reynolds number — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Reynolds_number">Reynolds number</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/7nc6jHf-e" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/-MG6jnt4_" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/-MG6jnt4_" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/-qz3TPybl" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/-qz3TPybl" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/1vP1OvVoE" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/1vP1OvVoE" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/8xKJaOCM8" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/8xKJaOCM8" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/9VuPGD79-" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/9VuPGD79-" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/A8CqoVo83" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/A8CqoVo83" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/BndGvyoqq" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/BndGvyoqq" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/NqmzIIKDU" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/NqmzIIKDU" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/XAQlBmchK" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/XAQlBmchK" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/aYSDWi7st" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/aYSDWi7st" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/dTrXZt86w" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/dTrXZt86w" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/e8sjc9WX4" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/e8sjc9WX4" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/mSUZLEd6C" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/mSUZLEd6C" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/nIoKSZZHo" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/nIoKSZZHo" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/rX-rWngwr" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/rX-rWngwr" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/tHGSVAofH" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/tHGSVAofH" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/WT!P5_js_Microsim_Master_Class">p5.js Microsim Master Class</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/unax-Mpfn" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/unax-Mpfn" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/zp4JIHxw4" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Signal processing — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Signal_processing">Signal processing</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/zp4JIHxw4" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/gECvsn3vl" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Southern Agricultural Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Southern_Agricultural_Center_of_Excellence">Southern Agricultural Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/gECvsn3vl" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/o-xhfXiSJ" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Southern Agricultural Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Southern_Agricultural_Center_of_Excellence">Southern Agricultural Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/o-xhfXiSJ" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/pC6Yt_OQu" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Southern Agricultural Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Southern_Agricultural_Center_of_Excellence">Southern Agricultural Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/pC6Yt_OQu" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/7nmV7CQZc" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Space Mining In Minnesota — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/7nmV7CQZc" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/jQW91Jdyf" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Space Mining In Minnesota — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/jQW91Jdyf" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/f_RKf1JL_" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Structural engineering — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Structural_engineering">Structural engineering</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/f_RKf1JL_" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/8AMqqIG1_" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Transportation Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Transportation Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/8AMqqIG1_" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/YWAQ06VnR" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Transportation Center of Excellence — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Transportation Center of Excellence</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/YWAQ06VnR" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/LGnSl67W_" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Viscosity — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Viscosity">Viscosity</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/LGnSl67W_" target="_blank" rel="noopener">open in the p5 editor</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/rGvUcgG8H" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Wave equation (p5.js) — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Wave_equation">Wave equation (p5.js)</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/rGvUcgG8H" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/Wave_equation">Wave equation</a></div></div>
</li>
<li class="microsim-card" data-lib="p5js">
<iframe src="https://editor.p5js.org/sciencenibber/full/4HJeXX2SZ" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Z-transform (p5.js) — p5js microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Z-transform">Z-transform (p5.js)</a></div><div class="ms-sub">p5js · <a href="https://editor.p5js.org/sciencenibber/full/4HJeXX2SZ" target="_blank" rel="noopener">open in the p5 editor</a> · on <a href="https://en.wikitube.io/wiki/Z-transform">Z-transform</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Deep_inelastic_scattering.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Deep inelastic scattering — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">Deep inelastic scattering</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Deep_inelastic_scattering.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">IT Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Ecology.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Ecology — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Ecology">Ecology</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Ecology.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card is-pending" data-lib="threejs">
<div class="ms-placeholder">Staged, not yet deployed — <code>Eddy_(fluid_dynamics).html</code></div>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Eddy (fluid dynamics)</a></div><div class="ms-sub">threejs · awaiting CDN deploy · on <a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Transportation Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Southern_Agricultural_Center_of_Excellence">Southern Agricultural Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Energy_conservation.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Energy conservation — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy conservation</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Energy_conservation.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Geophysical_fluid_dynamics.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Geophysical fluid dynamics — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Geophysical fluid dynamics</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Geophysical_fluid_dynamics.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a>, <a href="https://en.wikitube.io/wiki/WT!IT_Center_of_Excellence">IT Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Northern_Agricultural_Center_of_Excellence">Northern Agricultural Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Gravitational_wave.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Gravitational wave — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Gravitational wave</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Gravitational_wave.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Transportation_Center_of_Excellence">Transportation Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Southern_Agricultural_Center_of_Excellence">Southern Agricultural Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Helium-3.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Helium-3 — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/Helium-3">Helium-3</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Helium-3.html" target="_blank" rel="noopener">open full-screen</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Hydrodynamics.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Hydrodynamics — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Hydrodynamics</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Hydrodynamics.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Engineering Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!HealthForce_Center_of_Excellence">HealthForce Center of Excellence</a></div></div>
</li>
<li class="microsim-card is-pending" data-lib="threejs">
<div class="ms-placeholder">Staged, not yet deployed — <code>Moiré_pattern.html</code></div>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Moiré pattern</a></div><div class="ms-sub">threejs · awaiting CDN deploy · on <a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Advanced Manufacturing Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Porous_medium.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Porous medium — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Porous medium</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Porous_medium.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a>, <a href="https://en.wikitube.io/wiki/WT!Advanced_Manufacturing_Center_of_Excellence">Advanced Manufacturing Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/S_wave.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="S wave — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">S wave</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/S_wave.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Engineering_Center_of_Excellence">Engineering Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Space_Mining_In_Minnesota">Space Mining In Minnesota</a>, <a href="https://en.wikitube.io/wiki/WT!HealthForce_Center_of_Excellence">HealthForce Center of Excellence</a>, <a href="https://en.wikitube.io/wiki/WT!Northern_Agricultural_Center_of_Excellence">Northern Agricultural Center of Excellence</a></div></div>
</li>
<li class="microsim-card" data-lib="threejs">
<iframe src="https://wikitube-3d-microsims.netlify.app/Vapour_pressure_of_water.html" loading="lazy" frameborder="0" sandbox="allow-scripts allow-same-origin" title="Vapour pressure of water — threejs microsim"></iframe>
<div class="ms-meta"><div class="ms-title"><a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Vapour pressure of water</a></div><div class="ms-sub">threejs · <a href="https://wikitube-3d-microsims.netlify.app/Vapour_pressure_of_water.html" target="_blank" rel="noopener">open full-screen</a> · on <a href="https://en.wikitube.io/wiki/WT!Energy_Center_of_Excellence">Energy Center of Excellence</a></div></div>
</li>
</ul>
<!-- SIMGALLERY:END -->
<!-- CRAFT-LINK:START g12 -->
**Craft standard:** Both craft standards apply here — [[WT!Three_js_Microsim_Master_Class|three.js]] and [[WT!P5_js_Microsim_Master_Class|p5.js]].
<!-- CRAFT-LINK:END -->
<!-- WT:REPOP 2026-09-19 begin -->
## Stations · added 2026-09-19
All 24 of Movement I's commissioned three.js sims have now been built and passed the gate; the table above stays exactly as `g07_signal_processing.py` owns it. What follows is the explanatory spine that table never had — one station per sim, written from each sim's own spec, in prose rather than a build-note fragment. The first six continue the table's own "Time–frequency in relief" and "s- and z-plane" groupings; the rest gather into the shapes that came into focus once all 24 specs were read side by side.
### Time–frequency in relief
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/A35AoTZqD" data-title="Uncertainty principle"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/flight/Radar.html" data-title="Radar"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/M8gNVn6hH" data-title="Filter design"></div>
</div>
<!-- SECTIONSIMS:END -->
Six ways of asking the same question — where in time did a frequency happen — from a full terrain down to the single window shape that makes any of the terrain readable.
**[[Spectrogram]].** A spectrogram turns a signal's changing frequency content into a landscape: frequency and time form the ground plane, and power in decibels is the height. Six built-in test signals carve distinct silhouettes on that terrain — a chirp rises as a diagonal ridge, a steady tone runs straight back, and a sharp click stands as a wall crossing every frequency at once. The window-length control is the whole lesson in one slider: shortening it sharpens the click into a knife-edge but blurs two close tones into a single broad hill, and lengthening it does the reverse.
*Try:* Switch the signal to `twotone` and slide the window power from 6 to 10 — watch the two close ridges merge into one hill, then pull apart as the window (and its bin width df) grows.
Connects to: [[Short-time_Fourier_transform|Short-time Fourier transform]] · [[Waterfall_plot|Waterfall plot]] · [[Window_function|Window function]]
**[[Short-time_Fourier_transform|Short-time Fourier transform]].** The STFT is the spectrogram's engine, isolated: slide one window along the signal and take one spectrum at a time. This station pins a single frame — a box sliding along a tone that hops between four frequencies every quarter second — and stands that frame's own spectrum up on a board behind the full terrain, so the trade a spectrogram usually hides becomes visible: a short window catches each hop cleanly but spreads the tone into a wide hill, a long window narrows the tone to a sharp line but smears the hop into a ramp.
*Try:* Drag the time slider across a hop instant and watch the frame's spectrum show two peaks at once, then read sig_t·sig_f — the product never drops below the Gabor bound, however the window is split.
Connects to: [[Spectrogram]] · [[Wavelet_transform|Wavelet transform]] · [[Uncertainty_principle]]
**[[Wavelet_transform|Wavelet transform]].** Where the spectrogram's window stays a fixed length in seconds, a wavelet transform stretches or compresses its analysis pulse so every one spans the same number of cycles — constant Q. The scalogram this produces plots frequency on a log, octave axis, and a single click becomes a flame: a hairline at high frequency that widens sharply toward the bass, since a low-frequency wavelet needs many more seconds to complete the same fixed cycle count.
*Try:* Raise w0 from 3 toward 12 and watch every ridge narrow in frequency while the click's flame widens at every frequency in step — the same time/frequency trade the STFT station shows for one fixed window, now playing out separately at each frequency.
Connects to: [[Short-time_Fourier_transform|Short-time Fourier transform]] · [[Spectrogram]] · [[Filter_bank|Filter bank]]
**[[Waterfall_plot|Waterfall plot]].** A waterfall plot is the spectrogram's older, cheaper cousin: instead of a continuous colored terrain, it draws a stack of individual spectra as hidden-line ridge curves receding into the screen, each one a snapshot at one moment. A steady chirp becomes a diagonal mountain range and two close tones become a pair of straight ridges — and the station's sharpest lesson is that a click only shows up if one of the finitely many drawn lines happens to land on it; an unlucky spacing can let it fall between two frames and vanish entirely.
*Try:* Leave the signal on `click` and nudge the line count up and down — watch the single standing ridge disappear when the click falls between two sampled frames, then reappear.
Connects to: [[Spectrogram]] · [[Short-time_Fourier_transform|Short-time Fourier transform]] · [[Radar]]
**[[Window_function|Window function]].** Every windowing choice a spectrogram or FFT makes trades two numbers against each other: how narrow the main lobe is (frequency resolution) against how far down the side lobes sit (how much a strong nearby tone leaks into other bins). This station lines up eight standard windows, rectangular through Blackman-Harris to a tunable Kaiser, so one can glow among the other seven receding into the screen, each paired with its own measured main-lobe width, side-lobe level, scalloping loss and coherent gain.
*Try:* Switch from `rect` to `blackmanharris` and watch the side-lobe readout fall from about -13 dB to -92 dB while the main-lobe width more than triples, then try `kaiser` and slide beta to land anywhere between those two extremes.
Connects to: [[Spectral_leakage|Spectral leakage]] · [[Short-time_Fourier_transform|Short-time Fourier transform]] · [[Filter_design|Filter design]]
**[[Spectral_leakage|Spectral leakage]].** A discrete Fourier transform only truly resolves frequencies that land on an exact bin; nudge a tone even slightly off a bin center and its energy leaks sideways into every neighboring bin. This station slides one tone between two bin centers and shows both halves of the story at once — the bar chart of DFT output straying below the smooth theoretical curve it is sampling, and, beside it, the windowed time record visibly failing to complete a whole number of cycles inside its own envelope, which is exactly the discontinuity the DFT's implicit periodicity assumes away.
*Try:* Park k0 exactly on a bin (an integer) and watch every other bar read zero, then slide it to the half-bin worst case and watch the peak read low while energy leaks out to the display floor.
Connects to: [[Window_function|Window function]] · [[Discrete_Fourier_transform|Discrete Fourier transform]] · [[Short-time_Fourier_transform|Short-time Fourier transform]]
### The s- and z-planes
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/Ee-7lj8cw" data-title="Transfer function"></div>
<!-- SECTIONSIMS:END -->
Where the terrain above comes from underneath: place a filter's poles and zeros on the complex plane, and every curve a designer draws — magnitude, phase, step response — falls out of their geometry alone.
**[[Z-transform]].** The Z-transform turns a discrete filter's difference equation into a function of a complex variable z, and this station makes that function tangible: drag a conjugate pole pair and a conjugate zero pair around the z-plane and watch |H(z)| rise as a rubber sheet, pitched into a tent wherever a pole sits and pinned flat to the floor wherever a zero sits. Because the filter's actual frequency response is just this sheet's height read around the unit circle, that ring is unrolled on a panel to the right as the ordinary magnitude curve — and turns red the instant a pole reaches or crosses it, the geometric picture of instability.
*Try:* Push the pole radius rp past 1.0 and watch the ring flip red — the impulse response stops decaying the moment the pole steps outside the unit circle.
Connects to: [[Pole–zero_plot|Pole–zero plot]] · [[Transfer_function|Transfer function]] · [[Infinite_impulse_response|Infinite impulse response]]
**[[Pole–zero_plot|Pole–zero plot]].** This station distills the Z-transform's rubber sheet into the map engineers actually draw: poles and zeros as points on the z-plane, and a single evaluation point riding around the unit circle. The gain at that point is nothing more than the product of its distances to every zero divided by the product of its distances to every pole — a spider of measuring lines drawn live — and sliding the point around the circle traces out the magnitude, phase and impulse response on the panels beside it.
*Try:* Slide w0 until the evaluation point sits exactly on a zero and watch |H| drop to exactly zero while the phase jumps 180 degrees, then slide it near a pole instead and watch the shrinking distance push the gain up into a sharp resonance.
Connects to: [[Z-transform]] · [[Root_locus_analysis|Root locus analysis]] · [[Transfer_function|Transfer function]]
**[[Bode_plot|Bode plot]].** A Bode plot exploits a convenient property of log-log axes: a system built from simple poles and gains draws as a sum of straight-line segments, one per corner frequency, that can be sketched by hand before any exact curve is computed. This station lays those honest asymptotes underneath the exact magnitude and phase curves for a type-1 control loop, an RC low-pass, or a tunable second-order resonance, and marks the two numbers a control engineer actually watches: gain margin, the headroom to 0 dB where the phase hits -180°, and phase margin, the headroom to -180° where the magnitude hits 0 dB.
*Try:* Raise gain K on the type-1 loop toward its ultimate value and watch the gain-margin readout shrink toward 0 dB, then push past it and watch the phase margin go negative.
Connects to: [[Nyquist_stability_criterion|Nyquist stability criterion]] · [[Transfer_function|Transfer function]] · [[Root_locus_analysis|Root locus analysis]]
**[[Transfer_function|Transfer function]].** A single second-order transfer function carries all of a system's behavior, and this station renders the same handful of numbers — damping ratio, natural frequency, an optional zero — three ways at once: a conjugate pole pair moving on the s-plane, a Bode magnitude and phase curve reshaping around it, and the step or impulse response that pole pair actually produces. Switching between low-pass, band-pass, high-pass and notch forms shows how moving only the zeros, poles untouched, changes which part of the spectrum survives.
*Try:* Lower zeta from 1 toward 0.05 and watch the pole pair swing off the real axis onto a circle of radius wn while the step response's overshoot readout climbs and a resonant peak grows in the Bode curve.
Connects to: [[Bode_plot|Bode plot]] · [[Pole–zero_plot|Pole–zero plot]] · [[Root_locus_analysis|Root locus analysis]]
### Control theory: stability and estimation
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/CHkjVQYrl" data-title="Kalman filter"></div>
<div class="wt-sim" data-src="https://wikitube-3d-microsims.netlify.app/Synchronization.html" data-title="Synchronization"></div>
</div>
<!-- SECTIONSIMS:END -->
The pole-and-zero geometry put to work: deciding whether a feedback loop stays stable, and squeezing a clean estimate out of a target that only reports itself in noise.
**[[Nyquist_stability_criterion|Nyquist stability criterion]].** The Nyquist criterion answers a closed-loop stability question without ever computing the closed-loop poles directly: trace the open-loop response around a contour enclosing the entire right half-plane, count how many times that locus winds clockwise around the point -1, and add the number of unstable open-loop poles — the sum, Z, is the number of unstable closed-loop poles. This station draws that locus live for three plants, including one that starts open-loop unstable, and turns the encirclement count into a plain verdict, checked against the closed-loop step response actually settling or blowing up.
*Try:* Pick the plant with a right-half-plane pole, `K(s+1)/(s(s-1))`, and raise K until the locus wraps -1 once counter-clockwise — the one encirclement that cancels the unstable pole and brings Z back to zero.
Connects to: [[Bode_plot|Bode plot]] · [[Root_locus_analysis|Root locus analysis]] · [[Control_theory|Control theory]]
**[[Root_locus_analysis|Root locus analysis]].** Root locus analysis plots where a system's closed-loop poles actually travel as one gain is turned up from zero to infinity, along fixed branches that start at the open-loop poles and end at the open-loop zeros or run off to infinity along asymptotes. This station slides that gain live for three plants, showing two real poles meet at a breakaway point and peel off the real axis into a complex pair, or a pole cross clean into the right half-plane, with the step response panel confirming each transition as ringing, then outright instability.
*Try:* Turn on the constant-damping rays and slide K until the complex pole pair crosses one — that is the gain at which the step response's overshoot hits the percentage that ray represents.
Connects to: [[Nyquist_stability_criterion|Nyquist stability criterion]] · [[Pole–zero_plot|Pole–zero plot]] · [[Bode_plot|Bode plot]]
**[[Kalman_filter|Kalman filter]].** A Kalman filter alternates two steps forever: predict where a moving target should be next from its own model of motion, then correct that guess against the newest noisy measurement, shrinking its uncertainty each time a measurement lands. This station tracks a hidden looping path from position fixes alone, drawing the running estimate as a trail, the current confidence as a breathing ring, and a tube behind it that stacks that same ring through the last twelve seconds — so a sudden bulge in the tube marks exactly the moment, a sensor dropout, an unexpected turn, that the filter was least sure of itself.
*Try:* Turn on dropout and watch the tube balloon outward every time the sensor goes dark for two seconds, then snap thin again the instant the first fix after the gap arrives.
Connects to: [[Particle_filter|Particle filter]] · [[Adaptive_filter|Adaptive filter]] · [[Phase-locked_loop|Phase-locked loop]]
**[[Particle_filter|Particle filter]].** Where a Kalman filter tracks one estimate and one uncertainty ellipse, a particle filter tracks a whole cloud of competing hypotheses at once, each a candidate position, and lets the evidence vote: particles near the ring of positions consistent with the latest sensor reading brighten, the rest fade and are eventually resampled away. Because this station's sensor reports only distance from a single point, not direction, the belief that survives is a banana-shaped arc rather than a tidy ellipse — a shape a Kalman filter's Gaussian assumption cannot represent at all.
*Try:* Drop the resample threshold to 0 and watch Neff collapse as weight piles onto fewer and fewer particles, then raise the threshold back and watch the cloud recover its spread.
Connects to: [[Kalman_filter|Kalman filter]] · [[Monte_Carlo_method|Monte Carlo method]] · [[Robotics]]
**[[Phase-locked_loop|Phase-locked loop]].** A phase-locked loop drives a local oscillator's phase to match an incoming reference by feeding their difference back as a correction, and this station makes the chase visible as two spinning phasors, reference and voltage-controlled oscillator, held side by side with the gap between them drawn as a closing wedge. Step the input frequency and watch the wedge open, then collapse to zero as the oscillator's own frequency slews up onto the new target — a well-tuned loop leaves no residual phase error at all, while too low a damping ratio rings past the target and too large a step can make the loop lose whole cycles before it recovers.
*Try:* Push the frequency step df far past the pull-in readout for the current fn and zeta, hit step, and count the cycle slips before the loop finally recaptures.
Connects to: [[Kalman_filter|Kalman filter]] · [[Synchronization]] · [[Frequency_modulation|Frequency modulation]]
### Filters in practice
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/_cAdv-gTc" data-title="Wiener filter"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/GIqO0gnR1" data-title="Autocorrelation"></div>
</div>
<!-- SECTIONSIMS:END -->
Three ways a filter earns its keep beyond a fixed passband: splitting one spectrum into channels, tuning its own coefficients while it runs, and picking a known pulse back out of noise.
**[[Filter_bank|Filter bank]].** A filter bank is a graphic equalizer generalized into an analysis tool: split one spectrum into several narrower channels so each can be examined, boosted or coded on its own, then recombine all the channels and check that the round trip lost nothing — perfect reconstruction. This station builds a bank of cosine-modulated bandpass channels from a single lowpass prototype, glows the input spectrum in front of the ribbons the channels carve out, and draws the summed channel power behind everything, where a flat gold line means the split-and-recombine trip was clean.
*Try:* Drop taps down near 4 and watch the gold reconstruction sum ripple visibly, then raise it past 12 and watch that ripple flatten as the channels tighten toward their nominal -6 dB crossover.
Connects to: [[Short-time_Fourier_transform|Short-time Fourier transform]] · [[Window_function|Window function]] · [[Wavelet_transform|Wavelet transform]]
**[[Adaptive_filter|Adaptive filter]].** An adaptive filter tunes its own coefficients while it runs, and the LMS algorithm does it by descending a bowl-shaped error surface one small, noisy step at a time. This station draws that bowl in three dimensions for a two-tap filter chasing an unknown plant, with a trajectory sliding from the origin toward a pin marking the exact Wiener solution — the step size mu trades convergence speed against how much the trajectory jitters once it arrives, and correlating the input stretches the bowl into a narrow valley that plain LMS zig-zags down instead of crossing directly.
*Try:* Push input correlation rho above 0.7 and switch to the top-down view — watch the bowl stretch into a narrow valley and the trajectory zig-zag along it — then turn on NLMS and watch the same mu stop diverging.
Connects to: [[Kalman_filter|Kalman filter]] · [[Wiener_filter|Wiener filter]] · [[Active_noise_control|Active noise control]]
**[[Matched_filter|Matched filter]].** A matched filter is the provably optimal way to find a known pulse buried in noise: correlate the received record against a copy of the pulse itself, and no other linear filter gives a better output signal-to-noise ratio. This station buries a rectangular pulse, a linear-FM chirp or a Barker code in noise deep enough to hide the pulse in the raw record, then shows the correlator output resolve into a clean peak — and shows that a chirp's swept frequency buys pulse compression, a narrow peak and hence fine range resolution, without raising the transmitted peak power at all.
*Try:* Switch to `chirp` and raise the time-bandwidth product BT from 1 toward 100 — watch the compressed output peak narrow sharply while the processing-gain readout barely moves.
Connects to: [[Ambiguity_function|Ambiguity function]] · [[Autocorrelation]] · [[Radar]]
### Communications and detection
<!-- SECTIONSIMS:BEGIN g34 2026-09-19 - microsims the articles linked here play; generated by _tools/generate/g34_portal_section_sims.py; do not hand-edit inside -->
*Microsims from the articles this section links:*
<div class="wt-simrow">
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/q_kzHjs2s" data-title="Noise (electronics)"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/syiqSjPjp" data-title="Quantization (signal processing)"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/0oY-PU-2T" data-title="Sampling (signal processing)"></div>
<div class="wt-sim" data-src="https://editor.p5js.org/sciencenibber/full/PEDdM5a-k" data-title="Convolution"></div>
</div>
<!-- SECTIONSIMS:END -->
Six stations on what happens once a signal has to travel, get rounded to a finite number of bits, or get found again on the other end.
**[[Ambiguity_function|Ambiguity function]].** The ambiguity function is the matched filter's report card for a moving target: it shows how well a given pulse shape can separate range (delay) from velocity (Doppler shift) at once, as a single surface over both dimensions. A plain rectangular pulse gives a broad "thumbtack" that resolves neither well; a linear-FM chirp instead tilts its whole ridge diagonally, coupling the two so tightly that an unmeasured Doppler shift on a moving target reads straight back out as a range error.
*Try:* Switch from `rect` to `LFM` and raise BT — watch the flat thumbtack tilt into a knife-edge ridge, then read how much steeper the ridge slope becomes.
Connects to: [[Matched_filter|Matched filter]] · [[Radar]] · [[Uncertainty_principle|Uncertainty principle]]
**[[Constellation_diagram|Constellation diagram]].** A constellation diagram plots a digital signal's in-phase and quadrature components as points, one per symbol shape; noise turns each ideal point into a cloud, and a receiver's whole job is deciding which cloud a noisy landing belongs to. This station raises those clouds as hills over the I/Q plane for six modulations from BPSK to 64QAM, scatters 1500 actual noisy symbol draws across the terrain in green for correct and red for wrong, and marks the resulting error rate against the theoretical bit-error-rate curve on a panel beside it.
*Try:* Switch to `64QAM`, dial Eb/N0 down toward 0 dB, and watch red dots multiply as the hills widen enough to spill across their neighbors' decision boundaries.
Connects to: [[Eye_pattern|Eye pattern]] · [[Phase-shift_keying|Phase-shift keying]] · [[Amplitude-shift_keying|Amplitude-shift keying]]
**[[Eye_pattern|Eye pattern]].** An eye pattern comes from slicing a digital line signal into two-symbol windows and overlaying hundreds of them on top of each other: a clean channel leaves a wide open diamond in the middle, and every impairment — noise, timing jitter, a reflected echo — closes it from a different direction. This station overlays 120 such slices of a raised-cosine pulse train and reads off the eye's actual height, width and Q factor at the sampling instant, the same numbers a receiver's own margin depends on.
*Try:* Leave noise and jitter low and slide echo up from 0 toward 0.5 — watch the eye split into two bands vertically while the width readout barely moves, since an echo closes the eye differently than jitter does.
Connects to: [[Constellation_diagram|Constellation diagram]] · [[Phase-locked_loop|Phase-locked loop]] · [[Noise_(electronics)|Noise (electronics)]]
**[[Quantization_(signal_processing)|Quantization]].** Quantization is the step every analog-to-digital converter takes, rounding a continuous amplitude onto a fixed grid of levels, an act that always leaves an error signal behind. This station draws that staircase and its error trace directly above a sine wave, and lets the spectrum below settle onto, or without dither break away from, the classic 6.02-dB-per-bit noise-floor rule — an undithered rounding error tracks the signal itself and shows up as spiky harmonics rather than flat noise.
*Try:* Drop bits to 4 with dither off and watch discrete harmonic spikes rise out of the spectrum, then switch dither on and watch those spikes dissolve into a flatter, slightly higher noise floor.
Connects to: [[Delta-sigma_modulation|Delta-sigma modulation]] · [[Analog-to-digital_converter|Analog-to-digital converter]] · [[Sampling_(signal_processing)|Sampling]]
**[[Delta-sigma_modulation|Delta-sigma modulation]].** Delta-sigma modulation gets high precision out of a single one-bit quantizer by running it far faster than necessary and shaping its error so most of it lands above the signal band, where a final low-pass decimation filter can discard it. This station runs that one-bit loop live at first or second order, plots the shaped-noise spectrum climbing toward Nyquist as it should, and checks the decimated output's measured in-band SQNR against the textbook white-noise prediction — including the cases, a slow first-order loop parked on a near-periodic tone, where that idealized theory visibly misses.
*Try:* Switch order from 1 to 2 and raise the oversampling ratio a few steps — watch the measured SQNR climb faster per doubling of OSR than the first-order loop ever manages.
Connects to: [[Quantization_(signal_processing)|Quantization]] · [[Oversampling]] · [[Negative_feedback|Negative feedback]]
**[[Cepstrum]].** The cepstrum runs a signal's spectrum through a second transform of its own logarithm, and that step turns a convolution in time — an echo, or a voice's pitch pulses ringing through its vocal-tract resonances — into addition in the log spectrum, so a further transform collapses the added ripple into one clean peak at the delay or pitch period that caused it. This station switches between a plain echo and a synthetic vowel built from three formants, and lets the cepstrum be "liftered" — cut — to separate the slow-varying envelope, formants or an echo's gain, from the fast ripple, the pitch or the delay itself, that produced it.
*Try:* In `voice` mode, slide f0 across its 80–300 Hz range and watch the high-quefrency peak track it exactly, reading back out as an implied pitch in the delay/pitch readout.
Connects to: [[Spectrogram]] · [[Autocorrelation]] · [[Convolution]]
<!-- WT:REPOP 2026-09-19 end -->
---
*Repopulated 2026-09-19 · append-only · source: _tools/generate/g34_portal_section_sims.py@00a28cb2 (players of the linked articles, each URL 200-checked) · 199 added · 0 deletions*