NL9101376A - Een verbeterd foutendetectie-codeerstelsel. - Google Patents

Een verbeterd foutendetectie-codeerstelsel. Download PDF

Info

Publication number
NL9101376A
NL9101376A NL9101376A NL9101376A NL9101376A NL 9101376 A NL9101376 A NL 9101376A NL 9101376 A NL9101376 A NL 9101376A NL 9101376 A NL9101376 A NL 9101376A NL 9101376 A NL9101376 A NL 9101376A
Authority
NL
Netherlands
Prior art keywords
data
error detection
detection symbols
processing
symbols
Prior art date
Application number
NL9101376A
Other languages
English (en)
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of NL9101376A publication Critical patent/NL9101376A/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
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Description

Pittreksel
Behorende bij de octrooiaanvrage van Ditital Equipment Corporation Maynard, ver. Staten van Amerika
Een codeerstelsel codeert gegevens tot maximaal 64 kilobytes onder gebruikmaking van een binair Bose-Chaudhuri-Hocquenghem (BCH) foutendetectiecode, welke als generator-polynoom g(x) heeft om de gegevens te bewerken voor het opwekken van foutendetectiesymbolen. Het codeerstelsel bevat middelen voor het aaneenschakelen van de foutendetectiesymbolen met de gegevens om een codewoord te vormen. In de generator-polynoom g(x) representeren * en + respectievelijk Galois Veld vermenigvuldiging en optelling.
Figure NL9101376AD00021
Een verbeterd foutendetectie-codeerstelsel
Het belang van foutendetectiecodering van gegevens in gegevenscomputersystemen en gegevensoverzendingsstelsels, bevattende computernetwerken, is sterk toegenomen naarmate de gegevens-overzen-dingssnelheden toegenomen zijn. Gegevens worden typisch overgezonden over een netwerk in de vorm van multi-bytepakketten. Naarmate de overzendvermogens van het zendsysteem toenemen, neemt de grootte van de pakketten toe, waardoor het mogelijk wordt dat meer gegevens overgezonden worden in een bepaalde tijdsperiode. Om problemen met fouten aan het ontvangsteinde te voorkomen, worden foutendetectiecodes (error detection codes "EDC’s") gebruikt om, zoals de naam impliceert, foutieve gegevens te detecteren.
Voordat een rij gegevens symbolen wordt overgezonden, wordt het mathematisch gecodeerd om EDC-symbolen te vormen. De EDC-symbolen worden dan aan de gegevensrij toegevoegd om een codewoord te vormen - gegevenssymbolen plus EDC-symbolen - en het codewoord wordt dan als deel van een pakket overgezonden. Wanneer het pakket ontvangen wordt, wordt het codewoord mathematisch gedecodeerd. Gedurende het decoderen worden alle fouten in de gegevens gedetecteerd door bewerking van de EDC-symbolen (voor een gedetailleerde beschrijving van het decoderen wordt verwezen naar Peterson en Weldon, Error Correcting Codes. 2d Edition, MIT Press, 1972).
Overzendfouten treden op in de vorm van meervoudig onafhankelijke, of willekeurige, fouten en/of lange salvo's van fouten. Eén van de meest effectieve soorten van EDC die wordt gebruikt om meervoudige willekeurige fouten te detecteren is een Bose-Chaudhuri-Hocquenghem (BCH) foutendetectiecode [voor een gedetailleerde beschrijving van BCH-codes, wordt verwezen naar Peterson en Weldon, Error Correcting CodesT. Om meervoudige willekeurige fouten in rijen van gegevens te detecteren, gebruiken BCH-codes efficiënt en effectief de verscheidene mathematische eigenschappen van verzamelingen van symbolen die bekend staan als Galois velden, weergegeven door "GF(Pq)", waarin "P" een priemgetal is en "q" gezien kan worden als het aantal cijfers, grondtal P, in elk element of symbool in het veld. In digitale computertoepassingen heeft "P" gebruikelijk de waarde 2 en daarom, is "q" het aantal bits in elk symbool. Voor binaire codes, is q=l en dus elk symbool een bit.
Het aantal bits dat een binaire BCH-code effectief coderen en beschermen kan hangt af van de lengte van de code. De lengte van de code wordt bepaald door de geassocieerde grondpolynoom waarin de grondpolynoom een factor van de code is. Hoe hoger de graad van de grondpolynoom, des te langer de code is en des te meer bits het kan beschermen. Wanneer m de graad van de grondpolynoom is, is de lengte van de code 2m-l, en bij gevolg, kan de code 2m-l symbolen min "n" beschermen waarin "n" het aantal EDC symbolen is.
BCH-codes zijn geschikt voor het detecteren van willekeurige fouten maar zijn niet uitermate geschikt voor het detecteren van salvo-fouten. Om het detecteervermogen voor salvo-fouten van een BCH-code te vergroten, kan de code gewijzigd worden om een andere factor te bevatten die speciaal geselecteerd is vanwege zijn salvo detectie-vermogens. Deze factor vergroot tevens de lengte van de code met r, waarin r de periode van de factor is. Bijgevolg wordt de lengte van de gewijzigde code r(2m-l), indien r en 2m geen gemeenschappelijke deelfactor hebben.
Bekende codeerinrichtingen gebruiken thans geen binaire codes die lang genoeg zijn om de gegevens in de grotere pakketten te coderen en te beschermen. Deze codeerinrichtingen kunnen een groter pakket coderen door een kortere binaire code te bewerken, bijvoorbeeld, door de code een aantal keren afwisselend tussen te voegen. Echter zijn de codeer- en decodeerhandelingen die met dergelijke bewerkingen geassocieerd zijn complex en tijdsverbruikend. Dienovereenkomstig vertragen zij de gegevensoverzendingssnelheden.
Wat nodig is is een codeerinrichting voor het coderen van gegevens in overeenstemming met een binaire code die lang genoeg is om de grotere gegevenspakketten te coderen. Een dergelijke codeerinrichting kan dus het gegevenspakket coderen zonder afwisselende tussenvoeging of andere bewerking van de code. Bovendien, dient de code goede foutendetectievermogens te hebben voor zowel onafhankelijke fouten als lange salvofouten.
De uitvinding is een codeerstelsel dat tot 64 kilobytes aan gegevens codeert onder gebruikmaking van een binaire Bose-Chaudhu-ri-Hockquenghem (BCH) foutendetectiecode. De code heeft als een generatorpolynoom g(x):
Figure NL9101376AD00051
dat in octale representatie is: g(x) = 4400001 * 3 * 4000011 * 4000017 waar * en + , respectievelijk, Galois Veld vermenigvuldiging en optelling weergeven. De geassocieerde grondpolynoom is x20 + x17 + 1
In een bevoorkeurde uitvoeringsvorm, gebruikt de codeerin-richting een code die gebaseerd is op een polynoom f(x), dat g(x) is vermenigvuldigd met een factor, b(x) = x3 + x + 1 of:
Figure NL9101376AD00052
dat in octale representatie is: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017
De opname van de factor in de code vergroot de salvo detecteervermo-gens van de code.
De code is in staat om een enkele foutensalvo tot 64 bits, of dubbele salvo-fouten van tot 24 bits te detecteren. Bovendien detecteert de code, die een gegarandeerde minimale afstand van 8 en in werkelijkheid een veel grotere minimale afstand kan hebben, maximaal 7 onafhankelijke fouten. De bevoorkeurde code wekt 64 1-bit EDC-symbolen op. De code die gebaseerd is op de generator polynoom, g(x), zonder de factor b(x), wekt 61 1-bit EDC symbolen op.
Alternatief, kan de codeerinrichting de gegevens coderen onder gebruikmaking van de reciproke van f(x), dat is,
Figure NL9101376AD00053
Analoog kan de codeerinrichting de gegevensbits coderen onder gebruikmaking van een generatorpolynoom g*(x), die de reciproke is van g(x), dat is, x61 * g(l/x).
Voor een meer volledig begrip van de eigenschappen, voordelen en doelen van de uitvinding, wordt verwezen naar de volgende gedetailleerde beschrijving en de begeleidende tekeningen, waarin: fig. 1 een functioneel blokschema is van een stelsel voor het overzenden van gegevens in de vorm van pakketten over een netwerk; fig. 2 een diagram is van een codeerinrichting gebruikt in het stelsel van fig. 1; fig. 2A een diagram is van de codeerinrichting van fig. 2 vervaardigd onder gebruikmaking van schakelaars en XOR poorten; fig. 3 een functioneel blokschema is van een stelsel voor het ontvangen van pakketten die uitgezonden zijn over een netwerk.
Het zal duidelijk zijn dat alle optel-, en vermenigvuldi-gingsbewerkingen die uitgevoerd worden gedurende de codeer en deco-deerprocessen binaire bewerkingen zijn.
Fig. 1 geeft een deelstelsel weer voor het uitzenden van een gegevenspakket over een netwerk. De pakketten kunnen tot maximaal 64 kilobytes aan gegevens bevatten, een aantal van EDC-symbolen, en andere informatie zoals bron- en bestemmingsindicatoren, gegevens type indicatoren, enzovoorts, die betrekking hebben op het netwerk waarover de gegevens uitgezonden worden.
Voordat de gegevens worden overgezonden, worden ze gecodeerd door een EDC-codeerinrichting 10 om EDC-symbolen op te wekken. De codeerinrichting 10 codeert de gegevens onder gebruikmaking van een gewijzigde BCH-code, of cyclisch, welke code ontworpen is om zowel lange salvofouten als onafhankelijke, of willekeurige fouten te detecteren. Effectief bewerkt het dus de gegevens door de gegevens te delen door een geassocieerd polynoom, f(x), en wekt 64 1-bit EDC-symbolen op, zoals in meer detail beneden beschreven. Wanneer een bepaald gegevenszendsysteem niet zo gevoelig is voor lange salvo's van fouten, kan de codeerinrichting 10 de gegevens coderen door ze te delen door g(x), zoals hierna beschreven. Wanneer de gegevens eenmaal gecodeerd zijn, geeft de codeerinrichting 10 de opgewekte EDC-symbolen af aan een pakketformatter 12. De pakketformatter 12 schakelt allereerst de EDC-symbolen aaneen met de gegevens om een codewoord te vormen in een codewoordbuffer 13. Vervolgens, neemt de formatter het codewoord op in een pakket dat informatie bevat van de pakketbron, bestemming, gege-venstype, enzovoorts.
Wanneer het pakket eenmaal gevormd is, stuurt de pakket-formatter 12 het naar een zendsysteem 14. Het zendsysteem 14 bereidt het pakket dan voor overzending voor door het in een vorm te converteren die geschikt is voor het netwerk, bijvoorbeeld, door het te converteren in een NRZ-signaal, en stuurt het dan over het netwerk.
De codeerinrichting 10 codeert de binaire gegevens onder gebruikmaking van een BCH-code geassocieerd met een generatorpolynoom, g(x):
Figure NL9101376AD00071
of, in octale representatie:
Figure NL9101376AD00072
Deze generatorpolynoom bestaat uit verscheidene factoren die gebaseerd zijn op de grondpolynoom, M1 (x), welke x20 + x3 + 1 is en het grondele-, ment, a1 als wortel heeft. De factoren
Figure NL9101376AD00073
M.^x), MQ(x), M.| (x), en M3(x), waarin a1 waarin een wortel van Mi is. De natuurlijke lengte van de code van g(x) is 220-1 of 1048575 bits.
De polynoom die gebruikt wordt in een bevoorkeurde uitvoeringsvorm van codeerinrichting 10 bevat een andere factor b(x) = x3 + x + 1, die het vermogen van de code vergroot om salvo-fouten te detecteren. De code is bijgevolg gebaseerd op de polynoom, f(x) =
Figure NL9101376AD00074
dat, in octale representatie, is: £(x) = 13 * 4400001 * 3 * 4000011 * 4000017 De factor b(x) vergroot de detecteervermogens voor dubbele salvo-fouten van de code, waarbij het hem toestaat langere salvo's te detecteren dan een code die slechts gebaseerd is op de generator polynoom g(x). De natuurlijke lengte van deze code, dat is, het maximale aantal van symbolen dat de code kan beschermen, is 7*(220-l) symbolen, dat is 7340025 bits, min het aantal van EDC-symbolen.
In een bevoorkeurde uitvoeringsvorm wordt de code ingekort om een maximum van 64 kilobytes aan gegevens te beschermen. De ingekorte code detecteert een enkele salvofout van maximaal 64 bits of dubbele salvofouten van maximaal 24 bits elk. Verder, kan de code maximaal 7 onafhankelijke fouten detecteren gebaseerd op zijn gegarandeerde minimale afstand van 8. De werkelijke minimale afstand kan groter zijn dan 8, echter, is de werkelijke afstand niet bepaald vanwege het grote aantal van mogelijke codewoorden. Een ingekorte code enkel gebaseerd op g(x) kan dubbele salvofouten van tot 21 bits ieder detecteren, en bij gevolg, kan hij gebruikt worden in situaties waar langere salvo's niet voorkomen.
Fig. 2 geeft een codeerinrichting 10 weer, die gegevens codeert in overeenstemming met een code geassocieerd met de polynoom f(x), zoals boven beschreven. De codeerinrichting bevat binaire vermenigvuldigers 16— één voor elk van de 64 termen van de polynoom f(x)— met nul vermenigvuldigers voor de termen met nul-coëfficiënten, binaire optellers 18 en schuifregisters 20. Men kan binaire vermenigvuldigers zien als schakelaars, met een nul-vermenigvuldiger zijnde een schakelaar die in de uitpositie is, en een éénvermenigvuldiger zijnde een schakelaar die in de aanpositie is. Binaire optellers worden gebruikelijk als xOR-poorten aangeduid. Fig. 2A geeft de codeerinrichting 10 weer geconstrueerd met schakelaars S- en xOR-poorten 17.
De codeerinrichting 10 codeert de gegevens die aan haar toegevoerd zijn door de gegevens bits in serie te vermenigvuldigen met de coëfficiënten van de polynoom, f(x). Bijgevolg wordt ieder gege-vensbit parallel toegevoerd aan elk van de Galois Veld vermenigvuldigers 16. De producten worden dan aan de optellers 18 afgegeven, die ze optellen bij producten geassocieerd met eerdere bits. De optellers 18 geven de sommen af aan de schuifregisters 20, die ze vasthouden totdat een volgend bit vermenigvuldigd wordt met de coëfficiënten en opgeteld wordt bij het eerdere product. Daar elk gegevensbit toegevoerd wordt aan de codeerinrichting, wordt het opgeteld in opteller 18* tot een som die geassocieerd is met het coderen van de eerdere bits. De codeerinrichting gaat door met haar vermenigvuldigings en optellings-bewerkingen totdat alle gegevensbits gecodeerd zijn.
Nadat de gegevens gecodeerd zijn, bevatten de schuifregisters 20 de 64 1-bit EDC-symbolen. De schuifregisters worden dan ofwel parallel of in serie ontladen, zoals gepast, om de EDC-symbolen aan de pakketformatter 12 (fig. 1) af te geven.
De codeerinrichting 10 kan tevens gebruikt worden in een decodeerinrichting, zoals weergegeven in het functionele blokdiagram van fig. 3. Wanneer een pakket ontvangen wordt in een ontvanger 32, demoduleert de ontvanger allereerst het pakket om het te decoderen van, bijvoorbeeld, een NRZ-code, naar digitale bits. Het gegevensdeel van het pakket, dat is, het gegevenscodewoord, wordt dan naar de decodeerinrichting 24 gestuurd. De decodeerinrichting 24 codeert de codewoordgegevens om EDC-bits op te wekken op dezelfde manier zoals de , codeerinrichting 10 boven beschreven onder verwijzing naar fig. 2. Terwijl de decodeerinrichting 24 de gegevens decodeert, bereid een gegevensinterface 26 ze voor op overzending en/of begint ze over te zenden naar een geschikt stelselcomponent.
Nadat alle gegevens gecodeerd zijn, vergelijkt de decodeerinrichting de opgewekte EDC-bits met de codewoord EDC-bits in een vergelijker 25. Wanneer de twee verzamelingen van EDC-bits niet met elkaar overeenstemmen, bevatten de gegevens fouten. De decodeerinrichting 24 stuurt dus een afgegeven foutensignaal naar de gegevens interface 26. In reactie op het afgegeven foutensignaal, beëindigt de gegevensinterface 26 zijn gegevensoverdrachtbewerking, of stuurt samen met de gegevens een foutenbericht, zoals van toepassing is. De gegevens interface 26 kan dan verzoeken of de pakketbron het pakket opnieuw stuurt. In de bevoorkeurde uitvoeringsvorm, voert de gegevensinterface 26 geen enkele foutencorrectiebewerking uit daar dergelijke bewerkingen hem beletten het volgende uitgezonden pakket te ontvangen, en bij gevolg, de gegevensoverdrachtssnelheid van het stelsel vertragend.
Wanneer de opgewekte EDC-bits overeenstemmen met de ontvangen EDC-bits behandelt de decodeerinrichting 24 de gegevens als zijnde foutloos. Dienovereenkomstig, ziet de decodeerinrichting 24 af van het afgeven van het foutensignaal, en de data-interface 26 continueert zijn gegevensoverdrachtsbewerking.
De codeerinrichting 10 of decodeerinrichting 24 kunnen geconstrueerd worden onder gebruikmaking van hardware, firmware of software. Verder, kunnen bekende mechanismen voor het verminderen van de vereiste hardware of het versnellen van de codeerbewerking in de codeerinrichting of decodeerinrichting opgenomen worden zonder de detectievermogens van de code voor willekeurige of salvofouten nadelig te beïnvloeden. Dienovereenkomstig, is het het doel van de bijgevoegde conclusies alle variaties en wijzigingen te dekken die binnen de basisgedachte en omvang van de uitvinding komen.

