V telekomunikacích je dopředná korekce chyb (FEC) speciální kód pro detekci a opravu chyb. Odesílatel znovu přidává části dat. Tomu se říká redundance. Přijímač je pak schopen odhalit určité chyby, které vznikly při odesílání dat. V určitých případech může přijímač chybu opravit, aniž by bylo nutné opakovat přenos.

Jak FEC funguje (stručně a názorně)

  • Kódování: Před odesláním se k původním datům přidají kontrolní bity podle zvoleného kódu. Díky nim vznikne delší datový blok obsahující informaci i redundanci.
  • Přenos: Redundantní blok prochází kanálem, kde může dojít k chybám (šum, rušení, útlum, vybíjení impulsů apod.).
  • Dekódování: Na přijímači se pomocí algoritmu porovnávají přijmuté bity s očekávanými strukturami kódu. Přijímač může chyby detekovat a často i opravit – bez potřeby zpětného volání (retransmise).

Typy FEC kódů a příklady

  • Jednoduché kódy: Paritní bit, opakovací (repetition) kód – snadné na implementaci, ale velmi neefektivní.
  • Blokové kódy: Např. Hammingovy kódy, Reed–Solomon (často v optických médiích, diskových úložištích a digitálním videu) – pracují s pevně danými bloky dat a parity.
  • Konvoluční kódy: Používají paměť (související bity) a dekódují se často pomocí Viterbiho algoritmu; historicky významné v mobilních sítích.
  • Turbo kódy a LDPC: Moderní kódy s velmi dobrým výkonem blízko Shannonova limitu. Turbo se používal v 3G, LDPC je v DVB‑S2, Wi‑Fi 802.11n/ax a 5G.

Užitečné pojmy a metriky

  • Rychlost kódu (code rate): poměr užitečných bitů k celkovému počtu bitů (např. 1/2, 3/4). Nižší rychlost = více redundance = lepší oprava chyb, ale menší efektivní přenosová rychlost.
  • Minimální Hammingova vzdálenost: určuje, kolik chyb lze kód opravit nebo detekovat.
  • Hard vs. soft decoding: Hard rozhodnutí pracují s bity 0/1; soft decoding využívá informace o důvěře přijímaného signálu (např. pravděpodobnosti) a obvykle dosahuje lepšího výkonu.
  • Interleaving: Při přenosu s výskytem chyb ve „sériích“ (burst errors) se často používá prohození bitů/bloků (interleaving), aby se rozptýlily chyby a zlepšila se korekce.

Výhody a nevýhody FEC

  • Výhody: Snižuje potřebu opakovaných přenosů (ARQ), ulehčuje komunikaci v sítích s vysokou latencí (satelitní spojení), zvyšuje spolehlivost přenosu při daném poměru signál/šum.
  • Nevýhody: Přidává režii (menší užitečná propustnost), zvyšuje složitost enkodéru/dekodéru a výpočetní nároky (spotřeba energie), může přidat zpoždění (velké bloky, iterativní dekódování).

Kdy použít FEC a kdy nikoliv

  • FEC je výhodné tam, kde je vysoká latence nebo je retransmise drahá/nevhodná: satelity, bezdrátové sítě, vysílání videa, některé průmyslové aplikace.
  • V sítích s nízkou latencí a spolehlivým obousměrným kanálem může být výhodnější kombinace ARQ a lehčí FEC (tzv. hybrid ARQ).

Praktické příklady použití

  • DVB‑S2 využívá LDPC + BCH pro satelitní vysílání.
  • Mobilní sítě (3G/4G/5G) používají různé kombinace Turbo a LDPC kódů.
  • Řešení pro pevné úložiště a čtečky paměťových médií často používají Reed–Solomon pro opravu chyb způsobených poškozením sektorů.
  • V optických přenosech a vysokorychlostních linkách FEC výrazně zvyšuje dosažitelnou vzdálenost a spolehlivost linky.

Implementační poznámky

  • Při návrhu systému je třeba zvažovat kompromis mezi požadovanou mírou ochrany a dostupnou šířkou pásma, výpočetním výkonem a zpožděním.
  • Softwarová implementace je flexibilní (snadné aktualizace kódů), hardwarová (ASIC/FPGA) ale dává nižší latenci a menší spotřebu energie při vysokých rychlostech.
  • Testování by mělo zahrnovat různé typy chyb (náhodné i sérijní) a reálné kanálové modely, aby byl zvolený kód skutečně efektivní v cílovém prostředí.

Stručné shrnutí: Dopředná korekce chyb přidává k datům redundanci, která umožňuje přijímači detekovat a často i opravit chyby bez opakování přenosu. Volba konkrétního FEC řešení závisí na požadavcích na spolehlivost, latenci, šířku pásma a výpočetní náročnost.