NL8601446A - 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. - Google Patents

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. Download PDF

Info

Publication number
NL8601446A
NL8601446A NL8601446A NL8601446A NL8601446A NL 8601446 A NL8601446 A NL 8601446A NL 8601446 A NL8601446 A NL 8601446A NL 8601446 A NL8601446 A NL 8601446A NL 8601446 A NL8601446 A NL 8601446A
Authority
NL
Netherlands
Prior art keywords
code
codeword
codewords
symbols
syndrome
Prior art date
Application number
NL8601446A
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 NL8601446A priority Critical patent/NL8601446A/nl
Priority to US07/005,515 priority patent/US4802173A/en
Priority to DE3717223A priority patent/DE3717223C2/de
Priority to GB8712836A priority patent/GB2191318B/en
Priority to SE8702295A priority patent/SE466578B/sv
Priority to JP62137823A priority patent/JP2664680B2/ja
Priority to KR1019870005605A priority patent/KR950010399B1/ko
Priority to IT20780/87A priority patent/IT1204677B/it
Priority to CA000538897A priority patent/CA1293327C/en
Priority to FR878707791A priority patent/FR2599916B1/fr
Publication of NL8601446A publication Critical patent/NL8601446A/nl

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
    • 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/1515Reed-Solomon 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

*
Jt PHN 11.771 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven.
Werkwijze en inrichting voor het dekoderen van een blok kodesymbolen dat op twee manieren verdeeld is over kodewoorden die elk door een minimum-afstands-separeerbare kode beschermd zijn.
Beschrijving: UITGANGSPUNT VAN DE UITVINDING EN EXEMPLARISCHE STAND DER TECHNIEK.
De uitvinding betreft een werkwijze voor het korrigeren van een blok kodesymbolen dat verdeeld is in een eerste reeks eerste 5 kodewoorden van een eerste maximum-afstands-separeerbare kode, en anderzijds verdeeld is in een tweede reeks tweede kodewoorden van een tweede maximum-afstands-separeerbare kode, waarbij elk korrekt kodewoord binnen een kode een minimum afstand ten opzichte van elk ander korrekt kodewoord van tenminste drie als gerekend over de symbolen bezit, en 10 alle niet-redundante kodesymbolen zowel deel uitmaken van een eerste kodewoord als van een tweede kodewoord. Zo een werkwijze is beschreven in de oudere Europese aanvrage 156 44Q (PHQ 84.008C) die zich baseert op twee Japanse prioriteitsaanvragen 84/57595/6. In dat geval is de minimum-afstands-separeerbare (MSD) kode een (verkorte) Reed-Solomon-kode, maar 15 ook andere volgens symbolen georganiseerde kodes kunnen gebruikt worden. Een symbool is een groep van een vast aantal bits, groter dan één, in een voordelige uitvoering van steeds acht bits. Veelal worden systematische kodes op symboolniveau gebruikt, waarin een scheiding bestaat tussen redundante en niet-redundante symbolen, maar de 20 uitvinding is niet daartoe beperkt. Het bekende systeem betreft de opslag van digitale data volgens het formaat van de zogenoemde "Compact Disc" voor hoogkwalitatieve audio-informatie, die voor bepaalde toepassingen, bijvoorbeeld voor de opslag van computersoftware, nog betrouwbaarder gemaakt wordt. In het bekende systeem wordt de 25 informatie eerst gedekodeerd op dezelfde manier als gebruikelijk voor audio-informatie, waarbij de redundantie van twee Reed-Solomon-koderingen gebruikt wordt om fouten te korrigeren en voorts om verdere, niet of waarschijnlijk niet te korrigeren fouten te detekteren. Deze Reed-Solomon-kodes werken met een verbladeringstechniek, die geschikt is 30 voor het korrigeren van lange uitbarstingsfouten en die verder voordelig op echte-tijd basis verwerkt kan worden. Daaroverheen is op kodeblok- of sektorniveau een pseudoproduktkode voorzien, die foutdetektie van de 8601446 * * PHN 11.771 2 eerste twee Coderingen als aanwijsinformatie gebruiken kan om de verdere foutkorrektie betrouwbaarder te maken. Dit betekent dat de desbetreffende dekodering per symbool tenminste één extra bit moet kunnen ontvangen. Het vergroten van deze overdrachtsbitbreedte is soms 5 een nadeel.
In bepaalde andere toepassingen van de kode volgens de aanhef is zulke aanwijsinformatie zelfs geheel niet voorhanden, ofwel doordat de dekodering van de eerste twee koderingen zulke aanwijsinformatie niet levert, ofwel omdat zulke verbladeringskode 10 geheel afwezig is omdat de kode in een andere omgeving wordt toegepast. Op zichzelf is bij een minimum afstand tussen de kodewoorden van drie of meer over de symbolen wel steeds per Codewoord tenminste één symbool korrigeerbaar, maar de kans op een foute korrektie wordt bij toenemende lengte van de kodewoorden snel groter. Bij een minimum afstand groter 15 dan drie is de kans op een foute korrektie weliswaar kleiner, maar blijft in het geval van lange kodewoorden (veel symbolen) toch signifikant.
GESELEKTEERDE DOELSTELLING VAN DE UITVINDING.
20 Het is een doelstelling van de uitvinding om de dekodering betrouwbaarder te maken door het uiteindelijk uitvoeren van een korrektie in een kodewoord afhankelijk te maken van additionele foutindikatie-informatie die niet op het gehele kodewoord betrekking heeft, maar slechts op het daarin potentieel te korrigeren kodesymbool, 25 en zo de foutkorrektie betrouwbaarder te maken. De uitvinding gaat er daarbij van uit dat een onjuiste korrektie met name zou kunnen veroorzaken dat een tot dan toe ongestoord kodesymbool in een fout symbool wordt omgezet.
30 SAMENVATTING VAN DE UITVINDING.
De uitvinding realiseert de doelstelling doordat de werkwijze volgens de aanhef de volgende stappen omvat: a. het opzamelen van een geheel blok kodesymbolen; b. het bepalen van alle syndroomsymbolen van de eerste kodewoorden en 35 van de tweede kodewoorden, en het vormen van een vlag voor elk kodewoord waarvoor het syndroom van nul verschilt; c. het voor alle eerste kodewoorden tesamen sommeren van het aantal fi 8 fl 1 i - £ © y v s ·? -¾ v * « PHN 11.771 3 vlaggen en het separaat daarvan voor alle tweede kodewoorden tesamen sommeren van het aantal vlaggen; d. het voor een eerste kodewoord met van nul verschillend syndroom bepalen van een foutlokatie van een korrigeerbare fout; 5 e. het detekteren van een als gestoord aangewezen tweede kodewoord dat ' die foutlokatie bevat en slechts bij een positief detektiersultaat de desbetreffende fout te korrigeren, doch in het tegengestelde geval een volgend eerste kodewoord volgens stap d aan te spreken; f. het na een korrektie volgens stap e bijwerken van de syndromen van 10 het desbetreffende eerste kodewoord en het desbetreffende tweede kodewoord, en het uitsluitend in geval beide syndromen dan nul zijn bijwerken van de desbetreffende twee vlaggen en het dekrementeren van de sommeringsresultaten van de aantallen vlaggen, en daarna een volgend eerste kodewoord volgens stap d aan te spreken; 15 g. na aanspreken van tenminste alle als gestoord aangewezen eerste kodewoorden het van funktie wisselen van eerste kodewoorden en tweede kodewoorden en herhalen van de stappen d, e en f, totdat een tweetal opvolgende uitvoeringen van de stappen d, e, f voor alle dan aktuele eerste kodewoorden geen verdere verandering oplevert; 20 h. het afleveren van een blok kodesymbolen onder signalering van hetzelve als korrekt dan wel inkorrekt.
Het blijkt dat zo vele konfiguraties van gestoorde symbolen snel en korrekt korrigeerbaar zijn, waarbij met name het al te schielijk als korrekt signaleren van een kodewoord wordt vermeden. De uitvinding 25 betreft tevens een inrichting voor het uitvoeren van de werkwijze, welke inrichting voorzien is van ontvangstmiddelen voor het ontvangen en opzamelen van een geheel blok kodesymbolen, door de ontvangstmiddelen gevoede eerste berekeningsmiddelen om uit de ontvangen symbolen per kodewoord een aantal syndroomsymbolen te vormen, door de eerste 30 berekeningsmiddelen gevoede bijhoudmiddelen om pei; kodewoord waarvoor het syndroom van nul verschilt een vlag op te slaan en voor de eerste kodewoorden en separaat voor de tweede kodewoorden een sommeringsresultaat voor het aantal vlaggen bij te houden, door de eerste berekeningsmiddelen gevoede tweede berekeningsmiddelen om per 35 kodewoord, indien mogelijk en noodzakelijk één of meer korrektiesymbolen te bepalen, door de ontvangstmiddelen en tweede berekeningsmiddelen gevoede korrektiemiddelen om een korrektiesymbool 86 0 1 1- 4 % PHN 11.771 4 bij een gestoord symbool op te tellen, en een uitgangsinrichting om een zo mogelijk korrekt blok aan een gebruikersinrichting te presenteren, met het kenmerk, dat een sekwentiebesturingsinrichting aanwezig is met een aantal standen, om in een stand voor enig eerste kodewoord een 5 korrektiesymbool en een lokatorsymbool te bepalen, en welke sekwentiebesturingsinrichting is voorzien van adresseringsmiddelen om middels genoemd lokatorsymbool een syndroom van een desbetreffend tweede kodewoord te adresseren en van een eerste detektor om uitsluitend onder besturing van een laatstgenoemd syndroom dat van nul verschilt het 10 kodesymbool dat door laatstgenoemd lokatorsyndroom wordt geadresseerd te korrigeren en enig daarop betrekking hebbend syndroom bij te werken, en voorzien is van een tweede detektor om uitsluitend onder besturing van een alsdan gelijk aan nul zijnd syndroom van het desbetreffend tweede kodewoord de bijhoudmiddelen te besturen tot het bijwerken van de 15 vlaggen voor desbetreffende eerste en tweede kodewoord en de sommeringsresultaten te dekrementeren, en daarna een volgend eerste kodewoord aan te spreken, en dat genoemde sekwentiebesturingsinrichting een verwisselingsinrichting bezit om na het doorlopen van alle met tenminste de gestoorde eerste kodewoorden korresponderende standen de 20 funktie van eerste en tweede kodewoorden te verwisselen en verdere van genoemde standen te aktiveren, en dat een derde detektor aanwezig is om bij aktiveren van genoemde verwisselingsinrichting enige aangebrachte verandering gedurende de meest recente twee doorlopen langs de dan relevante eerste kodewoorden te detekteren, en in geval van een negatief 25 detektieresultaat genoemde uitgangsinrichting te aktiveren. Door een aantal elementaire detekties te voorzien, is een aantrekkelijke implementatie gerealiseerd.
Verdere voordelige eigenschappen van de uitvinding worden gereciteerd in verdere onderconclusies. Hiermee worden telkens aspekten 30 gerealiseerd die de verwerkingssnelheid en/of de betrouwbaarheid en/of de dekoderingskapaciteit vergroten.
KORTE BESCHRIJVING VAN DE FIGUREN.
De uitvinding wordt nader uitgelegd aan de hand van 35. enkele figuren.
Figuur 1 geeft symbolisch een voorbeeld van een opbouw van een blok kodesymbolen; 360144' — ^ÉÉ&._: PHN 11.771 5 figuur 2 geeft nader een blok kodesymbolen, zoals gebruikt bij een zogenoemd CD-ROM-formaat; figuur 3 geeft de pariteitskontrolematrix van de gebruikte Reed-Solomon-kodes; 5 figuur 4 geeft symbolisch een dekodeerinrichting volgens de uitvinding; figuur 5 geeft een stroomdiagram volgens de uitvinding; figuur 6 geeft enkele voorbeelden van foutenpatronen.
Appendix A geeft een lijst bijschriften bij figuur 5.
10 BESCHRIJVING VAN EEN VOORKEÜRSUITVOERING.
Figuur 1 geeft als algemeen voorbeeld symbolisch de opbouw van een blok kodesymbolenr waarin elk vierkantje een symbool aangeeft. Een symbool is een groep van een vast aantal bits, 15 bijvoorbeeld drie of vier, maar.meestal meer. Een voordelige waarde is acht. Voor langere symbolen is de toenemende komplikatie der bewerkingen veelal een bezwaar. Eenvoudshalve is verondersteld dat de kode systematisch is op symboolniveau, maar dit is niet noodzakelijk voor de realisatie van de uitvinding. Het blok bevat in dit voorbeeld 70 20 datasymbolen die genummerd zijn als D10...D19, D20...D29, D30...D79. Het blok bevat tien eerste kodewoorden van een eerste Reed-Solomon-kode, deze bevatten elk zeven datasymbolen en twee redundante symbolen. Zo bevat het eerste woord van deze reeks de datasymbolen D10...D70 en de redundante symbolen P10, P20. Het tweede woord bevat de negen symbolen 25 van de tweede kolom. Het tiende woord bevat de negen symbolen van de tiende kolom. Als symboollengte voldoende groot is, kan voor deze kodewoorden de minimum afstand tussen twee mogelijke ongestoorde kodewoorden als bepaald over de symbolen gelijk zijn aan drie. Dit betekent dat één gestoord symbool korrigeerbaar is (of, anderzijds, 30 dat tot maximaal twee gestoorde kodesymbolen detekteerbaar zijn).
Anderzijds bevat het blok negen tweede kodewoorden van een tweede Reed-Solomon-kode. Deze bevatten elk drie redundante symbolen en negen overige symbolen. De overige symbolen kunnen zijn datasymbolen of redundante symbolen van eerste woorden van de eerste Reed-Solomon-35 kode. Zo bevat het eerste woord van deze tweede reeks de datasymbolen D10...D19 en de redundante symbolen Q11, Q12, Q13. Het tweede woord bevat de twaalf symbolen van de tweede rij. Het negende woord bevat de 8 6 0 1 4 4 o «V ...
PHN 11.771 6 twaalf symbolen van de negende rij, namelijk de redundante symbolen P20...P29 die elk behoren bij een eerste kodewoord van de eerste Reed-Solomon-kode, en de redundante symbolen van de tweede Reed-Solomon-kode Q91, Q92, Q93. Als de symboollengte voldoende groot is, kan voor deze 5 laatste kodewoorden de minimum afstand tussen twee mogelijke, ongestoorde kodewoorden als bepaald over de symbolen gelijk zijn aan vier. Dit betekent dat één gestoord symbool korrigeexbaar is en daarenboven een tweede gestoord symbool detekteerbaar is (of, anderzijds, dat tot maximaal drie gestoorde kodesymbolen detekteerbaar 10 zijn). Voor alle kodewoorden van de eerste Reed-Solomon-kode is onderling dezelfde generatormatrix gebruikt. Voor alle kodewoorden van de tweede Reed-Solomon-kode is onderling dezelfde generatormatrix gebruikt. In dat geval vormen ook de elfde tot en met de dertiende kolom elk een eerste kodewoord van de eerste Reed-Solomon-kode, waarin de 15 symbolen Q81...83, Q91...93 als redundante symbolen werken en de symbolen Q11...13, Q21...23, ..., Q71...73 als datasymbolen. Zo maken alle symbolen deel uit van telkens een eerste kodewoord van de eerste kode, en ook deel uit van telkens een tweede kodewoord van de tweede kode. Zo'n konfiguratie wordt genoemd een (echte)produktkode.
20 De opbouw van het blok kan worden veranderd. Zo kunnen de aantallen datasymbolen per kodewoord anders zijn, ze kunnen voor de beide kodes ook gelijk zijn. De aantallen redundante symbolen per kodewoord kunnen anders zijn, maar voor een korrektie op basis van slechts één kodewoord moeten dit er minstens twee zijn. Verder kan 25 het een pseudoproduktkode zijn, waarin niet alle redundante symbolen ook van twee kodewoorden deel uitmaken. Een voorbeeld is het volgende: de vertikale kodewoorden worden op dezelfde manier als in figuur 1 gevormd. De horizontale kodewoorden worden niet gevormd, daarvoor in de plaats diagonale: daarvan bestaat het eerste kodewoord bijvoorbeeld uit 30 de symbolen D10, D21, D32, ..., D76, P17, P28, D19, Q21, Q32, Q43. Het tweede uit de symbolen D20, D31, ..., D75, P16, ..., D18, D29, ..., Q31, ..., Q53, en zo verder. In dat geval worden weer voor alle vertikale en voor alle diagonale kodewoorden telkens onderling dezelfde generatormatrices gebruikt. Maar de symbolen Q11...Q93 vormen dan geen 35 deel van een vertikaal kodewoord. Ook andere mogelijkheden voor het aldus vormen van een pseudoproduktkode zijn mogelijk. In dat geval kan de indikatie voor een te korrigeren kodesymbool op verschillende 8601446 Λ « ΡΗΝ 11.771 7
Banieren uit één of meerdere kodewoorden waar het potentieel te korrigeren kodesymbool deel van uitmaakt, worden gedestilleerd. Naast het bovenstaande zijn er ook andere symboolkorrigerende kodes dan Reed-Solomon-kodes, bijvoorbeeld b-adjacent-kodes.
5 Figuur 2 geeft nader de opbouw ban een blok kodesymbolen zoals gebruikt bij een zogenoemd CD-ROM-formaat, wat fungeert als voorkeursuitvoering. Er zijn 43 x 24 datasymbolen van elk 8 bits. Er zijn 43 P-kodewoorden van een (26, 24) Reed-Solomon-kode, deze zijn alle volgens een kolom opgesteld. Er zijn 26 woorden van een (45, 43) Reed-10 Solomon-kode. Deze zijn wat betreft de datasymbolen volgens de aangegeven diagonaal opgesteld. De redundante symbolen zijn in de twee onderste regels aangegeven. De Q-redundantes maken dus geen deel uit van de P-woorden.
15 DE FILOSOFIE DER DEKODERING.
Het kodeformaat van figuur 2 betekent, dat per kodewoord telkens één foutsymbool korrigeerbaar is, dan wel, dat twee foutsymbolen detekteerbaar zijn. In dit verband geeft figuur 3 de pariteitsmatrices Hp, Hq van de gebruikte Reed-Solomon-kodes. Het 20 generatorpolynoom van het betreffende Galois-lichaam is (x8+x4+x3+x2+1), waarvan a een wortel is en dus een primitief element van dat Galois-lichaam. Alle berekeningen worden in dit lichaam uitgevoerd. Als in een kodewoord één foutsymbool wordt gekorrigeerd, maar in feite is er méér dan één symbool gestoord, is de kans 25 dat dit niet wordt opgemerkt ongeveer n/2m, waarbij m de lengte van het symbool in bits en n de lengte van het kodewoord in symbolen is.
Voor de P-, respektievelijk Q-kode is de betreffende kans ongeveer 10% respektievlijk 18%. De kans dat een gestoord kodewoord niet als zodanig wordt gedetekteerd, is 1/22® = 1,5 x 10-5 (bij drie redundante 30 symbolen per kodewoord 1/23m).
Voor het dekoderen wordt een aanzienlijke versnelling bereikt door de syndromen alle slechts éénmaal te berekenen en bij korrektie van een kodesymbool alleen de bijdrage van de korrektie tot de syndroomsymbolen te bepalen. Bijvoorbeeld: stel dat enig symbool van het 35 eerste P-kodewoord (eerste kolom in figuur 2) gekorrigeerd wordt. Dan moeten de syndroomsymbolen van het Q-woord waar dit symbool van deel uitmaakt gekorrigeerd worden volgens: 8601446 PHN 11.771 8 SO' = S0 + Y S1' = S1 + a44 Y.
Als het gekorrigeerde symbool bijvoorbeeld nummer 0946 is, dan is het bijbehorende Q-woord dus opgebouwd uit de symbolen 946, 5 990, 1034, 1078, 4, 48, ..., 558, 602. De exponent (44) volgt direkt uit de pariteitsmatrix Hg. Hierbij is Y de grootte van de korrektie (uitgedrukt als symbool). Voor andere te korrigeren symbolen worden de syndromen gekorrigeerd met de symboolkorrektie Y vermenigvuldigd in
O
GF(2 ) met de toepasselijke macht van a. Er zijn dus evenveel 10 syndroomsymbolen als er redundante symbolen zijn: 2 x 43 + 2 x 26 = 138. De datasymbolen zijn genummerd 0000-1031. De redundante symbolen van de P-woorden zijn genummerd 1032-1117. Het redundante symbool met rangnummer MP behorend bij het kodewoord met rangnummer NP heeft dan als nummer 15 ((43 x MP) + NP). De redundante symbolen van de Q-woorden zijn genummerd 1118-1169. Het redundante symbool met rangnummer MQ behorend bij het kodewoord met rangnummer NQ heeft dan als nummer (44 x MQ + 43 X NQ) mod.1118.
Bij het dekoderen van de P-woorden is uiteraard het 20 desbetreffende rangnummer NP bekend. Uit het dekoderen kan het rangnummer MP van het te korrigeren symbool bekend worden, üit MP en NP kunnen MQ en NQ gevonden worden om uit de korrektie de op de syndroomsymbolen van de Q-kode aan te brengen modifikatie te vinden. Ditzelfde geldt omgekeerd bij korrigeren van een woord van de Q-kode.
25 Voor de nummers der datasymbolen geldt:
NP = MQ
43 x MP + NP = (44 x MQ + 43 x NQ) mod. 1118.
Daaruit volgt in geval van een P-korrektie:
MQ = NP
30 NQ = MP - NP mod.26.
En in geval van een Q-korrektie:
NP = MQ
MP = MQ - NQ mod.26.
Dit laatste geldt alleen voor de symboolnummers 0-1117, 35 omdat de Q-redundantiesymbolen geen deel uitmaken van enig woord van een P-kode.
In het geval van een echte-produktkode (figuur 1) moeten 8601446 PHN 11.771 9 in het geval van een korrektie altijd de syndromen van beide kodewoorden waarvan het desbetreffende kodesymbool deel uitmaakt, worden gewijzigd. Dan geldt bovendien MQ = NP, en MP = NQ.
5 UITVOERINGSVOORBEELD VAN EEN UITLEESINRICHTING WAARIN EEN DEKODEERINRICHTING VOLGENS DE UITVINDING.
Figuur 4 geeft een blokschema van een inrichting te gebruiken bij de uitvinding. Het opslagmedium is een 12 cm 0 plaat waarop kanaalbits opgeslagen zijn in de voor 'compact disc" bekend 10 geworden techniek van optisch uitleesbare uitsparingen. Blok 20 geeft aan een draaitafel annex motor, servosysteem, centreersysteem, lasersysteem, spoorvolgsysteem, enzovoorts. De uitvinding heeft verder geen betrekking op de specifieke funktionering van deze elementen. Het uitleessysteem produceert kanaalbits. In de demodulator 22 wordt een 15 reeks van 17 opeenvolgende kanaalbits (inclusief spatiebits) omgezet in een kodesymbool van 8 kodebits. In de eerste dekodeur 24 wordt middels verontscrambelen een freem gevormd van 32 kodesymbolen. Dit freem wordt middels erin vervatte redundante symbolen gedekodeerd waardoor er 28 kodesymbolen overblijven. Bij de dekodering kan al dan niet een 20 korrektie plaats vinden van één of meer symbolen. Kortheidshalve wordt deze dekodering niet nader besproken. De kode is een Reed-Solomon kode. Andere symboolkorrigerende kodes zijn evenzeer toepasbaar. In verontbladeringselement 26 worden de 28 kodesymbolen verontbladerd over evenzovele freems van elk 28 symbolen. In de tweede dekodeur 28 wordt zo 25 een freem middels vier erin vervatte redundante symbolen gedekodeerd waardoor er 24 kodesymbolen overblijven. Bij deze dekodering kan al dan niet een korrektie plaats vinden van één of meer symbolen. Ook deze dekodering wordt kortheidshalve niet nader besproken. De gedekodeerde symbolen verschijnen 8 bits parallel op lijn 38. Daarbij wordt nog een 30 zekere, symboolsgewijze, hergroepering van de symbolen geêffektueerd, welke kortheidshalve niet beschreven wordt.
De symbolen aan de uitgang van element 28 zijn georganiseerd als sektoren volgens het formaat van figuur 2. Eventueel is hiertoe in element 28 een verdere inrichting aanwezig om de volgorde 35 der symbolen te rekonfigureren zoals uit de geciteerde octrooiaanvrage bekend. Het verontscrambelen, verontbladeren en rekonfigureren kan in veel gevallen voordelig gebeuren met een geheugen met willekeurige 8601448 PHN 11.771 10 toegankelijkheid (RAM) waarin een groot aantal vertraaglijnen of FIFO's met onderscheidene vertraagtijden/lengtes zijn geïmplementeerd. Zulks is op zich algemeen gebruikelijk, en de apparatuur hiertoe niet nader aangegeven. De blokken 22-28 zijn hiermee 5 vooral funktiespecificerend; op hardwareniveau is de organisatie veelal gecentreerd op een bus die met ALü, geheugen, en I/O-subsystemen samenwerkt.
Een sektor bevat allereerst synchronisatie-informatie, daarna kopinformatie, dan eventueel subkopinformatie en tenslotte 10 overige informatie. Element 30 is een detektor. Deze wordt geaktiveerd door de synchronisatie-informatie, hetgeen mogelijk is doordat de synchronisatie-informatie een inhoud heeft die verder in de informatiestroom in principe niet voorkomt. Na het herkennen daarvan wordt in de detektor een symboolteller geaktiveerd, die de ontvangen 15 symbolen aftelt. Daarmee is dus bekend wanneer de synchronisatie-informatie wordt opgevolgd door de verdere informatie die door de maximum-afstands-separeerbare kodes wordt beschermd. Eventueel kan een specifiek symbool aangeven dat deze kode inderdaad geïmplementeerd is, dan wel achterwege is gebleven. Het detektiesignaal wordt over lijn 40 20 als een initiatiseringssignaal aan dekodeur 34 toegevoerd. Door dit signaal worden adrestellers op bepaalde beginwaarden gesteld en andere grootheden ingesteld, zoals aan de hand van figuur 5 besproken wordt.
De dekodeur 34 kan daarmee een geprogrammeerde (micro)processor zijn met elementen, zoals deze, echter voor een andere kode, beschreven zijn in 25 de oudere Nederlandse octrooiaanvrage 8400629, overeenkomstig
Amerikaanse octrooiaanvrage serial no. 705 752 van dezelfde aanvrager, hierin geïncorporeerd bij wijze van referentie. Aanwezig zijn een eenheid voor het uitvoeren van bewerkingen in het desbetreffende Galois-lichaam, een datageheugen, een syndroomgeheugen, een geheugen voor de 30 vlaggen der eerste en tweede kodewoorden en een telmechanisme om twee saldo's daarvan te bepalen, een programmageheugen en adresseer- en dekodeermiddelen daarvoor, alsmede verbindingsmiddelen voor het onderling verbinden van genoemde onderdelen. Voor één sektor kunnen er dus minstens 1032 datasymbolen en 138 redundante symbolen worden 35 opgeslagen (respektievelijk 138 syndroomsymbolen), 69 vlaggen, twee telsaldo's, en een aantal hulpgrootheden (zie later).
Na de dekodering kan de hervormde informatie via uitgang 8601446 PHN 11.771 11 36 aan een eenvoudshalve niet getekende gebruikersinrichting beschikbaar worden gesteld. Daarbij kan de korrektie reeds hebben plaatsgevonden, het is ook mogelijk dat alleen de korrektiegrootheden zelf (lokator + korrektor) worden gepresenteerd, wanneer de data-informatie al op andere 5 manier aan de gebruikersinrichting beschikbaar is gesteld. Bovendien geeft de inrichting 34 een informatie korrekt/inkorrekt af, al naar de kwaliteit van het dekodeerresultaat.
STRATEGIE VAN DE DEKODERING.
10 De algemene strategie is nu als volgt, waarbij wordt verwezen naar het stroomdiagram van figuur 5. Allereerst wordt de gehele inhoud van een sektor opgezameld, tenminste voor zover deze betreft het deel dat door de pseudoproduktkode beschermd is (100). Daarbij worden alle syndroomsymbolen van de P-woorden bepaald. Alle P-woorden met een 15 van nul verschillend syndroom krijgen een eerste label (vlag) en deze eerste labels worden voor het gehele kodeblok geteld: CP. Vervolgens worden alle syndroomsymbolen voor de Q-woorden bepaald. Alle Q-woorden met een van nul verschillend syndroom krijgen een tweede label en deze tweede labels worden voor het gehele kodeblok geteld: CQ. In bepaalde 20 toepassingen kan met drie- of meerwaardige vlaggen worden gewerkt. Dan betekent bijvoorbeeld een vlag "00*: kodewoord is korrekt en altijd korrekt geweest; *11": kodewoord heeft van nul verschillend syndroom; "10": kodewoord is zo gekorrigeerd, dat het syndroom daarna nul werd.
(01 komt dus niet voor dan). Zo is ook na korrektie een zekere mate van 25 signalering van de hoeveelheid gekorrigeerde fouten aanwezig. Na het bepalen van de twee telsaldo's beslist het systeem of het dekoderen start met de P-kodewoorden, dan wel met de Q-kodewoorden. Als het aantal P-labels het grootste is, of gelijk aan het aantal Q-labels, wordt begonnen met de P-woorden te dekoderen: x:=P; y:=Q. In het (minder 30 waarschijnlijke) geval dat er meer Q-labels zijn dan P-labels wordt begonnen met de Q-woorden te dekoderen: y:=P; x:=Q. Het blijkt dat door deze keuze het aantal fouten per te dekoderen kodewoord in eerste aanleg gemiddeld verkleind wordt, zodat de kans vergroot wordt dat direkt succes wordt behaald. Als de eerste en tweede kode een verschillende 35 minimum afstand tussen de desbetreffende kodewoorden bezitten, is het meestal voordelig om te beginnen met de kodewoorden van de kode met de grootste afstand. Tenslotte worden een aantal berekeningsparameters op 8601446 J» ** PHN 11.771 12 de juiste waarden ingesteld, zoals het aantal x- en y-woorden, een rangnummer voor een aktueel woord en de waarden van een tweewaardige grootheid corrx op "false" (onwaar), en van een tweewaardige grootheid corry op "true" (waar). Daarna gaat het systeem naar blok 102, waarin 5 het eerstvolgende x-kodewoord wordt aangesproken: nu dus het eerste. In blok 104 wordt gedetekteerd of het syndroom van dit woord gelijk aan nul is. Als dit zo is, wordt het label (x-label) van dit kodewoord op nul gesteld (bijgewerkt) en het saldo van de desbetreffende labels gedekrementeerd (106), uiteraard als dit label de waarde 1 had. Als dit 10 label de waarde nul had, gaat het systeem naar blok 108 zonder dat enige aktie werd ondernomen. Een snellere werking wordt daarom gerealiseerd, doordat in blok 102 het eerstvolgende eerste kodewoord met van nul verschillend label wordt aangesproken. Dan wordt in blok 108 gedetekteerd of het betreffende x-woord het laatste van de reeks 15 gelabelde x-woorden was. Veelal zal dat niet zo zijn en gaat het systeem weer naar blok 102. Als in blok 104 een van nul verschillend syndroom wordt gedetekteerd, gaat het systeem naar blok 110. Daarin wordt de lokatie van het naar veronderstelling enige gestoorde symbool berekend. In blok 112 wordt gedetekteerd of het desbetreffende symbool deel 20 uitmaakt van een y-woord, waarvan ook het label de waarde 1 heeft. Er zijn verschillende mogelijkheden: a. de lokatie van het gestoorde symbool valt buiten de grenzen van het kodewoord, doordat het symboolnummer groter is dan 45, respektieve-lijk 23; 25 b. het desbetreffende gestoorde symbool maakt slechts deel uit van één kodewoord; c. het desbetreffende y-woord heeft een label dat de waarde "0" heeft; d. het desbetreffende y-woord heeft een label dat de waarde "1" heeft.
In geval a is de korrektie aldus onmogelijk, en dat geeft aan, dat een 30 op dat ogenblik zeker onkorrigeerbare fout aanwezig is, bijvoorbeeld doordat in feite twee symbolen van het betreffende kodewoord gestoord zijn. Eventueel kan deze fout later wèl (zie hieronder) gekorrigeerd worden. Geval b wordt gekorrigeerd, maar als extra beveiliging worden het bij dat kodewoord behorende label onveranderd gelaten. Geval c wordt 35 als te onzeker beschouwd en de korrektie wordt niet uitgevoerd; ook de labels blijven ongewijzigd (het zou echter een juiste korrektie kunnen betreffen in geval het desbetreffende y-woord een ondetekteerbare fout 8601446 PHN 11.771 13 bevatte). Geval d wordt als een voldoend “zekere" korrektie beschouwd en uitgevoerd. In gevallen a, c gaat het systeem dus terug naar blok 108. Als de test in blok 112 positief is (Y), gaat het systeem naar blok 114, waar de fout gekorrigeerd wordt. Dit kan altijd. De grootheid corrx 5 wordt "waar" gemaakt (als hij al waar was, blijft dat zo). Dit geeft aan, dat bij de rondgang langs de x-woorden tenminste één korrektie is uitgevoerd. Vervolgens wordt in blok 114 het syndroom van het betreffende x-kodewoord op nul gesteld. Dit is steeds korrekt wegens de minimum afstand van drie. Bovendien wordt in blok 116 het syndroom van 10 het desbetreffende y-woord bijgewerkt om de uitgevoerde korrektie in rekening te brengen. De bijwerking vereist minder berekening dan totale hèrberekening van het syndroom voor het desbetreffende woord. Ook als de minimum afstand van een kode groter dan drie is, levert korrektie van een kodewoord een syndroom nul op, zodat het direkt ook dan op nul 15 gepostuleerd kan worden. In blok 118 wordt gedetekteerd of het gemodificeerde y-syndroom de waarde 0 heeft. Als dit niet zo is, gaat het systeem terug naar blok 102. Als het wel zo is, worden in blok 120 beide labels op nul gesteld (bijgewerkt) en beide telsaldi gedekrementeerd. Daarna gaat het systeem terug naar blok 102. De 20 gevallen a tot en met d hierboven zijn bij de desbetreffende overgangen aangegeven. Impliciete detekties van gevallen a, b in respektievelijk blokken 110, 114 zijn eenvoudshalve weggelaten.
Als het laatste woord behandeld is (blok 108 geeft een positief antwoord), gaat het systeem naar blok 122. Daarin wordt 25 gedetekteerd of het aantal x-labels ten hoogste gelijk is aan twee. Als het aantal groter is dan twee gaat het systeem naar blok 130. Daarin wordt gekontroleerd of er in de laatste korrektieslag (x-woorden) of in de voorlaatste slag enige korrektie heeft plaats gevonden. Als dit niet zo is, kan er geen verbetering meer plaats vinden, en gaat het systeem 30 naar blok 134: fout. Het kodeblok is onkorrigeerbaar. Na de eerste korrektieslag kan dit niet gebeuren omdat door de initiële postulatie van corry een loze "nulde* korrektieslag is geëmuleerd. Als er wèl een korrektie heeft plaats gevonden, gaat het systeem naar blok 132: daar worden de funkties van x en y verwisseld. Bovendien wordt de 35 grootheid corrx op "onwaar" gesteld. Een van de initialiseringsmaatregelen in blok 100 is op overeenkomstige manier dat ook corry een bepaalde waarde krijgt, met name "waar". Verder wordt de 860 1 44 8 PHN 11.771 14 woordteller op een beginwaarde gesteld, zodat blok 102 inderdaad het eerste woord zal aanspreken.
Als in blok 122 gedetekteerd wordt dat er één of twee x-labels over gebleven zijn, voert het systeem een korrektie van de y-5 woorden uit, waarbij de x-labels als aanwijsinformatie werken. Als het aantal x-labels nul bedraagt, is dit een loze operatie en gaat het systeem direkt naar blok 126. Als het aantal x-labels 1 of 2 bedraagt, wordt verondersteld, dat alle y-woorden met een syndroom ongelijk nul juist in die x-woordplaats gestoord zijn.
10 Als tenslotte het systeem blok 126 bereikt, wordt met een uit de geciteerde literatuurplaats bekende, in de datasymbolen van het kodeblok opgenomen CRC-informatie gedetekteerd of de korrektie nu goed is. Als dat zo is, gaat het systeem naar blok 128 en kan de gebruikersinformatie beschikbaar worden gesteld. Als dat niet zo is, 15 gaat het systeem naar blok 134. Eventuele verdere pogingen om de informatie terug te vinden (met behulp van een hernieuwde uitleespoging, een schaduwinformatie, en dergelijke), vallen buiten het kader van de uitvinding. In blok 134 wordt gesignaleerd dat de korrektie onmogelijk is. Als in blok 122 gedetekteerd wordt dat het aantal vlaggen drie of 20 meer bedraagt (tenminste gelijk aan de minimum afstand van de y- kodewoorden) gaat het systeem naar blok 130. Daar wordt gedetekteerd of er enige korrektie heeft plaats gevonden. Na de eerste poging wordt daarbij een nulde poging (corry) geëmuleerd. Als er geen verandering heeft plaats gevonden (N), is korrektie onmogelijk en gaat het systeem 25 naar blok 134. Als er wèl enige verandering heeft plaats gevonden, gaat het systeem naar blok 132. In bepaalde gevallen kan in blok 130 alleen corrx worden beschouwd. In blok 132 wordt de waarde van corrx overgenomen, corrx wordt gelnitialiseerd. En de funkties van x- en y-woorden worden in een handeling (aangegeven door haakjes) verwisseld.
30 Daarna gaat het systeem terug naar blok 102.
Figuren 6a-6f geven enkele specifieke foutenpatronen, waarbij een echte-produktkode met minimum afstand van drie over de symbolen wordt verondersteld. Figuur 6a geeft zes fouten (kruisjes) in een blok van 8x8 symbolen. Deze hebben telkens betrekking op zowel een 35 andere rij als een andere kolom (P-woord, respektievelijk Q-woord) zodat na één maal aanspreken in één richting alle korrekties zullen zijn uitgevoerd. In figuur 6b bevinden zich alle fouten in één 8601448 PHN 11.771 15 kolom. Korrektie van het kodewoord van die kolom is dus onmogelijk. Korrektie van de rijwoorden levert echter direkt een volledig gekorrigeerd kodeblok. In figuur 6c is één rij onkorrigeerbaar. Er is ook één kolom onkorrigeerbaar. Steeds zijn alle andere rijen, en 5 ook alle andere kolommen wèl korrigeerbaar. Bij de eerste reeks aftastingen kunnen dan alle rijwoorden (behalve dat ene) gekorrigeerd worden. Bij de daaropvolgende reeks aftastingen zijn alle kolomwoorden wèl korrigeerbaar. In figuur 6d kan alleen verbetering worden bereikt als het ene rijwoord met één gestoord symbool wordt gekorrigeerd.
10 Dan zijn er in beide richtingen twee woorden met twee gestoorde symbolen. Dan worden bijvoorbeeld de twee kolomwoorden met storing gekorrigeerd, terwijl de indikatie van de gestoorde rijplaatsen (labels) als aanwijsinformatie werken. Dit is een voorbeeld van een patroon dat volgens blok 124 in figuur 5 wordt gekorrigeerd. Figuur 6e, 15 geeft een patroon waarbij alleen rijwoorden, met gebruikmaking van over een kolom gevormde aanwijsinformatie, gekorrigeerd kan worden. Figuur 6f geeft een voorbeeld van een eenvoudig patroon dat onkorrigeergaar is.
8601446 PHN 11.771 16
Appendix A: 100: start 102: next labeled x-woord 104: syndrome = zero? 5 106: remove x-label, decrement x-count 108: last labeled x-word? 110: calculate error location 112: corresponds to labeled y-word? 114: correct symbol; corrx := true; x-syndrome := 0 10 116: modify y-syndrome 118: modified y-syndrome = zero? 120: remove x-label; decrement x-count remove y-label; decrement y-count 122: 0 < x-count < 3? 15 124: 1,2 erasure correction in y-direction, x-labels locate 126: C.R.C. O.K.?
128: 0.K, STOP
130: corrx + corry = true? 20 132: corrx := corry; corrx := false; (y:= X; X:= y) 134: error, stop.
8601448