Claims (14)

1. Een stelsel voor het coderen van tot 64 kilobytes aan gegevens, het stelsel omvattende: A. codeermiddelen voor het bewerken van de gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens een binair generator-polynoom, g(x), waarin g(x) is:
Figure NL9101376AC00111
of, in octale representatie: g(x) = 4400001 * 3 * 4000011 * 4000017; en B. middelen voor het aaneenschakelen van de foutendetectiesymbolen met de gegevens om een codewoord te vormen.
2. Het stelsel volgens conclusie 1, waarin de codeermiddelen de gegevens bewerken door de gegevens door de binaire generator. polynoom, g(x) te delen.
3. Een stelsel voor het coderen van tot 64 kilobytes aan gegevens, hét stelsel omvattende: A. codeermiddelen voor het bewerken van de gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens een binair polynoom f(x), waarin f(x) is:
Figure NL9101376AC00112
dat, in octale representatie, is: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017; en B. middelen voor het aaneenschakelen van de foutendetectiesymbolen met de gegevens om een codewoor-d te vormen.
4. Het stelsel volgens conclusie 3, waarin de codeermidde-len de gegevens bewerken door de gegevens door de binaire polynoom f(x) te delen.
5. Een stelsel voor het overzenden van gegevens over een netwerk in de vorm van multi-bytes pakketten, het stelsel omvattende: A. codeermiddelen voor het bewerken van gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens een binair generatorpolynoom, g(x), waarin g(x) is:
Figure NL9101376AC00121
of, in octale representatie: g(x) = 4400001 * 3 * 4000011 * 4000017; B. middelen voor het aaneenschakelen van de foutendetectiesymbolen met de gegevens om een codewoord te vormen; C. pakketvormende middelen voor het ontvangen van het codewoord en het opnemen van het codewoord in een pakket, waarbij de pakketvormende middelen tevens informatie die noodzakelijk is om het pakket over het netwerk naar een voorafbepaalde bestemming te sturen bevat; D. overzendmiddelen voor het overzenden van het pakket over het netwerk.
6. Het stelsel volgens conclusie 5, waarin de codeermiddelen de gegevens bewerken door de gegevens te delen door de binaire generatorpolynoom, g(x).
7. Het stelsel volgens conclusie 5, waarin het stelsel verder bevat: A. middelen voor het ontvangen van een pakket; B. decodeermiddelen voor het decoderen van het gegeven-codewoord in het ontvangen pakket, waarbij de decodeermiddelen bevatten: i. bewerkingsmiddelen voor het bewerken van het gegevensdeel van het gegevenscodewoord om foutendetectiesymbolen op te wekken, waarbij de bewerkingsmiddelen de gegevens volgens de gegevens volgens de binaire generator-polynoom, g(x), bewerken, ii. middelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetectiesymbolen in het codewoord, iii. middelen voor het afgeven van een fouten signaal wanneer de vergelijkingsmiddelen een verschil detecteren tussen de opge- . wekte foutendetectiesymbolen en de foutendetectiesymbolen in het codewoord, en C. gegevensoverdrachtsmiddelen voor het óverdragen van gegevens naar een vooraf bepaalde bestemming, waarbij de gegevensoverdrachtsmiddelen een foutenbericht met de gegevens overdragen indien het foutensignaal afgegeven is.
8. Het stelsel volgens conclusie 5, waarin het stelsel verder bevat: A. middelen voor het ontvangen van een pakket; B. dècodeermiddelen voor het decoderen van het gegevens codewoord in het ontvangen pakket, waarbij de deco-deermiddelen bevatten: i. bewerkingsmiddelen voor het bewerken van het gegevensdeel van het gegevenscode-woord om foutendetectiesymbolen op te wekken, waarbij de bewerkingsmiddelen de gegevens volgens de binaire generatorpo-lynoom, g(x), bewerken, ii. middelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetectiesymbolen in het codewoord, iii. middelen voor het af geven van een foutensignaal wanneer de vergelijkingsmiddelen een verschil detecteren tussen de opgewekte foutendetectiesymbolen en de foutendetectiesymbolen in het codewoord, en C. gegevensoverdrachtsmiddelen voor het overdragen van gegevens naar een voorafbepaalde bestemming, waarbij afgegeven is.
9. Een stelsel voor het overzenden van gegevens over een netwerk in de vorm van multi-bytes pakketten, het stelsel omvattende: A. codeermiddelen voor het bewerken van gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens een binair polynoom, f(x), waarin f(x) is:
Figure NL9101376AC00141
dat, in octale representatie is: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017; B. middelen voor het aaneenschakelen van de foutendetectiesymbolen met de gegevens om een codewoord te vormen; C. pakketvormende middelen voor het ontvangen van het codewoord en het opnemen van het codewoord in een pakket, waarbij de pakketvormende middelen tevens informatie die noodzakelijk is om het pakket over het netwerk naar een voorafbepaalde bestemming te sturen bevat; en D. overzendmiddelen voor het overzenden van het pakket over het netwerk.
10. Het stelsel volgens conclusie 9, waarin de codeermiddelen de gegevens bewerken door de gegevens te delen door de binaire polynoom f(x).
11. Het stelsel volgens conclusie 9, waarin het stelsel verder bevat: A. middelen voor het ontvangen van een pakket; B. decodeermiddelen voor het decoderen van het gege-venscodewoord in het ontvangen pakket, waarbij de decodeermiddelen bevatten: i. bewerkingsmiddelen voor het bewerken van het gegevensdeel van het gegevensscodewoord om foutende-tectiesignalen op te wekken, waarbij de bewerkingsmiddelen de gegevens volgens de binaire polynoom f(x) bewerken, middelen de gegevens volgens de binaire polynoom f(x) bewerken, ii. middelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetectiesymbolen in het codewoord. iii. middelen voor het af geven van een foutensignaal indien de vergelijkingsmid-delen een verschil detecteren tussen de opgewekte foutendetectiesymbolen en de foutendetectiesymbolen in het codewoord, en C. gegevensoverdrachtsmiddelen voor het overdragen van gegevens naar een voorafbepaalde bestemming, waarbij de gegevensoverdrachtsmiddelen een foutenbericht met de gegevens overdragen indien het foutensignaal afgegeven is.
12. Het stelsel volgens conclusie 9, waarin het systeem verder bevat: A. middelen voor het ontvangen van een pakket; B. decodeermiddelen voor het decoderen van het gege-venscodewoord in het ontvangen pakket, waarbij de decodeermiddelen bevatten: i. bewerkingsmiddelen voor het bewerken van het gegevensdeel van het gegevenscode woord om foutendetectiesymbolen op te wekken, waarbij de bewerkingsmiddelen de gegevens volgens de binaire polynoom f(x) bewerken, ii. middelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetectiesymbolen in het codewoord. iii. middelen voor het afgeven van een fouten signaal indien de vergelijkingsmiddelen-een verschil detecteren tussen de opgewekte foutendetectiesymbolen en de fou-tende foutendetectiesymbolen in het codewoord, en is afgegeven.
13. Een decodeerstelsel voor het detecteren van fouten in gegevenscodewoorden die gegevens en foutendetectiesymbolen bevatten, waarbij de symbolen opgewekt worden door de gegevens te coderen volgens een binaire generatorpolynoom, g(x):
Figure NL9101376AC00161
of, in octale representatie:
Figure NL9101376AC00162
het stelsel omvattende: A. codeermiddelen voor het bewerken van de gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens de generatorpolynoom g(x); B. vergelijkingsmiddelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetectiesymbolen in het codewoord; en C. middelen voor het detecteren van fouten en het afgeven van een foutensignaal indien de vergelijkingsmiddelen een verschil detecteren tussen de opgewekte foutendetectiesymbolen en de foutendetectiesymbolen in het codewoord.
14. Een decodeerstelsel voor het decoderen van fouten in gegevens codewoorden die gegevens en foutendetectiesymbolen bevatten, waarbij de symbolen opgewekt worden door de gegevens te coderen volgens een binair polynoom f(x):
Figure NL9101376AC00163
dat, in octale representatie, is: f(x) = 13 * 4400001 * 3 * 4000011 * 4000017 het stelsel bevattende: A. codeermiddelen voor het bewerken van de gegevens om foutendetectiesymbolen op te wekken, waarbij de codeermiddelen de gegevens bewerken volgens de poly- noom f(x); B. vergelijkingsmiddelen voor het vergelijken van de opgewekte foutendetectiesymbolen met de foutendetec-tiesymbolen in het codewoord; en C. middelen voor het detecteren van fouten en het afgeven van een foutensignaal indien de vergelijkingsmiddelen een verschil detecteren tussen de opgewekte foutendetectiesymbolen en de foutendetectiesymbolen in het codewoord.
NL9101376A 1990-08-16 1991-08-12 Een verbeterd foutendetectie-codeerstelsel. NL9101376A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56820890A 1990-08-16 1990-08-16
US56820890 1990-08-16

