Felkorrigering framåt
Inom telekommunikation är Forward error correction (FEC) en särskild kod för upptäckt och korrigering av fel. Avsändaren lägger till delar av data på nytt. Detta kallas redundans. Mottagaren kan då upptäcka vissa fel som kom från sändningen av data. I vissa fall kan mottagaren korrigera felet utan att det behövs en ny sändning.
Hur det fungerar
FEC lägger till redundans till den överförda informationen med hjälp av en känd algoritm. Varje redundant bit är en funktion av många ursprungliga informationsbitar. Den ursprungliga informationen kan förekomma eller inte förekomma i den kodade utgången; koder som inkluderar den oförändrade inmatningen i utgången är systematiska, medan de som inte gör det inte är osystematiska.
Ett extremt enkelt exempel är en analog till digital omvandlare som samplar tre bitar signalstyrka för varje bit överförd data. Om de tre proverna oftast är noll är den överförda biten troligen en nolla, och om de tre proverna oftast är ett är den överförda biten troligen ett. Det enklaste exemplet på felkorrigering är att mottagaren antar att den korrekta utgången ges av det mest frekvent förekommande värdet i varje grupp av tre.
Triplett mottagna | Tolkas som |
000 | 0 |
001 | 0 |
010 | 0 |
100 | 0 |
111 | 1 |
110 | 1 |
101 | 1 |
011 | 1 |
På så sätt kan ett fel i något av de tre proven korrigeras genom "demokratisk omröstning", men det är en mycket ineffektiv FEC. I praktiken skulle det inte fungera särskilt bra, men det illustrerar principen. I praktiken undersöker FEC-koder vanligtvis de senaste dussintals, eller till och med de senaste hundra, tidigare mottagna bitar för att avgöra hur den aktuella lilla handfull bitar skall avkodas (vanligtvis i grupper om 2 till 8 bitar).
Sådan trippelmodulär redundans, den enklaste formen av felkorrigering framåt, används i stor utsträckning.