DK160377B - Kredsloeb til behandling af digitale dataord, der udgoer elementer i et galois-felt. - Google Patents

Kredsloeb til behandling af digitale dataord, der udgoer elementer i et galois-felt. Download PDF

Info

Publication number
DK160377B
DK160377B DK128182A DK128182A DK160377B DK 160377 B DK160377 B DK 160377B DK 128182 A DK128182 A DK 128182A DK 128182 A DK128182 A DK 128182A DK 160377 B DK160377 B DK 160377B
Authority
DK
Denmark
Prior art keywords
register
output
input
data
circuit according
Prior art date
Application number
DK128182A
Other languages
English (en)
Other versions
DK128182A (da
DK160377C (da
Inventor
Kentaro Odaka
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of DK128182A publication Critical patent/DK128182A/da
Publication of DK160377B publication Critical patent/DK160377B/da
Application granted granted Critical
Publication of DK160377C publication Critical patent/DK160377C/da

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Error Detection And Correction (AREA)
  • Variable-Direction Aerials And Aerial Arrays (AREA)
  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Channel Selection Circuits, Automatic Tuning Circuits (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Burglar Alarm Systems (AREA)
  • Optical Communication System (AREA)

Description

i
DK 160377 B
Opfindelsen angår kredsløb til behandling af digitale dataord, der udgør elementer af et Galois-felt. Et sådant kredsløb kan f.eks. anvendes i de tilfælde, hvor 5 elementerne i Galois-feltet GF(2m) skal multipliceres eller divideres med henblik på kodning eller dekodning af en Bose-Chaudhuri-Hocquenghen(BCH)-fejlkorrigeringskode eller anden kode af lignende art.
Mange i den senere tid foreslåede anlæg til behandling og 10 optegnelse af audiosignaler af høj kvalitet omdanner først audiosignalet til et digitalsignal, hvorpå de koder det digitale signal som et impulskodemoduleret signal (PCM-signal) med henblik på optegnelse (indspilning). Det indspillede PCM-signal kan aftastes og omdannes til et 15 analogsignal af høj reproduktionskvalitet uden nævneværdigt tab af kvalitet.
For at fjerne genererende knitren eller klik, der kan optræde, når det gengivne PCM-signal er ledsaget af fejl, udføres der først en kodning af dataord i det digitale 20 signal, der skal indspilles, med henblik på fejlkorrige-ring, f.eks. ved en kryds-sammenbladnings-teknik, og der dannes fejlkorrektionsord, der ledsager de kryds- sammenbladede data-ord. Ved gengivelsen er det derfor muligt at korrigere eventuelle tilfældige fejl ved at 25 generere syndromer, der dannes ved at anvende fejlkorrigeringsordene, og eventuelle burst-fejl, (der f.eks. kan skyldes udfald), kan ved hjælp af kryds-sammenbladnings-teknikken spredes ud over mange ord og kan korrigeres eller maskeres på effektiv måde.
30 I en typisk fejlkorrigeringsmetode af denne art anvendes et fejlkorrigerings-kodningssystem af matrix-typen, såsom en BCH-kodning eller en Reed-Solomon(RS)-kodning. Disse fejlkorrigerings-kodningssystemer tilhører i almindelighed klassen af q-nære, konvolutionelle kodningssystemer, hvis 35 udgangssignaler kan betragtes som kombinationer af
DK 160377 B
2 elementer af et Galois-felt GF(2m). Derfor kræves specielle arbejdskredsløb til at behandle dataordene som elementer af et Galois-felt.
5 For tiden er sådanne arbejdskredsløb opbygget som komplicerede aggregater af logiske porte. Disse kredsløb er i almindelighed ganske uregelmæssigt udformede og kræver et utal af særlige forbindelser. Som følge heraf er det ikke praktisk at udforme et sådant arbejdskredsløb som 10 et integreret kredsløb (IC). Selv om et sådant kredsløb alligevel blev indbygget i en halvleder-kredsløbsbrik, ville kredsløbets kompleksitet kræve en uforholdsmæssig stor overflade på kredsløbsbrikken.
Fra US-patentskrift nr. 4.142.174 kendes et behandlings-15 kredsløb ifølge krav l's indledning, og i EP-patentskrift nr. 0.012.828 er der også beskrevet et lignende behandlingskredsløb .
Opfindelsen angår således et kredsløb af den i krav l's indledning angivne art, og ifølge opfindelsen er dette 20 kredsløb ejendommeligt ved den i krav l's kendetegnende del angivne udformning og indretning. Herved opnås, at kredsløbet kan opbygges som en enkel sammenstilling af et forholdsvis lille antal komponenter med et tilsvarende lille antal indbyrdes forbindelser.
25 Opfindelsen skal i det følgende forklares nærmere under henvisning til tegningen, på hvilken fig. 1-4 er blokdiagrammer af forskellige enkle udførelseseksempler på kredsløb ifølge opfindelsen, og fig. 5 er et mere detaljeret blokdiagram af et 30 udførelseseksempel på et kredsløb ifølge opfindelsen.
For at gøre det lettere at forstå den efterfølgende 3
DK 160377 B
specielle del af nærværende beskrivelse, skal der først gives en kort forklaring vedrørende begrebet "Galois-felt". Galois-feltet GF(pm) kan udtrykkes enten 5 som en vektor eller som en cyklisk gruppe.
Vektorfremstillingen vil blive anvendt først. I denne fremstilling betragtes Galois-feltet GF(pm) som en polynomisk ring med et ureducerbart polynom F(x) af m'te orden på et Galois-felt GF(p) taget som modul. Hvis en rod 10 i F(x) tages som or={x}, hvor {x} betyder en restklasse, kan et element af GF(pm) derfor udtrykkes ved en lineær kombination af α = {x}, «2 = {χ2}, ..., = {xm"l}
Med andre ord kan et element af GF(pm) udtrykkes som et 15 polynomium: am-l{xm-1} + am-2{xm-2} + ..... + al(x> + a0 = am—l®^-+ ®m-2ain-2 +..... + ala + a0 I korthed kan det udtrykkes ved at anvende vektorfremstillingen som: 20 (am-l' am-2' ...../ al/ ao)> hvor am-l/ am-2' .....f alr a0 Ξ GF(p)
Galois-feltet GF(pm) vil derefter blive udtrykt ved en cyklisk gruppe-fremstilling. Det resterende element, hvori 25 et O-element er udelukket fra GF(pm), danner en multi-plikativ gruppe af ordenen pm - 1. Denne multiplikative gruppe er den cykliske gruppe. I den multiplikative gruppe G er det defineret, at når ethvert element tilhørende G
DK 160377 B · 4 udtrykkes ved potensopløftning af et bestemt element a i G, betegnes G som den cykliske gruppe og a som et primitivt element.
5 Med hensyn til et ureducerbart polynomium F(x) = x*3 + x + 1 på GF(2) kan f.eks. en rod ct til opfyldelse af F(x) = 0 betragtes. Koderne af de respektive elementer bliver baseret på G(a) = a? + a + 1 = 0 (modul er3 + a + 1) følgende: 10 potens- opløftning af a lineær kombination vektorfremstilling =0 =000 α° = 1 = 001 oA = a. = 010 15 cl 2 = oA = 100 o;3 = a + 1 = 011 αβ = cP· + a = 110 = οΑ + a + 1 = 111 αβ = «2 + 1 = ιοί 20 I dette tilfælde er potensopløftningen af a en fremstilling på basis af den cykliske gruppe.
For den fej1-detekterende og -korrigerende kode, defineret i GF(2m), har ansøgerne tidligere foreslået en sådan kode, at den har høj fejlkorrigeringsevne mod enhver burst-fejl og 25 tilfældig fejl, og tillige at faren for, at fejldetekteringen vil fejle eller der udføres fejlagtig korrektion, kan reduceres.
I overensstemmelse med denne kode frembringes der k kontrolord, når m bits danner ét ord, og n ord danner en blok, ba-30 seret på følgende paritetskontrolmatrix H: 5
DK 160377 B
✓ \ 1 1 ... 1 1 αη-1 an-2 ... α 1 Η = α2(n-1) α2(η-2) ^ χ • · · · • · · · ’(k-D(n-l) * (k-1) (n-2) ‘k-1 ’
Hvis der desuden som eksempel gives et tilfælde, hvor fire kontrolord (k = 4) anvendes, bliver paritetskontrolmatrixen H som følger: ✓ 1 1 ... 1 1 αη_1 an~2 ... α 1 5 H= „2(n-1) a2(n-2) ... „2 χ
[α3(η-1) e3(„-2) ... „3 J
Hvis én blok af de modtagne data repræsenteres som en søjle-
Λ Λ Λ Λ /S
vektor V = (Wn-1, Wn-2, ... , Wl, W0), hvor Wi = Wi + €i, og §i er fejlmønsteret, bliver fire på modtagersiden frembragte syndromer Sq , S-^, S2 og som følger: f s \ S0
Si T
10 c = H · Vx b2 S3
Denne fejlkorrigeringskode kan korrigere fejl op til to ord indenfor én fejlkorrigeringsblok, og hvis fejlbeliggenheden er kendt, kan den korrigere fejl op til tre eller fire ord.
En blok indeholder fire kontrolord (p = W3, g = W2, r = Wl 15 og s = W0). Disse kontrolord opnås som følger:
6 DK 160377 B
y,p + q + r+s = EWi = a a3p + a2q + ar + s = EaHii = b a^p + a^q + a2r + s = Ea^'H'Ti = c a3p + a^q + a3r + s = Ea3:Sii = d \ n-1 hvor E betyder E .
i=4
Beregningsprocessen udelades og kun resultatet vises som følger: f ^ < 212 153 152 209 Ί ) p α α α a a 156 2 135 152 .
q α α α a b 5 = 158 138 2 153 r α α α α c 218 158 „156 „212 ,
I sj ^ α α α α J ^ d J
Rollen for den på sendesiden anbragte koder er at danne fire kontrolord p, qf r og s som beskrevet ovenfor.
En algoritme af fejlkorrigeringen, hvor data sammen med kontrolordene, der er udformet som ovenfor nævnt, udsendes 10 og modtages, vil derefter blive beskrevet. En ligning med hensyn til syndromer i tilfælde af to ordfejl ( si og sj) er: ✓ SQ = gi + §j = a^'si + a^sj S2 = α2ιεΐ + a2jej S. = α3ιεί + a3jej v. ό
Transformering af denne ligning (a1S() + (a1S2 + S3) = (ct^ + S2)2 15 Ved yderligere transformering af dette opnås følgende fejl-beliggenheds-polynomium: 7
DK 160377 B
(SQS2 + S12)a21 + (S.^2 + S0S3)a1 + (S^ + S22) = O
hvor koefficienterne af de pågældende ligninger udtrykkes som
' S0S2 + Sl2 = A
S1S2 + S0S3 = B Λ S1S3 + S22 = C
5 Ved at anvende de respektive koefficienter A, B og C fra de ovennævnte ligninger er det muligt at undersøge fejlplaceringen i tilfælde af to ordfejl.
[1] For ingen fejl: A = B = C = 0, Sq = 0 og S3 = 0 10 [2] For én ordfejl: Når A = B = C = 0, Sq =)= 0 og S3 =f 0, betragtes det som én ordfejl. Fejlbeliggenheden er kendt fra i S1 α = ——,og fejlen korrigeres ved anvendelse af ei = Sg.
[3] For to ordfejl: 15 I tilfælde af fejl på mere end to ord er Α ψ 0, B =j= 0 og C =|= 0, således at adskillelsen eller bedømmelsen af fejlen lettes betydeligt. På det tidspunkt gælder også:
Aa2·*- + ΒοΛ + C = 0 (hvor i = 0 (n - 1)) .
B C
Hvis — i dette tilfælde sættes lig D og ^ = E, fås 20 D = a1 + a^, E = a1· a3 °g a2i + Da1 + E = 0
Forudsættes det, at t er differensen mellem to fejlbeliggenheder, dvs. j = i + t, kan ovennævnte ligning modificeres til 25 D = α1(1 + Λ, E = a2l+t og dermed . JJJjV . . „« α
DK 160377 B
8
Hvis værdierne af α og at med hensyn til t = 1 /nJ (n-1) hver forud er indlæst i et læselager (RCft=Read-Qnly Memory) , Qg der detekteres sammenfald mellem [aT^ + afc), der opnås fra ud-gangen af læselageret, og værdien (ΐΛ der beregnes fra det 5 modtagne ord, kan t derfor opnås. Hvis det sammenfaldsforhold ikke er opfyldt, betragtes det som, at fejlen er mere end tre ord. For at klare ovennævnte gives følgende ligninger X = 1 + a*- 2
10 Y = 1 + a_t = |~ + X
og dermed a1 = a2 = 2 hvorved fejlbeliggenhederne i og j opnås. Fejlmønstrene ei og sj opnås som ,, (ajSQ + Sj) SQ S1
15 61 D Y + D
<aiso + Sl> S0 . S1
S X + D
Fejlkorrigeringen kan således udføres.
Med ovennævnte fejldetekterende og -korrigerende kode er det forudsat, at ét ord er udformet af otte bits, og hvis 20 ét ord er udformet af seksten bits, opnås otte bits ved at skille seksten bits i mest betydende otte bits og mindst betydende otte bits. Derefter betragtes GF (28) baseret på otte bits, og det ureducerbare polynomium fremstilles som F(x) = x8 + x3 4 5 + x2 + x6 + l, 25 som er den cykliske gruppe af orden 255.
den ovenfor beskrevne kodning og dekodning er det 2 disses produkter og kvotienter. Det udførelseseksempel på 3 et kredsløb ifølge opfindelsen, der skal beskrives i det 4 30 følgende, kan anvendes til multiplikationen og divisionen 5 i sådanne beregninger.
6 nødvendigt at beregne elementerne c*1 og oJ, såvel som
DK 160377 B
9 I hvert af de i fig. 1-4 viste kredsløb er et konverterings-læselager 1A indrettet til at frembringe et indeks i ved modtagning af et element a* og et 5 konverterings-læselager IB er indrettet til at frembringe et indeks j ved modtagning af et element aJ. Indekserne i og j er binære koder med m bits.
En modulo-(2m - l)-adder 2 har indgange, der er forbundet til at modtage indekserne i og j, og en udgang, der er 10 forbundet med et omvendt konverterings-læselager 3. Det omvendte konverterings-læselager 3 frembringer uddata, der er produktet af elementerne a1*· og gJ, eller generelt en potens af a. Uddata-signalets eksponent er summen af (eller forskellen mellem) indgangs-indekserne i og j.
15 I den ovenfor omtalte opstilling kan læselagrene 1A, IB og 3 erstattes af programmerbart logikudstyr eller andre, hertil svarende indretninger.
Fig. 1 viser et kredsløb, hvori indekserne (eller eksponenterne) i og j frembringes i konverterings-20 læselagrene 1A henholdsvis IB, og de tilføres adderen 2. Adderen 2 lægger disse indekser sammen til dannelse af en udgangssum i+j, der tilføres det omvendte konverterings-læselager 3, der således frembringer uddata i form af et produkt ori+J = a* · aJ .
25 Fig. 2 viser et andet kredsløb, hvori det af konverterings-læselageret IB frembragte indeks j tilføres til og inverteres af en inverter 4A, hvorfra det føres til adderen 2, hvorfra uddata i form af en difference i-j tilføres det omvendte konverterings-læselager 3, hvis 30 uddata således er i form af en kvotient 3' = a^/oJ.
Fig. 3 viser et yderligere kredsløb, hvori det af konverterings-læselageret 1A frembragte indeks i tilføres og inverteres af en inverter 4B, hvorfra det tilføres
DK 160377 B
10 adderen 2. Udgangssignalet i form af en difference j-i tilføres det omvendte konverteringslæselager 3, der som sine uddata frembringer en kvotient od “i = ad/a*.
5 Fig. 4 viser endnu et kredsløb, hvori udgangssignalerne fra konverterings-læselagrene 1A og IB tilføres adderen 2, således at dennes udgangssignal i form af en sum i+j tilføres til og inverteres af en inverter 4C. Den inverterede udgangssum i+j føres derpå til det omvendte 10 konverterings-læselager 3, der som sine uddata leverer en inverteret sum a~ (i+J) = l/ai+3.
En enkelt kredsløbsanordning, der omfatter samtlige tre invertere 4A, 4B og 4c, kan indrettes til afhængigt af et ydre styresignal at udføre enten en inverterende eller en 15 ikke-inverterende operation. Herved bliver det muligt at skifte mellem multiplikation og division som reaktion på styresignalet.
I tilfælde af en enkelt ordfejl, hvor den fejldetekterende og -korrigerende kode dekodes som forklaret ovenfor, er 20 det nødvendigt, at = Si/Sq beregnes for at bestemme fejlbeliggenheden ud fra a*. Dersom imidlertid divisionskredsløbet (fig. 2 eller 3) anvendes, kan fejlbeliggenheden i opnås direkte fra adderen 2.
Et mere detaljeret udførelseseksempel skal nu beskrives 25 under henvisning til fig. 5.
Dette udførelseseksempel omfatter en inverteringsstyre-enhed 4, der er indrettet til at skifte mellem inverterende og ikke-inverterende drift i overensstemmelse med et styresignal CTL2. Inverteringsstyreenheden 4 kan 30 f.eks. være indrettet til inverterende og ikke-inverterende drift, dersom styresignalet CTL2 er "1" henholdsvis "0". Inverteringsstyreenheden 4 gør det muligt at udføre enten multiplikation eller division og muliggør
DK 160377 B
11 en tidsfordeling, hvormed det er muligt at nedsætte antallet af nødvendige konverterings-læselagre til et enkelt.
5 Fig. 5 viser også en databus 5, der leverer dataord til et enkelt konverterings-læselager 1, der konverterer hvert indkommende dataord som et element til det tilhørende indeks i, og indekset i oplagres i et dataregister 6.
Indkommende dataord leveres fra databussen 5 tillige til 10 en nul-elementdetektor 10. Nul-elementdetektoren 10 frembringer et detekteringssignal DET på en enkelt bit, der er "1", når indgangs-dataordet er nul-elementet, og "0", når indgangs-dataordet ikke er nul-elementet. Dette detekteringssignal DET oplagres i dataregistret 6 sammen 15 med de fra konverterings-læselageret i afledede indeksdata (f.eks. otte bits). De i dataregistret 6 oplagrede data leveres gennem inverteringsstyreenheden 4 til en modulo-(2m - 1)-adder 2 som dennes indgangssignal A. Her er m = 8 og adderen 2 er en modulo-255-adder. Som et andet 20 indgangssignal B til adderen 2 anvendes data, der er oplagret i et i det næste trin beliggende, efterfølgende dataregister 7, og ført gennem en port 11.
Porten 11 styres af et styresignal CTL^; når styresignalet CTLj[ er "1", lader porten 11 de fra dataregistret 7 25 afledede data passere igennem og fører dem til adderen 2 som indgangssignal B, således at der som udgangssignal fremkommer en sum A+B. Når styresignalet CTL^ er "0", spærrer porten 11 for gennemgående data, og gør i stedet sine uddata til nul, således at udgangssignalet helt 30 enkelt er A. Med andre ord føres inddata uændret fra adderen 2 til dataregistret 7.
Desuden bliver detekteringssignalet DET^, der er tilknyttet dataord-elementet a*, leveret fra dataregistret 6 gennem en ELLER-port 12 til dataregistret 7.
DK 160377 B
12
Detekteringssignalet DET^, tidligere oplagret i dataregistret 7 og tilknyttet et forudgående dataord-element a*, føres gennem en OG-port 13 til ELLER-porten 5 12. Styresignalet CTL^ anvendes som et andet indgangs signal til denne OG-port 13, således at når CTL^ er "1", er udgangssignalet fra ELLER-porten 12 "1", selv i det tilfælde, når det i registret 7 oplagrede detekteringssignal DET^ er "0".
10 Modulo-255-adderen 2 kan omfatte en 8-bit fuld adder, hvori mente-udgangssignalet Cg tilbagekobles positivt til mente-indgangen Οχ. Afhængigt af værdien af adderens udgangssignal fungerer adderen 2 som følger, idet X er indholdet af adderen 2.
0 < A + B < 254 Σ = A + B CQ = 0 A + B = 255 Σ = 255 C0 = 0 A + B = 256 efter Σ = 0 og Cq = 1, Σ = 1 og CQ =1 256 < A + B < 510 Σ=Α+Β+1 C =1
Derpå føres de adderede uddata, der er oplagret i dataregistret 7, til det omvendte konverterings-læselager 3, der frembringer dataelementet α^+3, hvori disse adderede udgangsdata X tages som indeks eller eksponent.
20 Det omvendte konverterings-læselager 3 tilføres også styresignalet CTL2, som også tilføres inverterings-styreenheden 4 med henblik på skiftevis omskiftning af multiplikations- og divisionsfunktionerne. Uddata fra det omvendte konverterings-læselager 3 fremkommer som et 25 udgangssignal OUT 1 gennem en port 14, og føres også til et elementregister 8. Når det i dataregistret 7 oplagrede detekteringssignal DET er "1", bevirker porten 14, at dens egne uddata er nul.
DK 160377 B
13 I dette udførelseseksempel bliver modulo-2-adderede udgangssignaler fra to dataelementer «*· og od yderligere frembragt som uddata OUT 2, og disse oplagres i et yder-5 ligere elementregister 9. De i elementregisteret 9 oplagrede uddata føres gennem en port 15 og leveres til en modulo-2-adder 16 sammen med udgangsdata fra dataregisteret 8 for derved at frembringe uddata OUT 2. Porten 15 styres af et styresignal CTL3 til at lade data, 10 der er oplagret i elementregisteret 9 passere igennem, og fører dem til adderen 16, kun når det er nødvendigt for at opnå modulo-2-udgangssignalet OUT 2.
Når multiplikations-operationen udføres i dette udførelseseksempel, bliver styresignalet CTL2, der kan leveres 15 fra en ikke vist mikrodatamat til inverteringsstyreenheden 4, til "0" for derved at styre denne til at udføre den ikke-inverterende operation.
Nærmere angivet: Først leveres det 8-bits dataelement aJ gennem data-bussen 5. Derpå passerer det 8-bits data-20 element a* igennem på samme måde. Derfor leveres dataelementet a* til konverterings-læselageret 1, og indekset 1 og det tilknyttede detekteringssignal DETi oplagres i dataregisteret 6. Herunder oplagrer dataregisteret 7 indekset j og det til dataelementet o0 hørende detek- 25 teringssignal DETj.
Når derefter styresignalet CTL^ bliver "1", danner adderen 2 summen i+j af indekserne i og j. Endvidere bliver i det næste trin denne sum i+j og uddata fra ELLER-porten 12 tilført til og oplagret i dataregisteret 7. Det omvendte 30 konverterings-læselager 3 frembringer et udgangssignal ai+j baseret på udgangssummen i+j. Når ingen af de to inddataelementer a* og aO er nul-elementet, optræder uddata a^-+J fra det omvendte konverterings-læselager 3 som udgangssignalet OUT 1. På den anden side: Når det ene 35 eller det andet af dataelementerne g4 og aJ er nul-
DK 160377B
14 elementet, frembringer det omvendte konverterings læselager 3 som udgangs-dataelement enten a1 eller otf. Imidlertid bliver det således frembragte udgangs- 5 dataelement omdannet til nul-elementet som reaktion på det til porten 14 tilførte detekteringssignal.
Når en divisionsoperation skal udføres, bliver styresignalet CTI12 til "1", og de fra konverteringslæsel ageret 1 frembragte indeksdata føres gennem 10 inverteringsstyreenheden 4 for derved at invertere sådanne data. Med andre ord betyder kvotienten «3/«i, at et inverteret element a~i- multipliceres med oJ, og dette inverterede element a"* tilfredsstiller relationen ai.Q;-i=Q:0=o. Det inverse indeks -i er et komplement til 15 indekset i med hensyn til tallet 1. I dette udførelseseksempel bliver de til indekset hørende bits inverteret mellem "0" og "1", dvs. til de komplementære bits "1" henholdsvis "0". Derfor er de øvrige processer ud over ovenstående de samme som processerne ved de ovenfor 20 beskrevne multiplikations-operationer. Dersom j inverteres til -j i inverteringsstyreenheden 4, er det selvsagt muligt at beregne udgangs-kvotienten α^/α3.
Under division har resultatet af en hvilken som helst operation, der omfatter nul-elementet, ingen reel betyd-25 ning. Med andre ord kan kvotienterne a^/O og 0/0 ikke defineres. I dette udførelseseksempel detekteres det, hvorvidt nul-elementet modtages fra data-bussen 5, og dersom nul-elementet detekteres på denne måde, bliver det beregnede udgangsresultat af porten 14 tvangsmæssigt 30 konverteret til nul-elementet. Divisions-udgangssignalet er aldrig nul-elementet, så dersom dette optræder i udgangssignalet, betragtes det som unormalt. Derfor udfører det næste kredsløb, hvortil divisions-udgangssignalet føres, en forudbestemt operation, der bekræfter, 35 at divisions-udgangssignalet er nul-elementet.
DK 160377 B
15
Fra ovenstående forklaring vil det kunne forstås, at til forskel fra tidligere foreslåede kredsløb til behandling af digitale data som elementer i et Galois-felt, hvori 5 talrige port-kredsløb er kombineret, kan udførelsesformer for kredsløb ifølge opfindelsen helt enkelt opbygges ved hjælp af de viste læselagre, addere og registre, således at der dannes et forholdsvis enkelt kredsløb, der er velegnet til indbygning i en halvleder-kredsløbsbrik.
10 På grund af anvendelsen af den ovenfor omtalte tidsfordeling kræves der i det i fig. 5 viste udførelseseksempel kun et enkelt konverterings-læselager 1 og kun et enkelt omvendt konverterings-læselager 3, hvad der yderligere forenkler kredsløbet.

Claims (11)

1. Kredsløb til behandling af digitale data-ord med en sådan forudbestemt bit-længde m, at de digitale data-5 ord danner elementer a*· i et Galois-felt GF(2m) med en ikke-reducerbar rod a, idet hvert sådant element svarer til en potens a* af den ikke-reducerbare rod a, hvilket kredsløb omfatter a) en konverteringsenhed (1), hvortil de nævnte digitale 10 data-ord føres i rækkefølge som de nævnte elementer, og som reaktion herpå frembringer tilsvarende eksponenter i deraf, b) en modulo-(2m-l)-additionsenhed (2), og c) en omvendt konverteringsenhed (3), 15 kendetegnet ved d) en indgangs-data-bus (5) til tilførsel af de nævnte digitale data-ord i tidsrækkefølge til konverterings-enheden (1) e) et med den nævnte konverteringsenhed (1) forbundet 20 første register (6) til oplagring af de nævnte eksponenter i, f) en styret inverteringsenhed (4), der følger efter det nævnte første register (6) og styres således af et inverteringsstyresignal, at den styrede inverterings- 25 enhed (4) som udgangssignal frembringer de nævnte eksponenter i uden invertering, når det nævnte inverteringsstyresignal har én retning, og med invertering, når det nævnte inverteringssignal har en anden, komplementær retning, idet 30 g) additionsenheden (2) har en første og en anden indgang, hvoraf den første indgang er forbundet med udgangen på den styrede inverteringsenhed (4), og idet h) et andet register (7) har en indgang forbundet med 35 udgangen på additionsenheden (2) med henblik på oplagring af dennes indhold, og idet i) den omvendte konverteringsenhed (3) er forbundet med DK 160377 B udgangen på det andet register (7) for at modtage dennes indhold og indrettet til som reaktion derpå at frembringe et udgangs-data-ord, der er den potens af 5 det nævnte ikke-reducerbare element, der svarer til det andet registers (7) indhold.
2. Kredsløb ifølge krav 1, kendetegnet ved kredsløbsorganer (11), der styres selektivt af et styresignal til at forsyne additionsenheden (2) med det andet 10 registers (7) indhold.
3. Kredsløb ifølge krav 2, kendetegnet ved, at de nævnte kredsløbsorganer (11) udgøres af en styret port (11), der har en indgang forbundet med det andet registers (7) udgang og en udgang forbundet med additionsenhedens 15 (2) anden indgang og er styret selektivt af et portstyresignal til at forsyne additionsenheden (2) med nul-data eller det andet registers (7) indhold.
4. Kredsløb ifølge krav 1, kendetegnet ved, a) en med data-bussen (5) forbunden nul-elementdetektor 20 (10), indrettet til at forsyne det første register (6) med et detekteringssignal, der har én retning, når et af de tilknyttede inddata-ord er nul, og ellers en anden, komplementær retning, b) logiske port-organer (12, 13), der leverer det i det 25 første register (6) oplagrede detekteringssignal til det andet register (7) og c) en udgangsport (14), der har en styreindgang styret af det i det andet register oplagrede detekteringssignal og en dataindgang forbundet med den omvendte konver- 30 teringsenhed (3) for at lade dennes udgangssignal passere, når det i det andet register (7) oplagrede detekteringssignal har den nævnte anden retning, og at blokere udgangssignalet, når detekteringssignalet har den førstnævnte retning.
5. Kredsløb ifølge krav 4, kendetegnet ved, a) organer (10) til at frembringe et detekteringssignal, dersom det ene af de nævnte inddata-elementer a*· er et 5 nul-element, og b) organer (14) til konvertering af uddata-elementet til en forudbestemt værdi som reaktion på detekterings-signalet, således at en hvilken som helst kvotient, der er resultatet af en division med nul, udlignes.
6. Kredsløb ifølge krav 4, kendetegnet ved a) en styret port (11), der har en indgang forbundet med det andet registers (7) udgang og en udgang forbundet med additionsenhedens (2) anden indgang, og som styres selektivt af et portstyresignal til at forsyne 15 additionsenheden med det andet registers (7) indhold, idet b) de logiske port-organer (12, 13) omfatter bl) en OG-port (13), der har indgange til at modtage det i det andet register (7) oplagrede detekteringssignal 20 henholdsvis det nævnte portstyresignal, og b2) en ELLER-port (12), der har indgange forbundet med den nævnte OG-ports (13) udgang henholdsvis det første register (6) til modtagning af det deri oplagrede detekteringssignal, samt en med det andet register (7) 25 forbunden udgang.
7. Kredsløb ifølge krav 1, kendetegnet ved, a) at den nævnte bit-længde m er otte bits, og b) at den nævnte additionsenhed (2) er en modulo-2 5 5-additionsenhed.
8. Kredsløb ifølge krav 1, kendetegnet ved, at den nævnte konverteringsenhed (1) omfatter en datalagerindretning (1) med vilkårlig tilgang, hvortil de nævnte inddata-elementer æ*- tilføres som adressekoder, og som frembringer de nævnte eksponenter som oplagrede data. DK 160377 B
9. Kredsløb ifølge krav 8, kendetegnet ved, at den nævnte datalager-indretning er et læselager (ROM) (1).
10. Kredsløb ifølge krav 1, kendetegnet ved, at den 5 omvendte konverteringsenhed (3) omfatter en datalagerindretning (3) med vilkårlig tilgang, hvortil den nævnte resulterende sum føres som en adressekode, og som til-vejebringer de nævnte inddata-elemementer a* som oplagrede data.
11. Kredsløb ifølge krav 10, kendetegnet ved, at den nævnte datalager-indretning er et læselager (ROM) (3).
DK128182A 1981-03-23 1982-03-22 Kredsloeb til behandling af digitale dataord, der udgoer elementer i et galois-felt. DK160377C (da)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP56041921A JPS57155667A (en) 1981-03-23 1981-03-23 Arithmetic circuit of galois matter
JP4192181 1981-03-23