Publications (1)

Publication Number Publication Date
NL9101376A true NL9101376A (nl) 1992-03-16

Family

ID=24270361

Family Applications (1)

Application Number Title Priority Date Filing Date
NL9101376A NL9101376A (nl) 1990-08-16 1991-08-12 Een verbeterd foutendetectie-codeerstelsel.

Country Status (7)

Country Link
US (1) US5359610A (nl)
JP (1) JPH05183447A (nl)
CA (1) CA2049243A1 (nl)
DE (1) DE4127225A1 (nl)
FR (1) FR2665990B1 (nl)
GB (1) GB2248751A (nl)
NL (1) NL9101376A (nl)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0571019B1 (en) * 1992-05-19 2000-01-26 Koninklijke Philips Electronics N.V. Extended error protected communication system
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities
US20020104053A1 (en) * 2000-12-15 2002-08-01 Mike Lei In-band FEC encoder for sonet
US7237178B1 (en) * 2003-02-04 2007-06-26 Marvell International Ltd. Marking unreliable symbols in a hard disk drive read back signal
KR100605813B1 (ko) * 2003-02-28 2006-08-01 삼성전자주식회사 초 광대역 통신시스템에서 헤더정보 전송장치 및 방법
US10372350B2 (en) 2010-11-29 2019-08-06 Pure Storage, Inc. Shared ownership of namespace ranges
US11307930B1 (en) 2010-11-29 2022-04-19 Pure Storage, Inc. Optimized selection of participants in distributed data rebuild/verification
US10922179B2 (en) 2010-11-29 2021-02-16 Pure Storage, Inc. Post rebuild verification
US9336139B2 (en) * 2010-11-29 2016-05-10 Cleversafe, Inc. Selecting a memory for storage of an encoded data slice in a dispersed storage network
US10802763B2 (en) 2010-11-29 2020-10-13 Pure Storage, Inc. Remote storage verification

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3163848A (en) * 1959-12-22 1964-12-29 Ibm Double error correcting system
US3775746A (en) * 1972-05-19 1973-11-27 Ibm Method and apparatus for detecting odd numbers of errors and burst errors of less than a predetermined length in scrambled digital sequences
GB2048529A (en) * 1979-05-08 1980-12-10 Honeywell Inf Systems Error detection and correction system
US4376093A (en) * 1981-06-03 1983-03-08 Rsr Corporation Low antimony alloy
JPS5866448A (ja) * 1981-10-16 1983-04-20 Hitachi Ltd パケット交換における誤り検出方式
US4569050A (en) * 1983-01-14 1986-02-04 Honeywell Inc. Data communication system with fixed weight error correction and detection code
JPS61252719A (ja) * 1985-05-02 1986-11-10 Hitachi Ltd バ−スト誤りの訂正方法および符号・復号装置
US4979173A (en) * 1987-09-21 1990-12-18 Cirrus Logic, Inc. Burst mode error detection and definition
JPH03219725A (ja) * 1988-10-28 1991-09-27 Mitsubishi Electric Corp 誤り検査コード生成装置および伝送誤り検出装置
JPH02301226A (ja) * 1989-05-15 1990-12-13 Mitsubishi Electric Corp 複合誤り訂正bch復号回路
GB2232943B (en) * 1989-06-07 1993-09-01 Huron St Clair Inc Support stanchion for luggage carrier
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5068854A (en) * 1989-09-12 1991-11-26 Cupertino, California U.S.A. Error detection for fiber distributed interfaced optic link