Claims (8)

1. Werkwijze voor het korrigeren van een blok kodesymbolen dat verdeeld is in een eerste reeks eerste kodewoorden van een eerste maximum-afstands-separeerbare kode, en anderzijds verdeeld is in een tweede reeks tweede kodewoorden van een tweede raaximum-afstands-5 separeerbare kode, waarbij elk korrekt kodewoord binnen een kode een minimum afstand ten opzichte van elk ander korrekt kodewoord van tenminste drie als gerekend over de symbolen bezit, en alle niet redundante kodesymbolen zowel deel uitmaken van een eerste kodewoord als van een tweede kodewoord, welke werkwijze de volgende stappen bezit: 10 a. het opzamelen van een geheel blok kodesymbolen; b. het bepalen van alle syndroomsymbolen van de eerste kodewoorden en van de tweede kodewoorden, en het vormen van een vlag voor elk kodewoord waarvoor het syndroom van nul verschilt; c. het voor alle eerste kodewoorden tesamen sommeren van het aantal 15 vlaggen en het separaat daarvan voor alle tweede kodewoorden tesamen sommeren van het aantal vlaggen; d. het voor een eerste kodewoord met van nul verschillend syndroom bepalen van een foutlokatie van een korrigeerbare fout; e. het detekteren van een als gestoord aangewezen tweede kodewoord dat 20 die foutlokatie bevat en slechts bij een positief detektiersultaat de desbetreffende fout te korrigeren, doch in het tegengestelde geval een volgend eerste kodewoord volgens stap d aan te spreken; f. het na een korrektie volgens stap e bijwerken van de syndromen van het desbetreffende eerste kodewoord en het desbetreffende tweede 25 kodewoord, en het uitsluitend in geval beide syndromen dan nul zijn bijwerken van de desbetreffende twee vlaggen en het dekrementeren van de sommeringsresultaten van de aantallen vlaggen, en daarna een volgend eerste kodewoord volgens stap d aan te spreken; g. na aanspreken van tenminste alle als gestoord aangewezen eerste kode-30 woorden het van funktie wisselen van eerste kodewoorden en tweede kodewoorden en herhalen van de stappen d, e en f, totdat een tweetal opvolgende uitvoeringen van de stappen d, e, f voor alle dan aktuele eerste kodewoorden geen verdere verandering oplevert; h. het afleveren van een blok kodesymbolen onder signalering van het-35 zelve als korrekt dan wel inkorrekt.
2. Werkwijze volgens conclusie 1, met het kenmerk, dat voor een eerste kodewoord van een maximum-aftands-separeerbare kode met 86 0 1 4 4 δ PHN 11.771 18 minimum afstand over de kodesymbolen van drie na het uitvoeren van een korrektie het desbetreffende syndroom steeds op nul wordt gepositioneerd.
3. Werkwijze volgens conclusie 1 of 2, met het kenmerk, dat bij het aanspreken van een eerste kodewoord onder besturing van een voor 5 dat kodewoord gevormde vlag, volgens stap d een van nul verschillend syndroom wordt gedetekteerd, en in het tegenovergestelde geval de desbetreffende vlag wordt bijgewerkt en het desbetreffende sommeringsresultaat wordt bijgesteld.
4. Werkwijze volgens conclusie 1, 2 of 3, met het kenmerk, 10 dat bij het bereiken van een sommeringsresultaat van de vlaggen der eerste kodewoorden, dat ten hoogste gelijk is aan de met één verminderde minimum afstand voor dan aktuele tweede kodewoorden, deze tweede kodewoorden vervolgens in een uitwismode gekorrigeerd worden, waarbij enige vlag van een eerste kodewoord als foutaanwijzer werkt.
5. Werkwijze volgens één der conclusies 1 tot en met 4, met het kenmerk, dat na het beëindigen van genoemd korrigeren in een laatste stap een herberekening wordt uitgevoerd van een in het kodeblok aanwezige foutdetektiekode, ter vorming van genoemde signalering als korrekt dan wel inkorrekt.
6. Inrichting voor het uitvoeren van de werkwijze volgens conclusie 1, voor het korrigeren van een blok kodesymbolen, welk blok verdeeld is in een eerste reeks eerste kodewoorden van een eerste maximum-afstands-separeerbare kode, en welk blok anderzijds verdeeld is in een tweede reeks tweede kodewoorden van een tweede maximum-afstands-25 separeerbare kode, waarbij elk korrekt kodewoord binnen een kode een minimum afstand ten opzichte van elk ander korrekt kodewoord van tenminste drie als gerekend over de symbolen bezit en alle niet redundante symbolen zowel deel uitmaken van een eerste kodewoord als van een tweede kodewoord, welke inrichting voorzien is van ontvangstmiddelen 30 voor het ontvangen en opzamelen van een geheel blok kodesymbolen, door de ontvangstmiddelen gevoede eerste berekeningsmiddelen om uit de ontvangen symbolen per kodewoord een aantal syndroomsymbolen te vormen, door de eerste berekeningsmiddelen gevoede bijhoudmiddelen om per kodewoord waarvoor het syndroom van nul verschilt een vlag op te slaan 35 en voor de eerste kodewoorden en separaat voor de tweede kodewoorden een sommeringsresultaat voor het aantal vlaggen bij te houden, door de eerste berekeningsmiddelen gevoede tweede berekeningsmiddelen om per 83 λ «« > i λ ϋ 9 i 4 4 o PHN 11.771 19 kodewoord, indien mogelijk en noodzakelijk één of meer korrektiesymbolen te bepalen, door de ontvangstmiddelen en tweede berekeningsmiddelen gevoede korrektiemiddelen om een korrektiesymbool bij een gestoord symbool op te tellen, en een uitgangsinrichting om een 5 zo aogelijk korrekt blok aan een gebruikersinrichting te presenteren, met het kenmerk, dat een sekwentiebesturingsinrichting aanwezig is met een aantal standen, om in een stand voor enig eerste kodewoord een korrektiesymbool en een lokatorsymbool te bepalen, en welke sekwentiebesturingsinrichting is voorzien van adresseringsmiddelen om 10 middels genoemd lokatorsymbool een syndroom van een desbetreffend tweede kodewoord te adresseren en van een eerste detektor om uitsluitend onder besturing van een laatstgenoemd syndroom dat van nul verschilt het kodesyabool dat door laatstgenoemd lokatorsyndroom wordt geadresseerd te korrigeren en enig daarop betrekking hebbend syndroom bij te werken, en 15 voorzien is van een tweede detektor om uitsluitend onder besturing van een alsdan gelijk aan nul zijnd syndroom van het desbetreffend tweede kodewoord de bijhoudmiddelen te besturen tot het bijwerken van de vlaggen voor desbetreffende eerste en tweede kodewoord en de sommeringsresultaten te dekrementeren, en daarna een volgend eerste 20 kodewoord aan te spreken, en dat genoemde sekwentiebesturingsinrichting een verwisselingsinrichting bezit om na het doorlopen van alle met tenminste de gestoorde eerste kodewoorden korresponderende standen de funktie van eerste en tweede kodewoorden te verwisselen en verdere van genoemde standen te aktiveren, en dat een derde detektor aanwezig is om 25 bij aktiveren van genoemde verwisselingsinrichting enige aangebrachte verandering gedurende de meest recente twee doorlopen langs de dan relevante eerste kodewoorden te detekteren, en in geval van een negatief detektieresultaat genoemde uitgangsinrichting te aktiveren.
7. Inrichting volgens conclusie 6, met het kenmerk, dat een 30 vierde detektor aanwezig is om een niet bijgewerkte vlag te detekteren en uitsluitend onder besturing van een positief detektieresultaat de stand van de sekwentiebesturingsinrichting voor het desbetreffende eerste kodewoord te aktiveren.
8. Inrichting volgens conclusie 6 of 7, met het kenmerk, dat 35 een vijfde detektor aanwezig is voor een sommeringsresultaat van de vlaggen der eerste kodewoorden dat ten hoogste gelijk is aan de met één verminderde minimum afstand voor de alsdan aktuele tweede 8601446 PHN 11.771 20 Codewoorden om onder besturing van een positief detektieresultaat de verwisselingsinrichting te aktiveren en de tweede berekeningsmiddelen vervolgens te aktiveren om daarna de alsdan aktuele eerste kodewoorden te Corrigeren in een uitwismode, waarin enige vlag van een alsdan 5 aktueel tweede kodewoord als foutaanwijzer werkt. 860 1 44 «
NL8601446A 1986-06-05 1986-06-05 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. NL8601446A (nl)

