Felkontroll är en uppsättning metoder för att upptäcka och korrigera fel i data under deras inspelning och uppspelning eller överföring över kommunikationslinjer.
Dataintegritetskontroll och felkorrigering är viktiga uppgifter på många nivåer av att arbeta med information (särskilt de fysiska , kanal , transportskikten i OSI -nätverksmodellen ) på grund av det faktum att fel oundvikligen uppstår i processen att lagra data och överföra information över kommunikationsnätverk. Olika tillämpningsområden för felkontroll ställer olika krav på de strategier och koder som används.
I kommunikationssystem är flera strategier för att hantera fel möjliga:
Vid felkontroll används som regel felkorrigerande kodning - kodning av data vid skrivning eller sändning och avkodning vid läsning eller mottagning med hjälp av korrigeringskoder , som gör att du kan upptäcka och eventuellt korrigera fel i datan. Felkorrigerande kodningsalgoritmer i olika applikationer kan implementeras både i mjukvara och i hårdvara.
Den moderna utvecklingen av korrigeringskoder har krediterats Richard Hamming sedan 1947 [1] . En beskrivning av Hamming-koden dök upp i Claude Shannons papper " Matematical Theory of Communication " [2] och sammanfattades av Marcel Golay [3] .
Forward error correction (även forward error correction , eng. Forward error correction, FEC ) är en bruskorrigerande kodnings- och avkodningsteknik som låter dig korrigera fel med den förebyggande metoden. Den används för att korrigera fel och fel under dataöverföring genom att överföra redundant tjänstinformation, på basis av vilken det ursprungliga innehållet kan återställas. I praktiken används det ofta i dataöverföringsnätverk , telekommunikationsteknik. Framåtriktade felkorrigeringskoder kräver att mer redundans införs i den överförda datan än koder som bara upptäcker fel.
Till exempel, i satellit-tv , när en digital signal från FEC 7/8 sänds, sänds åtta bitar information: 7 bitar användbar information och 1 kontrollbit [4] ; i DVB-S används endast 5 typer: 1/2, 2/3, 3/4 (mest populära), 5/6 och 7/8. Allt annat lika kan man hävda att ju lägre FEC-värdet är, desto färre paket tillåts gå förlorade, och därför desto högre erforderlig signalkvalitet.
Framåtriktad felkorrigeringsteknik används ofta i olika lagringsenheter - hårddiskar, flashminne, RAM. Speciellt serverapplikationer använder ECC-minne - RAM som kan känna igen och korrigera spontant uppkommande fel.
Automatic Repeat Request ( ARQ ) -system är baserade på feldetekteringsteknik . Följande automatiska frågemetoder är vanliga:
Idén med en stopp -och-vänta ARQ är att sändaren väntar på att mottagaren ska bekräfta den framgångsrika mottagningen av föregående datablock innan den börjar sända nästa. Om datablocket togs emot av misstag, sänder mottagaren en negativ bekräftelse (NAK) och sändaren upprepar sändningen av blocket. Denna metod är lämplig för en halvduplex kommunikationskanal. Dess nackdel är låg hastighet på grund av den höga omkostnaden för väntan.
Den kontinuerliga ARQ med pullback- metoden kräver en fullständig duplexlänk . Dataöverföring från sändaren till mottagaren sker samtidigt. I händelse av ett fel återupptas överföringen med början med felblocket (dvs. felblocket och alla efterföljande sänds).
Vid användning av den kontinuerliga ARQ med selektiv upprepningsmetod sänds endast felaktigt mottagna datablock.
Det avsnitt av informationsteori som studerar frågan om att optimera dataöverföring över ett nätverk med hjälp av tekniker för att ändra datapaket vid mellanliggande noder kallas nätverkskodning . För att förklara principerna för nätverkskodning, använd exemplet med ett fjärilsnätverk, som föreslås i det första arbetet med nätverkskodning "Nätverksinformationsflöde" [5] . I motsats till statisk nätverkskodning, när mottagaren känner till alla manipulationer som utförs med paketet, övervägs frågan om slumpmässig nätverkskodning också när denna information är okänd. Författarskapet till de första verken om detta ämne tillhör Kötter, Krzyszang och Silva [6] . Detta tillvägagångssätt kallas också nätverkskodning med slumpmässiga koefficienter - när koefficienterna under vilka de initiala paketen som sänds av källan kommer att inkluderas i de resulterande paketen som tas emot av mottagaren, med okända koefficienter som kan bero på den aktuella nätverksstrukturen och till och med på slumpmässigt beslut fattade vid mellanliggande noder. För icke-slumpmässig nätverkskodning kan standardtekniker för anti-jamming och kantutjämning som används för enkel överföring av information över ett nätverk användas.
Vid sändning av information över en kommunikationskanal beror felsannolikheten på signal-brusförhållandet vid demodulatoringången, så vid en konstant brusnivå är sändareffekten av avgörande betydelse. I satellit- och mobilsystem, såväl som andra typer av kommunikationer, är frågan om energibesparing akut. Dessutom, i vissa kommunikationssystem (till exempel telefon), tillåter tekniska begränsningar inte en obegränsad ökning av signaleffekten.
Eftersom felkorrigerande kodning tillåter felkorrigering, kan dess tillämpning minska sändareffekten och lämna informationshastigheten oförändrad. Energivinsten definieras som skillnaden mellan s/n-förhållandena i närvaro och frånvaro av kodning.