Also Published As

Publication number Publication date
US5359610A (en) 1994-10-25
CA2049243A1 (en) 1992-02-17
FR2665990A1 (fr) 1992-02-21
GB2248751A (en) 1992-04-15
GB9117487D0 (en) 1991-09-25
FR2665990B1 (fr) 1993-11-12
JPH05183447A (ja) 1993-07-23
DE4127225A1 (de) 1992-02-20

Similar Documents

Publication Publication Date Title
CA3193950C (en) Forward error correction with compression coding
US5936978A (en) Shortened fire code error-trapping decoding method and apparatus
NL9101376A (nl) Een verbeterd foutendetectie-codeerstelsel.
Aho et al. Bounds on the size and transmission rate of communications protocols
Xu et al. Variable shortened-and-punctured Reed-Solomon codes for packet loss protection
CN1301117A (zh) ”异或”码和使用”异或”码的串联编码器/解码器
RU2608872C1 (ru) Способ кодирования и декодирования блокового кода с использованием алгоритма Витерби
Bose et al. Asymmetric error correcting codes
Yang et al. Minimum-distance decoding of redundant residue number system codes
FI113114B (fi) Menetelmä digitaalisen viestin koodaamiseksi ja dekoodaamiseksi
RU2302083C1 (ru) Способ передачи дискретного сообщения в системах с обратной связью
KR0166268B1 (ko) 리드 솔로몬 복호기용 블록 동기신호 생성장치
EP0572206A2 (en) Coding method for correction and detection of skewed transitions in parallel asynchronous communication systems
RU2797444C1 (ru) Способ устойчивой кодовой цикловой синхронизации при применении жестких и мягких решений
RU2260915C2 (ru) Способ передачи сообщений в системах связи
JP4927956B2 (ja) バイナリデータブロックのデジタル圧縮
Plotnik Code constructions for asynchronous random multiple-access to the adder channel
Tokiwa et al. New decoding algorithm for a class of simple iterated codes–its application to decoding algorithm for reed‐muller codes
KR100407131B1 (ko) 조합회로를 이용한 리드-솔로몬 디코더
Stiglitz Iterative sequential decoding
JP2717987B2 (ja) 短縮化bch符号を用いた位相不確定除去方式
Litwin et al. Linear block codes
Srividya et al. Selective Video Coding based on Bezier Curves
AHO et al. BOUNDS ON THE SIZE AND TRANSMISSION RATE
Houghton et al. Convolutional coding

Legal Events

Date Code Title Description
BV The patent application has lapsed