NL8400629A - Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur. - Google Patents

Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur. Download PDF

Info

Publication number
NL8400629A
NL8400629A NL8400629A NL8400629A NL8400629A NL 8400629 A NL8400629 A NL 8400629A NL 8400629 A NL8400629 A NL 8400629A NL 8400629 A NL8400629 A NL 8400629A NL 8400629 A NL8400629 A NL 8400629A
Authority
NL
Netherlands
Prior art keywords
symbols
symbol
erasure
error
code
Prior art date
Application number
NL8400629A
Other languages
English (en)
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
Priority to NL8400629A priority Critical patent/NL8400629A/nl
Priority to AT85200242T priority patent/ATE64672T1/de
Priority to DE8585200242T priority patent/DE3583250D1/de
Priority to EP85200242A priority patent/EP0155038B1/en
Priority to US06/705,752 priority patent/US4675869A/en
Priority to KR1019850001261A priority patent/KR920002574B1/ko
Priority to CA000475379A priority patent/CA1229169A/en
Priority to JP60037760A priority patent/JPH07105732B2/ja
Publication of NL8400629A publication Critical patent/NL8400629A/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

* * -Η
V
ΡΗΝ 10.930 ί N.V. Philips* Gloeilampenfabrieken te Eindhoven.
Snelle decodeur voor Reed-Solcmon-codes, welke mede als encodeur te gehniiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
Achtergrond van de uitvinding:
De uitvinding betreft een decodeer inrichting voor codewoorden die middels een Reed-Solomon-code tegen meerdere symboolfouten per codewoord beschermd zijn, bevattende: 5 a. · ontvangstmiddelen en buffermiddelen voor het sekwentieel opnemen van de ccdesymbolen van een codewoord; b. op de ontvangstmiddelen aangesloten eerste berekeningsmiddelen om uit het codewoord middels de pariteitscontrolematrix van de code een reeks syndrocmsymbolen te bepalen; 10 c. door de eerste berekeningsmiddelen gevoede tweede berekeningsmiddelen voor het oplossen van de sleutelvergelijking om uit de sleutelverge-lijking middels nulpunten van de foutlokatorvergelijking de posities van eventueel gestoorde symbolen te bepalen en om middels zo gevonden foutposities bijbehorende symboolfouten te waarderen ter presentering 15 van middels eventuele positiegegevens cum foutwaarden corrigeerbare codesyrribolen op een gebruikersuitgang.
Zo'n inrichting is beschreven in de oudere, niet vóórgepubliceerde Nederlandse octrooiaanvrage 8302214 (PHN 10.710) van dezelfde aanvrager welke hierbij geïncorporeerd zij bij wijze van referentie. De oudere 20 techniek betreft een code waarmee een groot aantal storingen per codewoord reparabel is, waartoe gecompliceerde berekeningen nodig zijn om de sleutelvergelijking op te stellen, en vervolgens deze sleutelvergelijking en de foutevaluator/lokator-expressies qp te lossen, onder meer door toepassing van een zogenoemde Chiensearch, waarbij achtereenvolgens 2g alle symbolen op fout-zijn getest kunnen worden wanneer gedetekteerd wordt dat het aantal symboolfouten groter is dan 3. Het is een doelstelling van de uitvinding om enerzijds het grootste aantal corrigeerbare symbolen per codewoord te verkleinen, zodat een vereenvoudigde berekening toelaatbaar is, en anderzijds alsdan de verwerking zeer snel uit te 3q voeren, waarbij bij de decodering eventuele voorshands aanwezige informatie betreffende als onbetrouwbaar aangewezen symbolen (zogenoemde uit-wissymbolen) direkt gebruikt wordt om deze aanwijsinformatie uit de foutbeschrijving te verwijderen en de foutbeschrijving te vereenvoudigen, 8400629 * * * PHN 10.930 2 zodat alsdan met een relatief beperkte hoeveelheid redundantie een groter aantal staringen gecorrigeerd kan worden dan bepaald door de minimum Hamming-af stand voor de code als geheel. Immers als een fout-lokatie niet bekend is, zijn twee redundante symbolen per gestoord symr-5 bool nodig. Als de lokatie van een gestoord symbool bekend is, kan correctie van die storingen worden, uitgevoerd middels één enkel redundant symbool.
Samenvatting van de uitvinding: 10 De uitvinding realiseert de doelstelling doordat hij het ken merk heeft, dat d. genoemde buffermiddelen voor elk codesymbool opslagcapaciteit bezitten voor het tesamen met een codesymbool opslaan van een op dat codesymbool betrekking hebbende uitwisindikatie; 15 e. een verbinding aanwezig is tussen de buffermiddelen en de tweede berekeningsmiddelen om onder besturing van de uitwisindikatie de reeks syndroomsymbolen te corrigeren voor de invloed van uitwissymbolen tot . een voor elk uitwissymbool met één syndroomsymbool verkorte reeks syndroomsymbolen ter berekening daaruit van eventuele posities van 20 foutsymbolen; f. dat genoemde tweede berekeningsmiddelen geschikt zijn cm de aldus gelokaliseerde foutsymbolen met uitwissymbolen alle te behandelen als secundaire uitwissymbolen; g. en dat genoemde tweede berekeningsmiddelen een Galois-lichaam-bere-25 keningseenheid bezitten om middels omzetten van de symbolen in der- zelver exponent van het elementaire element van het Galois-lichaam 'operaties op verschillende machten van het betreffende codesymbool mogelijk te maken.
Zo wordt een flexibele manier van werken gerealiseerd. Externe aanwijs-30 informatie van gestoorde symbolen kan door bijvoorbeeld de detektie van een analoog signaalniveau, of door detektie van ontoelaatbare bit-patronen worden gerealiseerd. Op dezelfde manier kan interne generatie van een aanwijsinformatie voor een gestoord symbool worden gevormd. Op zichzelf geeft het Amerikaanse octrooischrift 4,124,174 een eenvoudige, 35 en dus snelle correctie van maximaal drie gestoorde symbolen per codewoord, maar daar is de flexibiliteit niet groot, en worden bijvoorbeeld . geen voorshands aanwezige aanwijsindikaties bebruikt, waardoor de uiteindelijke reparatiecapaciteit kleiner is dan volgens de onderhavige 8400629 < v S * « EHN 10.930 3 uitvinding. De Galois-veld-fcerekeningseenheid kan op eenvoudige manier middels optellen en aftrekken snel bewerkingen uitvoeren die overeenkomen met vermenigvuldigen en delen van de symbolen.
Voor op symboolniveau systematische codewoorden is het gunstig 5 als genoemde eerste berekeningsmiddelen een stuuringang (EDS) voor een codeer/decodeersignaal bezitten om onder besturing van het decodeer-signaal syndroomsymbolen te vormen uit een codewoord en vervolgens al dan niet onder besturing van uitwisindikaties uit de syndroomsymbolen een verzameling van storingslokaties en bij elke storingslokatie een 10 fontwaarde te vonten, en onder besturing van een codeersignaal uit een reeks datasymbolen van een datawoord een reeks pariteitssyrabolen te vonten als ten opzichte van voorshands aanwezige symbolen gecorrigeerde uitwissymbolen op de lokaties der pariteitssyrabolen. Deze uitbreiding baseert zich op het feit dat bij het encoderen dezelfde pariteitssymbo-15 len gevormd worden als waren het uitwissymbolen in de decodeersituatie.
Het is duidelijk dat door het dubbel gébruik van onderdelen voor codering zowel als voor decodering onder omstandigheden een besparing wordt gerealiseerd. Bij het encoderen kunnen de voorshands aanwezige symbolen qp de pariteitslokaties de waarde nul of ook elke andere waarde bezitten.
20 Het is gunstig als genoemde bufferinrichting twee alternerende buf ferelementen SME1, 2 bezit voor elk een geheel codewoord en geassocieerd daarmee telkens een geheugen EME1, 2 voor de uitwislokaties, welk laatste geheugens telkens door een bijbehorende teller EC01, 2 worden geadresseerd die door een leesbesturingssignaal wordt gedecremen-25 teerd en door een schrij fbesturingssignaal worden geïncrementeerd. Het bijhouden van het aantal uitwissymbolen in een codewoord levert een eenvoudig hulpmechanisme voor het selekteren van de werkmode. Als het aantal uitwissymbolen te groot wordt, is zó al geen correctie Hogelijk.
Als verder de tellerstand tot nul is gedaald, zijn alle uitwissymbolen 30 behandeld, hetgeen óók eenvoudig te detekteren is. Vooral een betrekkelijk beperkt maximaal aantal toelaatbare uitwissymbolen (in het uitvoer ingsvoorbeeld zes) levert uitvoering van deze geheugens als RAM-geheugen een eenvoudige oplossing.
Het is gunstig als genoemde Galois-lichaam-berekeningseenheid 35 een keten bezit van een omzetter cm een symbool cm te zetten in een element van de verzameling (exponent, dubbele exponent, geïnverteerde exponent, en gehalveerde exponent), een selektief aktiveerbare opteller met omleiding, en een tweede omzetter om een exponent terug om te 8400S2» ΐ · ΡΗΝ 10.930 4 zetten in het bijbehorende symbool. Dit levert een eenvoudige inrichting op waarmee op flexibele wijze een groot aantal van toepassing zijnde berekeningen kunnen worden uitgevoerd.
Het is gunstig als genoemde eerste berekeningsmiddelen be-5 vatten, een parallelschakeling van (d-1) registers elk voor een voorlopig syndroomsymbool, een serieschakeling van (d-2) vermenigvuldigings-elementen om telkens een ontvangen symbool met het grondelement van het desbetreffende Galois-lichaam te vermenigvuldigen, waarbij elk vermenig-vuldigingselement tussen de ingangen van twee opvolgende registers is 10 geschakeld, en de registers per ontvangen codesymbool cyclische in de volgorde van de verroenigvuldigingselementen worden aangestuurd, een exclus ief-of-schakeling XOR met een codesymboolingang en een door alle registers der parallelschakeling gevoede terugkoppelingang, terwijl de uitgang der exclus ief-of-schakel ing is rondgekoppeld naar de seriescha-15 kei ing en tevens een uitgang van de eerste berekeningsmiddelen vormt.
Dit levert een snelwerkende configuratie. Om de snelheid nog verder te vergroten, kan tussen de exclus ief-of-schakel ing en de serieschakeling een verder symboolregister warden aangebracht.
Het is gunstig als genoemde buffermiddelen voorzien zijn van 20 een door een instelbaar register WLE laadbare teller LCO om het aantal ontvangen symbolen af te tellen en bij het bereiken van een voorafbepaalde stand een "ontvangst gereed" signaal te vormen. Zo is de woord-lengte gemakkelijk onder softwarebesturing instelbaar.
Het is gunstig als genoemde tweede berekeingsmiddelen een 25 strategiebepalend register bevatten om het toelaatbare aantal uitwis-symbolen in een codewoord een oncorrigeerbaarheidssignaal af te geven, respektievelijk als genoemde tweede berekeningsmiddelen een tweede strategiebepalend register bevatten om het toelaatbare aantal foutsymr-bolen-boven-de-uitwissymbolen op te slaan en bij een groter aantal ge-30 vonden foutsymibolen in een codewoord een oncorrigeerbaarheidssignaal af te geven. Zo is de strategie qp onderscheidene manieren instelbaar, al naar de gestelde eisen aan veiligheid, respektievelijk carrectie-capaciteit.
Het is gunstig als genoemde Galois-lichaant-berekeningseenheid 35 twee parallelgeschakelde werkgeheugens bezit die bidirektioneel zowel met genoemde keten als met een aansluiting op verdere delen van de tweede berekeningsmiddelen zijn verbonden. Zo wordt de snelheid verder vergroot doordat tegelijk lees- en schrijfakties uitvoerbaar zijn.
8400629 \ * * ς EHN 70.930 5
Korte beschrijving van de figuren:
De uitvinding wordt nader uitgelegd aan de hand van enkele figuren, terwijl achtereenvolgens de omgeving en filosofie van de uitvinding, het coderen, en het decoderen worden besproken: 5 figuur 1 geeft een blokschema van een informatiebewerkende inrichting waarin de uitvinding is toegepast; figuur 2 geeft een voorbeeld van een pariteitscontrole-iratrix (H); figuur 3 geeft een encodeur op basis van een teruggekqppeld 10 schuifregister; figuur 4 geeft een blokschema van een decodeer Inrichting volgens de uitvinding? figuur 5 geeft een lijst van in de inrichting volgens figuur 4 optredende namen? 15 figuur 6 geeft een syndroamvormer ? figuur 7 geeft een bufferings/correctie-eenheid? figuren 8a, 8b, 8c geven een uitwislokator? figuur .9 geeft een berekeningseenheid voor het Galois-lichaam? figuur 10 geeft een testeenheid voor bepaalde condities; 20 figuren 11, 11a geven een besturingseenheid middels een sekwentiebesturingselement ? figuur 12 geeft de betekenis van bepaalde lijnen en bits in figuur 11. Verschillende gecompliceerde formules zijn daarbij separaat in tabelvorm opgencmen.
25
De omgeving en filosofie van de uitvinding:
Figuur 1 geeft een blokschema van een inrichting voor het voor een gebruiker gereedmaken van serieel ontvangen, bijvoorbeeld van een magneetband, en door een Eeed-Solomon-code beschermde informatie.
30 Er is hier geen rekening gehouden met terugkoppelingseffekten die zich op verschillende hogere niveau's in de behandeling kunnen voordoen. De informatie wordt ontvangen op ingang 20, en wel bitserieel. In blok 22 vindt serie-parallel-omzetting plaats om de informatie symboolsgewijze verder te verwerken. In blok 24 vindt demodulatie plaats. Hier kunnen 35 overtollige spatiebits (tussen de symbolen) worden verwijderd, en de in kanaalbits gemoduleerde symbolen vertaald worden in codesymbolen (doordat redundantie wordt verwijderd). Alleen deze symboolinformatie, al . dan niet voorzien van vlagbits wordt verder verwerkt. In het uitvoe- 8400629 ΡΗΝ 10.930 6 ύ ringsvoorbeeld bevatten alle symbolen 8 bits, maar dit is geen fundamentele beperking. Een vlagbit kan fungeren als kwaliteitsindikatie (betrouwbaar/onbetrouwbaar) van het geassocieerde symbool. Als de ontvangen bits troon bijvoorbeeld niet aan de modulatieregels voldoet, kan 5 het als onbetrouwbaar worden aangeduid. De vlagbits kunnen informatie op een hoger niveau dan symboolsgewijze bevatten, maar dit wordt niet nader beschouwd. In blok 26 vindt zonodig verontbladeren plaats, zodat de symbolen van een codewoord verder opvolgend in de tijd zijn gerangschikt. In blok 28 worden uit de datasymbolen en redundante symbolen 10 van een codewoord de bijbehorende syndroomsymbolen gevormd, en worden op basis van vlagbits en syndroomsymbolen al dan niet correcties aangebracht. In blok 30 worden in geval correcties weliswaar nodig zijn, maar door een overmaat van fouten niet mogelijk zijn, mitigerende maatregelen genomen: daarmee is weliswaar niet de correcte informatie te 15 hervormen, maar in vele gevallen kan de last voor een gebruiker, veroorzaakt door incorrecte symbolen, worden verminderd, bijvoorbeeld door een codesymbool van uitsluitend "0"-bits te presenteren. Middels uitgang 32 is de informatie voor een gebruiker beschikbaar. De hierna te bespreken procedure is in het bijzonder geschikt voor "consumenten"-20 informatie, bijvoorbeeld zulke die beeld en/of geluid voorstelt. In bijzondere gevallen kan het ook bijvoorbeeld programma-inforanatie of data-informatie voor een computeromgeving betreffen. Dit gebruik heeft zijn weerslag op de maatregelen in blok 30, maar de uitvinding heeft daarop geen betrekking.
25 In blok 28 vindt de correctie/detektie plaats op basis van een
Reed-Solomon-code. De symbolen der code zijn gedefinieerd over een Galois-lichaam (Galois Field) GF (q), waarbij in het uitvoeringsvoor-beeld geldt q = 256. Het generatorpolynoom is een gedurig produkt g(x) = pi (i = 0 ... d-2) van (x-a ), waarbij de minimum Hanming-30 afstand gelijk d is. Hierbij is a het primitieve element en b een willekeurig geheel getal. In het uitvoeringsvoorbeeld is gekozen: b = 0, zodat g(x) = (x-1) (x-a) (x-a^) ... (x-a^ = x^ ^ + Ax^ ^ + Bx^ ^ + ...
+ G. In dit .verband geeft figuur 2 een matrix |Hj die gebruikt kan worden als pariteitscontrolematrix. De verzameling a vormen de basis-35 symbolen van de code. Vermenigvuldiging van een codewoord met de matrix j^H^Jlevert een syndroomvector S. Voor elk symbool van een codewoord wordt bij het decoderen een "uitwis (erasure) "-vlagbit gedefinieerd. Als deze vlagbit de waarde "1" heeft, kan het symbool al dan niet 8400629
V
PHN 10.930 7 fout zijn. Dé waarde van de fout wordt bepaald als een correctiesymbool dat bitsgewijze modulo-2 bij het gestoorde symbool moet worden opgeteld cm het correcte symbool te verkrijgen. Voor een gestoord symbool waarvoor de uitwisvlag de waarde "0" heeft, is ook de positie onbekend. In 5 één codewoord kan de code siimltaan t fouten corrigeren, e uitgewiste symbolen reïncarneren, en f foute symbolen detékteren, zolang 2t + e + f ^ d-1.
Het coderen: 10 Het coderen kan gebeuren met het teruggekoppelde schuifregis- ter dat in figuur 3 is getoond. In de voorkeursuitvoering echter is gekozen voor een implementatie waarin dezelfde inrichting kan encoderea zowel als decoderen. Uiteraard is encoder en eenvoudiger omdat geen vertakkingen in het programma nodig zijn. Eenvoudshalve worden hierna ver-15 schillende subalterne procedures uitgelegd aan de hand van rekenprogramma's in de hogere programmeertaal KEL/2. Er wordt op gewezen dat programmeertalen kunsttalen zijn, zodat elke gelijkenis met door mensen of andere intelligente wezens gesproken talen zuiver toevallig is. Het voordeel boven stroomdiagrammen van de hier te geven representatie is 20 dat laatstgenoemde veel kcnpacter is.
Bij het coderen worden (n-d+1}. datasymbolen omgezet in n code-symbolen. Eenvoudshalve wordt een systematische codering beschreven, dat wil zeggen dat elk datasymbool direkt correspondeert met 1 bijbehorend codesymbool, zodat de (d-1) verdere codesymbolen echte redundante 25 symbolen zijn. Deze beperking is niet fundamenteel.
Elk codewoord moet deelbaar zijn door het generatorpolynoan van de code g(x). De informatiewoorden m(x) hebben een graad van ten cl"“l hoogste (n-d). Daarom heeft de rest r(x) = xu m(x) mod (g(x>) ten JS «4 hoogste de graad (d-2), terwijl c(x) : = x m(x) +r(x) een codewoord 30 is beginnende met alle datasymbolen. In figuur 3 arriveert de informatie op de 8-bits brede ingang 34, en wordt middels multiplexer 36 doorgelaten naar uitgang 48 en ook naar de 8-bits brede exclusief-of-scha-keling 38. Voorts wordt in dezelfde slag het betreffende symbool in de vermenigvuldigingselementen, zoals element 42, vermenigvuldigd met 35 respektievelijk a^, a}^, e?, a^, (=1) en a^ cm in de trekker- schakelingen zoals element 44 te worden opgeslagen. Deze opvolgende faktoren zijn de opvolgende coëfficiënten A ... G die door uitvermenigvuldigen van het generatorpolynoan ontstaan. Aan het eind van de ont- 8 4 0 0 3 2 . $ v * PHN 10.930 8 vangst der datasymbolen van één codewoord zijn alle redundante symbolen bepaald en wordt de multiplexer 36 omgeschakeld on deze zes symbolen aan uitgang 48 te presenteren. De vermenigvuldigingselementen behoeven niet gedeaktiveerd te worden omdat bij het uitschuiven der redundante symbolen 5 alleen "0"-symbolen worden teruggekoppeld. Als alle redundante symbolen naar de uitgang zijn afgegeven, worden de treKkerscnakelingen door signalen op lijn 46 weer aangestuurd om een volgend codewoord te vormen. Onderaan in de figuur zijn nog getoond het symboolsynchronisatiesignaal SYCL, en het par iteitsbesturingssignaal dat multiplexer 36 bestuurt. Zoals gesteld, kan 10 de code een aantal van d-1 uitwissymbolen reïncarneren. In het geval van een systematische code kunnen dit ook de redundante symbolen zijn. Op die manier wordt duidelijk dat de decodeur, middels het aangeven door een "pseudo uitwisvlag" van dè plaatsen der redundante syïnbolen, deze kan reïncarneren, en zodoende ook als encodeur kan werken.
15
Het decoderen:
Bij het decoderen zoekt de decodeur bij een ontvangen woord het naastbij zijnde codewoord, voor zover de Hamming-afstand daartoe als bepaald over de syïnbolen welke geen uitwissymbolen zijn ten hoogste ge- 20 lijk is aan |jd-1-e)/2j met e^d. Als dit codewoord niet gevonden kan worden, wordt een waarschuwingsbit aan het betreffende woord gehecht. De 8 berekeningen worden gedaan in het Galois-lichaam GF (2 ) zoals dit in gebruik is bij de foutcorrectie in het "Philips Compact Disc" (r)systeem. In dit verband wordt reeds verwezen naar figuur 4 dat een globaal blok-25 schema geeft van de decodeerinrichting volgens de uitvinding. De symbolen worden byteserieel ontvangen bij HES, tesamen met een aanwijsvlag-bit EEP die bijvoorbeeld door de demodulatie wordt geleverd. Deze informatie wordt toegevoerd aan blok 68 dat werkt als buffer- en correct ie-inrichting. De codesymbolen worden toegevoerd aan element 50 waarin de 30 syndromen worden gevormd, een en ander onder synchronisatie door een aantal kloksignalen. De eerste is een 16kHz woordklok WOCL die na elk woord een signaalovergang geeft. De tweede is een 32kHz symboolklok LSCL die telkens hoog is tijdens ontvangst van het laatste symbool van een woord (daarna zijn dus alle syndroomsymbolen bekend) en overigens 35 laag. De derde is een microprocessorklok MPCL van 4MHz die dient om de symboolbehandeling per periode van het signaal LSCL, te synchroniseren, zodat bij elke halve periode van WOCL een nieuw woord ontvangbaar is (meer dan 256 symbolen per woord is wegens de beperking der symboollengte 84 0 0 6 2 § - . * * * EHN 10.930 9 tot 8 bits in pricipe niet mogelijk). De vierde klokfrekwentie SGCL bedraagt 24MHz cm binnen de periode waarin een symbool wordt ontvangen de daarop betrekking hebbende operaties uit te voeren. Tenslotte ont- . vangt syndrocngenerator 50 nog het signaal SRD on het uitlezen van de 5 gevormde syndromen te besturen. De codewoorden warden overlappend, in de tijd verwerkt. Tijdens de decodering van een bepaald codewoord wordt het naastvorige aan een gebruiker afgegeven (gedecodeerd), terwijl het naastvolgende codewoord ontvangbaar is, waarbij tesamen met de ontvangst ook de syndrocmsymbolen warden gevormd.
10 Onderdeel 76 is de symboolbus, on syndrocmsymbolen en over eenkomstige infarmatiebytes tussen de verschillende onderdelen te comruniceren. De syndrocmgenerator 50 treedt qp als bron. Verdere bronnen zijn elementen 66, 52. Bestenmingen zijn elementen 62, 66, 68, zoals later besproken zal warden. Element 52 lokaliseert de uitwissymbolen.
15 Hiertoe ontvangt het in de eerste plaats de aanwij ss ignalen EEP. Register 72 bevat de informatie van de woordlengte (in aantal symbolen).
Bij het begin van een nieuw woord wordt telkens teller 70 met deze informatie geladen, zodat de uitwislokator 52 en buffer-correctie-inrich-ting 68 deze informatie kunnen gebruiken. Het laden wordt bestuurd door 20 klok LSCL, het terugstellen door klok SYCL. Uitwislokator 52 ontvangt voorts een bestoringssignaal van de besturingseenheid 64, een informatie NOS uit register 54 dat het aantal syndromen in het codewoord aangeeft (dit kan dus onder externe besturing worden ingesteld), een informatie £NE uit register 56 dat het totaal aantal toelaatbare uitwis— 25 symbolen aangeeft (met een maximum van zes bij zes redundantiesymbolen), en een omschakelingsbit EDS uit flipflop 57 die aangeeft of de schakeling gebruikt wordt voor coderen dan wel voor decoderen. Element 62 is de testeenheid. Deze ontvangt van de uitwislokator 52 een 7-bits signalering, namelijk een 1-bits signaal NEE cm aan te geven of het toelaat-30 bare aantal uitwissymbolen voor het betreffende woord werd overschreden, in dat geval is immers geen correctie mogelijk. Voorts wordt hier ontvangen (ook op bundel 55) een drie-bits-signaal NER dat het feitelijke aantal uitwissymbolen aangeeft, en een drie-bits-signaal NES, dat het aantal resterende effektieve syndrocmsymbolen aangeeft, en waaruit 35 buiten de uitwissymbolen verdere gestoorde symbolen detékteerbaar en/of corrigeerbaar zijn. Voorts ontvangt de testeenheid 62 een drie-bits-signaal ANF uit register 60 dat aangeeft het totaal aantal gestoorde, niefc-uitwissymbolen, dat toelaatbaar is voor correctie: deze grootheid 8400629
V
jr w PHN 10.930 10 wordt medebepaald door de gevolgde correctiestrategie. Voorts ontvangt testeenheid 62 een 7-bits besturingssignaal van de besturingseenheid 64, inhoudende een 1-bits-signaal RAT dat het uitvoeren van een test op toelaatbaarheid van de storingen bestuurt, en verder gebruikt 5 wordt voor het decrementeren van de teller die het aantal nog te behandelen fouten enumereert. Verder zijn er een vier-bits-signaal TST en een twee-bits-signaal RST (zie hierna). De testeenheid 62 geeft af een sprongbesturingssignaal JMP en een stopbesturingssignaal STP aan de besturingseenheid, en een signaal ZSS dat een symbool net nul-waarde 10 (hex pfi) aangeeft voor; de Galois-lichaam-berekeningseenheid 66. Synchronisatie van de testeenheid vindt plaats voor elk ontvangen symbool middels klok MPCL. De testeenheid geeft voorts nog een 1-bits-signaal DEP af aan eenheid 68 om te signaleren dat het betreffende woord een oncorrigeerbaar foutpatroon bevat.
15 Element 64 is de besturingseenheid die voor elk woord een
aantal opvolgende bestur ingssignalen afgeeft onder synchronisatie door de klok MPCL. Deze geeft een signaal COR af aan element 68 cm te signaleren wanneer êen correctie moet plaatsvinden,, zodat de inhoud van element 68 verder gebruikt kan warden. De signalen JMP, STP, ERD en SRD
20 zijn reeds besproken. Voorts wordt een 22-bits-besturingssignaal afgegeven aan de Galois-lichaamrberekeningseenheid 66. Dit betreft voor het later te bespreken WME-geheugen een 4-bits-adres, alsmede een schrijf- en een leesbesturingssignaal. Een zelfde reeks signalen bestuurt het later te bespreken HME-geheugen. Tenslotte zijn er de 25 signalen IDS (1 bit) om te selekteren tussen direkt en indirekt, een 1-bits-signaal MR om te schrijven in het A-geheugen, een 1-bits-signaal BWR om te schrijven in het B-geheugen, een twee-bits-s ignaal LRD om een logarithms uit te lezen, een 1-bits-signaal MUL cm een vermenigvuldiging te besturen, een 1-bits-signaal BAC om een accuraulatoroperatie 30 van het B-geheugen te besturen, een 1-bits-signaal ZAC on een nul-accumulatie te besturen, en een twee-bits-s ignaal RRD cm een wortel (nulpunt van een polynoom) uit te lezen. De berekeningseenheid 66 (GPA) voor het Galois-lichaam wordt gesynchroniseerd door de klok MPCL, staat bidirektioneel in verbinding met de bus 76, ontvangt een aantal reeds 35 besproken stuursignalen, en geeft voorts een 8-bits-signaal BME af aan eenheid 68 als gegenereerd aan de uitgangen van het B-geheugen.
De symboölbuffer- en correctie-eenheid 68 tenslotte ontvangt een 1-bits-signaal UEL uit flipflop 74 om bijvoorbeeld aan te geven of 9400629
\ * & N
PHN 10.930 11 een oncorrigeerbaar woord generaal onbetrouwbaar beschouwd moet worden.
Dit laatste betekent dat alle symbolen van dat woord ook zelf onbetrouwbaar zijn. Synchronisatie vindt plaats door de kloksignalen SYCL, MPCE. en WOCL. Voorts warden de besturingssignalen DEP en COR ontvangen.
5 Dit element geeft op zijn uitgang COS de al dan niet gecorrigeerde symbolen af en op zijn uitgang SFL telkens 1 vlagbit voor elk af gegeven symbool.
Figuur 6 geeft de syndrocnwormer (50 in figuur 4). Vele half-afkortingen (mnemonics) zijn reeds eerder besproken. Middels twee lo-10 gische EN-poarten 90, 92 (telkens met een geïnverteerde ingang die door een cirkeltje is aangegeven) en een logische OF-poort 94 worden de vier ontvangen klokpulsreeksen gedecodeerd. Door tussenvoegen van een register SR kunnen twee operaties tegelijk worden uitgevoerd: vermenigvuldigen in de met Ma" geïndiceerde elementen en optellen in het 15 exclusief-of-element XOR. Voorts wordt het terugstellen van de syndrocm-registers ISJ3 ... IS5 vereenvoudigd. Deze laatste registers hebben telkens twee klokingangen, één aan de bovenkant getekend cm het afgeven te besturen, en één aan de onderkant getekend om het laden te besturen. Als getékend vormen deze klokpulsen deel van een zesvoudige 20 cyclus (1 ... 6 die voor elk ontvangen symbool wordt herhaald middels de zesvoudige pulsen-per-symkool SGCL. De uitcodering van deze reeks is eenvoudshalve niet weergegeven. De figuur geeft verder de vermenig-vuldigingselanent, gemerkt "a”, zoals element 96; daarin wordt telkens een vermenigvuldiging met "a” uitgevoerd. Zodra een woord van n symbo-25 len geheel is ontvangen, hebben de registers SR, IS0, ... IS4 de in-houd "0" en register IS5 wordt op nul gesteld als het eerste symbool van het eerstvolgende woord arriveert: register S0 heeft een drie-toestands-uitgang. Eventueel kan het samenstel van registers IS0, IS1 met de twee parallel daarmee geschakelde vermenigvuldigingselementen "a" 30 als een module warden geïmplementeerd. Door deze module een aantal (p) maal te herhalen, wordt een aantal van 2p syndrocmsymbolen vormbaar.
Uiteraard zijn meerdere syndroomsymbolen boven het aantal bij het encoder en gevormde pariteitssymbolen niet zinvol. Hier echter kan ook ge-encodeerd werden met een willekeurig aantal pariteitssymbolen (mits 35 het programma de desbetreffende mate van redundantie toestaat).
Symboolbuffering en -correctie:
Figuur 7 geeft een meer gedetailleerd schema van de een- 8400629 s PHN 10.930 12 heid 68 in figuur 4 voor het bufferen en corrigeren van de ontvangen symbolen. De opslag geschiedt in de twee geheugens SME1, 2 met willekeurige toegankelijkheid, en een capaciteit van 256 symbolen van 8 bits plus vlagbit, dit biedt dus plaats voor een binnen het raam van de code . g toelaatbaar codewoord van elke lengte, terwijl ingangs- en uitgangs (de)-multiplexers voorzien zijn. Aan de ingang kunnen de opvolgende codewoorden afwisselend naar geheugens SME1 en SME2 worden gevoerd. In het niet voor toevoer gebruikte geheugen worden dan te corrigeren symbolen over schreven, middels de andere ingangen der multiplexers 100, 102, 10 terwijl als- aangegeven een vlagbit "0" (betekent "betrouwbaar") wordt gesuppleerd. Aan de uitgangszijde wordt het geheugen dat gevuld is met gekorrigeerde informatie gelezen op de uitgangslijn COS (tegelijk met het opnieuw vullen van dit geheugen), terwijl, eventuele vlagbits mede aan de uitgang worden gepresenteerd. Van het andere geheugen kunnen dan 15 te corrigeren symbolen warden toegevoerd aan de bitsgewijze exclusief-of-schakeling 108, terwijl de bijbehorende vlagbits worden teruggesteld. Het bij werken vindt plaats middels de eerder genoemde byte BME. De adressering van de· twee geheugens SME1, 2 vindt bij vullen/legen plaats door de informatie van de symboolteller (LCO), bij corrigeren door de 20 informatie van de symboolbus SOS, een en ander middels multiplexers 100, 112. Het synchroniseren van de geheugens bij schrijven/lezen van een heel woord gebeurt door de klok SYCL onder toestemmingsbesturing door de woordklok WOCL. Het synchroniseren voor korrekte gebeurt door het besturingssignaal COR, samen met de 4MHz klok MPCL, terwijl ook hier 25 het signaal WOCL de toestemming geeft.
Er zijn twee voordelige manieren om de symbolen (0 ... i ... n-1) van een woord in de geheugens SME1, 2 op te slaan. De eerste is dat het rangnummer i gelijk is aan het adres, respektievelijk aan het achterstevoren lopende adres (n-1-i). In dit geval kan geheugenruimte 30 worden bespaard als de woordlengte, dus de hoogst toelaatbare waarde van n beperkt is, dus hier steeds (flink) kleiner dan. 256 symbolen. De tweede mogelijkheid is dat de adressen en de rangnummers logaritbmisch samenhangen, zodat symbool i is opgeslagen op adres a11 . In dit ge val telt de teller ICO telkens van a11 1 tot dP.
35 De ontvangen vlagbits EEP kunnen ontvangen zijn van een exter ne bron, bijvoorbeeld vanuit de demodulator. Als een oncorrigeerbaar woord ontvangen is, worden ze ofwel alle ongewijzigd aan de uitgang af gegeven, ofwel alle vlagbits van het betreffend woord worden op 1 ge- 8400629 % i * * H3N 10.930 13 steld. In dit geval is de bit ÜEP namelijk "1", terwijl de laatstbe-schreven keuze door de waarde van de bit ÜFL wordt geëffectueerd. De besturing gebeurt als aangegeven met vijf EN-poorten, waarvan er twee van 1 inverterende ingang zijn voorzien en twee OF-poorten, die op 5 dezelfde manier als in figuur 6 zijn weergegeven.
Uitwislokator:
Figuren 8a, 8b, 8c geven de uitwislokator, namelijk achtereenvolgens de subsys teemonderdelen, de vorming der interne synchroni-10 satiesignalen, en de vorming der interne canditiesignalen. Er zijn twee geheugens EME1, 2, die telkens geassocieerd zijn met één der twee geheugens SME1, 2 in figuur 7. De standen van de adresteller werken als data. De uitwissymbolen worden geteld in de tellers EC01, 2 die tevens als adrestellers verken, voor de lokale geheugens. De geheugencapaciteit 15 is gekozen als 16 voorden van 8 bits (in feite zouden 6 voorden al voldoende zijn). De tellers zijn voorzien van een incrementeeringang die samen met een schrijfaktie wordt bestuurd (een additioneel uitwissymbool wordt ontvangen) en een decrementeringsingang die samen met een lees-aktie wordt bestuurd (de besturingseenheid vraagt de informatie op van 20 een verder uitwissymbool). Voor de ontvangst van een nieuw codeword wordt de bijbehorende adresteller op 1 gesteld. Na ontvangst van het gehele woord bevat de teller het totale aantal uitwissymbolen, welke informatie via een drie-bits-mltiplexerstruktuur de informatie NER vormt.
25 Figuur 8b geeft voor figuur 8a dé selektieve vorming van schrijf- (WR), lees- (PD) en uitwisbesturingssignalen voor geheugens EME1, 2, respektievelijk tellers EC01, 2. Het signaal W3CL selekteert steeds slechts één helft van de organisatie.
Figuur 8c toont het centrale besturingsgedeelte van de uit-30 wislokatar. De codeer/decodeerbit EDS laat ofwel het toelaatbare aantal uitwissymbolen ME door (bij decoderen), ofwel het toelaatbare aantal syndromen (NOS) om in teller C01 te warden opgeslagen. De ontvangen uitwissymbolen (EEP) decrementeren deze teller op synchronisatie door SYCL om de secundaire uitwisvlag IEP te vormen, totdat een leenover-35 dracht uit teller C01 dit verder blokkeert: het signaal IEP kan dus per woord slechts hoogstens een voorafbepaald aantal malen worden gevormd. De grootheid NOS vormt de gebruikte of effektieve minimum afstand van de code; uiteraard moet de echte code-afstand "d" daarbij nooit 8 4 ü 0 6 2 9 i s v PHN 10.930 14 worden overschreden. Er geldt ook dat ANE nooit groter dan NOS mag zijn. De tellers C01 en C02 worden geladen onder besturing van de klok LSCL. Als een overdrachtss ignaal uit teller C01 verschijnt en het doorgelaten signaal door multiplexer 118 is niet gelijk aan nul (dan geeft 5 OF-poort 112 die de drie bitlijnen combineert'dus een logische "1" af), dan geeft EN-poort 114 een "1" af. Deze wordt tot aan het einde van het woord opgeslagen in trekkertrap 116 die'door het signaal LSCL transparant wordt gemaakt om het signaal NEE te bekomen. Dit laatste geeft de onmogelijkheid tot corrigeren aan.
10 De informatie NOS = 0 deaktiveert de decodering; er ontstaat direkt een leenoverdrachtss ignaal aan teller C02 zodat het "oncorrigeerbaar" signaal NEE wordt gevormd. Daaruit wordt op het juiste ogenblik het signaal UEP gevormd (figuren 7/10) om alle symbolen van een onbe-trouwbaarheidsvlag te voorzien. Het signaal NES geeft aan hoeveel syn-15 droomsymbolen van een opgeslagen woord nog voor foutcorrectie effektief kunnen worden gebruikt. Zie voor deze signalen figuur 4, verbinding 55. Als informatie ANE de waarde nul heeft, warden alleen fouten, doch geen uitwissymbolen gecorrigeerd.
Bij het coderen is het signaal EDS = 1, om het aantal te 20 pseudocorrigeren uitwissymbolen gelijk te maken aan de waarde van NOS. (linker bovenhoek van figuur 8c).
De Galois-lichaam-berékeningseenheid (GFA):
Figuur 9 geeft de berekeningseenheid voor het Galois-lichaam g 25 GF (2 ). Op zichzelf is een GFA-eenheid vóórgepubliceerd in het Amerikaanse octrooiscbrift 4,162,480 op naam van E.R. Berlekamp. De externe aansluitingen SOS, BME, ZSS, en de besturing door de besturingseenheid 64 zijn bij figuur 4 reeds kort besproken. De hier besproken eenheid is geoptimaliseerd voor een beperkte waarde van de minimum 30 Hairming-afstand, namelijk 7. Het werkgeheugen van de GFA-eenheid bestaat uit de werkgeheugens WME (120) en HME (122), elk met een respek-tievelijk trekkergéheugen (121, 123) aan de data-uitgang die door de signalen WRD, HRD transparant gemaakt kunnen worden. Voorts is er een symboolregister AME (124) voor symbolen in logarithmische mode, en 35 een symboolregister BME (126) voor symbolen in vectomotatie. De res- * pektievelijke schrijfbesturingssignalen zijn WWR, HWR, AWR en BWR. Het signaal IDS bestuurt de multiplexer 128 om de twee geheugens al dan niet direkt te vullen. De adressen voor de twee RAM-geheugens (16x8) zijn de 8400629 PHN 10.930 15 vier-bits-signalen WAD, HAD. Er zijn op elementaire schaal acht iroge- lijke hronelementen voor de bus SOS, namelijk: WE ^ WRD = 1 HME HRD = 1 5 EME1, 2 (reeds besproken) ERD = 1
Sj2> SRD = 1 QEQ REN = 1; RRD1 = RRD2 = 0 TEQ EEN = RRD1 = 1; RRD2 = 0 TRT REN = RRD2 = 1; RRD1 = 0 10 BME EEN = RRD1 = RRD2 = 1.
Element S0 bevat het eerstvolgende syndrocmsymbool, de elementen QEQ, TEQ, TRT zijn elk een alleen-leesgeheugen van 256 geheugenwoorden a 8 bits, walke elementen tesamen getekend zijn in blok 128. De laatste drie worden geadresseerd door het 8-bits-adres BME. De inhoud van de 15 drie alleen-leesgeheugens is voor de respèktievelijke waarden van BME: 2 QEQ: een willekeurig nulpunt van de vergelijking X + X + BME = 0; TEQ: een willekeurig nulpunt van de derdegraadsvergelijking X3 + X + BME = 0? TRT: de derdemachtswortel van BME.
20 Ms de desbetreffende wortel niet bestaat, respektievelijk geen element van het betreffende Galois-lichaam vormt, staat (¾) die geheugenplaats de waarde ΗΕΧ00.
De schakeling bevat nog een verdere geheugenbank 130 met vier alleen-leesgeheugens LOG, LGS, LGQ, LGI, die elk een capaciteit 25 bezitten van 256 geheugenplaatsen a 8 bits. De informatie op bus SOS werkt als adres, de data verschijnt op verbinding 132. De selektie tussen de vier delen is als volgt: LOG : LRD1 = LRD2 = 0; LGQ : LRD1 = 1, LRD2 = 0; LGS : LRD1 = 0, LRD2 = 1; LGI : LRD1 = LRD2 = 1.
30 Het geheugen LOG bevat op adres (a1) de waarde i, doch op plaats 0 de waarde ΗΕΧ00 en qp plaats 1 de waarde HEXEF. Het geheugen LGQ bevat op adres (a1) de waarde (2i-mod 255), doch qp plaats 0 de waarde ΗΕΧ00 en op plaats 1 de waarde HEXEF. Zo kan logarithmisch gewerkt worden, zowel met de variabele zelf (SOS-bus) als met het kwa-35 draat daarvan. Het geheugen LGI bevat op elk adres (a1) de waarde (256-i), doch qp plaats 0 de waarde 0. Zo kan met de logarithms van de inverse waarde gewerkt warden. Het geheugen LGS bevat qp elk adres (a x* de waarde i, doch op plaats 0 de waarde ΗΕΧ00 en qp plaats 8400629 PHN 10.930 16 * 1 de waarde HEXFF. Zo kan met de logarithms van de vierkantswortel gewerkt worden.
Het element OCA 125 is een optelelement voor getallen in 1 -complementsnotatie, modulo 255. Daartoe wordt één operand onder be-5 sturing door een signaal AWR opgeslagen in trekkerregister 124, terwijl de tweede operand direkt via verbinding 132 wordt aangevoerd. Het optelresultaat. wordt aan multiplexer 134 toegevoerd die bestuurd wordt door het uitgangssignaal van EN-poort 136. Door het optellen van de exponenten wordt zo een vermenigvuldiging (of deling) gerealiseerd.
10 De bitwaarde ZSS = 0 geeft aan of één der faktoren de waarde 00 heeft. Onder besturing van het laadsignaal MR wordt dit in trekkerschakeling 138 opgeslagen. Als één of beide faktoren de waarde "O" hebben, wordt de tweede ingang van de multiplexer aktief om ΗΕΧ00 aan de uitgang te presenteren. Als het signaal MJL de waarde "1" heeft, wordt multi-15 plexer 140 doorlaatbaar voor het (pseudo) produkt. Als MüL = 0 wordt de uitgang van blok 130 direkt verbonden met de ingang van blok 142. Blok 142 is een alleen-leesgeheugen met een capaciteit van 256 plaatsen a 8 bits. Dit geheugen ILG bevat op elk adres i de waarde (a1), doch op plaats 0 de waarde ΗΕΧ00 en op plaats 255 de waarde HEX01. Zo wordt 20 de antilogtransformatie uitgevoerd. Het resultaat kan via èxclusief-of-schakeling 144 toegevoerd worden aan register 126 of multiplexer 129 . Het register BME wordt gebruikt voor tussenresultaten in een accumu-latie-operatie doordat de uitgang van dit register via multiplexer 146 en EXOR 144 is teruggekoppeld op de ingang ervan. Daarbij vindt accurau-25 latie plaats als BAC = 1. Als BAC = 0 bepaalt de waarde van ZAC de accumulatie met de waarde ΗΕΧ00, respectievelijk met HEX01.
Figuur 10 geeft een blokschema van de testeenheid 62 in figuur 4. Hierin worden een aantal aannames in het decodeerproces getest. Al naar de uitkomst van de test stopt het programma, wordt er een 30 sprong uitgevoerd, respektievelijk gaat het programma door met de naast-volgende programmes tap. De volgende tabel geeft de testbare aannames.
In feite vormen derde en vierde regel welk zeven afzonderlijk tests.
(Zie tabel 1 op pagina 25)
De resultaten van de eerste 16 tests zijn als volgt te 35 klassificeren: a) als het resultaat van de test negatief is of als RSTT = RST2 =0, gaat het programma gewoon door, met de rësul.taatsignalen JMP = STP = CNP = 0.
8 4 0 0 6 2 § ΡΗΝ 10.930 17 b) als het resultaat van de test positief is en bovendien RST1 = 1, RST2 = 0, stopt het programma omdat de correctie ónmogelijk is, met - de resultaats ignalen JMP ~ 0, STP = CNP = 1.
c) als het resultaat van de test positief is en bovendien EST1 =0, 5 RST2 = 1, stopt het programma omdat de correctie is voltooid, met de resultaatsignalen JMP = 0, STP = 1, CNP = 0.
d) als het resultaat van de test positief is en bovendien RST1 = RST2 = 1, wordt een sprong in het programma uitgevoerd, mét ' de resultaatsignalen JMP = 1, STP = CNP = 0.
10 Als het signaal RAT verder de waarde "1" heeft en de symbool waarde SOS is geen element van de verzameling a1 met Q^i^n-1 dan stopt het programma. In dat geval is het codewoord oncorrigeerbaar omdat een reële correctie op zou treden in een symboolpositie buiten het codewoord (als n = 255 treedt dit geval uiteraard niet op). In dit ge-15 val wordt het signaal OOR aktief en is STP = CNP = 1.
Als het signaal NEE = 1 betekent dit dat het aantal uitwis-symbolen groter is dan toelaatbaar volgens de gekozen strategie. Ook in dit geval stept het programma dadelijk bij de desbetreffende detektie en wordt correctie als onmogelijk beschouwd.
20 Door de grootheid ANF kan het aantal te corrigeren symbolen boven het aantal uitwissymbolen worden gespecificeerd. Als het aantal additioneel gedetekteerde foutsymbolen te groot is, stopt het programr ma direkt bij de desbetreffende detektie en wordt het codewoord als oncorrigeerbaar beschouwd.
25 Direkt vóór het eerste symbool van het naastvolgende code woord wordt ontvangen, wordt de bit CNP opgeslagen in register UEP en worden de registerbits F1, F2 op nul teruggesteld.
De schakeling van figuur 10 bevat in deze de volgende onderdelen: 30 - een 8-bits brede OF-poort 160 on een symbool ΗΕΧ00 te detekteren; - een dood geheugen RAN dat voor alle ontvangen symboollokaties (in de verm van exponenten van a) door een ”1" aangeeft of de betreffende symboolpositie binnen, dan wel buiten het codewoord gelegen is; - een EN-poort 162 om onder besturing van het toestemmingssignaal RAT 35 het eerder vermelde signaal OOR te produceren; - een teller cm de grootheid ANF qp te slaan en te decrementeren als het signaal RAT aktief wordt; als een overdrachtssignaal ontstaat is een oncorrigeerbare situatie gedetekteerd. Het laadsignaal van de 8400629 PHN 10.930 18 teller verschijnt vlak voordat het eerste symbool van het naastvolgen-de codewoord wordt ontvangen; - een multiplexer 168 om onder besturing van het signaal TST4 alternatief de grootheid NER, dan wel de grootheid NES naar vergelijker 168 5 door te laten; - deze laatste vergelijkt ingangsgrootheid A met ingangsgrootheid B; de conditie is aangegeven; - drie-bits-hrede OF-poort 170 ontvangt de grootheid TST1, 2, 3 cm de EN-poorten 172/174/176 te aktiveren waarvan inverterende ingangen 10 van een cirkeltje zijn voorzien.
Zo worden de voorwaarden getest, terwijl het overige deel van de schakeling, onder medebesturing door de signalen RST1, RST2, NEE en laadbesturingssignalen voor de registerbitposities F1, F2 de uitcodering naar de signalen JMP, STP, CNP en UEP verzorgt. Daarbij is element 178 15 een verdere registerbitpositie voor het signaal UEP.
Besturingseenheid;
De besturingseenheid (64 in figuur 4) wordt meer in detail getoond in figuur 11, terwijl figuur 12 daarbij de informatiestruktuur 20 nader uitlegt. Het centrale element is het volgordebesturingsgeheugen SEQ met een capaciteit van 256 woorden a 40 bits dood geheugen. Het 8-bits-adres is aanwezig in adresteller SCO. In de teruggestelde toestand van de adresteller SCO is het adres ΗΕΧ00 en wordt een loze in-struktie afgegeven aan programmastatusregister PSR. De aktivering van 25 de elementen SCO (stappen),‘ SEQ (lezen) en PSR (opslaan) gebeurt synchroon door het kloksignaal MPCL. De teller wordt gestart zodra het eerste symbool van het nieuwe woord ontvangen wordt, tenzij het signaal NEE de waarde 1 heeft, want daaruit wordt het blokkeringssignaal STP gevormd. Onder besturing van het sprongsignaal JMP wordt teller SCO 30 geladen met het deel NAD van het register PSR. De respektievelijke groepen van informatiebits in register PSR zijn telkens door hun half-afkortingen geïdentificeerd. Daarbij geeft figuur 11a de uitcodering van de beide bits RRD (1, 2) en REN om vier verdere besturingsbits te verkrijgen (uiteraard zouden deze door een verbreding van geheugen SEQ 35 ook direkt daarin opgeslagen kunnen zijn). De maximum klokfrekwentie van MPCL wordt nu bepaald door de volgende vertragingen; a) de tijd die nodig is om van register PSR via elementen WME, de test-eenheid, teller SCO en geheugen SEQ weer register PSR te vullen 8400629 EHN 10.930 19 b) of de tijd die nodig is om van register PSR via WME, en de eenheden LDG, OCA en HG weer de eenheid ISME te bereiken.
In figuur 12 geven de eerste vier bits het adres WAD (figuur 9), de tweede vier-bits het adres HAD, zodat de betreffende ge-5 heugenplaats met de bis kan camtuniceren. De bits 8, 9, 10 worden toegevoerd aan element 128 in figuur 9 en aan de schakeling van figuur 11a, en selekteren zo het bronelement voor de bus SOS. De bits 11, 15 en 19 zijn vrij. De bits 12, 13, 14 worden gebruikt als seléktiebits in figuur 9. Als IDS = 0 is er direkte toegang. Bits 16, 17 vormen een 10 twse-bits-adres, waarbij LRD2 de hoogste signifikatie heeft. Bits 18 en 20 worden toegevoerd aan de elementen 124, respéktievelijk 140.
Bits 21, 22 besturen element 146. Bit 23 bestuurt element 126. Bit 24 wordt gebruikt in figuur 7b. Bits 25-27 worden gebruikt in figuur 10, waarbij bits 26, 27 een 2-bits-code voormen, als deze code "0" is, wordt 15 "niets" gedaan. Als deze code "1" is, is de correctie niet mogelijk, als deze code ”2" is, is de correctie klaar, en als de code "3" is, dan volgt een sprong. De bits 28-31 vormen een vier-bits-waarde die wordt uitgedecodeerd als aangegeven. Bits 32-39 vormen het eerstvolgende adres voor de eenheid SEQ.
20
Het algorithms:
Het algorithms voor de verschillende bewerkingen bestaat uit verschillende modules; a. genereren van de syndroomsymbolen, opslaan van de symbolen, bepaling 25 van de uitwislokaties: (Zie tabel 2 op pagina 25)
De gegeven progranma's zijn geschreven in een taal die zoveel correspondentie heeft met de taal RTL/2, dat de verschillen evident en daarmede doorzichtig zijn. Het ontvangen woord zij; n-1 30 r(x) = ]T bjX1"1"1 i=0
Er kunnen fouten zijn in de symbolen op onbekende lokaties i^ · ·« it, met onbekende waarden, en uitwissymbolen op de bekende lokaties i. .. ... i. met eveneens onbekende waarden. Y. is de foutwaarde dat t+i t+e j 35 is het verschil tussen het ontvangen en het correcte symbool met nunr* mer (i^). Verder wordt gedefinieerd de positie van dat symbool als Xj = a^ ^j^. De syndroomsymbolen zijn: PHN 10.930 ' 20
J V
•s n-1 t+e sj=E ri<ab*V1_l = ΣΙ Vi^3· i=0 i=1
Ze worden als boven getoond stap voor stap gevormd/ waarbij iedere keer 5 dat een volgend symbool 'van het codewoord wordt ontvangen, alle voorlopige syndroomsymbolen worden geaktualiseerd.
b. Het verdere algorithms vrardt bestuurd door het volgordebesturings- - element SEQ. Allereerst, worden de syndroomsymbolen zo gemodificeerd dat in (d-1-e) daarvan de invloed der uitwissymbolen is verwijderd; 10 door het vermenigvuldigen van de matrix (H) met een niet-singulière matrix A van (d-1) x (d-1) elementen zodat de kolommen i^ van de matrix (AXH) voor t+1^ j^t+e in de eerste (d-1-e) posities nullen bevatten. De posities (kolommen) i^ corresponderen met de "t" fout- lokaties voor j^t en met de "e'r uitwislokaties voor t+1^ j^ t+e.
15 Om dit te kunnen beschrijven worden voor 0^k^t+e-1 en 0^j^d-2-k de volgende gemodificeerde syndroomsymbolen gedefinieerd: S.(0) = S. als k = 0 3 3 S.W = Sj(lc-1) - X^+1.k S^als k>0, en 20
Yj°:-= Yj als k = 0 x3(k>Yjtk'1) 313 k>0·
Daaruit volgt: 25 t+e-k S W =T Y. voor 0^j^d-2-k.
i=1
Tabel 3 geeft aan welke syndroomsymbolen er dan ontstaan.
De pijlen geven de vorming van een gemodificeerd syndrocmsymbcol aan.
30 Voor twee uitwissymbolen is de derde tabelregel voldoende cm eventuele fouten terug te vinden. . . ......
, De modificatie voor de invloed der uitwissymbolen wordt gegeven door tabel 4.
(Tabel 4 op pagina 25)
Met name behoeven nu niet de coëfficiënten van het lokator-polynoom van de uitwissymbolen berekend te worden.
8400629 35 PHN 10.930 21 c. Nu zijn er nog (d-1-e) syndrocxnsymbolen, waarmee, middels de sleutel-vergelijking, t symboolfouten corrigeerbaar zijn, via het vinden van de foutposities. Mits 2t^d-T-e. Er geldt 2^5^ j^d-2-e nu: 5 s.W.TrWx.(W) 3 x x i*l
Als de foutlokaties zijn gevonden, bestaat nog slechts het probleem van het vinden van (t+e) uitwiswaarden (1^ j^t+e), gegeven de posities X^ (1 ^j^t+e). De posities kunnen op bekende manier gevonden 10 worden, zoals bijvoorbeeld beschreven in de geciteerde octrooiaan vrage uit de sleutelvergelijking. Dit zal hierna nog worden beschreven. Hier volgt een eenvoudig algorithms voor het bepalen van de uitwiswaardes. Dit kan ook gemakkelijk gebruikt worden bij het encoderen omdat daar immers de redundante symbolen op bekende posi-15 ties zijn geplaatst. We hebben de volgende gemodificeerde syndrocm-symbolen nodig: e+t-k e+t-k S0(k> mZ Yj (k)xjb = Σ ‘''Ytia+l-i’' j=1 j-1 20 waarbij 0^k^t+e-1 en het gedurigprodüktj^k^ voor a^b de waarde 1 krijgt. De berekening van de ribg niét bepaalde Sq ^ voor e+1 ^k^e+t gaat als volgt: (Zié tabel 5 op pagina 26) d. Uit de aldus gevonden, respektievelijk gemodificeerde syndroomsym-bolen worden de waarden der uitwissymbolen op iteratieve manier be- 25 paald. Voor i^j, k^t+e geldt namelijk: (Zie tabel 6 op pagina 26)
Zoals eerder gesteld is in het uitvoeringsvoorbeeld de op zichzelf willekeurige waarde van b = 0 gekozen. Met name is het in de gevolgde berekening niet nodig om de foutlokators en uitwislokators 30 in een tussenstap te gebruiken. Het linkerlid van de laatste vergelijking wordt op iteratieve manier bepaald: (Tabel 7 op pagina 26) e. Blijft nu over het probleem om de foutlokaties te vinden middels de gemodificeerde syndroomsymbolen ^, 0^j^d-e-2. Dit gebeurt net 35 behulp van het foutlokatorpolynoom sigma (X), dat is het gedurig produkt sigma (X) ="|P=1 (i-XX.'1) = Xfc +<T, xt_1 + ... «^_1 X+SJ.
840052«-
V
PHN 10.930 22 <Γ(χ^) = 0 voor j = 1, 2 ... t en 0 = (e) = „ = Ï.(e> x*** + <e> X****-' + ...+¾(e) χά^·
Het optellen van dit stelselvergelijkingen voor 1^ t levert de sleutelvergelijking: n - c(e) +<r + +<T +(T s ^ en alle S(e' zijn bekend voor 0^k< d-2-e-t. Dit representeert dus 10 een stelsel van (d-1-e-t) lineaire vergelijkingen in t onbekenden
T
T\ (1 ^ i^t). Deze zijn in matrixvorm te schrijven als = S, waarbij £:= «Γ,, <Γ 2 ·. .<^) enS:= (-St(e), -S^Jj, ...
en: .
(''-(e) ς(β) ς (e) ' (e) st-1 t-2 *·* 1 , 0 15 st(e) · · * • *
Mt= .
,n s(e) s(e) s(e) g(e)
20 ^ά-3-e α-4-ê* * bd-1-e-t öd-2-e-t J
M, . is de matrix die bestaat uit de eerste i rijen van deze matrix voor zover i^d-1-e-t. Deze matrix is niet-singulier als de groot- heden S.' ' gevormd worden uit precies t niet nul-zijnde paren (el ·* Y^ ', Xy Als dit aantal kleiner is, is de matrix singulier. Als 25 dit aantal groter is, zijn beide gevallen mogelijk. Als de matrix M niet-singulier zij, dan is het zoeken van het in code-afstand
Of O
dichtstbijzijnde woord met t opgetreden fouten overeenkomstig met het zoeken van een waarde van i zodat jyt i niet-singulier is en elke matrix. Mj j is wél singulier voor o^i^ j ^^(d-1-e)/2j „ Als zo het 30 aantal fouten gevonden is, wordt de expressie voorΦ opgelost met de regel van Cramer. Laat Mt(j) de matrix van afmeting txt zijn door het vervangen van de laatste rij van t door de je rij van Mt j^d-T-e-t). Dan geldt:fis^ |(d-1-e)/2j[ dan is ^ singu lier voor t+1^ j^i dan en slechts dan indien (j) singulier 35 is voor t+1^[j^i.
Als nu een waarde van t gevonden is zo, dat-Mt t is niet-singulier en Mt+1 (j) is singulier voor t+1^ j <]^(d-1-e)/2 J dan geldt: er kunnen alleen t fouten zijn opgetreden als (j) is singulier 'S a 0 a io i, 4
V
1» f Ï- EHN 10.930 23 voor |jd-1-e)/2j^j^d-1-e-t, en dat anders het aktuele aantal fouten groter dan |jd-1-e)/2j is. Als verder t niet-singulier is,
Mt+1 Ö) singulier is voor t+1^ j<£ L(d—1—e)/2_| , en Mfc+1 (i) niet- singulier is, dan is het aktuele aantal fouten minstens gelijk aan i. · * * 5 - -
Zij - :" . : -- t de matrix met afmeting txt, waarbij de i-de kolom van Mt+1 verwijderd is (1^ i^ft+1). Met name is . = M. .. Nu warden t end"1. gevonden: (het vinden van de lokator van een extra fout): 10 (Zie tabel 8 op pagina 27)
Met name wordt in het bovenstaande algorithms niet de gehele struktuur van de matrix uitgebreid gebruikt. Het op deze manier bepalen van de nieuwe waarde van GV uit de oude waarde levert een vlotwerkend algorithms, met name voor kleine waarden van t.
15 f. Als eenmaal de lokatorgrootheden voor de t fouten gevonden zijn,
X
moeten de nulpunten gevonden worden van het polynoom sigma (X) in g het Galois-lichaam GF (2 ). Als er minder dan t nulpunten zijn, betékent dat een aantal fouten groter dan jjd-1-e)/2j hetgeen oncorrigeerbaar is. Zo'n zoekoperatie is door Chien voorgesteld en' 20 beschreven in de geciteerde octrooiaanvrage. Erogranma (zie tabel 9 op pagina 27)
Voor een klein aantal fouten, met name voor een polynocm sigma ‘ (x) van slechts tweede of derde graad worden veeleer hybride-methoden gebruikt. Daarbij is g een of andere macht van 2. Voor elkefE in GF (q) 25 wordt gedefinieerd * Λ - QEQ (£3) is een willekeurige wortel van de vergelijking X+ X + ^ = 0 als deze wartel bestaat en anders nul.
- TEQ (^) is een willekeurige wortel van de vergelijking X^ + X +(L = 0 als deze wortel bestaat en anders nul.
30 - Alleen als q = 1 mod 3 is TRT (^) een derde wartel van|? als deze bestaat en anders nul. Mét name zij TRT(1) -j.
Met name zijn alle wartels van <T (x) = 0 van nul en van elkaar verschillend.
g. Voor twee fouten gaat de bewerking als volgt: 35 (Zie tabel 10 op pagina 27) h. Voor drie fouten gaat de oplossing als volgt: (Zie tabel 11 op pagina 28) 8400629 EHN 10.930 24 y >
De grootheden QEQ, TEQ, TRT worden als getooid in alleen- leesgeheugens opgeslagen. Alle waarden X. zijn onderling en van nul 1 · · · verschillend. Bovendien moeten ze binnen de woordlengte liggen, dat wil zeggen, een element zijn van de verzameling £a3"!o^i^ n-fj , 5 anders is er een oncorrigeerbaar foutenpatroon.
10 15 20 25 30 o @400629 35 PHN 10.930 25
Tabel 1: SOS = 0 by TST1 = TST2 = TST3 = TST4 = 0, SOS £ 0 by TST1 = TST2 = TST3 = 0 and TST4 = 1, NER^ i for 1^1^7 by TST1 + 2x TST2 +4x TST3 = i and TST4 = 0, 5 NES«$ i far 1^i^7 by TST1 +2x TST2 +4x TST3 = i and TST4 = 1, SOS^ £a1i 0^i<n-1^by RMT = 1.
Tabel 2: 10 POR j: = 0 T0 d-2 DO S..: = 0 REP; e: = 0;
FOR i: = 0 TO n-1 DO
r £an-;L3 ; = 'next symbol received' ; f £an~:L3 : = 'next symbol-flag received'; 15 FOR j: = 0 TO d-2 DO Sj: =* r fa1-1] + S^ x a^ REP; IF f = 1 THEN e: = e+1; X= a11"1"1 END; REP; IF e^d-1 THEN 'uncorrectable error pattern' END; 20
Tdl^el· 3 · C (0) ς*(0) ς (0) (0) (0) ς (0) b0 b1 2 b3 .4 b5 ▼ * ς (1) ς Ο) ς (1) ς (1) ς Π) 25 S0 S1 s2 b3 b4 _ (2) ς (2) ς (2) ς (2) S0 b1 b2 b3
Tabel 4: 30 -
FOR k: = 1 10 eDO
FOR j: = 0 TO d-2-k DO
ς (k). _ ς (k-1) -1 (k-1)
Sj * bj r+e+1-k bj+1
REP
35 S? 8400629 ΡΗΝ 10.930 26 4' κ <» " *
Tabel 5:
FOR k: = 1 TO t DO
FOR j: = 0 TO t-k DO
e (e+k). - e (e+k-1) _ X-1 „ c(e+k-1)
Sj ' * “ Sj Xt+1-k X bj+1
5 REP
REP; 10 sQ(t+e~k) (j) := s0(t'tó“k) if j = 1
Soitfe"k) (j) : = (1-¾1 f1 s0(t+€“k) Cj-1) if j>k s^(t+e-k) (j+1) . ^ ^(t-te-k) (j) _ ^(t-te-j) (k) ^ j<k; & 15 - k t+e s0lt+e~k) Ö) . = Σ ^ ΤΓ <1‘xiV1) “ 3^k i=j p=1 +k t+e 2o s0(t+e-k> (j) =ïkx£ X (1-¾-1) if :>k —> p=1+j s^(t+e-j) (t+e) =YjXjb 25
Tabel 7:
FOR k: = 1 TO t+e-1 DO FOR j : = k+1 TO t+e DO
S0(t+e~k) (j): = (1-¾-1 )"1 SQ(t+e“k) (j-1); 30 s^(t+e-j) (k+1). = s0(t^} (k) -S0(thB-k) (j)
REP
REP; §400629 35 PHN 10.930 27
Tabel 8: t: = 0; j: =0; WHILE j^d-1-e-t DO j: = j+1?
5 IF det|Mt+1 (j) | ^ O THEN
t: = 3;<Γ0: =dst|Mtt|;
POR i: = TO t DO
<Γ: = (-1)* x aetlM^I/<T0
REP
10 END
REP; IF 2 x t+e^d-1 THEN 'uncorrectable error pattern1 END; 15 Tabel 9: <TQ; = 1; k: = 0; FOR j: = 0 TO n-1 DO t
IF ^ ± = 0 THEN
20 i=0 k; = k+1; X^: = END; FOR i; = φ TO t-1 DO <T : = <T x at_1 REP REP; 25 IF k ^ t THEN 'uncorrectable error pattern' END;
Tabel 10: IF <5*^ = 0 OR 0 THEN 'uncorrectable error pattern' ELSE set X =<Tj x Y; 30 Y2 + Y + = 0 nust be solved; ; =QEQ (CyS*2); ifO= 0 THEN 'uncorrectable error pattern' ELSE Xt ï -CT χύ ; *2« -S\ + X,
35 END
END; .--¾ .* ^ ·. * * PHN 10.930 28
Tabel 11; set X = + Y; Y3 + Y((T2 + <T2) + + ^i^V = 0 ^ solved·' 5 IF (Π, = 0 OR (^3+^1 ^2) - 0 THEN 'uncorrectable error'
ELSE IF ff 2 +ζΓ2 f 0 THEN
0 1,, 10 set Y = z«T^ +<T2) 2> Z3 + Z + (G“3 +^1^V / (^*2 +ϋ*2)3^3' = 0 mist be solved; /u: = TEQ ((<T3 +σ\,<Γ2) / (<Tf +<T2)3/2); IF = 0 THEN 'uncorrectable error pattern' ELSE Z2 + ^uZ + (1 + ^u) 2 = 0 mist be solved; 15 ύ : = QEQ (1 + ^2); IF = 0 THEN 'uncorrectable error pattern' ELSE Xj: =TT + (tf2 +CT2)^ X ^u; 20 X2: =G1 + ^1 X /u7^'* X3: =^j + X1 + X2
END
END
25 ELSE ^u: = TRT (0“3 +^-,^; IF = 0 THEN 'uncorrectable error pattern' ELSE X1: = <T| + ^U; X2: =<Tj + x TKT(1); 30 X3: =<Tj· + X TRT(1)2
END
END; 35 8400629

Claims (10)

1. Decodeerinrichting voor codewoorden die middels een Reed- Solomon-code tegen meerdere symboolfouten per codewoord beschermd zijn, bevattende: a. ontvangstmiddelen en hiff ermiddelen(βvoor het sekwentieel opnemen 5 van de codesymbolen van een codewoord; b. op de ontvangstmiddelen aangesloten eerste berekeningsmiddelen(5o) cm uit het codewoord middels de pariteitscontrolematrix van de code een reeks syndroamsymbolen te bepalen; c. door de eerste berekeningsmiddelen gevoede tweede berekeningsmid- 10 delen^62, 64, 66^ voor het oplossen van de sieutelvergelijking om uit de sieutelvergelijking middels nulpunten van de foutlokatorver-gelijking de posities van eventueel gestoorde symbolen te bepalen en cm middels zo gevonden foutposities bijbehorende symboolfouten te waarderen ter presentering van middels eventuele positiegegevens 15 cum f ontwaarden corrigeerbare codesymbolen op een gebruikersuitgang, met het kenmerk, dat d. genoemde boffermiddelen voor elk codesymbool opslagcapaciteit^52^ bezitten voor het tesamen met een codesymbool opslaan van een op dat codesymbool betrekking hebbende uitwisindikatie ; 20 e. een verbinding aanwezig is tussen de buff ermiddelen en de tweede berekeningsmiddelen cm onder besturing van de uitwisindikatie de reeks syndroansymbolen te corrigeren voor de invloed van uitwissyitr bolen tot een voor elk uitwissymbool met één syndroomsymbool verkorte reeks syndroansymbolen ter berekening daaruit van eventuele posities 25 van foutsymbolen; f. dat genoemde tweede berekeningsmiddelen geschikt zijn cm de aldus gelokaliseerde foutsymbolen uit uitwissymbolen alle. te behandelen als secundaire uitwissymbolen; g. en dat genoemde twaede berekeningsmiddelen een Galois-lichaanr- 30 berekeningseenheid(β6^bezitten om middels omzetten van de symbolen in derzelver exponent van het elementaire element van het Galois-lichaam operaties op verschillende machten van het betreffende codesymbool mogelijk te maken.
2. Decodeerinrichting volgens conclusie 1 voor op syraboolniveau 35 systematische codewoorden, met het kenmerk, dat genoemde eerste berekeningsmiddelen een stuur ingang (EDS) voor een codeer/decodeersignaal bezitten cm onder besturing van het decodeersignaal syndroansymbolen te vormen uit een codewoord en vervolgens al dan niet onder besturing van 8 4 0 C 3 2 9 PHN 10.930 30 ' -4 ·» uitwisindikaties uit de syndroomsymbolen een verzameling van storings-lokaties en bij elke storingslokatie een foutwaarde te vormen, en onder besturing van een codeersignaal uit een reeks datasymbolen van een data-woord een reeks pariteitssymbolen te vormen als ten opzichte van voors-5 hands aanwezige symbolen 'gecorrigeerde uitwissymbolen op de lokaties der pariteitssymbolen.
3. Decodeerinrichting volgens conclusie 1 of 2, met het kenmerk, dat genoemde bufferinrichting twee alternerende bufferelementen SME1, 2 bezit voor elk een geheel codewoord en geassocieerd daarmee telkens een 10 geheugen EME1, 2 voor de uitwislokaties, welk laatste geheugens telkens door een bijbehorende teller EC01, 2 worden geadresseerd die door een leesbesturingssignaal wordt gedecrementeerd en door een schrijfbestu-ringssignaal worden ge ïncrementeerd.
4. Decodeerinrichting volgens conclusie 1, 2 of 3, met het ken-15 merk, dat genoemde Galois-lichaam-berekeningseenheid een keten bezit van een omzetter (l 3ojom een symbool om te zetten in een element van de verzameling (exponent, dubbele exponent, geïnverteerde exponent, en gehalveerde exponent), een selektief aktiveerbare opteller^125^met omleiding, en een tweede omzetter(l42^om een exponent terug om te zetten 20 in het bijbehorende symbool.
5. Decodeerinrichting volgens êên der conclusies 1 tot en met 4, met het kenmerk, dat genoemde eerste berekeningsmiddelen bevatten, een parallelschakeling van (d-1) registers elk voor een voorlopig syndroom-symbool, een serieschakeling van (d-2) vermenigvuldigingselementen 25 om telkens een ontvangen symbool met het grondelement van het desbetreffende Galois-lichaam te vermenigvuldigen, waarbij elk vèrmenig-vuldigingselement tussen de ingangen van twee opvolgende registers is geschakeld, en de registers per ontvangen codesymbool cyclisch in de volgorde van de vermenigvuldigingselementen. worden aangestuurd, een 30 exclusief-of-schakeling XQR met een codesymboolingang en een door alle registers der parallelschakeling gevoede terugkoppelingang, terwijl de uitgang der exclus ief-of-schakeling is rondgekoppeld naar de serieschakeling en tevens een uitgang van de eerste berekeningsmiddelen vormt.
6. Decodeerinrichting volgens conclusie 5, met het kenmerk, dat 35 tussen de exclusief-schakeling en de ingang van de serieschakeling een verder symboolregister^SR^is geschakeld.
7. Decodeerinrichting volgens één der conclusies 1 tot en met 6, met het kenmerk, dat genoemde buffermiddelen voorzien zijn van een door O Γ C\ 'j * V -,· . ; EÏÏN 10.930 31 * , een instelbaar register(wLE:Jlaadbare teller ^LCC^ om het aantal ontvangen symbolen af te tellen en bij het bereiken van een voorafbepaalde stand een "ontvangst gereed" signaal te vannen.
8. Decodeer inrichting volgens één der conclusies 1 tot en met 7, 5 met het kenmerk, dat genoemde tweede berekeningsmiddelen een strategie- bepalend registerbevatten om het toelaatbare aantal uitwissymbolen op te slaan en bij een groter aantal ontvangen uitwissymbolen in een codewoord een oncorrigeerbaarheidssignaal af te geven.
9. Decodeerinrichting volgens één der conclusies 1 tot en met 8, 10 met het kenmerk, dat genoemde tweede berekeningsmiddelen een tweede strategiébepalend register (δoj bevatten om het toelaatbare aantal fout-symbolen-boven-de-uitwissymbolen op te slaan en bij een groter aantal gevonden foutsymbolen in een codewoord een oncorrigeerbaarheidssignaal af te geven. 15
10. Decodeerinrichting volgens één der conclusies 1 tot en met 9, met het kenmerk, dat genoemde Galois-lichaam-berekeningseenheid twee parallelgeschakelde werkgeheugens (l 20, 122^bezit die bidirektioneel zowel met genoemde keten als met een aansluiting op verdere delen van de tweede berekeningsmiddelen zijn verbonden. 20 25 30 35 8400629
NL8400629A 1984-02-29 1984-02-29 Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur. NL8400629A (nl)

Priority Applications (8)

Application Number Priority Date Filing Date Title
NL8400629A NL8400629A (nl) 1984-02-29 1984-02-29 Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
AT85200242T ATE64672T1 (de) 1984-02-29 1985-02-25 Schneller decoder fuer reed-solomon-codes, auch als coder verwendbar und aufzeichnungs- und wiedergabegeraet, das einen solchen coder und decoder enthaelt.
DE8585200242T DE3583250D1 (de) 1984-02-29 1985-02-25 Schneller decoder fuer reed-solomon-codes, auch als coder verwendbar und aufzeichnungs- und wiedergabegeraet, das einen solchen coder und decoder enthaelt.
EP85200242A EP0155038B1 (en) 1984-02-29 1985-02-25 Fast decoder for reed-solomon codes which can also be used as an encoder, and recording/playback apparatus comprising such an encoder/decoder
US06/705,752 US4675869A (en) 1984-02-29 1985-02-26 Fast decoder and encoder for Reed-Solomon codes and recording/playback apparatus having such an encoder/decoder
KR1019850001261A KR920002574B1 (ko) 1984-02-29 1985-02-28 디코딩 장치
CA000475379A CA1229169A (en) 1984-02-29 1985-02-28 Fast decoder and encoder for reed-solomon codes
JP60037760A JPH07105732B2 (ja) 1984-02-29 1985-02-28 デコーデイング装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8400629 1984-02-29
NL8400629A NL8400629A (nl) 1984-02-29 1984-02-29 Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.

Publications (1)

Publication Number Publication Date
NL8400629A true NL8400629A (nl) 1985-09-16

Family

ID=19843558

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8400629A NL8400629A (nl) 1984-02-29 1984-02-29 Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.

Country Status (8)

Country Link
US (1) US4675869A (nl)
EP (1) EP0155038B1 (nl)
JP (1) JPH07105732B2 (nl)
KR (1) KR920002574B1 (nl)
AT (1) ATE64672T1 (nl)
CA (1) CA1229169A (nl)
DE (1) DE3583250D1 (nl)
NL (1) NL8400629A (nl)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62180617A (ja) * 1986-02-04 1987-08-07 Victor Co Of Japan Ltd パリテイ生成回路
US4763330A (en) * 1986-05-06 1988-08-09 Mita Industrial Co., Ltd. Syndrome calculating apparatus
NL8601446A (nl) * 1986-06-05 1988-01-04 Philips Nv Werkwijze en inrichting voor het dekoderen van een blok kodesymbolen dat op twee manieren verdeeld is over kodewoorden die elk door een minimum-afstandssepareerbare kode beschermd zijn.
EP0566215B1 (en) * 1986-09-30 1996-11-20 Canon Kabushiki Kaisha Error correction apparatus
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
AU622626B2 (en) * 1987-06-03 1992-04-16 Sony Corporation Method of processing data
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
WO1989000363A1 (en) * 1987-06-30 1989-01-12 Matsushita Electric Industrial Co., Ltd. Galois field arithmetic unit
US5172379A (en) * 1989-02-24 1992-12-15 Data General Corporation High performance memory system
EP0386506A3 (en) * 1989-03-06 1991-09-25 International Business Machines Corporation Low cost symbol error correction coding and decoding
DE69032737T2 (de) * 1989-07-13 1999-04-29 Canon K.K., Tokio/Tokyo Kodierung- und Dekodierungsvorrichtung geeignet für das Kopieren von Daten
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
KR940011663B1 (ko) * 1992-07-25 1994-12-23 삼성전자 주식회사 오류정정 시스템
EP0584864B1 (en) * 1992-08-21 1997-11-05 Koninklijke Philips Electronics N.V. A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
KR950002304B1 (ko) * 1992-10-07 1995-03-16 삼성전자주식회사 다중 오류정정 방법
EP0597511B1 (en) * 1992-10-09 1999-04-07 Koninklijke Philips Electronics N.V. Method of correcting errors and erasures in digital information, and device suitable for carrying out the method
MY110584A (en) * 1992-10-09 1998-08-29 Koninklijke Philips Electronics Nv Method of and device for correction errors and erasures in digital information
EP0611054B1 (en) * 1993-01-22 1998-04-08 Canon Kabushiki Kaisha Polynomial-set deriving apparatus and method
JP3176171B2 (ja) * 1993-04-21 2001-06-11 キヤノン株式会社 誤り訂正方法及びその装置
US5596589A (en) * 1993-10-29 1997-01-21 Motorola, Inc. Method and apparatus for encoding and decoding error correction codes in a radio communication system
US5771244A (en) * 1994-03-09 1998-06-23 University Of Southern California Universal Reed-Solomon coder/encoder
US5768296A (en) * 1994-07-01 1998-06-16 Quantum Corporation ECC system supporting different-length Reed-Solomon codes whose generator polynomials have common roots
US6308295B1 (en) 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
AU5894498A (en) * 1996-10-08 1998-05-05 Arizona Board Of Regents On Behalf Of The University Of Arizona, The Parallel spectral reed-solomon encoder and decoder
US6023782A (en) * 1996-12-13 2000-02-08 International Business Machines Corporation RAM based key equation solver apparatus
EP0961277A1 (en) * 1998-05-26 1999-12-01 Koninklijke Philips Electronics N.V. Record carrier, apparatus and method
US6226772B1 (en) * 1998-11-06 2001-05-01 Lih-Jyh Weng Pipelined combined system for producing error correction code symbols and error syndromes for large ECC redundancy
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6732325B1 (en) * 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
FR2817418B1 (fr) * 2000-11-27 2003-02-21 Matra Nortel Communications Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede
US7100103B2 (en) * 2002-01-22 2006-08-29 Broadcom Corporation Efficient method for fast decoding of BCH binary codes
US7047480B2 (en) * 2002-11-12 2006-05-16 Microsoft Corporation Matrix multiplication in a Galois field for forward error correction
US7343541B2 (en) * 2003-01-14 2008-03-11 Broadcom Corporation Data integrity in protocol offloading
US20060253730A1 (en) * 2005-05-09 2006-11-09 Microsoft Corporation Single-disk redundant array of independent disks (RAID)
RU2010135817A (ru) * 2010-08-30 2012-03-10 ЭлЭсАй Корпорейшн (US) Реконфигурируемый декодер кодов бчх
US10218386B1 (en) 2016-11-22 2019-02-26 Intel Corporation Methods and apparatus for performing variable and breakout Reed Solomon encoding
US10164660B1 (en) 2016-12-23 2018-12-25 Intel Corporation Syndrome-based Reed-Solomon erasure decoding circuitry
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11693983B2 (en) * 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US20230223961A1 (en) * 2022-01-13 2023-07-13 Micron Technology, Inc. Iterative decoder for correcting dram device failures

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
JPS5857781B2 (ja) * 1978-01-17 1983-12-21 三菱電機株式会社 符号化復号化方式
US4360916A (en) * 1979-12-31 1982-11-23 Ncr Canada Ltd.-Ncr Canada Ltee. Method and apparatus for providing for two bits-error detection and correction
JPS5710558A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
CA1170776A (en) * 1980-07-18 1984-07-10 Yoichiro Sako Method of error correction of blocks of data
GB2093238B (en) * 1981-02-18 1985-04-17 Kokusai Denshin Denwa Co Ltd Error correcting system for simultaneous errors in a code
US4527269A (en) * 1983-02-08 1985-07-02 Ampex Corporation Encoder verifier

Also Published As

Publication number Publication date
DE3583250D1 (de) 1991-07-25
KR920002574B1 (ko) 1992-03-30
EP0155038A1 (en) 1985-09-18
JPS60204125A (ja) 1985-10-15
KR850006741A (ko) 1985-10-16
EP0155038B1 (en) 1991-06-19
US4675869A (en) 1987-06-23
ATE64672T1 (de) 1991-07-15
CA1229169A (en) 1987-11-10
JPH07105732B2 (ja) 1995-11-13

Similar Documents

Publication Publication Date Title
NL8400629A (nl) Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
US4099160A (en) Error location apparatus and methods
KR100573356B1 (ko) 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템
US5136592A (en) Error detection and correction system for long burst errors
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US5020060A (en) Error code correction device having a galois arithmetic unit
JP4190658B2 (ja) 符号化のためのシステムおよび復号器
JPH06152437A (ja) 誤り訂正回路
JP2010518464A (ja) 半導体記憶装置
US6725416B2 (en) Forward error correction apparatus and methods
JPS58219852A (ja) エラ−訂正回路
JPH02503851A (ja) 誤り訂正のための方法と装置
KR100654110B1 (ko) 에러검출코드 추가 회로, 에러 검출 회로 및 방법, 및디스크 장치
KR100654111B1 (ko) 스크램블러, 디스크램블러 및 방법, 및 디스크 장치
KR19990028201A (ko) 10 비트 리드-솔로몬 에러 정정 모듈을 위한 전용 alu구조
NL8302214A (nl) 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.
JPH0653842A (ja) Rsコードデータ信号を復号化する方法および回路
CN1095122C (zh) 差错定位多项式高速计算电路
US20080140740A1 (en) Systems and methods for processing data sets in parallel
KR100509137B1 (ko) 에러 정정 장치
JPH0865175A (ja) リードソロモン復号器の誤り位置検出回路
EP1037148B1 (en) Error coding method
US8819331B2 (en) Memory system and memory controller
RU2758065C1 (ru) Отказоустойчивый процессор с коррекцией ошибок в байте информации
CN106603085A (zh) 生成多项式的生成方法、其装置、编码器、控制器及电子设备

Legal Events

Date Code Title Description
A1B A search report has been drawn up
BV The patent application has lapsed