Felrättande kod
Från Rilpedia
En felrättande kod är ett slags protokoll för lagring/överföring av kvantifierade data.
Genom att införa flerdimensionell redundans i de data som skall lagras eller överföras kan man inte bara automatiskt detektera små fel, utan även räkna baklänges och sålunda ta reda på var felet låg och vad det egentligen skulle vara för data. Som en liknelse skulle man kunna säga att man har ett system av gropar där kulor får ligga, och de ligger så glest att om en kula ramlar aningen utanför är det uppenbart i vilken grop den borde ha hamnat.
Om felen blir större kan man detektera att ett fel uppstått men inte säga exakt vad det korrekta värdet skulle vara (i jämförelsen skulle då kulan ha hamnat mitt emellan två gropar), och om felet blir tillräckligt stort finns det risk att det passerar utan att detekteras av algoritmen (kulan hamnar i fel grop).
I ett vanligt förekommande skolexempel på felrättande kod bygger man på antagandet att ett enda fel i en datamängd av en given storlek kan uppstå någorlunda ofta, medan två fel i samma datamängd är mycket ovanligt och sannolikheten att tre fel skall uppstå samtidigt är försumbar.
Exempel på användning
En del RAM-minnen är av typen "Error-Correcting Code (ECC) memory", vilket innebär att de undersöker och korrigerar fel automatiskt. Särskilda kretsar genererar kontrollsummor som korrigerar fel som är större än en bit.
Felrättande koder förekommer också i enheter för läsning och skrivning av optiska lagringsmedium, exempelvis i dvd- och cd-spelare.