Publications (3)

Publication Number Publication Date
DK128182A DK128182A (da) 1982-09-24
DK160377B true DK160377B (da) 1991-03-04
DK160377C DK160377C (da) 1991-08-12

Family

ID=12621708

Family Applications (1)

Application Number Title Priority Date Filing Date
DK128182A DK160377C (da) 1981-03-23 1982-03-22 Kredsloeb til behandling af digitale dataord, der udgoer elementer i et galois-felt.

Country Status (11)

Country Link
US (1) US4473887A (da)
EP (1) EP0061345B1 (da)
JP (1) JPS57155667A (da)
KR (1) KR900005435B1 (da)
AT (1) ATE40927T1 (da)
AU (1) AU553405B2 (da)
BR (1) BR8201573A (da)
CA (1) CA1174764A (da)
DE (1) DE3279459D1 (da)
DK (1) DK160377C (da)
ES (1) ES8307393A1 (da)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58140846A (ja) * 1982-02-16 1983-08-20 Hitachi Ltd 2進化10進数除算装置
DE3377029D1 (en) * 1982-06-15 1988-07-14 Toshiba Kk Apparatus for dividing the elements of a galois field
JPS58219852A (ja) * 1982-06-15 1983-12-21 Toshiba Corp エラ−訂正回路
EP0096163B1 (en) * 1982-06-15 1988-06-01 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
US4538240A (en) * 1982-12-30 1985-08-27 International Business Machines Corporation Method and apparatus for performing hashing operations using Galois field multiplication
FR2549984B1 (fr) * 1983-07-29 1985-10-18 Telediffusion Fse Systeme de correction d'erreurs de signaux numeriques codes en code de reed-solomon
DE3484455D1 (de) * 1983-09-06 1991-05-23 Toshiba Kawasaki Kk Fehlerkorrekturschaltung.
JPH0680491B2 (ja) * 1983-12-30 1994-10-12 ソニー株式会社 有限体の演算回路
EP0169908B1 (en) * 1984-01-21 1993-12-01 Sony Corporation Method and circuit for decoding error coded data
JPS60160729A (ja) * 1984-01-31 1985-08-22 Sony Corp 有限体の演算回路
JPS60183820A (ja) * 1984-03-02 1985-09-19 Trio Kenwood Corp 除算回路
FR2582888B1 (fr) * 1985-05-30 1987-08-21 Dornstetter Jean Louis Procede de transmission, avec possibilite de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de decodage pour la mise en oeuvre de ce procede.
JPH0728227B2 (ja) * 1985-06-07 1995-03-29 ソニー株式会社 Bch符号の復号装置
US4918638A (en) * 1986-10-15 1990-04-17 Matsushita Electric Industrial Co., Ltd. Multiplier in a galois field
JPS63132531A (ja) * 1986-11-25 1988-06-04 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
JPS63132532A (ja) * 1986-11-25 1988-06-04 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
AU613701B2 (en) * 1987-06-26 1991-08-08 Digital Equipment Corporation Apparatus for computing multiplicative inverses in data encoding decoding devices
KR940001147B1 (ko) * 1991-03-20 1994-02-14 삼성전자 주식회사 부분체 GF(2^m/2)을 이용한 GF(2^m)상의 연산방법 및 장치
US6341327B1 (en) 1998-08-13 2002-01-22 Intel Corporation Content addressable memory addressable by redundant form input
US6172933B1 (en) * 1998-09-04 2001-01-09 Intel Corporation Redundant form address decoder for memory system
GB2537371B (en) * 2015-04-13 2019-10-02 Imagination Tech Ltd Modulo calculation using polynomials

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3805037A (en) * 1972-02-22 1974-04-16 J Ellison N{40 th power galois linear gate
JPS5825294B2 (ja) * 1975-12-18 1983-05-26 富士通株式会社 3ジヨウカイロオシヨウシタエラ−テイセイカイロ
US4107652A (en) * 1975-12-27 1978-08-15 Fujitsu Limited Error correcting and controlling system
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes
US4037093A (en) * 1975-12-29 1977-07-19 Honeywell Information Systems, Inc. Matrix multiplier in GF(2m)
US4099160A (en) * 1976-07-15 1978-07-04 International Business Machines Corporation Error location apparatus and methods
US4142174A (en) * 1977-08-15 1979-02-27 International Business Machines Corporation High speed decoding of Reed-Solomon codes
JPS554623A (en) * 1978-06-27 1980-01-14 Kokusai Electric Co Ltd Decoder circuit for bch code
DE2855807A1 (de) * 1978-12-22 1980-06-26 Siemens Ag Schaltungsanordnung zur korrektur von bytestrukturierten fehlern
US4251875A (en) * 1979-02-12 1981-02-17 Sperry Corporation Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates

Also Published As

Publication number Publication date
EP0061345A3 (en) 1984-05-02
DE3279459D1 (en) 1989-03-30
ATE40927T1 (de) 1989-03-15
ES510691A0 (es) 1983-06-16
DK128182A (da) 1982-09-24
CA1174764A (en) 1984-09-18
KR830009529A (ko) 1983-12-21
EP0061345A2 (en) 1982-09-29
ES8307393A1 (es) 1983-06-16
DK160377C (da) 1991-08-12
JPS57155667A (en) 1982-09-25
KR900005435B1 (ko) 1990-07-30
EP0061345B1 (en) 1989-02-22
AU8173182A (en) 1982-09-30
BR8201573A (pt) 1983-02-08
US4473887A (en) 1984-09-25
JPS645334B2 (da) 1989-01-30
AU553405B2 (en) 1986-07-17

Similar Documents

Publication Publication Date Title
DK160377B (da) Kredsloeb til behandling af digitale dataord, der udgoer elementer i et galois-felt.
US4099160A (en) Error location apparatus and methods
EP0031183B1 (en) Multi-processor computer system
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
AU603641B2 (en) Error correction method using reed-solomon code
US6101520A (en) Arithmetic logic unit and method for numerical computations in Galois fields
JPS6095640A (ja) 誤り訂正方法及び装置
US5440570A (en) Real-time binary BCH decoder
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
JPS63236416A (ja) 符号化復号化方法
JPS632370B2 (da)
JPS6114540B2 (da)
US6405339B1 (en) Parallelized programmable encoder/syndrome generator
US3781791A (en) Method and apparatus for decoding bch codes
US5787099A (en) System and method for encoding and decoding data using numerical computations in galois fields
US4453249A (en) System for binary data transmission
US5771184A (en) System and method for solving quadratic equation in galois fields
KR940002112B1 (ko) 복합 오류 정정 bch 복호(複號)회로
EP0178726B1 (en) Data processing system composed of three data processing modules
JPH0345020A (ja) 巡回符号処理回路
KR100981659B1 (ko) 산업용 컨트롤러
JPS6343419A (ja) リ−ドソロモン符号復号装置
SU903887A1 (ru) Мажоритарный декодер
JPS62122334A (ja) デジタルデ−タ演算処理装置
JPS623619B2 (da)