Priority Applications (10)

Application Number Priority Date Filing Date Title
NL8601446A NL8601446A (nl) 1986-06-05 1986-06-05 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.
US07/005,515 US4802173A (en) 1986-06-05 1987-01-16 Method of and device for decoding a block of code symbols which is distributed between code words in two ways, each code word being protected by a maximum distance separable code
DE3717223A DE3717223C2 (de) 1986-06-05 1987-05-22 Verfahren und Anordnung zum Decodieren eines Codesymbolblocks, der zwei Arten von Codewörtern enthält, die durch je einen maximalabstandsseparierbaren Code geschützt sind
GB8712836A GB2191318B (en) 1986-06-05 1987-06-01 Method of and device for decoding a block of code symbols which is distributed between code words in two ways
SE8702295A SE466578B (sv) 1986-06-05 1987-06-02 Foerfarande och anordning foer korrigering av ett block av kodsymboler
JP62137823A JP2664680B2 (ja) 1986-06-05 1987-06-02 コードシンボルのブロックを訂正する方法並びに装置
KR1019870005605A KR950010399B1 (ko) 1986-06-05 1987-06-03 코드 심볼 블록의 디코딩 방법 및 장치
IT20780/87A IT1204677B (it) 1986-06-05 1987-06-03 Metodo e dispositivo per decodificare un blocco di simboli di codice distribuito fra parole di codice in due mori,ogni parola di codice essendo protetta da un codice separabile di una distanza massima
CA000538897A CA1293327C (en) 1986-06-05 1987-06-04 Method of and device for decoding a block of code symbols which is distributed between code words in two ways, each code word being protected by a maximum distance separable code
FR878707791A FR2599916B1 (fr) 1986-06-05 1987-06-04 Procede et dispositif pour le decodage d'un bloc de symboles de code qui est reparti de deux manieres sur des mots de code qui sont chacun proteges par un code a distance maximum de separation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8601446A NL8601446A (nl) 1986-06-05 1986-06-05 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.
NL8601446 1986-06-05

