# Wiener filter
<!-- MICROSIMGEN:BEGIN v1.7 — generated by g08_place_microsims.py; three.js first (§15); do not hand-edit inside -->
## Microsims — p5.js
### Wiener filter (p5.js) · `optimal LTI`
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/_cAdv-gTc" width="100%" height="480" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Wiener filter — p5.js microsim"></iframe>
</div>
*The linear filter that minimizes mean-square error against a desired signal — optimal denoising for stationary signals.*
**Open in the editor:** [▶ fork this sketch](https://editor.p5js.org/sciencenibber/sketches/_cAdv-gTc) · movement *III · Filters & filter design* · library `p5js`
### Related microsims
Live sims on neighbouring articles — 6 of them inside this article's own Wikipedia link tree:
- [[Autocorrelation]] *(in tree)*
- [[Detection_theory]] *(in tree)*
- [[Digital_image_processing]] *(in tree)*
- [[Estimation_theory]] *(in tree)*
- [[Frequency_response]] *(in tree)*
- [[Kalman_filter]] *(in tree)*
*Sim hosted off-article; the article owns the reference, not the runtime (WIKI_RULES §10.4). Placed by `g08_place_microsims.py`.*
<!-- MICROSIMGEN:END -->
## Links (Wikipedia order)
<!-- injected from _registry/childlinks/Wiener_filter.json (2026-07-30T02:09:12Z) -->
`AV1` · `Ali_H._Sayed` · `Andrey_Kolmogorov` · [[Autocorrelation]] · `Babak_Hassibi` · [[Block_diagram]] · `Causal_system` · `Cross-correlation` · `Deconvolution` · [[Detection_theory]] · [[Digital_image_processing]] · `Discrete_Fourier_transform` · [[Estimation_theory]] · `Filter_(signal_processing)` · `Finite_impulse_response` · [[Frequency_response]] · `Hermitian_matrix` · `Information_field_theory` · [[Kalman_filter]] · `Kriging` · [[Laplace_transform]] · `Least_squares` · `Levinson_recursion` · `Linear_filter` · `Linear_prediction` · `MIT_Press` · `Noise` · `Noise_reduction` · [[Norbert_Wiener]] · `Norman_Levinson` · `Partial_fraction_decomposition` · `Ridge_regression` · [[Signal_processing]] · `Singular_value_decomposition` · `Speech_recognition` · `Stationary_process` · `Stochastic_process` · `Symmetric_matrix` · [[System_identification]] · `Szegő_limit_theorems` · `Thomas_Kailath` · `Toeplitz_matrix` · `Zeros_and_poles`
> Signal Processing concept · part of the Signal Processing Portal · movement III · !24 回路 kairo.svg
<!-- RENDER-THUMB:START -->
!480
*Rendered from the live microsim (▶ motion).*
<!-- RENDER-THUMB:END -->
## See it next
[](Stochastic_filter)
*→ Stochastic filter*
<!-- VISUAL-LINK:END -->
---
Back to Signal Processing Portal · the room · Semiotic gateway
## What it is
The Wiener filter is the linear filter that produces the minimum-mean-squared-error estimate of a desired signal corrupted by additive noise, given the statistics (power spectra) of the signal and noise.
## How it works / why it matters
Assuming stationary random processes, the optimal filter response is determined by the ratio of the signal power spectrum to the total (signal-plus-noise) power spectrum, passing frequencies where signal dominates and attenuating those where noise dominates. It provides the theoretical benchmark for denoising, deconvolution, and prediction. The Kalman filter generalizes the same optimality principle to non-stationary signals in a recursive state-space form.
## Signs & universals
Instantiates: filter signal spectrum
## Related
Stochastic filter · [[Kalman_filter]] · Adaptive filter · Equalization (communications) · Filter (signal processing) · [[Frequency_response]]
<!-- VISUAL-LINK:START -->
<!-- CRAFT-LINK:START g12 -->
*Built to the [[WT!P5_js_Microsim_Master_Class|p5.js Master Class]].*
<!-- CRAFT-LINK:END -->
## Wikipedia : Wikitube
**Strict pair:** [Wikipedia](https://en.wikipedia.org/wiki/Wiener_filter) : [Wikitube](https://en.wikitube.io/wiki/Wiener_filter)
## Previous hub tags
Tree parent: [[Control_theory]].
Legacy hubs: none.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*