# Error detection and correction
<!-- MICROSIMGEN:BEGIN v1.7 — generated by g08_place_microsims.py; three.js first (§15); do not hand-edit inside -->
## Microsims — p5.js
### Error detection and correction (p5.js) · `ECC`
<div class="microsim-player">
<iframe src="https://editor.p5js.org/sciencenibber/full/AVV6ET_Nk" width="100%" height="480" frameborder="0" loading="lazy" sandbox="allow-scripts allow-same-origin" title="Error detection and correction — p5.js microsim"></iframe>
</div>
*The joint art of noticing and repairing transmission errors — what keeps deep-space and disk data intact.*
**Open in the editor:** [▶ fork this sketch](https://editor.p5js.org/sciencenibber/sketches/AVV6ET_Nk) · movement *V · Coding, compression & communication* · library `p5js`
### Related microsims
Live sims on neighbouring articles — 4 of them inside this article's own Wikipedia link tree:
- [[Communication_channel]] *(in tree)*
- [[Information_theory]] *(in tree)*
- [[Noise_(electronics)]] *(in tree)*
- [[Signal-to-noise_ratio]] *(in tree)*
- [[Data_compression]]
- [[Image_compression]]
*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/Error_detection_and_correction.json (2026-07-30T02:09:12Z) -->
`ARQ-E` · `ARQ-M` · `Automatic_repeat_request` · `Backchannel` · `Backward_channel` · `Berger_code` · `Binary_Golay_code` · `Block_(telecommunications)` · `Block_code` · `Btrfs` · `Burst_error` · `Burst_error-correcting_code` · `Cambridge_University_Press` · `Cellular_network` · `Channel_capacity` · `Check_digit` · `Checksum` · [[Claude_Shannon]] · `Code_rate` · `Coding_theory` · [[Communication_channel]] · `Compact_disc` · `Computer_network` · [[Computer_science]] · `Consultative_Committee_for_Space_Data_Systems` · `Convolutional_code` · `Copyist` · `Cosmic_ray` · `Cryptographic_hash_function` · `Cyclic_redundancy_check` · `Damm_algorithm` · `Data_integrity` · `Data_scrubbing` · `Dead_Sea_Scrolls` · `Digital_data` · `Digital_signature` · `Dividend` · `Divisor` · `Dynamic_random-access_memory` · `ECC_memory` · `Error_correction_code` · `Ethernet_frame` · `Exception_handling` · `Fiber-optic_communication` · `File_format` · `Finite_field` · `Flash_memory` · `Gaussian_function` · `Go-Back-N_ARQ` · `Group_coded_recording` · `Hamming_code` · `Hamming_distance` · `Hash_function` · `Hebrew_Bible` · `High-definition_television` · `Hybrid_automatic_repeat_request` · `IPv4` · `IPv6` · [[Information_theory]] · [[Jupiter]] · `Kernel.org` · `Link_adaptation` · `Link_layer` · `Linux_Magazine` · `Linux_kernel` · `List_of_algorithms` · `List_of_hash_functions` · `Longitudinal_redundancy_check` · `Low-density_parity-check_code` · `Luhn_algorithm` · `Marcel_J._E._Golay` · `Masoretes` · `Masoretic_Text` · `Memory_scrubbing` · `Message_authentication_code` · `Mishneh_Torah` · `Modular_arithmetic` · `Multidimensional_parity-check_code` · `Neptune` · `Network_congestion` · `Network_packet` · [[Noise_(electronics)]] · `Numbers_station` · `Operating_system` · `Oxford_University_Press` · `Parity_bit` · `Physical_layer` · `Polynomial_long_division` · `Preimage_attack` · `Prentice_Hall` · `RAID` · `Redundancy_(information_theory)` · `Reed–Muller_code` · `Reed–Solomon_error_correction` · `Remainder` · `Repetition_code` · `Return_channel` · `Richard_Hamming` · `Saturn` · `Selective_Repeat_ARQ` · [[Signal-to-noise_ratio]] · `Single-event_upset` · `Soft_error` · `Stop-and-wait_ARQ` · `Systematic_code` · [[Telecommunications]] · `Timeout_(computing)` · `Transcription_error` · `Transmission_Control_Protocol` · `Transponder` · `Transverse_redundancy_check` · `Triple_modular_redundancy` · `Tsinghua_University` · `Turbo_code` · `Uranus` · `User_Datagram_Protocol` · `Vera_Pless` · `Verhoeff_algorithm` · `Viterbi_decoder` · `Voyager_1` · `Voyager_2` · [[Wayback_Machine]] · `Wi-Fi` · `ZFS`
> Signal Processing concept · part of the Signal Processing Portal · movement V · !74 記号 kigō.svg
<!-- RENDER-THUMB:START -->
!480
*Rendered from the live microsim (▶ motion).*
<!-- RENDER-THUMB:END -->
## See it next
[](Data_compression)
*→ [[Data_compression|Data compression]]*
<!-- VISUAL-LINK:END -->
---
Back to Signal Processing Portal · the room · Semiotic gateway
<!-- REAL-GENERATIVE-MEDIA:START -->
## What it is
Error detection and correction — the **channel coding** side of information theory — is the practice of adding *structured* redundancy to transmitted or stored data so that errors introduced by a noisy channel can be detected and, ideally, corrected without retransmission.
## How it works / why it matters
An $(n,k)$ code maps $k$ message bits to $n$ transmitted bits, spreading them apart in a space of codewords; the **Hamming distance** between valid codewords determines the guarantee — a minimum distance $d$ lets the decoder *detect* up to $d-1$ errors and *correct* up to $\lfloor (d-1)/2 \rfloor$. Simple **detection** schemes (parity bits, checksums, cyclic redundancy checks) only flag corruption, whereas **forward error correction** codes — Hamming, Reed–Solomon, convolutional, LDPC, turbo codes — reconstruct the original data from the received word. Shannon's **noisy-channel coding theorem** proves the deep result that reliable communication is possible at any rate below the channel **capacity** $C$, so codes chase that ceiling; this is the complement of the source-coding limit that governs [[Data_compression]]. Error correction is what makes deep-space links, storage media, QR codes, and cellular data work despite noise.
## Signs & universals
Instantiates: encoding · noise · entropy · probability — it fights probabilistic channel noise by encoding redundancy up to the entropy/capacity limit.
## Related
The channel-coding counterpart to source coding, i.e. [[Data_compression]]: compression removes redundancy (Shannon's entropy floor), while error correction adds it back in a controlled way (Shannon's capacity ceiling). Two halves of the same information-theoretic bargain.
<!-- VISUAL-LINK:START -->
## From the Real GENERATIVE library
> In information theory and coding theory with applications in computer science and telecommunications, error detection and correction (EDAC) or error control are techniques that enable reliable delivery of digital data over unreliable communication channels. Many communication channels are subject to channel noise, and thus errors may be introduced during tra ([Wikipedia](https://en.wikipedia.org/wiki/Error_detection_and_correction))
<!-- REAL-GENERATIVE-MEDIA:END -->
<!-- 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/Error_detection_and_correction) : [Wikitube](https://en.wikitube.io/wiki/Error_detection_and_correction)
## Previous hub tags
Tree parents: [[Cellular_automaton]] · [[Information_theory]].
Legacy hubs: none.
---
*Sources: 1 legacy note. Minted wave 1, 2026-07-30 (v1.6 order).*