Detekce a oprava chyb
Detekce a oprava chyb nebo zjišťování a oprava chyb (anglicky Error detection and correction, EDAC), v širším rámci řízení zabezpečení (anglicky Error control) v teorii informace a teorii kódování s aplikacemi v telekomunikacích a matematické informatice jsou techniky, které umožňují spolehlivý přenos digitálních dat pomocí nespolehlivých komunikačních kanálů. Komunikační kanály jsou ovlivňovány šumem a rušením, a proto může docházet k narušování přenosu dat mezi odesilatelem a příjemcem. Zatímco techniky detekce chyb umožňují odhalovat chyby při přenosu (oprava se zajistí opakováním přenosu), techniky opravy chyb umožňují zrekonstruovat původní data narušená přenosem.
Podobné techniky se používají také pro ukládání dat.
Implementace
Oprava chyb při komunikaci může být obecně realizována dvěma různými způsoby:
- Zpětnou vazbou s automatickým opakováním (anglicky Backward Error Correction, BEC): Při této metodě je algoritmus detekce chyb kombinován s vyžadováním opakování přenosu chybných dat (anglicky Automatic repeat request, ARQ). Každý přijatý blok dat je zkontrolován pomocí kódu pro detekci chyb; pokud kontrola selže, je vyžádáno opakování přenosu dat; celý postup se může opakovat, dokud nejsou data přijata bezchybně.
- Opravou chyb bez zpětné vazby (anglicky Forward Error Correction, FEC): Odesilatel před přenosem zakóduje data pomocí samoopravného kódu (anglicky error-correcting code, ECC). Redundandní informace přidané kódem použije přijímač pro získání původních dat; obvykle hledá „nejpravděpodobnější“ původní data.
Obě uvedené metody mohou být kombinovány; menší chyby jsou opravovány pomocí samoopravného kódu; při výskytu chyb, které opravit nelze, pošle příjemce požadavek na opakování přenosu; výsledná metoda se nazývá hybridní zpětná vazba s automatickým opakováním (HARQ).