Publications (1)

Publication Number Publication Date
NL8601446A true NL8601446A (nl) 1988-01-04

Family

ID=19848119

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8601446A NL8601446A (nl) 1986-06-05 1986-06-05 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.

Country Status (10)

Country Link
US (1) US4802173A (nl)
JP (1) JP2664680B2 (nl)
KR (1) KR950010399B1 (nl)
CA (1) CA1293327C (nl)
DE (1) DE3717223C2 (nl)
FR (1) FR2599916B1 (nl)
GB (1) GB2191318B (nl)
IT (1) IT1204677B (nl)
NL (1) NL8601446A (nl)
SE (1) SE466578B (nl)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2605271B2 (ja) * 1987-02-10 1997-04-30 ソニー株式会社 エラー訂正及びチエツク装置
JPH01226057A (ja) * 1988-03-07 1989-09-08 Toshiba Corp データエラー検出方法
JPH0229032A (ja) * 1988-07-18 1990-01-31 Canon Inc データ復号方法
US4965883A (en) * 1988-08-24 1990-10-23 Digital Equipment Corporation Method and apparatus for transmitting and receiving characters using a balanced weight error correcting code
US4916701A (en) * 1988-09-21 1990-04-10 International Business Machines Corporation Method and system for correcting long bursts of consecutive errors
NL9100218A (nl) * 1991-02-07 1992-09-01 Philips Nv Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling.
DE69223694T2 (de) * 1991-07-18 1998-04-23 Canon Kk Kodierungs- und Dekodierungssystem zur Fehlerkorrektur
MY109399A (en) * 1992-01-07 1997-01-31 Koninklijke Philips Electronics Nv Device for processing digital data, and digital video system comprising the device
KR940011663B1 (ko) * 1992-07-25 1994-12-23 삼성전자 주식회사 오류정정 시스템
US5799023A (en) * 1995-07-19 1998-08-25 Matsushita Electric Industrial Co., Ltd. Message receiver
KR100189531B1 (ko) * 1996-06-10 1999-06-01 윤종용 Cd-rom 드라이브에 있어서 섹터 데이타 디코딩방법 및 회로
FR2766036A1 (fr) * 1997-07-11 1999-01-15 Thomson Csf Procede de detection et de correction d'erreurs adaptes a des supports de transmission fonctionnant en environnement perturbe
US5974580A (en) * 1997-07-23 1999-10-26 Cirrus Logic, Inc. Concurrent row/column syndrome generator for a product code
US6378100B1 (en) * 1997-12-29 2002-04-23 U.S. Philips Corporation Method and apparatus for encoding multiword information with error locative clues directed to low protectivity words
US6421805B1 (en) 1998-11-16 2002-07-16 Exabyte Corporation Rogue packet detection and correction method for data storage device
JP4126795B2 (ja) * 1999-02-12 2008-07-30 ソニー株式会社 疑似積符号復号装置及び方法
US20020199153A1 (en) * 2001-06-22 2002-12-26 Fall Thomas G. Sampling method for use with bursty communication channels
US7162678B2 (en) * 2003-03-14 2007-01-09 Quantum Corporation Extended error correction codes
FR2858141A1 (fr) * 2003-07-21 2005-01-28 Canon Kk Codage d'informations par codes de reed-solomon raccourcis
US7328395B1 (en) * 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US20100138717A1 (en) * 2008-12-02 2010-06-03 Microsoft Corporation Fork codes for erasure coding of data blocks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2122778B (en) * 1982-06-29 1985-09-11 Sony Corp Digital audio signal processing
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
US4653051A (en) * 1983-09-14 1987-03-24 Matsushita Electric Industrial Co., Ltd. Apparatus for detecting and correcting errors on product codes
JPS6069917A (ja) * 1983-09-26 1985-04-20 Pioneer Electronic Corp デ−タ伝送方式
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
NL8400629A (nl) * 1984-02-29 1985-09-16 Philips Nv Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
GB2156555B (en) * 1984-03-24 1988-03-09 Philips Nv Error correction of data symbols
JPS60217568A (ja) * 1984-04-12 1985-10-31 Ricoh Co Ltd 誤り訂正方式
JPS6113715A (ja) * 1984-06-28 1986-01-22 Mitsubishi Electric Corp 2段符号化された符号の復号装置
JPH084233B2 (ja) * 1984-06-29 1996-01-17 株式会社日立製作所 誤り訂正符号の復号装置
JP2539353B2 (ja) * 1984-10-05 1996-10-02 株式会社日立製作所 Pcm信号再生方法及び装置
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure

Also Published As

Publication number Publication date
SE8702295L (sv) 1987-12-06
DE3717223C2 (de) 2003-02-27
KR950010399B1 (ko) 1995-09-16
GB2191318B (en) 1990-08-15
IT1204677B (it) 1989-03-10
CA1293327C (en) 1991-12-17
SE8702295D0 (sv) 1987-06-02
JP2664680B2 (ja) 1997-10-15
DE3717223A1 (de) 1987-12-10
FR2599916B1 (fr) 1989-03-24
GB2191318A (en) 1987-12-09
FR2599916A1 (fr) 1987-12-11
IT8720780A0 (it) 1987-06-03
KR880001118A (ko) 1988-03-31
JPS62292026A (ja) 1987-12-18
US4802173A (en) 1989-01-31
GB8712836D0 (en) 1987-07-08
SE466578B (sv) 1992-03-02

Similar Documents

Publication Publication Date Title
NL8601446A (nl) 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.
US4881232A (en) Method and apparatus for error correction
KR100573356B1 (ko) 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템
EP0229698B1 (en) Decoder for product codes and method of decoding such codes
US4760576A (en) Error correction method
EP0198702B1 (en) Methods of correcting errors in digital data
US7188295B2 (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
US20080320369A1 (en) Data retrieval from a storage device using a combined error correction and detection approach
KR950007946B1 (ko) 디지탈 정보 기억 및 판독 방법과 그 장치
NL8200207A (nl) Werkwijze met foutkorrektie voor het overdragen van blokken databits, een inrichting voor het uitvoeren van een dergelijke werkwijze, een dekodeur voor gebruik bij een dergelijke werkwijze, en een inrichting bevattende een dergelijke dekodeur.
EP1982334A1 (en) Error correction block, method and apparatus for generating error correction block, and error correction method
US5790569A (en) Method and apparatus for generating, recording and transmitting an error product code block having an improved check code arrangement
WO2014174370A2 (en) Syndrome tables for decoding turbo-product codes
US20050229085A1 (en) Method and apparatus for embedding an additional layer of error correction into an error correcting code
NL1017381C2 (nl) Werkwijze en inrichting voor het corrigeren van C1/PI woordfouten gebruikmakend van foutlocatie gedetecteerd door EFM/EFM+ decodering.
EP0905911A2 (en) Data error correcting method and apparatus
JP3283130B2 (ja) ディジタルデータ符号化及び復号化方法並びにこれらの方法を実施するための装置
EP0603932B1 (en) Method and apparatus for implementing a quasi-product code with different degrees of protection against errors
CA2343787C (en) Device for scanning an information carrier, method of manufacturing, and information carrier
CN1253674A (zh) 一种用字交错和错误保护对多字信息进行编码的方法,其中错误定位线索是从高保护字得到并指向低保护字,一种对该信息进行解码的方法,一种对该信息进行编码和/或解码的设备,以及一种提供该信息的载体
US20080201619A1 (en) Error correcting device, error correcting method and disk system
CN1126005A (zh) 基于半循环码的误差可校正数据传输方法及其设备
JP2735230B2 (ja) 書き換え形光ディスク装置
JPS61144777A (ja) 光デイスク装置
JP2547006B2 (ja) 誤訂正の防止方法

Legal Events

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