En faltningskod är en felkorrigerande kod där
En faltningskod är ett specialfall av träd- och spaljékoder .
1955 föreslog L. M. Fink , som vid den tiden var chef för avdelningen för Leningrad Academy of Communications, den första återkommande koden.
1959 "återupptäckte" den västerländska specialisten Hegelberger ( Hegelbeger ), som inte hade någon aning om sovjetiska vetenskapsmäns arbete inom kodningsområdet, den återkommande koden och döpte den efter sig själv.
Fink skrev själv i sin monografi "The Theory of Discret Message Transmission" [1] : "I denna kod är sekvensen av kodsymboler inte uppdelad i separata kodkombinationer. Korrigeringssymboler ingår i informationssymbolströmmen så att en korrigeringssymbol placeras mellan varannan informationssymbol. Genom att beteckna informationstecken genom och korrigerande genom får vi följande teckensekvens:
Informationssymboler bestäms av det överförda meddelandet, och korrigerande symboler bildas enligt följande regel:
(1.1)
där är ett godtyckligt heltal som kallas kodsteget ( ). Uppenbarligen, om någon korrigerande symbol bi tas emot av misstag, kommer relationen (1.1) i den mottagna sekvensen inte att uppfyllas för . Vid felaktig mottagning av informationssymbolen kommer relation (1.1) inte att gälla för två värden på , nämligen för och för . Härifrån är det lätt att härleda en korrigeringsregel för avkodningsfel. I den accepterade kodsekvensen kontrolleras relation (1.1) för varje . Om den inte är nöjd med två värden ( och ), och samtidigt
(1.2)
då måste informationselementet vändas.
Uppenbarligen är kodredundansen . Det låter dig korrigera alla felaktigt mottagna tecken, förutom vissa dåliga kombinationer. Så, om , ger den korrekt avkodning när det finns minst tre (och i vissa fall två) korrekt mottagna symboler mellan två felaktigt mottagna symboler (både information och testsymboler tas med i beräkningen).
Kodardiagrammet för en icke-rekursiv faltningskod visas i fig . 1. Den består av -ary skiftregister med längder . Vissa (kanske alla) registeringångar och utgångar från vissa minnesceller är anslutna till flera modulo-adderare . Antalet adderare är större än antalet skiftregister:
Vid varje klockcykel hos kodaren matas informationssymboler till dess ingång, de, tillsammans med symbolerna lagrade i skiftregistren, matas till ingångarna hos de adderare med vilka det finns en förbindelse. Resultatet av tillägget är kodsymboler redo för överföring. Sedan sker en förskjutning i varje skiftregister: alla celler flyttas åt höger med en bit, medan cellerna längst till vänster fylls med inmatningstecken, och cellerna längst till höger raderas. Därefter upprepas takten. Registrens initiala tillstånd är känt i förväg (vanligtvis noll).
För tydlighetens skull kommer vi att beskriva faltningskodning enligt verkan av motsvarande kodningsenhet.
En faltningskodare är en anordning som i allmänhet tar emot k ingångsinformationssymboler vid varje operationscykel, och matar ut n utgångssymboler vid utgången av varje cykel. Numret kallas den relativa kodhastigheten. k är antalet informationssymboler, n är antalet symboler som sänds till kommunikationskanalen i en cykel av ankomst till informationssymbolens kodare. Utgångssymbolerna för den aktuella cykeln beror på m informationssymboler som anländer till denna och tidigare cykler, det vill säga utmatningssymbolerna för faltningskoden bestäms unikt av dess ingångssymboler och tillståndet, vilket beror på m - k tidigare informationssymboler . Huvudelementen i faltningskoden är: skiftregister, modulo 2-adderare, kommutator.
Skiftregistret är en dynamisk lagringsenhet som lagrar de binära tecknen 0 och 1. Kodminnet bestämmer antalet triggerceller m i skiftregistret . När ett nytt informationstecken kommer till skiftregistrets ingång tas tecknet som är lagrat i biten längst till höger bort från registret och återställs. De återstående tecknen flyttas en siffra till höger och därmed släpps siffran längst till vänster, där det nya informationstecknet kommer.
Modulo 2-adderaren adderar symbolerna 1 och 0 som kommer till den. Modulo 2-additionsregeln är som följer: summan av binära symboler är 0 om antalet ettor bland symbolerna som kommer in i ingångarna är jämnt, och lika med 1 om detta nummer är udda.
Omkopplaren läser sekventiellt symbolerna som kommer till dess ingångar och ställer in sekvensen av kodsymboler i kommunikationskanalen vid utgången. I analogi med blockkoder kan faltningskoder klassificeras i systematiska och icke-systematiska.
En systematisk faltningskod är en kod som i sin utgående sekvens av kodsymboler innehåller den sekvens av informationssymboler som genererade den. Annars kallas koden icke-systematisk.
Med faltningskodning sker omvandlingen av informationssekvenser till utdata och kodsekvenser kontinuerligt. Den binära faltningskodaren innehåller ett skiftregister med m bitar och modulo 2-adderare för att generera kodsymboler i utmatningssekvensen. Adderarnas ingångar är kopplade till vissa bitar i registret. Utgångsomkopplaren bestämmer i vilken ordning kodsymboler skickas till kommunikationskanalen. Sedan bestäms kodstrukturen av följande egenskaper.
Men! Denna definition är giltig för blockkoder med konstant längd. Faltningskoder är kontinuerliga och kännetecknas av många minimiavstånd som bestäms av längden på de initiala segmenten av kodsekvenserna, mellan vilka minimiavståndet tas. Antalet symboler i segmentlängden L som tas emot för behandling bestämmer, på den mottagande sidan, antalet celler i avkodaren.
Låt skiftregistret innehålla m celler, det vill säga kodminnet är lika med m, omkopplaren utför en avfrågningscykel och skickar värdena för informationssymboler, där m är en multipel av k , medan den i en cykel pollar n 2 kodarutgångar. Antalet utgångskodsymboler som påverkas av en ändring av en ingångsinformationssymbol är . Värdet I all kallas den totala längden av kodbegränsningen .
Eftersom de korrigerande egenskaperna för en viss faltningskod bestäms av längden på kodbegränsningen och valet av länkar för skiftregistret till modulo 2-adderaren ( XOR ), är det nödvändigt att specificera strukturen för faltningskodaren. specificera vilka bitar i skiftregistret som är associerade med var och en av modulo 2-adderarna ( XOR ).
Anslutningen av den j:te adderaren modulo 2 beskrivs av den j:te genereringssekvensen:
g j =(g j0 , g j1 ,g j2 ,...,g jm-1 ), (4.1)där (4.2)
Typiska parametrar för faltningskoder: k, n= 1,2,...,8; R=k/n=1/4,…,7/8; m=2,…,10.
Det är bekvämt att specificera en faltningskod med genererande polynom, som bestäms av formen av formel (4.1) i analogi med hur detta görs för linjära blockcykliska koder . [2]
Generatorpolynomet definierar fullständigt strukturen för den binära kodaren för faltningskoden. Till skillnad från blockkoder , som var och en beskrivs av endast ett genererande polynom , beskrivs en faltningskod av flera genererande polynom. Antalet polynom som beskriver faltningskoden bestäms av antalet utgående symboler n . Låt oss representera sekvensen av informationssymboler som kommer till kodarens ingång som ett polynom
där Xi är symbolen för fördröjningsoperatorn för i -cykler i skiftregistret, och i = {0, 1} är binära informationssymboler. Polynom som beskriver n sekvenser av kodsymboler som går in i kodaromkopplarens ingång och sedan in i kommunikationskanalen har formen
där finns binära kodsymboler vid den j -te ingången på kodaromkopplaren.
Det j -te genererande polynomet i faltningskoden har formen Dessutom, på grund av linjäriteten hos faltningskoden och den accepterade notationen, får vi .
Genom att använda representationen av en faltningskod med användning av genererande polynom, kan man specificera en faltningskod med hjälp av sekvenser av koefficienter för genererande polynom skrivna i binär eller oktal form. Den oktala notationen är mer kompakt och används när kodarskiftregistret är långt.
I det allmänna fallet kommer koefficientsekvensen för det j :te genererande polynomet att ha formen och sammanfalla med den genererande kodsekvensen (4.1). Sedan, om är en sekvens av kodade symboler, och är en sekvens av kodsymboler vid den j -: te ingången på kodaromkopplaren , så kan vi skriva för någon av dem som visas vid -: e gången ( ).
Således bestäms varje kodsymbol för utmatningssekvensen från kodaren för faltningskoden av faltningen av den kodade informationen och genereringssekvensen, som bestämmer namnet på faltningskoderna. Konvolutionskoder är ett specialfall av iterativa eller återkommande koder.
Konvolutionskoder används för tillförlitlig dataöverföring: video, mobilkommunikation, satellitkommunikation. De används tillsammans med Reed-Solomon-koden och andra liknande koder. Före uppfinningen av turbokoder var sådana konstruktioner de mest effektiva och uppfyller Shannons gräns. Dessutom används faltningskodning i 802.11a- protokollet vid det fysiska MAC-lagret för att uppnå en enhetlig fördelning av 0 och 1 efter att signalen passerat genom scramblern , vilket resulterar i att antalet överförda symboler fördubblas och därför kan uppnå gynnsam mottagning vid den mottagande enheten.
Ordböcker och uppslagsverk |
---|