SE460243B - Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod - Google Patents

Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod

Info

Publication number
SE460243B
SE460243B SE8403269A SE8403269A SE460243B SE 460243 B SE460243 B SE 460243B SE 8403269 A SE8403269 A SE 8403269A SE 8403269 A SE8403269 A SE 8403269A SE 460243 B SE460243 B SE 460243B
Authority
SE
Sweden
Prior art keywords
error
symbol
symbols
code
program step
Prior art date
Application number
SE8403269A
Other languages
English (en)
Inventor
C P M J Baggen
Original Assignee
Philips Nv
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Nv filed Critical Philips Nv
Publication of SE460243B publication Critical patent/SE460243B/sv

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

460 245 symbolfel som antagits så långt, vilka nämnda diskrepanser är baserade på suc- cessivt inkrementerade antal av antagna pseudo-symbolfel, men att i fallet med en diskrepans deltal som fortfarande är skild från noll bestämma komplement till nyckelekvationen för alla ej behandlade tal upptill det aktuella inkremen- terade antalet symbolfel, och att lösa denna kompletterade nyckelekvation på beskrivet sätt. I praktiken kommer det värsta fallet att inträffa mycket sällan i en följd av kodord, emedan ett stort antal fel i ett kodord nästan alltid är mindre sannolikt än ett litet antal fel.
Företrädesvis innefattar de andra beräkningsorganen första detekterings- organ för att detektera ett funnet antal av högst tvâ symbolfel, varvid nämnda andra beräkningsorgan direkt löser en fellokalisatorekvation av högst andra ordningen för att lokalisera och utvärdera felen direkt, men beräknar felut- värderaren i händelse av ett stort antal detekterade symbolfel. I många fall uppträder bara ett litet antal symbolfel; den nämnda proceduren representerar därvid en tidsbesparing. Proceduren enligt känd teknik är också kort vid ett litet antal symbolfel men denna teknik har inte kapaciteten att utföra korrek- tion då ett större antal fel detekteras. I enlighet med den beskrivna metoden utföres ett anpassat antal steg för varje mängd fel.
Företrädesvis innefattar de tredje beräkningsorganen andra detekterings- organ för att detektera ett påträffat antal av tre symbolfel, varvid nämnda tredje beräkningsorgan löser en kubisk fellokalisatorekvation och lokaliserar felen, varefter värden tillordnas dem, men att nämnda tredje beräkningsorgan verkställer en Chien-sökcykel över serien av kodsymboler i fallet med ett de- tekterat större antal symbolfel tills ett symbolfel lokaliseras, och avlägsnar faktorn som representeras av nämnda lokaliserade symbolfel från fellokalisatorn genom division, så att det aktuella antalet återstående symbolfel reduceras med en enhet, medan fellokalisatorekvationen löses direkt då ett förutbestämt antal återstående symbolfel uppnås. Chien-sökmetoden är i sig mycket lämpad, i syn- nerhet i fallet med ett stort antal maximalt korrigerbara fel per kodord (10 i föreliggande utföringsform), men den är också tidskrävande och metoden som föl- jer erbjuder en avsevärd tidsbesparing i majoriteten av fall.
Företrädesvis innefattar nämnda första beräkningsorgan en slinga som inne- håller en kaskadkombination av en exklusiv-ELLER-krets för mottagning av kod- symbolerna, en buffert för lagring av de (preliminära) syndromsymbolerna som bildats för ett kodord, och ett ROM-minne för lagring av multiplikationstabel- lerna för paritetscheckmatrisen, varvid en utgång på nämnda minne är återkopp- lad till en annan ingång på exklusiv-ELLER-kretsen och en ytterligare utgång på 460 245 bufferten är ansluten till de andra beräkningsorganen för att tillföra serien av slutliga syndromsymboler vid fullbordandet av behandlingen av det aktuella kodordet. Detta ger en billig lösning som kan klara den erforderliga höga has- tigheten.
För detekteringen av den sista kodsymbolen i ett kodord på basis av en tillhörande signalbit finns företrädesvis en signaldetektor med en utgång som aktiverar den ytterligare utgången för att förbereda för nämnda krets att ta emot ett efterföljande kodord. Sådan signalering möjliggör en enkel realisering av en detektor för slutet av ett kodord. Detta gör det i synnerhet möjligt att behandla en följd av kodord av inbördes olika längd utan att dessa längder be- höver vara kända i förväg.
Företrädesvis realiseras de andra, tredje och fjärde beräkningsorganen medelst en beräkningskrets som innefattar en ingângsbuffert för lagring av ät- minstone den kompletta serien av syndromsymboler som genereras för ett kodord, en mikrodator, en utgångsbuffert för lagring av en serie av fellokaliserings- och felutvärderingssymboler som genereras för en komplett serie för syndromsym- boler tillhörande ett kodord samt en buss som är ansluten mellan dessa kompo- nenter och till vilken också är ansluten en log/antilog-tabellanordning för att utföra multiplikationsoperationer på symbolerna i det aktuella Galois-fältet, samt ett dataminne för vilket adresser kan avges av mikrodatorn via bussen och även av en räknare som kan stegas fram av en extern klockgenerator. Det har visat sig att en medelfelhastighet kan klaras med användning av sådana enkla medel och buffring, varvid bufferten (bufferterna) fylles komplett bara i hän- delse av jämförelsevis långa serier av väsentligt störda kodord. I den senare beskrivna utföringsformen användes tabellanordningen också för lagring av ytterligare storheter (C-, D- och K-tabellerna). Tack vare tillsättandet av buffertar kan pipe-line-operation också med fördel realiseras.
Företrädesvis är till bufferten också ansluten en detektor för att detek- tera ett korrekt kodord genom detektering av en serie av syndromsymboler som är tillordnade ett kodord och innehållande uteslutande “noll"-symboler och utan användning av mikrodatorn, varvid en efterföljande serie av syndromsymboler därefter efterfrågas. Detta resulterar i en mycket snabb detektering av korrek- ta kodord. I princip kommer sådana korrekta kodord att uppträda ofta så att ett litet tillägg till kretsen ger en relativt stor ökning av processhastigheten.
Denna signalering användes också i den utföringsform, som konmer att beskrivas, för snabb kontroll av överföringen av felindikeringsserien av symboler till en användaranordning. 460 243 Uppfinningen avser också en läsanordning för optiskt läsbara upptecknings- bärare som innefattar ett avkodningssystem av beskrivet slag och som vidare innefattar inställningsorgan för upptagning av en sådan uppteckningsbärare, drivorgan för att rotera uppteckningsbäraren omkring dess rotationsaxel med huvudsakligen jämn hastighet och läsorgan för att läsa en bitserie från ett spår på uppteckningsbäraren med serie/parallell omvandling för att avges till nämnda första beräkningsorgan. Detta representerar en enkel applikation av upp- finningen, detta desto mera som lagringstätheten av data på en sådan uppteck- ningsbärare ä ena sidan är hög men å andra sidan leder till känslighet för fel; tillförlitligheten ökas således väsentligt.
SAMMANFATTNING AV RITNINGARNA Ett exempel på en utföringsform av uppfinnigen kommer att beskrivas i de- talj i det efterföljande med hänvisning till några fig. Först och främst kommer koden att förklaras i allmänna termer och därefter kommer den använda anord- ningen och beräkningen och således korrektionen av felen att förklaras.
Fig 1 visar ett exempel på en paritetscheckmatris [Hli en Reed-Solomon- kod; fig 2 visar en spelare för en uppteckningsbärare med digital optisk upp- teckning; fig 3 visar ett blockschema för en mikrodator som användes; fig 4 visar ett exempel på elementen i ett Galois-fält GF (24); fig 5 visar en anordning för beräkning av syndromsymbolerna; fig 6 visar en anordning för att utföra beräkningar i ett Galois-fält; fig 7 visar ett totalt flödesdiagram för felkorrektionsoperationerna; fig Ba visar nyckelekvationen och den lösningsmetod som användes; fig Bb visar ett flödesdiagram för en första del av lösningen av denna nyckelekvation; fig 9 visar ett flödesdiagram för den andra delen därav; fig 10 viar ett flödesdiagram för lösningen av en andra ordningens ekvation; fig ll visar ett flödesdiagram för att bestämma felutvärderaren; fig 12 visar ett flödesdiagram för lösningen av en tredje ordningens ekvation; fig 13 visar ett flödesdiagram för att utföra en Chien-sökoperation och för att bestämma felvärderna.
KORT BESKRIVNING AV EN KOD SOM ANVÃNDES Fig 1 visar ett exempel på en paritetscheckmatris [H] i en s k Reed-Solo- 460 245 mon blockvis kod. En generatormatris [G] för denna kod är given genom Ü3]«H = 0, varvid antalet k rader i matrisen [G] är lika med antalet k datasymboler i ett kodord eller block och antalet n kolmner är lika med totala antalet symbo- ler i ett kodord inklusive de reduntanta symbolerna. För enkelhets skull be- traktas här bara systematiska koder pâ symbolnivån. Generatormatrisen kan utan modifikation av kodegenskaperna multipliseras med en transpositionsmatris så att lokaliseringen av raderna ändrar sig. Matriselementen är element i ett Galois-fält och består av ett antal m bitar, så att 2 exp Km) > (n). Galois- fältet är genererat av ett tillhörande primitivt och oreducerbart polynom. De fyra aritmetiska operationera för elementen i detta Galois-fält är definierade.
Om antalet symboler som skall korrigeras per kodord är lika med t så gäller (n-k) > (Zt-ll, där n > k > 0. Antalet redundanta symboler uppgår vanligen till två gånger maximala antalet symbolfel som skall korrigeras. Storheten "d" är den s k "koddistansen" och d-1 3 n-k, där zt < d; den grad i vilken koddis- tansen användes för korrektionen kan väljas.
BESKRIVNING AV SPELAREN Fig 2 visar spelaren för en uppteckningsbärare för digital optisk uppteck- ning. Uppteckningsbäraren, som i vissa versioner kan vara avläsbar på två si- dor, innefattar en täckplatta 24, ett ihåligt rum 26 som kan vara fyllt med en inert gas, t ex argon, ett skikt 28 som innehåller tellurium och ett substrat 30. Det ihåliga rummet är begränsat av en tätningsring 32 som ger lufttät tät- ning. Datana finns i hål i skiktet som innehåller tellurium, vilka hål bildas genom bränning under skrivoperationen. Reflektionen av infallande ljus reduce- ras avsevärt vid ett hål. En polymerbeläggning, på vilken ett lässpår är de- finierat genom ett spår, kan vara anbringad på uppteckningsbäraren. Uppteck- ningsbäraren är skivformad och lagrad på ett lager 22 (visat schematiskt) och skivan drives av en motor 34 på en axel 20. Endast läsoperationerna kommer att betraktas i det efterföljande. Under rotation av skivan avger en avläsningsla- ser 36 ljus kontinuerligt och belyser ett cirkulärt eller spiralformigt spår via ett halvtransparent prisma 38 och ett linssystem 40 som innefattar ett mikroskopobjektiv. Reflekterat ljus leds till en detektor 42 via linssystemet 40 och det halvtransparenta prismat 38. Klocksignalen återvinnes från den de- tekterade signalen genom en klockuttagsmekanism 44 för att ställa in motorns rotationshastighet via ett reglerelement 46. För enkelhets skull konmer varken den exakta utformningen av denna inställning eller mekanismerna för spârfölj- ning i radiell och axiell riktning i förhållande till skivan och för att upp- rätthålla korrekt fokusering att närmare behandlas. 460 245 I en diskriminator 48 omvandlas detektorns 42 utgångssignal till en binär hög/låg signal med interferensundertryckta övergångar. Denna signal består av kanalbitar. Strömmen av kanalbitar uppfyller förutbestämda konventioner som avser kanalegenskaperna och som är irrelevanta för den vidare beskrivningen.
Strömmen av kanalbitar demoduleras i ett element 50; under denna operation avlägsnas en viss mängd redundans så att bara kodbitarna återstår. I en seriel- parallellomvandlare 52 omvandlas strömmen av kodbitar till 8-bits kodsymboler som slutligen matas till en avkodare 54 för korrektion/detektering av fel.
Vidare avlägsnas symbolvis organiserad redundans i anordningen 54 så att data- symboler för en användare uppträder på en utgång 56. Korrektionen kan alterna- tivt utföras någon annanstans. Den inbördes synkroniseringen av elementens 48-54 operation har utelämnats för enkelhets skull. I en mera utvecklad version omvandlas flera bitelement på skivan tillsammans till kodbitar men denna opera- tion kommer för enkelhets skull ej att närmare behandlas.
BESKRIVNING AV BERÄKNINGSORGANEN Fig 3 visar ett blockschema för en mikrodator med perifer utrustning av- sedd för användning i avkodaren 54. I föreliggande utföringsform utföres be- räkningarna i en mikroprocessor av typ 8X30D eller 8X305, tillverkad av Signe- tics Corporation, 811 East Arques Av., Sunnyvale, Cal., USA, och som är be- skriven i tillverkarens manual. Denna komponent är i synnerhet lämplig för ut- förande av 16-bits instruktioner som transporteras via bussen 58. Det finns också en l3bits buss 60 för instruktionsadresser och en dubbelriktad 8-bits buss 62 för dataingång/utgång. Mikroprocessorn innefattar också ett instruk- tionsregister 64, flera allmänna register 66, skiftlogik 68, utgångslogik 70, en ingångs/utgångsbuffert 72, rotationslogik 74, masklogik 76, en aritmetisk och logisk enhet 78, en adressmultiplexer 80, ett adressregister 82, en pro- gramräknare 84, adressinkrementlogik 86, och allmän avkodnings- och styrlogik 88, varjämte en extern oscillator/tidkrets 90 måste vara anordnad. För enkel- hets skull utelämnas beskrivning av denna styranordnings funktion. För lag- ringen av data användes ett läs/skrivminne som har en maximal kapacitet av 256 8-bits ord och för vilket data och adresser transporteras via databussen i en tidsmultiplexorganisation. Instruktionstiden är 250 ns eller mindre och minnet är lätt att programmera.
Fig 4 visar en tabell för att belysa operationerna på symbolerna, vilka i detta fall (såsom exempel) enbart består av fyra kodbitar (symbolerna består i verkligheten av 8 bitar så att det finns 256 olika möjliga datainnehâll).
Galois-fältet GF (24) består således i detta fall av sexton symboler och ge- fb 460 245 nereras av det primitiva och irreducerbara polynomet X4 + x + 1. I detta fall och även i fallet GF (28) finns det mer än en möjlighet för detta polynom.
Elementen i Galois-fältet ges två gånger, en gång som en serie av digniteter eller potenser av det primitiva elementet a och en gång som en vektorrepresen- tation, dvs som en bitserie som är tillordnad varje aktuell dignitet av a. De fyra aritmetiska operationerna definieras inom ett Galois-fält. Addition och subtraktion kan utföras bitvis i mikrodatorn; t ex: (0110) + (1011) = (1101) additionen kan utföras bitvis modulo-tvâ. Multiplikation och division under- lättas genom att använda logaritmer med basen a. I en logtabell tjänar kodsym- bolen såsom adressen och exponenterna av basen tjänar som data. I en antilog- tabell tjänar denna exponent såsom adressen och kodsymbolen såsom data.
Exempel: (0110) x (1011) resulterar i a(exp5) k a(exp7) = a(exp12), således (1111).
Division utföres på liknande sätt genom att beräkna modulo 2exp(m)-1, så- ledes i detta exempel m = 4.
Fig 5 visar en anordning för beräkning av de 20 syndromsymbolerna per kod- ord. Denna anordning har två driftsmoder: i den första moden mottages symboler- na i en ram eller ett kodord och i den direkt efterföljande andra moden presen- teras de 20 syndromsymbolerna på en utgång för vidare behandling. Datana anlän- der byte-serievis på en ingång 300 och lagras temporärt i två FIFO-minnen 302, 304, fabrikat M.M.I. Corporation; i denna sektion uppgår symbolernas bredd till 8 bitar och en nionde bit tillägges, vilken nämnda nionde bit normalt har värdet noll men värdet 1 för den sista symbolen i en ram. FIFO-minnenas ut- gångar är anslutna till två komponenter 306, 308; dessa är komponenter i den kända TTL serien från Texas Instruments Corporation, typ SN74S135 med kuadrupel Exklusive-ELLER/NELLER-funktion; beteckningen ”S135” som användes är en för- kortning. Den extra biten som anger den sista symbolen matas till sekvenskret- sen som beskrivs i det efterföljande. Element 313, 315 av typ S163 styr valet i tabellanordningarna 320, 322, 324; varje gång en ny kodsymbol presenteras på utgången 302 återställes de till noll. Elementet 310 av typ S273 arbetar med en databredd av 8 bitar och bildas av en återställbar 8-faldig datavippa. Vart och ett av elementen 312, 314 av typen Fairchild 9403 arbetar på fyra bitar paral- lellt och tillsammans bildar de ett FJFO-minne med ett datadjup av 2 x 12 = 24 symboler. Dess utgång är ansluten till en komponent 318 av samma typ som kompo- nenten 310; elementens 312, 314 utgång 316 är vidare tillgänglig för anslut- ning av ytterligare komponenter (i fig 6) för utmatning av syndromsymbolerna. komponenterna 320, 322, 324 är programmerbara ROM-minnen (PROM) av typ INTEL- 460 243 36368, av vilka var och en har en kapacitet av 2kx8 bitar. Dessa minnen inne- håller elementen i paritetscheckmatrisen. Då den första kodsymbolen tas emot har alla syndronsymboler värdet noll. Var och en av dessa preliminära syndrom- symboler multipliceras med den tillhörande raden i paritetscheckmatrisen, var- vid varje så bildad produkt summeras till den senast mottagna kodsymbolen för att bilda en ytterligare syndromsymbol. För varje mottagen kodsymbol rekon- strueras således 20 syndromsymboler. Efter mottagning av den sista kodsymbolen är de 20 slutliga syndromsymbolerna redo för ytterligare behandling. Istället för att använda programmerbara ROM-minnen kan man alternativt använda grind- arrangemang. I föreliggande utföringsform kan komponenternas 306, 308 Exklu- sive-ELLER(NELLER)-funktion ingå i detta grindarrangemang, varvid de två del- funktionerna utföres omväxlande i en tidsmultiplexorganisation. En billigare lösning erhålles således; i synnerhet vid stora produktionsserier. Buffertens 312/314 kapacitet räcker till för de tjugo syndromsymbolerna; överskottskapa- citeten användes inte. Tidstyranordningen matar under styrning med den nionde symbolbiten, som identifierar den sista symbolen i kodordet, således efter bil- dandet av de slutliga syndromsymbolerna, en överföringsstyrsignal till den i fig 6 visade kretsen för att överföra syndromsymbolerna till ingångar 334, 336 som är anslutna till utgången 316.
Fig 6 visar en anordning för att utföra beräkningar i ett Galois-fält, vilken anordning via ingångarna 334, 336 med en kombinerad bredd av 8 bitar matas av utgången 316 i fig 5. Element 338, 340 bildar återigen en FIFO-buffert med ett datadjup av 2 x 64 = 128 symboler. Detta räcker för mer än sex ramar, så att en säkerhetsmarginal erhålles. Skulle en ram bara innehålla ett fåtal felaktiga symboler så blir behandlingen i kretsen enligt fig 6 mycket snabb; dock blir behandlingens varaktighet längre allt eftersom antalet felaktiga sym- boler ökar. Tack vare buffringen i kretsen enligt fig 6 behöver medelrambehand- lingstiden över sex successiva ramar bara svara mot ingångshastigheten på in- gången 300. Om detta medelvärde skulle bli alltför högt skulle bufferten svämma över; i detta fall blockeras ingången 300 vilket betyder att uppteckningsbä- raren måste göra ett extra varv, under viket inga ytterligare data kan matas ut. Komponenten 342 är en inverterande buffert som har en bredd av 8 bitar och som har en trestatus-utgång (låg, hög resp avslutad av en hög impendans) medan dess utgång är ansluten till en 8-bits buss 344. Inverterade datasignaler transporteras på denna buss. Datautgången bildas på liknade sätt av en 8-bits buffert 346 och en FIFO-buffert 348, 350 med ett datadjup av 64 symboler. Däri 460 245 uppträder de data som identifierar eventuella felaktiga symboler, dvs i följd läget av den felaktiga kodsymbolen och felets värde. Värdet skall adderas bit- vis modulo-2 till den felaktiga symbolen för att erhålla det korrekta värdet. 1 enlighet med den konvention som användes har data för varje ram eller kodord följande format: DO, felindikationsserie (xi, yil, DD.
För noll fel är detta följaktligen bitserien 00, OO. För varje felaktig symbol införes två extra symboler i denna serie: först felpositionen xi och sedan felvädet yi. För ett ej korrigerbart kodord är serien FF, 00. Mikrodatorn 352 enl fig 3 är utförd att verkställa de aktuella beräkningarna. Dess dataan- slutning är förbunden med bussen. Vidare är adressutgången (bara de 11 minst signifikanta bitarna i adressen användes) förbunden med PROM-minnena 354, 356, 358 av typ S 191 eller typ 3636. De första tvâ av dessa minnen användes till- sammans för att alstra instruktioner med en bredd av 16 bitar på mikrodatorns 352 instruktionsingång. Det tredje PRDM-minnet 358 användes för att generera ytterligare styrsignaler. Dessa signaler kan således genereras mycket snabbt utan att transport genom bussen 344 krävs; detta är gjort så emedan detta sistnämnda skulle vara relativt långsamt. Ansluten till PROM-minnets 358 utgång är en återställbar vippkrets 360 av typ S273 som har en bredd av 8 bitar för buffring av styrdatana för andra delar av kretsen; tillgängligheten av dessa styrdata förbättras således och kretsen kan arbeta snabbare än om dessa facili- tet inte funnes; detta beror på att denna information kan göras tillgänglig i förväg så att det inte krävs att en räknecykel utföres vid den sista tidpunk- ten.
Bussen är också ansluten till komponenten 362 som bildar en 8-ingångs NOCH-grind, så att man kan detektera om en data-byte med värdet noll finns på bussen eller inte. Denna komponenet bildar en detektor för nolltillstånd hos syndromsymboler och felpositioner för sekvensorganen. I många fall är en mot- tagen ram korrekt; alla syndromsymboler är därvid lika med noll och syndrom- uppsättningen för nästa ram kan behandlas direkt utan att mikrodatorn behöver utföra en mångfald beräkningar. Elementet 364 är en 8-faldig transparent lås- krets som tjänar såsom ett adressregister för FROM-minnet 368 av den angivna typen. Detta register innehåller log- och antilogtabeller av det beskrivna slaget fön det aktuella Galois-fältet och även tabeller för storheterna “C“, "D" och "K" som återstår att beskriva. Med användning av den sålunda bildade slingan kan dataomvandling utföras mycket snabbt; under denna operation in- dikerar en extra styrsignal från elementet 360 omvandlingskategorin (5 olika kategorier).
Elementet 370 är ett RAM-minne av typen 8X350 som har en kapacitet av 256 x 8 bitar och kan drivas med en klockfrekvens av upptill 10 MHz; denna 460 243 1o klocksignal genereras externt och styr också tidsstyranordningen och alstringen av syndromsymbolerna. 8-bitsadresserna kan tillföras i en första mod via bussen 344 medelst tvâ parallellkopplade multiplexrar 372, 374 av typen S157, vilka är styrda av utgångssignalerna från elementet 360. De andra ingångarna på dessa multiplexrar kan ta emot adressdata från elementet 376 av typ S04 som är en 6-faldig inverterare. Den senare tar emot informationen från två parallellkopp- lade 4-bitsräknare 380, 382 av angiven typ, varav bara fem utgångsbitar använ- des parallellt. Den sjätte adressbiten bildas av tidsstyranordningen. Inne- hållet i en serie av adresser kan således läsas från och skrivas in i minnet 370 i mcket snabb följd utan att någon datatransport krävs annat än genom bussen 344. Elementet 378 är en multiplexer av angiven typ, vilken matas med styrutgångssignaler från mikrodatorn 352 eller med signaler från den externa tidstyranordningen. Detta element tjänar också att styra minnet 370 i vilket man kan lagra olika typer av mellandata i aktuella delar av detta minne. De olika modstyrbitarna kan avges av denna mekanism. Räknarnas 380, 382 (se fig 6) utgångssignaler matas till låskretsen 376 och följaktligen till multiplex- rarna 372, 374 så att olika moder kan styras i mycket snabb följd. Tack vare den beskrivna organisationen kan man komma åt adressekvenser mycket snabbt på ett blandat sätt i olika delar av minnet 370. benämns Av FELEN Föreliggande utföringsform utnyttjar ett kodord som innefattar n kodsym- boler och som är skyddat mot högst 10 godtyckligt fördelade kodsymboler medelst en systematisk kod som använder 20 redundanta kodsymboler. Utan tillägg skulle anordningen kunna behandla 24 redundanta kodsymboler; detta är bl a bestämt genom kapaciteten hos elementen 320-324, 312, 314 i fig 5. Teoretiskt kan kod- ordets längd utökas till högst 255 kodsymboler; i föreliggande fall är den minsta längden av ett kodord 21 symboler, dvs en datasymbol och 20 redundanta symboler. ädla symboler består av 8 bitar. Generatorpolynomet för den använda koden är följande: gm = (HP) (H1) (rr-a i varvid produkten åter beräknas i GF (28). Alla korrekta kodord är en multipel av detta generatorpolynom och har samma nollpunkter som generatorpolynomet.
Fig 7 visar ett generellt flödesdiagram för felkorrigeringsoperationen. 19 Operationen startas i blocket 100 och vid slutet därav är hela kodordet till- gänglig, t ex i ett RÅM~minne av lämplig kapacitet, för behandling i kretsen enligt fig 5. Syndromet, dvs (n-k) = 20 symboler i den föredragna utföringsfor- men, bestämmes 1 blocket 102 genom multiplikation med paritetscheckmatrisen Üß 460 243 11 Denna operation utförs i kretsen enligt fig 5 och i det aktuella Galois-fältet.
De ytterligare operationerna utföres i den i fig 6 visade kretsen. Först och främst löses nyckelekvationen i blocket 104; denna ekvation har följande utseende: flrrSlzfl x sigma (z)_# omega(z) mod ZQHU se boken "Algebraic Coding Theory" av Erwin P. Berlekamp, Mcüraw Hill, sid 178 och framåt. Det har påvisats att polynomen sigma (z) och omega (z) kan åter- finnas för varje korrigerbart felmönster, varvid storheten S (z) är polynomet som bildas av syndromsymbolerna.
Storheten sigma (z) är fellokalisatorpolynomet. Storheten omega (z) är felvärdespolynomet; båda polynomen måste beräknas för att bestämna korrek- tionen. Enligt Berlekamp betyder förbindníngssymbolen¿Éf “är kongruent med" vilket betyder: det finns ett polynom C (z) som är sådant att den vänstra ter- men i uttrycket är lika med C (zl x z(2t+1) + omega (2). Det observeras att termen “1 + S(z)“ i nyckelekvationen kan ersättas med "S(z)"; om ett värde införes på z för vilket ett fel har uppträtt så har lokalisatorpolynomet där också värdet noll.
Därefter antas en felräknare eller ett feltal L som utgör en uppskattning av storleksordningen av fellokalisatorpolynomet. Om denna storleksordning är lika med noll är också alla syndromsymbolerna själva lika med noll och kodordet betraktas såsom korrekt; detta är inte visat separat i flödesdiagramnet; systemet kan då fortsätta direkt till blocket 122: stopp.
Felkorrigeringsstrategin är följande: en sökning göres efter det enklaste felmönstret (minsta antalet felaktiga symboler) som inte är i konflikt med det påträffande syndrommönstret; idên är att ett mindre antal fel nästan alltid är mera sannolikt än ett större antal fel. Syndrompolynomet representeras sedan som kvoten mellan två andra polynom av den enklast möjliga formen, närmare be- stämt av en sä låg ordning som möjligt. Dä en lösning har påträffats med ett givet antal symbolfel görs ett ej fullständigt försök, genom att ta i beaktande ett begränsat antal av ytterligare syndromsymboler, att detektera om en ytter- ligare lösning existerar. I princip är det alltid möjligt att finna ett kodord som har ett mera komplext felmönster och som uppfyller samma syndromkonfigura- tion, men chansen av ett sådant fel i sig är mycket liten och dessutom är chan- serna smä att det antagna antalet fel fortfarande ligger inom det korrigerbara området. I blocket 104 blir slutligen en hjälpfelräknare eller hjälpfeltal LH lika med felräknaren eller talet L. Efter fullbordandet av blocket l(M är an- talet symbolfel känt.
I blocket 105 detekteras om antalet fel är lika med “1". Om så är fa? 460 243 12 bestämmes felpositionen och felvärdet hos den felaktiga symbolen direkt i blocket 124. Om resultatet i blocket 106 är negativt (N) så detekteras i blocket 108 om tvâ symbolfel har inträffat. Om resultatet av denna detektering är positivt (Y) bestämmas positionerna av de två felaktiga symbolerna i blocket 126 genom lösning av en kvadratisk ekvation (se fig 10); deras värde kan be- stämmas genom syndromsymbolernas värde. Om feltalet är större än två kan denna operation inte genomföras direkt medelst den visade metoden, varför det först är nödvändigt att bestämma feltalet i blocket 110; detta beskrivs mera detal- jerat med hänvisning till fig 11. Efter fullbordandet av blocket 110 detekteras i blocket 112 om feltalet L har värdet “3“. Om resultatet av denna detektering är positivt (Y) fortsätter systemet till blocket 118. Om resultatet av detekte- ringen är negativt (N) genomföres en Chien-sökcykel i blocket 114. Då en felak tig symbol således påträffas avlägsnas den aktuella nollpunkten genom division så att ordningstalet för fellokalisatorn minskas med en enhet. Hjälpfeltalet minskas därvid också. Denna sökcykel konmer att beskrivas i detalj med hänvis- ning till fig 12. Hjälpfeltalet indikerar antalet fel som fortfarande finns i fellokalisatorn. I blocket 116 detekteras om hjälpfeltalet nu har värdet “3“.
Så länge resultatet är negativt återgår systemet (varje gång) till blocket 114 ' för att utföra en ytterligare Chien-sökcykel. Om det t ex är 10 felaktiga sym- boler måste blocket 114 genomföras sju gånger. Då detekteringen i blocket 116 ger ett positivt resultat löses den återstående kubiska ekvationen i blocket 118. Genom att fortsätta från blocket 118 bestämnes slutligen de aktuella fel- aktiga symbolvärdena i blocket 120. Detta ägde redan rum i blocken 124, 126 för de fall som innebar ett eller två fel. Då blocket 122 nås har hela kodordet korrigerats och generellt kan en ny serie av syndromsymboler tas ut från bufferten förutsatt att det just behandlade kodordet inte var det sista kod- ordet att behandla.
Den aktuella korrektionen utföres inte i den i fig 6 visade kretsen; bara felpositionerna Xi och felvärdena Yi levereras till systemet för vidare användning. Det förenklade flödesdiagrammet enligt fig 7 innehåller inte blocken för att detektera om en felkorrektion har blivit omöjlig. Det är uppen- bart att en snabb process åstadkommes genom att i huvudsak undvika operationer- na i blocket 114. Detta emedan man alltid säker efter värdet LH = 3 och i de flesta fall komner testresultatet att bli positivt redan efter en av de första passagerna genom detta block. Det visade flödesdiagramnet kan modifieras. Det måste emellertid tas i beaktande att Chien-sökcyklerna är jämförelsevis långa så att de kan ta en stor del av processtiden. Emellertid kan i blocket 116 460 243 13 undersökas om hjälpfeltalet är lika med 2 eller 1, så att därefter bara en andra ordningens eller första ordningens ekvation behöver lösas. Det är i prin- cip också möjligt att lösa en fellokalisator av fjärde eller högre ordning ”direkt” utan att utföra Chien-sökcyklerna; denna procedur är emellertid mycket komplicerad. Det valda omrâdet kommer i vissa fall att bero på den till- gängliga mikrodatorn eller på egenskaperna hos den kanal som förorsakar fe- len; datatransporthastigheten är också medbestämmande.
LÖSNING AV NYCKELEKVATIONEN Fig 8b och 9 visar ett detaljerat flödesdiagram för lösningen av nyckel- ekvationen (blocket 104 i fig 7). Fig 8a visar principen för lösning av en matrisekvation med användning av den s k Cramers regel. Om det är känt att en produkt av en kvadratisk matris innefattande n x n element med en okänd vek- tor är lika med en känd vektor kan både de n elementen resp elementen x1.... xn i den okända vektorn påträffas genom att varje gång substituera den kända vek- torn i den kolumn i matrisen som har samna tal som det okända vektorelementet och genom att dividera determinanten i den modifierade matrisen med determinan- ten i den omodifierade matrisen. En möjlig procedur är att denna operation först utföres för värdet n = 10, vilket innebär en mycket omfattande beräkning.
Vidare måste den upprepas för n = 9, för n = 8, osv tills lösningen påträffas.
Att starta med n = 0 och upprepa beräkningen för successivt högre värden på n skulle inte spara tid i sig, emedan det alltid skulle vara nödvändigt att fort- sätta ända till värdet n = 10 så att proceduren t o m skulle bli längre. Detta beror på att endast det högsta värdet på n som ger en lösning är den korrekta.
Därför väljas inte en sådan procedur, som skulle kunna kallas en "brute force"- metod. Även om lösningen som kommer att beskrivas startar med värdet n = 0 så innehåller den också en inherent test avseende korrekthet, så att antalet fel som bestämmas mycket sannolikt också är det korrekta antalet. Dessutom användes delresultat som tidigare beräknats alltid för beräkningar som utföres senare, så att en extra tidsbesparing uppnås. Lösningen av nyckelekvationen i flödes- diagrammet enligt fig 7 representerar bara ett enkelt processblock, så att van- ligen ytterligare operationer krävs. För den lösning av nyckelekvationer i en- lighet med den metod som skall beskrivas, antages varje gång att det bara finns ett litet antal fel och resultatet av detta antagande kommer att testas mot'den aktuella syndromkonfigurationen. Den metod som komner att beskrivas erbjuder en snabb lösning, i synnerhet om antalet verkligt felaktiga symboler i kodordet är litet, emedan enbart relativt få operationer krävs. Följaktligen kan avkodning utföras av den beskrivna mikrodatorn, varvid behandlingen på kodordsnivå alltid 460 245 14 kan utföras i realtid med avseende på kodordens mottagning.
Fig 8a visar den formaliserade nyckelekvationen S(z) x sigmalzl = omegalzl. Därunder är nyckelekvationen skriven i element för fallet som innebär 10 symbolfel; den vänstra matrisen består av 10 x 10 element där alla syn- dromsymboler är representerade. De två ytterligare kolumnerna representerar två vektorer med 10 element vardera, varvid den högra vektorn åter är sammansatt av syndromsymboler. För ett mindre antal symbolfel som uppträder är matrisens determinant emellertid lika med 0, så att ingen lösning påträffas under sådana omständigheter. I detta fall måste en mindre matris väljas. Därunder är fallet som innebär tre fel visat. I verkligheten måste den största matris påträffas vars determinant inte är just lika med 0. Nertill på fig är ekvationen för be- stämning av den andra koefficienten i sigmalzl skriven i element för det fall som innebär 10 symbolfel. I enlighet med den beskrivna beräkningsmetoden an- vändes emellertid en så liten matris som möjligt för beräkningen av signalzl med ett antal extra teststeg. Det antages att lösning av nyckelekvationen också innebär en del av det ytterligare testet. Det påträffade resultaten användes för att övergå från en mindre matris till en större matris, så att bara matris- inkrementeringssteg krävs för den försökta lösningen av matrisekvationen med den större dimensionen. Således utföres varje gång bara ett inkrementeringssteg av lösningen enligt Cramers regel.
Med hänvisning till fig 8b startar proceduren i blocket 130; vid slutet därav är alla syndromsymboler tillgängliga så att nyckelekvationen kan formu- leras. Först göres det aktuella syndromtalet N lika med noll i blocket 132; detta är antalet syndromsymboler som använts så långt för verkställandet av Cramers regel. Detta tal är (därför) lika med två gånger antalet symbolfel som antagits så långt. Det senare talet betecknas som "L" som också är ordningen hos sigma(z). Tre storheter görs lika med 1, dvs nollkoefficient sigma(0) av sigmalzl, en tillhörande hjälpstorhet Q]sigma(0) och en storhet Qldelta 1 hjälpstorhet till diskrepansstorheten delta 1; hjälpstorheterna tjänar att "spara" de tillhörande "verkliga" storheterna. Därefter testas i blocket 134 om hela serien av syndromsymboler har beaktas. Om så är fallet har i varje fall proceduren enligt fig 8b och 9 avslutats och systemet fortsätter till blocket 106 i fig 7 (i verkligheten till blocket 110). Om testresultatet i blocket 134 är negativt fortsätter systemet till blocket 136. Där beräknas den första dis- krepansen såsom den skalar som erhålles genom att multiplicera en del av den aktuella syndromvektorn och den transponderede aktuella fellokalisatorn; denna diskrepans är därför en skalar storhet. Vid den första passagen är dis- 460 243 15 krepansen således lika med den första syndromsymbolen. Den aktuella syndromvek- torn är därför den nästa raden i matrisen enligt fig 8a under nästa inkrement- steg. Den aktuella fellokalisatorn är därvid fellokaliseringsvektorn som tillämpats så långt inkluderande koefficienten sigma 0. vid den andra passagen har faktorerna två termer osv upp till ett maximivärde av nio.
I blocket 138 undersökes om diskrepansen delta 1 är lika med 0. Om så inte är fallet (N) fortsätter systemet till blocket 140. I blocket 140 bestämmes det nya polynomet sigma(z), vilket polynom erhåller en extra term vid varje passage. De gamla koefficienterna modifieras därvid också. Detta sker enligt Cramers regel såsom beskrivits med hänvisning till fig 8a, dvs medelst en matris/vektordimension som varje gång ökas med en enhet. Först beräknas den andra diskrepansen delta 2 på samma sätt som den första diskrepansen, låt vara över en serie syndromsymboler som har skiftats en symbol. Vidare ökas feltalet L och en hjälpvektor “cap"delta (1...L) bestämmes, vars antal komponenter är lika med feltalets värde. Den första komponenten bestämmes av den första ko- efficienten i den aktuella fellokalisatorn, också med hänsyn tagen till dis- krepanserna. För ordningstal i som är större än 1 bestämmes komponenten "cap"- delta(i) från den aktuella komponten i sigma(z) av nästa lägre ordningstal och komponenten hos sigma(z) av den andra lägre ordningen som har sparats under en föregående beräkningsoperation. Slutligen sparas och uppdateras de aktuella komponenterna i sigma(z) medelst de beräknande komponenterna hos "cap“delta av tillhörande ordning och antalet syndromsymboler som tagits i beaktande uppdate- ras också. Därefter sparas värdet på delta 1. Determinanterna i Cramers regel kompletteras således varje gång med en rad och en kolumn utan att fullständig beräkning av determinanterna krävs. Systemet återvänder därefter till blocket 134.
Om testet i blocket 138 är positivt (Y) fortsätter systemet till blocket 142, Där inkrementeras det aktuella syndromtalet (= antalet syndromsymboler som tagits i beaktande). Detta betyder att ett “allt för stort“antal symbolfel an- tagits vilket motsvarar verkliga symbolfel bara om det positiva resultatet i blocket 138 var förhastat. Om resultatet i blocket 138 var riktigt är de extra symbolfelen bara pseudo-symbolfel. Vidare beräknas den första diskrepansen del- ta 1 återigen; i verkligheten är detta samma storhet som den andra diskrepan- sen i blocket 140. I blocket 144 undersökes om denna första diskrepans är noll.
Om resultatet är positivt fortsätter systemet till blocket 146 där det under- sökes om det aktuella syndromtalet överstiger eller är lika med en övre gräns Nmax. I systemet är denna storhet given för varje värde på L såsom varande det uppskattade antalet symbolfel; det är lltid större än antalet syndzomsymbo- 460 243 16 ler som tagits i beaktande så långt i blocket 136. För många värden på L är talet Nmax mindre än 20, det överstiger t ex det aktuella talet N i blocket 136 med ett fast belopp och är t ex lika med 2L+4; detta val är bestämt av typen av fel som förutses och den risk för felaktig detektering som kan tillåtas.
Värdet Nmax kan vara jämt lika väl som udda. Ju större värde som är valt för Nmax desto mindre blir risken att ett antaget värde på feltalet är felaktigt; om ä andra sidan denna sista slinga fullbordas bara några få gånger så sparas räknetid. Så länge testresultatet i blocket 146 är negativt återvänder systemet varje gång till blocket 142; varje gång bestämmas därvid den nästa diskrepan- sen, ordningstalet för de syndromsymboler som tagits i beaktande ökas därvid med en enhet; deras antal förblir alltid lika med (L+l). Då den övre gränsen för Nmax nås fortsätter systemet direkt från blocket 146 till blocket 106 i fig 7. Om resultatet i blocket 144 är negativt fortsätter systemet till ingången av fig 9. Detta fullbordar beskrivningen av fig 8b.
Flödesdiagrammet i fig 9 illustrerar den andra delen av lösningen av nyc- kelekvationen och nås från blocket 144 i fig 8b; fig 9 har en enda ingång till blocket 148. Övergången till detta flödesdiagram kan tolkas såsom ett misslyckande av proceduren enligt fig 8b; i praktiken kommer ett sådant miss- lyckande endast att uppträda för speciella kombinationer av symbolfel. De i fig 9 visade stegen är kända i och för sig genom boken av Erwin R. Berlekamp i an- förda arbete, §7.4, sid 184. Stegen enligt fig 8b resulterar vanligen i snabba- re behandling. Olika processblock inkluderar operationer som motsvarar opera- tionerna i blocket 140 i fig 8b. I blocket 148 sparas värdet på feltalet L i en hjälpvariabel LD och därefter beräknas värdet på L åter. Då blocket 140 i fig 8b lämnades var N lika med 2 L men i blocket 142 har värdet på N ökats en eller flera gånger. Det nya värdet på feltalet blir således större än det gamla vär- det. I blocket ISO detekteras om värdet på L är större än 10. Om så är fallet fortsätter systemtet till blocket 152 och det signaleras att kodordet inte kan avkodas. Ett ytterligare försök kan därvid göras att rekonstruera informationen på ett annat sätt (t ex genom att återigen avleda hela kodordet från datakäl- lan) men denna typ av teknik har redan beskrivits på andra ställen. Om antalet antagna fel L fortfarande ligger inom de givna gränserna bestämmas en serie av "cap"delta-storheter i blocket 154, dvs för alla tillåtna värden på storheten i. Därutöver sättes alla “cap“delta-storheter lika med noll. Vidare sparas alla kända koefficienter i fellokalisatorn sigma(z) i motsvarande hjälpvariabler.
Den första diskrepansen sparas i storheten D} delta 1 och alla koefficienter i fellokalisatorn uppdateras medelst de tillhörande storheterna "cap“delta, så- 460 243 17 som i blocket 140.
I blocket 156 introduceras en hjälpstorhet J vilken indikerar antalet in- krementeringar på Cramers regel och således antalet extra syndromsymboler att ta i beaktande. Blocken 158, 160 bildar en slinga. I denna inkrementeras först storheterna J, N, diskrepanserna beräknas åter, de aktuella "cap“delta uppdate- ras eller sättes lika med noll och koefficienterna i fellokalisatorn uppdate- ras. Slutligen detekteras om storheten J fortfarande ligger inom de givna grän- serna. Så länge så är fallet fullbordar systemet åter slingan. Då J = L - LO har slingan fullbordats ett tillräckligt antal gånger. Systemet fortsätter där- vid till blocket 162 där serien av koefficienter i fellokalisatorn sigmalzl som sparades i blocket 154 skiftas en eller flera indexpositioner i förhållande till det sparade värdet L, medan de andra koefficienterna sättes lika med noll.
Slutligen inkrementeras antalet syndromsymboler som tagits i beaktande och sys- temet återgår till blocket 134 i fig 8b. Detta fullbordar beskrivningen av fig 9 och även lösningen av hela nyckelekvationen. Blocket 152 leder till blocket 106 i fig 7. Vad som händer i blocken 106, 108 och 124 i fig 7 kommer inte att beskrivas i detalj.
Fig 10 är en detaljerad representation av blocket 126 i fig 7 för bestäm- ning av två felsymboler. Den enda ingången leder till blocket 164. Där under- sökes om koefficienten sigma l i fellokalisatorn sigma har värdet 0. Detta skulle betyda att felen sammanfaller och detta är omöjligt till följd av den valda definitionen på "felaktigt". Om testresultatet i blocket 164 är positivt betraktas kodordet såsom ej dekoderbart (blocket 166). Blocket 166 svarar så- ledes mot blocket 152 i fig 9. En annan procedur som alltid kan utföras är att hoppa och återvända till blocket 146 i fig 8b, så att ett antal extra diskre- panser kan testas. Om testresultatet i blocket 164 är negativt bestämmas en första proto-felposition Chi 1 i blocket 160; detta utföres medelst en tabell som är betecknad med "C" och är lagrad i elementet 368 i fig 6, såsom tidigare beskrivits. Proto-felpositionen är relaterad till den verklga felpositionen men den verkliga felpositionen kan inte bestämmas vid detta steg av proceduren. 1 blocket 170 bestämmes spårkvantiteten av den aktuella koefficienten; detta är en konventionell operation. Om detta spår inte är lika med noll fortsätter sys- temet till blocket 172 och kodordet betraktas såsom ej avkodbart. I detta fall kan ett hopp åter göras till blocket 146 i fig 8b; ett ytterligare steg måste därvid tas för att säkerställa att systemet inte kan bli kvar i oändighet i en sådan bildad slinga. Om testresultatet i blocket 170 är positivt kan felet be- stämmas. Först bestämmes de slutliga felpositionerna i blocket 174 genom in- 460 243 18 krementering i GF (28) av den första proto-felpositionen Chi 1 och multipli- kation med koefficienten sigma 1 i fellokalisatorn, sigma 2. Om t ex Chi 1 = ai är kodsymbolen med ordningstalet (i) felaktig. I blocket 176 bestämmas först det preliminära felvärdet I och det verkliga felvärdet bestämnes därur medelst koefficienten sigma 1 och syndromsymbolen SO. Blocket 122 har redan beskrivits med hänvisning till fig 7. Blocket 176 representerar i verkligheten blocken 110 och 120 för detta antal symbolfel.
För ett större antal symbolfel bestämmes först felräknetalet omega(z), såsom är visat i fig 11 (se blocket 110 i fig 7). Feltalet bestämmas såsom pro- dukten av syndrompolynomet S(z) och fellokalisatorpolynomet signalzl så att omegal = S1 x sigmafl + S0 x sigmal; omega2 = S2 x sigmaß + S1 x sigmal + SO x sigma2, etc.
Processen har en enda ingång till blocket 178; där sättes hjälpstorheten I är lika med noll. I blocket 180 sättes en andra hjälpstorhet J lika med noll och även en preliminär koefficient i felutvärderaren. Storheterna I och J är ord- ningstal och har ingen fysikalisk betydelse. Blocken 182, 184 bildar en slinga i vilken varje gång en koefficient i felutvärderarpolynomet uppdateras och hjälpstorheten J inkrementeras. Då J blir större än 1 har den aktuella koeffi- cienten fullständigt bestämts och värdet på I inkrementeras i blocket 186 för att fortsätta med nästa koefficient i felutvärderarpolynomet. Då värdena på I och L är lika har hela polynomet bestämts och systemet fortsätter till blocket 112 i fig 7. _ Fig 12 visar ett flödesdiagram för lösningen av den kubiska ekvationen, se blocket 118 i fig 7. Lösningen av andra ordningens och tredje ordningens ekva- tioner i ett Galois-fält har beskrivits i en artikel av R.T. ßhien, IEEE Trans- action on Information Theory, mars 1969, sid 329 och vidare. Denna artikel be- skriver också lösningarna på ekvationer av fjärde och femte ordningen men dessa lösningar användes inte i den föredragna utföringsformen som beskrives. Fig visar en enda ingång till blocket 190 som nås från ett av blocken 112, 116 i fig 7; för enkelhets skull kommer det som händer i de senare blocken inte att beskrivas i detalj. I blocket 190 testas först den andra och den tredje koeffi- cienten sigma (1, 2) av fellokalisatorpolynomet, såsom är visat. Om denna test är positiv fortsätter systemet till blocket 192. Där bestämmes en hjälpstorhet I och en hjälpstorhet J1 successivt, dessa stoheter är element i ett Galois- fält. Den sistnämnda bestämningen utföres åter medelst en tabell (element 368). 1 blocket 194 undersökes om storheten I är lika med en potens (3n) av det pri- mitiva elementet i a av Galois-fältet. Om så inte är fallet fortsätter systemet till blocket 198 och kodordet betraktas såsom ej avkodbart. Om testet i blocket 460 243 19 194 är positivt fortsätter systemet till blocket 196 och tre olika preliminära fellokaliseringar Chi 1, 2, 3 bestämmas provisoriskt. Systemet fortsätter sedan tm blocket 206. ' Om testresultatet i blocket 190 är negativt fortsätter systemtet till blocket 200. Där beräknas ett värde på hjälpstorheten J på angivet sätt och ett värde på hjälpstorheten I beräknas därur medelst en funktionomvandlingstabell som är batecknad med "D". Denna omvandlingstabell är åter lagrad i elementet 368 i fig 6. I blocket 202 undersökas om en s k orbital-representation avses.
(Denna representation är beskriven i detalj i den nämnda artikeln). 0m svaret är negativt fortsätter systemtet till blocket 198 och kodordet betraktas såsom ej korrigerbart. Om testresultatet i blocket 202 är positivt fortsätter syste- met till blocket 204. Först bestämmas en första hjälpstorhet nul medelst C-ta- bellen och en andra hjälpstorhet nu2 bestämmas därur. Därefter uppdateras den redan beskrivna hjälpstorheten I (blocket 200). Slutligen bestämmas i detta block de tre felans preliminära positioner. Systemtet fortsätter därefter till blocket 206 som också nåddes från blocket 196. I blocket 206 uppdateras de tre felens peliminära positioner medelst den andra koefficienten i fellokalisatorn sigma(z) för att erhålla de slutliga positionerna; systemet fortsätter sedan till blocket 208. I blocket 208 undersökas om felräknaren eller feltalet har värdet 3 och det undersökas således om en Chian-sökcykel har ägt rum innan denna punkt av proceduren nåtts. Alla fel är nu kända och systemet fortsätter till blocket 210. Där bestämmas först hjälpstorheten F. Därefter bestämmas fel- värdena Y (1, 2, 3)medelst koefficienterna omega (1, 2, 3) i den tidigare be- stämda felutvärderaren och de aktuella felpositionerna x(1,2, 3). Det aktuella kodordet har nu behandlats fullständigt. Blocket 210 representerar i verklig- heten en snabbare version av behandlingen i blocket 120 för tre fel.
En första dal av fig 13 representerar den aktuella Chien-sökoperationen.
Denna sektions ingångsblock bildas av ett block 218 och nås från blocket 188 i fig 11, förutsatt att ordningen hos fellokalisatorn sigma(z) är större än 3. Om så inte är fallet fortsätter systemet till blocket 190 i fig 12. Först göres hjälpfelräknaren lika med L och antalet N testade kodsymboler sättas lika med noll. Därefter bestämmas storheten “sum". Detta emedan de inversa värdena av rötterna ur fellokalisatorerna sigma(z) anger felställena; på liknande sätt alstrar emellertid rötterna ur fellokalisatorn med en inverterad koefficient- serie (inverterat polynom) också felställena. Efter denna bestämning i blocket 220 testas värdet på storheten "sum“ i blocket 222. Så länge värdet på denna storhet “sum" skiljer sig från 0 fullbordas en slinga som består av blocken 460 243 zo 222, 226, 228, 220. I denna inkrementeras antalet testade kodsymboler varje gång och storheten “sum" beräknas åter. Det aktuella kodordet betraktas såsom ej avkodbart (blocket 216) endast om värdet N överstiger den tillåtbara läng- den av kodorden. Om storheten “sum" blir 0 under passerandet av slingan (vilket kan äga rum så många gånger som 100 under vissa omständigheter, dvs ett antal gånger lika med längden av kodordet i symboler reducerat med 3) har en felsym- bol påträffats i en sådan Chien-sökcykel och den aktuella roten ur fellokalisa- torn kan avlägsnas genom division. Först lägges den aktuella felaktiga symbo- lens fellokalisator ned i blocket 232, varefter hjälpfelräknaren minskas med en enhet och slutligen fellokalisatorns ordning reduceras genom division. I blocket 234 undersökes om hjälpfelräknaren har värdet 3. Så länge resultatet av denna undersökning är negativt återvänder systemet (varje gång) till blocket 226; således påträffas de felaktiga symbolerna i en progressiv ordning i kod- ordet. Men en annorlunda programnerad ordning skulle vara lika bra. Om testre- sultatet i blocket 234 är positivt fortsätter systemet till blocket 190 i fig 12. När alla felställen har påträffats bestämnes de felaktiga symbolerna i blocket 236. Kodordet har därvid behandlats fullständigt. Blocket 236 utför i verkligheten operationerna i blocket 120 för ett antal fel som uppgår till fyra eller mera.
Om å andra sidan testresultatet i blocket 208 i fig 12 är negativt så är mer än tre fel involverade och systemet fortsätter till blocket 212 i fig 13.
Detta betyder att vid denna tidpunkt alla fel har påträffats (de sista tre i den del av fig 12 som just fullbordats) men att blocket 210 inte är användbart.
Alla fel måste nu beräknas. Ingångsblocket 212 är en annan ingång i fig 13 än den som användes av blocken 134, 146 i fig 8. I blocket 212 undersökes om var och en av de första tre felställena är större än det fjärde. Om testresultatet är positivt undersökes i blocket 214 om alla tre felställena ligger inom den betraktade maximala längden av ett kodord av n kodsymboler (t ex 108 symboler i en utföringsform). Om ett av de två testresultaten i blocken 212, 214 är nega- tivt fortsätter systemet till blocket 216 och det aktuella kodordet betraktas såsom ej avkodbart. Om båda testresultaten är positiva fortsätter systemet till blocket 236 för att beräkna felvärdena för alla symbolfel som påträffats (minst fyra och ej mer än tio i föreliggande utföringsform). Systemtet fortsätter där¿ efter till blocket 122, vilket således fullbordar behandlingen av det aktuella kodordet-

Claims (9)

1. 21 .Ira (7\ CD BJ $\ Lä Patentkrav. Avkodningsförfarande för avkodning av flersymbolkodord, vilka är skydda- de medelst en Reed-Solomon-kod mot uppträdande av ett flertal symbolfel inom ett kodord, vilket förfarande är k ä n n e t e c k n a t av att det innefat- tar stegen: a. b. sekventiell mottagning av alla kodsymboler hos ett koder; multiplicering av kodorden med paritetskontrollmatrisen (H) för koden för att därigenom alstra en serie syndromsymboler för det ifrågavarande kodordet; antagande av L=0 symbolfel i det ifrågavarande kodordet: för det antagna antalet L symbolfel iösning av en nyckeiekvation som är begränsad till de N syndromsymbolerna enligt Cramers regel medelst de första N=2L syndromsymbolerna (140); bestämning av värdet på diskrepansen delta 1; i händelse av ett värde skilt från 0 på delta 1 återgång till steget d genom att öka värdet på L och upprepa lösningen av nyckelekvationen me- delst matrisinkrementeringsoperationer och reexekvering av steget e; men i händelse av en diskrepansf delta 1 som är lika med noll (138), ökning av talet N ytterligare genom att antaga ett ytterligare kvasisym- bolfel och åter beräkna värdet på diskrepansen delta 1 som baserad på godtyckliga rådande symbolfel och godtyckligt kvasisymbolfel; så länge som noll-diskreptans konstateras, reexekvering av steg g tills ett förutbestämt värde nås för N=Nmax, som är beroende av det rådande antalet symbolfel, varefter lösningen för nyckelekvationen betraktas som korrekt; men i händelse av att en diskreotans skild från 0 konstateras i något av stegen g, h komplettering av den rådande nyckelekvationen för god- tycklig kvasisymbol såsom angivits, varvid den senare då fungerar som ytterligare symbolfel och återgår till steg d; och i händelse av en korrekt lösning för nyckelekvationen uppvisande av åtminstone ett förutbestämt antal symbolfel som beräknar felloka- lisatorn sigma (Z) och felutvärderaren omega (Z}; bestämning av godtycklig nollpunkt hos fellokalisatorn for att erhål- la positionsdata för möjliga felaktiga kodsymboler; bestämning ur nämnda nollpunkt (-er) av godtyckligt symbolfel förbun- det med en inkorrekt kodsymbol, varvid den sistnämnda är korrigerbar genom den förbundna kombinationen av felvärde och positionsdata. 22 460 243
2. Avkodningsförfarande enligt patentkravet i, k ä n n e t e c k n a t av att i steget j löses för åtminstone två symbolfel fellokalisatorekvation- en av åtminstone andra ordningen direkt för att därigenom lokalisera god- tyckligt fel direkt utan användning av felutvärderaren och där nämnda för- utbestämda antal är större än två.
3. Avkodningsförfarande enligt patentkravet 2, k ä n n e t e c k n a t av att i steget k löses en kubisk fellokalisatorekvation endast för tre sym- bolfel och därefter tilldelas ett felvärde till godtyckligt symbolfel som lokaliserats sålunda, men i händelse av att fler än tre symbolfel föreligger, realiseras en Chiensökning över serien av kodsymboler av ifrågavarande kodord tills ett symbolfel lokaliseras, varefter faktorn som representeras av det sålunda bildade symbolfelet avlägsnas (114) från fellokalisatorn genom del- ning, sâ att det verkliga antalet av kvarstående symbolfel minskas, varvid fellokalisatorekvationen löses direkt (118) vid uppnâende av ett förutbe- stämt antal återstående symbolfel.
4. Avkodningsapparat för avkodning av flersymbolkodord som är skyddade medelst en Reed-Solomon-kod mot uppträdande av multipla symbolfel inom ett kodord, varvid nämnda apparat är k ä n n e t e c k n a d av att den inne- fattar: a. immtmpnmfiel för sekventiell mottagning av kodsymboler hos ett kodord; b. första beräkningsmedel matade av nämnda mottagarmedel och innefattande en första multiplikator för generering av en serie syndromsymboler för ett kodord medelst multiplikation med kodens paritetskontrollmatris (H); c. andra beräkningsmedel (104) matade av de första beräkningsmedlen och med sekvensieringsmedel for sekventiell åtkomst till en serie av förs- ta till åttonde programsteg, nämligen: cl. ett forsta programsteg för antagande av L=0 symbolfel i det verkliga ordet för att därefter nå ett andra programsteg; CZ. ett andra programsteg för att aktivera en andra multiplikator för att för det verkligen angivna antalet L symbolfel medelst de första H=2L syndromsymbolerna lösa en nyckelekvation som är begränsad till de N syndromsymbolerna enligt Cramers regel och för att därefter få åt- komst Lill ett tredje programsteg; ett tredje programsteg för bestämning av värdet av discrepansen del- fa 1 ooh för att därefter få åtkomst till ett fjärde programsteg: c4. c5. c6. c7. c8.
5. att nämnda beräkningsmedel har 23 460 243 ett fjärde programsteg för bestämning av ett värde på delta 1 skilt från noll (138) och som därefter åter får åtkomst till det andra pro- gramsteget under inkrementering av det rådande värdet på L och uppre- pande av lösningen av nyckelekvationen medelst matrisinkrementerings- operationer, men vid bestämning av ett nollvärde på delta 1 (138) får åtkomst till ett femte programsteg; ett femte programsteg för inkrementering av antalet N medelst antag- ning av ett kvasisymbolfel och ånyo beräkning av värdet på diskrepan- sen delta 1 såsom den är baserad på godtyckliga rådande symbolfel och kvasisymbolfel och för att därefter få åtkomst till ett sjätte program- steg; ett sjätte programsteg för bestämning av en diskrepans delta 1 som är skild från noll för att därefter få åtkomst till det tredje program- steget under komplettering av nyckelekvationen för godtyckligt verk- ligt kvasisymbolfel som sedan fungerar som ytterligare symbolfel men som för övrigt får åtkomst till ett sjunde programsteg; ett sjunde programsteg förjämförelseav det verkliga värdet på N med ett förutbestämt värde Nmax givet av dët rådande antalet icke-kvasi- symbolfel och för ett för lågt värde på N få åtkomst till det femte programsteget men för ett tillräckligt högt värde på N få åtkomst till ett åttonde programsteg; ett åttonde programstcg för att i händelse av att nyckelekvationen upp- visar åtminstone ett förutbestämt antal symbolfel erhålla fellokalisa- torn sigma (Z) och felutvärderaren omega (Z); tredje beräkningsmedel matade av nämnda andra beräkningsmedel för be- stämning av godtycklig punkt hos fellokalisatorn för att erhålla mot- svarande positioner av kodsymboler disponerade att vara felaktiga; fjärde beräkningsmedel matade av nämnda tredje beräkningsmedel för bestämning ur nämnda nollpunkter av godtyckligt symbolfel förbundet med inkorrekta kodsymboler, vilka inkorrekta kodsymboler är korrigerbara genom kombination av felvärde och förbundna positionsdata. Avkodningsapparat enligt patentkravet 4, k ä n n e t e c k n a d av första detekteringsmedel (106,l08) for att innan intradande sker i steget C8 detektera ett antal av åtminstone tvâ sym- bolfel, varvid en utsignal pâ nämnda forsta detektormedel då styr ett förs- ta tillstånd hos nämnda andra beräkningsmedel för att direkt lösa (l24,l2E} en fcllskalisetorekvation av åtminstone andra ordningen för att lokalisera 24 460 245 och utvärdera godtyckligt fel direkt, varvid en alternativ utsignal hos nämn- da första detektormedel i händelse av ett högt antal symbolfel styr ett and- ra tillstånd hos nämnda andra beräkningsmedel för att då gå in i exekveringen av steget C8. '
6. Avkodningsapparat enligt patentkravet 5, k ä n n e t e c k n a d av att nämnda beräkningsmedel har andra detekteringsmedel för detektering av ett funnet antal på tre symbolfel, varvid en utsignal på nämnda andra detekte- ringsmedel då styr ett tredje tillstånd hos nämnda tredje beräkningsmedel för att däri lösa en kubisk fellokalisatorekvation, lokalisera felen, och till- dela felvärden till godtyckligt sålunda funnet fel, medan en annan utsignal hos nämnda andra detekteringsmedel i händelse av ett högt antal symbolfel då styr ett fjärde tillstånd hos nämnda tredje beräkningsmedel för att i nämn- da fjärde tillstånd utföra följande programsteg: dl_ ett nionde programsteg för realisering av en Chien-sökcykel över seri- en av kodsymboler tills ett symbolfel lokaliserats för att därefter få åtkomst till ett tionde programsteg; d2. ett tionde programsteg for avlägsnande (114) av faktorn som utgörs av nämnda lokaliserade symbolfel från fellokalisatorn genom delning så att det verkliga antalet återstående symbolfel minskas och därefter få åtkomst till ett elfte programsteg; d3. ett elfte programsteg för detektering om antalet återstående fel över- stiger ett andra förutbestämt antal och i det positiva fallet åter få åtkomst till det nionde programsteget men i det negativa fallet få åt- komst till ett tolfte programsteg; d4. ett tolfte programsteg för direkt lösning (118) av fellokalisatorekva- tionen.
7. Avkodningsapparat enligt patentkravet 4,5 eller 6, k ä n n e t e c k- n a d av att nämnda första beräkningsmedel innefattar en slinga som innefat- tar en seriekoppling av en exklusiv ELLER-krets (306,308) för mottagning av kodsymboler, en buffert (312, 314) för lagring av (tillfälliga) syndromsym- boler bildade för ett kodord, och ett läsminne (ROM) (320,322,324) för lag- ring av multiplikationstabeller för paritetskontrollmatrisen, varvid en ut- gång på nämnda läsminne är âterkopplad till en ytterligare ingång på den ex- klusiva ELLER-kretsen, en ytterligare utgång (316) på bufferten ar ansluten till andra beräkningsmedlen för att till dessa tillföra serien av slutliga syndromsymboler vid slutförande av behandlingen av det relevanta kodordet. 25 469 243
8. Avkodningsapparat enligt patentkravet 7, k ä n n e t e c k n a d av att för detektering av den sista kodsymbolen av ett kodord på basis av en vidhängande signalbit ar en signaldetektor anordnad, som har en utgång vilken aktiverar den ytterligare utgången (316) för att möjliggöra att nämnda krets mottar ett följande kodord.
9. Avkodningsapparat enligt något av patentkraven 4,5 eller 6, k ä n n e- t e c k n a d av att de andra, tredje och fjärde beräkningsmedlen är rea- liserade medelst en beräkningskrets som innefattar: en ingångsbuffert (338, 340) för lagring av åtminstone den kompletta serien av syndromsymboler som är alstrade för ett kodord,en mikrodator (352), en utgångsbuffert (348,350) för lagring av en serie av fellokalisator- och felutvärderingssymboler alst- rade för en fullständig serie av syndromsymboler förbundna med kodord, och en buss (344) som är ansluten mellan dessa komponenter och till vilken även är ansluten en log/antilog-tabellanordning (364,368) för utförande av multi- plikationsoperationer på symbolerna i det ifrågavarande Galois-fältet, och ett dataminne (37Ö) för vilket adresser kan tillföras av mikrodatorn via bussen och även av en räknare (380,382) som kan ökas genom en extern klock- generator. lO. Avkodningsapparat enligt patentkravet 9, k ä n n e t e c k n a d av att till bussen är även ansluten en detektor (362) för detektering av ett korrekt kodord genom detektering av en serie av syndromsymboler förbundna med ett kodord och innehållande exklusiva "noll"-symboler, och utan använ- dande av mikrodatorn anronas en följande serie syndromsymboler därefter.
SE8403269A 1983-06-22 1984-06-19 Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod SE460243B (sv)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8302214A NL8302214A (nl) 1983-06-22 1983-06-22 Dekodeerinrichting voor het dekoderen van kodewoorden die bloksgewijs middels een reed-solomon-code tegen meerdere symboolfouten per blok beschermd zijn, en uitleesinrichting voor optisch uitleesbare opslaglichamen welke uitleesinrichting voorzien is van zo een dekodeerinrichting.

Publications (1)

Publication Number Publication Date
SE460243B true SE460243B (sv) 1989-09-18

Family

ID=19842050

Family Applications (2)

Application Number Title Priority Date Filing Date
SE8403269A SE460243B (sv) 1983-06-22 1984-06-19 Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod
SE8403269D SE8403269L (sv) 1983-06-22 1984-06-19 Avkodare for avkodning av kodord som er blockvis skyddade mot upptredandet av ett flertal symbolfel inom ett block medelst en reed-solomon-kod samt avlesningsanordning for optiskt lesbara uppteckningsberare som innefatt

Family Applications After (1)

Application Number Title Priority Date Filing Date
SE8403269D SE8403269L (sv) 1983-06-22 1984-06-19 Avkodare for avkodning av kodord som er blockvis skyddade mot upptredandet av ett flertal symbolfel inom ett block medelst en reed-solomon-kod samt avlesningsanordning for optiskt lesbara uppteckningsberare som innefatt

Country Status (8)

Country Link
US (1) US4642808A (sv)
JP (1) JPS6037833A (sv)
CA (1) CA1220865A (sv)
DE (1) DE3422461A1 (sv)
FR (1) FR2549319B1 (sv)
GB (1) GB2142752B (sv)
NL (1) NL8302214A (sv)
SE (2) SE460243B (sv)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728227B2 (ja) * 1985-06-07 1995-03-29 ソニー株式会社 Bch符号の復号装置
US5003539A (en) * 1986-04-11 1991-03-26 Ampex Corporation Apparatus and method for encoding and decoding attribute data into error checking symbols of main data
WO1987006368A1 (en) * 1986-04-11 1987-10-22 Ampex Corporation Apparatus and method for encoding and decoding attribute data into error checking symbols of main data
US4763330A (en) * 1986-05-06 1988-08-09 Mita Industrial Co., Ltd. Syndrome calculating apparatus
US4730321A (en) * 1986-05-30 1988-03-08 Quantum Corporation Disk drive with improved error correction code
DE3866902D1 (de) * 1987-03-10 1992-01-30 Siemens Ag Verfahren und einrichtung zur steuerung der fehlerkorrektur innerhalb einer datenuebertragungssteuerung bei von bewegten peripheren speichern, insbesondere plattenspeichern, eines datenverarbeitungssystems gelesenen daten.
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
US5001715A (en) * 1988-05-12 1991-03-19 Digital Equipment Corporation Error location system
ATE116081T1 (de) * 1989-08-24 1995-01-15 Philips Nv Verfahren und einrichtung zur decodierung von wortgeschützten codewörtern durch einen nichtbinären bch-code gegen mindestens einen symbolfehler.
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
US6023782A (en) * 1996-12-13 2000-02-08 International Business Machines Corporation RAM based key equation solver apparatus
US6173429B1 (en) * 1997-03-14 2001-01-09 Harris Corporation Apparatus for providing error correction data in a digital data transfer system
US6704902B1 (en) * 1998-09-07 2004-03-09 Sony Corporation Decoding system for error correction code
US6175941B1 (en) * 1998-12-08 2001-01-16 Lsi Logic Corporation Error correction apparatus and associated method utilizing parellel processing
US6279137B1 (en) 1998-12-08 2001-08-21 Lsi Logic Corporation System and method for a storage-efficient parallel Chien Search
US6961879B1 (en) * 2000-05-23 2005-11-01 Zoran Corporation Apparatus and method for counting error rates in an optical compact disc storage system
US7865806B2 (en) * 2006-03-03 2011-01-04 Peter Lablans Methods and apparatus in finite field polynomial implementations
US20140055290A1 (en) 2003-09-09 2014-02-27 Peter Lablans Methods and Apparatus in Alternate Finite Field Based Coders and Decoders
KR101437396B1 (ko) * 2008-02-27 2014-09-05 삼성전자주식회사 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법
JP5525498B2 (ja) * 2011-09-13 2014-06-18 株式会社東芝 誤り検出装置
RU2613760C2 (ru) * 2015-06-04 2017-03-21 Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет телекоммуникации им. проф. М.А. Бонч-Бруевича" Устройство мажоритарного декодирования кода Рида-Соломона по k-элементным участкам кодовой комбинации
CN111726124B (zh) * 2019-03-21 2023-09-29 博通集成电路(上海)股份有限公司 用于纠错的电路及其方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648236A (en) * 1970-04-20 1972-03-07 Bell Telephone Labor Inc Decoding method and apparatus for bose-chaudhuri-hocquenghem codes
US3781791A (en) * 1971-12-13 1973-12-25 Bell Telephone Labor Inc Method and apparatus for decoding bch codes
US3771126A (en) * 1972-04-10 1973-11-06 Bell Telephone Labor Inc Error correction for self-synchronized scramblers
US4142174A (en) 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
GB2093238B (en) * 1981-02-18 1985-04-17 Kokusai Denshin Denwa Co Ltd Error correcting system for simultaneous errors in a code

Also Published As

Publication number Publication date
GB2142752A (en) 1985-01-23
SE8403269D0 (sv) 1984-06-19
JPS6037833A (ja) 1985-02-27
GB2142752B (en) 1986-12-17
SE8403269L (sv) 1984-12-23
DE3422461A1 (de) 1985-01-03
NL8302214A (nl) 1985-01-16
GB8415675D0 (en) 1984-07-25
FR2549319A1 (fr) 1985-01-18
JPH0553087B2 (sv) 1993-08-09
FR2549319B1 (fr) 1986-12-12
US4642808A (en) 1987-02-10
CA1220865A (en) 1987-04-21

Similar Documents

Publication Publication Date Title
SE460243B (sv) Foerfarande och apparat foer avkodning av kodord som aer blockvis skyddade mot upptraedande av ett flertal symbolfel inom ett block medelst en reed-solomon-kod
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
US4928280A (en) Fast processor for multi-bit error correction codes
KR920000828B1 (ko) 가로아체(Galois field)연산장치
US4099160A (en) Error location apparatus and methods
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
EP0329789B1 (en) Galois field arithmetic unit
EP0167627B1 (en) Method and apparatus for decoding error correction code
US5715262A (en) Errors and erasures correcting reed-solomon decoder
JP2580304B2 (ja) デ−タ修正方法および装置
EP0364172A2 (en) Error detection and correction for a data storage system
EP0364475B1 (en) Multiple pass error correction process and apparatus for product codes
JP5259343B2 (ja) メモリ装置
US20130007573A1 (en) Efficient and scalable cyclic redundancy check circuit using galois-field arithmetic
EP0621698A2 (en) Error correction method including erasure correction, and apparatus therefore
US20060010363A1 (en) Method and system for correcting low latency errors in read and write non volatile memories, particularly of the flash type
RU2314639C1 (ru) Устройство декодирования кодов рида-соломона
JP2662472B2 (ja) 誤り訂正処理用シンドローム演算回路
EP1037148B1 (en) Error coding method
JPH07226687A (ja) 誤り訂正処理装置
JPH09305572A (ja) ガロア体の除算方法および除算装置
JP3139499B2 (ja) 誤り訂正処理装置
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
JP3239866B2 (ja) Crcに基づくデータ検査方法及び装置並びに記録媒体
KR0155762B1 (ko) 효율적인 에러정정 능력을 가진 리드-솔로몬 복호기

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 8403269-7

Effective date: 19920109