[go: up one dir, main page]

DE1905138A1 - Fehlerbuendei korrigierende Entschluesselungseinrichtung - Google Patents

Fehlerbuendei korrigierende Entschluesselungseinrichtung

Info

Publication number
DE1905138A1
DE1905138A1 DE19691905138 DE1905138A DE1905138A1 DE 1905138 A1 DE1905138 A1 DE 1905138A1 DE 19691905138 DE19691905138 DE 19691905138 DE 1905138 A DE1905138 A DE 1905138A DE 1905138 A1 DE1905138 A1 DE 1905138A1
Authority
DE
Germany
Prior art keywords
digits
counter
feature
count
sequence
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
DE19691905138
Other languages
English (en)
Inventor
Gallager Robert Gray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Codex 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 Codex Corp filed Critical Codex Corp
Publication of DE1905138A1 publication Critical patent/DE1905138A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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/17Burst error correction, e.g. error trapping, Fire codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)

Description

. v.B/E 190S 138
U.S,Ser.No. 703,71JS
Filed;February 9, 1968
CODEXCORPORATION
222 Arsenal Street, Watertown , Massachusetts (V.St ..A.)
Fehlerbündel korrigierende Entschlüsselungseinrichtung
Die vorliegende Erfindung betrifft eine Fehlerbündel korrigierende Entschlüsselungseinriphtung für einen zyklischen Blockcodes bei dem die Codeblocklange gleich N und die Anzahl der Informationsziffern im Block gleich K ist, mit einer Anordnung zum Empfangen der Blöcke, einer Anordnung zum Erzeugen von N Ziffernmerkmalfolgen für die empfangenen Blöcke, einer Logikschaltung zum Auswerten der Merkmalfolgen und einer auf die Logik-* schaltung ansprechenden Kombinierschaltung zum linearen Vereinigen von Merkmalziffern mit entsprechenden Ziffern der empfangenen Blöcke.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Einrichtung zum Entschlüsseln von zyklischen Coden anzugeben^ die ein gegenüber dem Stand der Technik verbessertes Fehlerkorrekturvermögen für Fehlerbündel, deren Länge zwischen b1 und N-K liegt, aufweist, dabei bedeuten:
N die Länge eines Codeblockes; K die Anzahl der Informationsziffern im Block, und
b' die maximal gewährleistete korrigierbare Fehlerbün-909834/1269
dellänge des Codes, d.h. eine solche Länge, daß keine Entschlüe-· selungseinriohtüng in der Lage ist, alle Fehlerbündel bis zu^dieser Länge und irgendwelche längeren Fehlerbündel zu korrigieren. Die Länge eines Fehlerbündels ist die Anzah^ der Ziffern von der ersten Ziffer (einschließlich) bis zur letzten Ziffer (einschließlich), in denen sich die empfangene Ziffernfölge vom Go;*- dewort unterscheidet (siehe auch die Erläuterungen zu Fig. 1).
Allgemein gesprochen wird gemäß der Erfindung eine Anordnung zum Erzeugen einer N-zifferigen Merkmals- "oder Syndromfolge für jeden empfangenen Block und eine Ortungsvorrichtung vorgesehen, die eine geeignete Reihe (Lauf) aufeinanderfolgender Nullmerkmalsignale (vorzugsweise die längste Reihe, die nicht vollständig zwischen den Stellen K und N-I enthalten ist), die in einer solchen Merkmalfolge auftritt, ortet und auswählt. Die Ortungsvorrichtung ist so konstruiert, daß sie in einem Bereich arbeitet, der aufeinanderfolgende Merkmal-Nullreihen, die kürzer als N-K-b' einschließt, arbeitet. Eine Logikschaltung behandelt die empfangenen Blöcke als ob sie ein Fehlerbündel in den Ziffern enthalten* die den Merkmalziffern entsprechen ψ welche der gewählten Reihe von Nullen unmittelbar folgen.und die Merkmalsziffern und die empfangenen Ziffern werden dementsprechend vereinigt, um die gewünschte Korrektur zu bewirken, Bei bevorzugten Ausführungsbeispielen ist eine Anzahl von zusammenarbeitenden Zählern vorgesehen, von denen einer die Länge einer ersten Reihe von Nullen, die in der Merkmalsfolge angetroffen werden, zählt und ein anderer durch den ersten Zählwert gesteuert wird und von diesem in abgestufter Beziehung zur Länge einer zweiten Reihe von Nullen abwärts zählt, wobei man eine Anzeige erhält ^ welche Reihe die längere ist. Wenn die zweite Reihe- länger isty zählt der erste Zähler für den verbleibenden Stell der zweiten Reihe weiter, nachdem die erste Reihe rückwärts gezählt worden ist. Indem man diese Operationen mit aufeinanderfolgenden Reihen von Nullen wiederholt, erscheint schließlich im ersten"Zähler die Länge der längsten Reihe, * :
1905135
Die Erfindung einschließlich weiterer Merkmale und Vorteile werden im folgenden anhand eines bevorzugten Ausführungsbeispieles in Verbindung mit der Zeichnung näher erläutert, es zeigen: . .-■■"■ ■' : .: .- -":"■■
Fig. 1 eine schematische Darstellung zur Erläuterung des Begriffes "Fehlerbündellänge";
Fig. 2 eine Codierschaltung".für einen zyklischen Code; j
Fig. 3 eine"schematische Darstellung eines Fehlerbün- ! !dels in einer empfangenen Folge und des entsprechenden Bündels in ; der Merkmalfolge;
Fig. 4 eine Schaltungsahordnung gemäß der Erfindung;
Fig. 5 ein Schaltbild eines Hauptzählers der Schaltungsanordnung gemäß Fig. 4;
Fig. 6 ein Schaltbild eines CjCg-Zählerteiles der Schaltungsanordnung gemäß Fig. 4;
Fig. 7 ein Schaltbild eines Syndromregisterteiles der
j Schaltungsanordnung gemäß Fig. 4;
f ■ ■ . .
Fig. B ein S chaltbild eines Dateneingangsregister-
iteiles der Schaltungsanordnung gemäß Fig. 4;
j Fig. 9 ein- Schaltbild einer abgewandelten Anordnung zum !Errechnen von Merkmalsziffern und
Fig.-10 eine schematische Darstellung zur Erläuterung \ der Arbeitsweise der Schaltungsanordnung nach Fig. 4.
; Ein zyklischer Code ist ein Paritätsprüfcode mit der Eigenschaft, das sich bei zyklischer Verschiebung eines Codewortes als Ergebnis ein anderes Codewort ergibt. Ein zyklischer Code der Blocklänge .N mit K Informations ziffern läßt sich am einfachsten durch das Erzeugungspolynom g(t)=gn + g..t 4-...gM vt "- in dem die Koeffizienten g· Elemente eines Galois-Feldes>und gN „= 1 sowie Q0 $ 0 sind, definieren. Bei den für die Praxis augenblicklich am interessantesten Binärcoden sind die gj binär, also entweder 0 oder 1. Zur Erzeugung eines zyklischen Codes muß g(t) ein
909834/1269
Faktor t --1 sein, d.h. es gibt ein als Paritätsprüfgenerator bezeichnetes Polynom h(t),das der Bedingung g(t)h(t) = t -1 genügt. Die vorstehende Polynommultiplikation ist von üblicher Art mit der Ausnahme, daß die Koeffizienten durch Galois-Feld-Operationen multipliziert und addiert werden. '..-.--'.'
In einem zyklischen Code ist jedes Codewort eine Folge von N Ziffern, wie xQ, X....X.J*. Man kann diese Codewörter durcH Polynome x(t) = Xn + x.t + ...x,T .t darstellen. Die Codewörter stehen mit dem Generatorpolynom durch die Gleichungx(t) = a(t) g(t), wobei a(t) ein Polynom der Ordnung K-I oder einer niedrigeren Ordnung ist. Wenn a(t) alle derartigen Polynome (mit Koeffizienten im Galois Feld) durchläuft, durchläuft x(t) alle Codewörter des Codes, .
Eine zyklische Verschiebung von x(t) ist nun tx(t), wo-
N-I bei von diesem Punkt an alle Polynommultiplikationen modulo t. gerechnet werden, te(-t)" ist also, anders ausgedrückt, XnT1 +Xn^ +
2 N—1
x^ ."..+ Xn-2^ ' Um zu'zeigen,, daß dies ein Codewort ist, kann
man t a(t) schreiben als a„, h(t) +r(t), wobei r(t) von höchstens der Ordnung K-I ist. Dann ist
t x(t) = t a(t) g(t)
= aK-1 h(t) g(t) + r(t) g(t)
= S5-1 tNri + r(.t) g(t) = r(t) g(t)
Bei einer zyklischen Verschiebung von x(t) erhält man also ein anderes Codewort. Aus denselben Gründen ist
x(t) h(t) =0 (i)
j Schreibt man jeden Term in dieser Polynommultiplikation aus, so erhält man ·
. χ. . J
s-O
J=Oj..., N-I
(2)
Unter Berücksichtigung der Tatsache, daß hj,= 1 ist, erhält man eine Rekursionsformel zur Errechnung der Paritätsflttfungen von x(t) aus den Informationsziffern X0, ..., x„:
909834/1269
K ■ ■ -■' ■
χ. = Σ .-h, χ- . ; j=K,..., N-I (3) <J i = l
Pig. 2 zeigt eine Schaltung zur Durchführung dieser Rechnung. Die K Informationsziffern werden zuerst der Reihe nach iidera in Fig. 2 oben dargestellten Schieberegister gespeichert, wobei sich Xq rechts befindet. Der Registerinhalt wird dann nach rechts versshoben, wobei xQ in einen angeschlossenen Kanal austritt und „ .
K isl ι K-i .
links in das Register eintritt. Bei jeder weiteren Verschiebung wird eine neue Prüfziffer errechnet.
Für eine weitergehende Beschreibung von zyklischen Codes siehe das Buch von Peterson "Error Correcting Codes" (MIT, Wiley, I96I). / /
Angenommen, das Codewort x(t) werde übertragen und es trete ein Fehlerbündel e(t) = eQ + e.t +...+eN-1t auf. Die empfangene Folge ist dann yCt) = x(t) + e(t). Das Syndrom- oder Merkmalpolynom s(t) sei definiert durch die Gleichung
: s(t) = y(t) h(t) (4)
Unter Verwendung; der Gleichung (1) ist dies äquivalent mit
- s(t) = x(t) h(t) + e(t) h(t) (5)
= e(t) h(t) (6)
Erweitert man dieses Polynom wie in (2), so erhält man ■■■■■■■■ κ
s. ν Σ h. e, . . (7)
J i=0 x J x
Es sei nun angenommen, daß e(t) ein Bündel mit der Länge b<N-K ist und von.der Stelle L zur Stelle L+b-1 geht, wobei eL^0 und eL+b-i ^0 s^nci· Dies ist in Fig. 3 graphisch dargestellt, in der die schraffierten Bereiche 'das Fehlerbündel und die nicht schlaf- j fierten Bereiche Stellen, in denen e.=0 ist, bedeuten. Aus der Gleichung (7) ist ersichtlich, daß s(t) .ebenfalls die Form eines Bündels hat, dieses Bündel hat jedoch die Länge b + K, wobei und sL+b_1+^ fO sind (siehe Fig. 3), Das Wesentliche 909 83A/126 9
hieran ist, daß die N-K-b Koeffizienten von% s(t), die Sr_i> Bh-2* ***sL-N+K+b Se6e^en sind, alle gleich 0 sein, müssen.;
Die Entschlüsselungsstrategie besteht nun darin, aus,, der Gleichung (1O die Koeffizienten von s(t) zu berechnen und nach der längsten Kette von aufeinanderfolgenden Nullen in dieser Folge von Koeffizienten zu suchen, wobei man Sn-1-als; zyklisch mit sQ verbunden betrachtet. Wählt man L und b so, daß diese Folge von Nullen sich in den Stellen L-I, L-I,..., L-N+K+b befindet, so wird angenommen, daß sich das Fehlerbündel in den Stellen L, L+l,... L+b-1 befindet. Die Fehlerfolge kann dann aus der Gleichung (7) wie folgt errechnet werden:
eL 8L eLhi
ho
6L+I = 3L+I "
ho
= sL+b-l h0 '
« » . . -■
eL+b-i
b-1 ; ;
- £ ev b
Diese errechnete Fehlerfolge genügt dann der Gleichung (7) für N-K aufeinanderfolgende Werte von j,die von L-N+K+b bis L+b-1 gehen. Die entschlüsselte Folge x1(t) =y(t)-e(t) genügt dann der Gleichung (2) für N-K aufeinanderfolgende Werte von j und eine zyklische Verschiebung von x1(t) wird daher der Gleichung (3) genügen. Ist diese zyklische Verschiebung von x'('t) ein Codewort, I so ist x'(t) ein Codewort und die Entschlüsselungseinrichtung J hat in einem Bündel von b Ziffern ein Codewort gefunden, das sich ' von y(t)unterscheidet. Da N-K-b die längste Reihe von Nullen in s.(t) ist, unterscheidet sich kein anderes Codewort von yft) in
9098^4/1269
• -7- ■■- ."
einem kürzeren Bündel.
Die obigen Überlegungen zeigen, daß ein Codewort gefunden werden kann, das sich von dem empfangenen Codewort in einem Bündel von b unterscheidet, wenn s(t) eine Kette von N-K-b aufeinanderfolgenden Nullen enthält. Die einzige Schwierigkeit besteht darin, daß dieses Bündel das Ende der Folge zyklisch überlappen kann» Es kann gezeigt werden, daß das Bündel das Ende der Folge dann und nur dann überlappt, wenn die Folge von Nullen vollständig zwischen den Stellen K und N-I einschließlich enthalten ist.
Zusammenfassend kann also bezüglich der obigen Ergebnisse gesagt werden, daß das Codewort, das sich von der empfangenen Folge in dem kürzesten Bündel unterscheidet, gefunden werden kann, indem man s(t) aus der empfangenen Folge errechnet, wo"-bei die längste Kette von Nullen in s(t), die nicht vollständig zwischen K und N-I enthalten ist, ermittelt und angenommen wird, daß das Fehlerbündel an diese längste Folge angrenzt, wie es in Fig. 3 dargestellt ist.
Das oben beschriebene Verfahren ist in erster Linie für Übertragungskanäle von Nutzen, in denen typischerweise Störungen in Bündeln auftreten, deren Häufigkeit mit der Länge abnimmt. Es ist ersichtlich, daß bei einem solchen Kanal ein in der beschriebenen Weise arbeitendes Entschlüsselungsschema einwandfrei entschlüsselt, solange das tatsächliche Störungsbündel nicht solang ist, daß es ein anderes Bündel kleinerer oder gleicher Länge gibt, das bei Addition zu der empfangenen Folge ein anderes Codewort liefert. Es kann gezeigt werden, daß bei binären Coden, ito'i ii^ü. una Bündeln b>b\ der durch die vorliegende Technik un-I korrigierbare Anteil von Bündeln durch den kleineren Wert von U2 und ν?"* * nach oben begrenzt ist. Für ein sehr großes \N-K bedeutet dies, daß die meisten Bündel mit einer Länge bis -;nahezu'2b.1 korrigiert werden*
\ rDie Schaltbilder in den Fig. k bis 8 zeigen wie die beschriebenen Operationen mechanisiert werden können* Die Operationen selbst sind schematisch in Fig. 10 dargestellt. Das .im Speziellen
1965138
-8-
- gezeigte: Ausführungsbeispiel ist für einen zyklischen Binärcode mit der Blocklänge N= 63 und K=4-5 Informationsziffern ausgelegt. Die verwendeten Logikschaltungen sind handelsüblich. In den Schaltbildern sind die BlOekschaltbildsymbole verwendet worden, die die Firma eomputor Control Company für die unter der Bezeichnung "S-PAC" vertriebenen Digitallögikmodule verwendet. Diese Module sind dementsprechend auch mit,den Bezeichnungen dieser Firma z.B. FA,. SR, UP versehen. ■
Die empfangene Signalfolge wird zu Beginn des Entschlüs sölungszyklus in ein Dateneingangsregister 20 (Fig. 8 und 10) eingegeben. Die Ziffern y· der empfangenen Folge werden dabei je-j we ils in^die 63 Flipflops 22 des Registers 20 über Eingangsleitungen 24b und NAND-Gatter 24 eingespeichert-, wenn auf einer Leitung 26 ein Speicherimpuls von einem Hauptzähler 28 zugeführt wird. Der Speicherimpuls wird über parallele, invertierende Verstärker 30 (Fig. 8) zugeführt und ändert die Spannung an Klemmen 24a der Gatter 24 von 0 Volt (entsprechend dem logischen Zustand 0) auf -6 Volt (entsprechend dem logischen Zustand 1). An den Ausgangsklemmen 24c derGatter 24 tritt eine logische 1 (-6VoIt) auf, solange die Eingangssignale an den Klemmen 24a und 24b nicht beide 1 sind. ■ .- _
Die Ziffern y. \ierden dann im Register 20 in drei vollständigen Durchläufen zu je 63 Verschiebungen zyklisch verschoben. Innerhalb jedes Durchlaufes sind die Operationen, die mit jeder der 63Ziffern durchgeführt werden, in vier Phasen^
*3 unterteilt. Der zeitliche Ablauf der Durchläufe
und der Phasen wird durch den Hauptzähler 28 (Fig..4 und 5) gesteuert . . --'...'
Während jeder Operation im Durchlauf 1 wird die in der letzten Stufe (Fig. 8 rechts) des Registers 20 gespeicherte Ziffer y. während der Phase 1 durch einen ScTialtef 50 in ein Merkmalregister 52 übertragen. Während der Phase 3 werden die y. in den jeweiligen Stufen des'Registers 20 um eine Stufe nach rechts verschoben, wobei- das y. in der letzten Stufe in die erste Stufe
909834/1269
1965138 I
■ —9- ■
■-.-■-■■ ■ ■ ι
verschoben wird. Die Verschiebung wird durch einen Impuls ausgelöst, der vom Zähler 28 über eine Leitung 60 und nicht invertierende Verstärker 62 zugeführt wird» Die Bezeichnung φ, gibt die in Betracht kommende Klemme des Zählers 28 an und trägt' der Tatsache Rechnung, daß der logische Zustand dieser Klemme gleich . 1 (d.h; -6 V) ist, mit der Ausnahme während der Phase 3> wo er O ist. Während der Phasen O und 2 treten im Register 20 keine Änderungen auf. Der Schalter 50 ist ein NAND-Gatter, dessen drei Eingänge mit der Klemme 22a der letzten Stufe des Registers 20 (die Klemme 22a führt yj,, mit der Klemme 28a des Zählers 28 über;
einen Inverter 54 (die Klemme 28a führt nur während des Durchlaufes 1 eine 0, daher die Bezeichnung F.· und die Verwendung des Inverters 54, um dem Gatter 50 eine 1 zuzuführen) bzw. der Klemme 28b des Zählers 28 über einen Inverter 5β (die Klemme 28b führt eine 0 nur während der Phase 1) verbünden sind.
Während des Durchlaufs 1 werden also alle 63 empfangenen Ziffern y· in das Merkmalregister 52 eingespeist, während sie außerdem im Register 20 einen vollständigen Zyklus verschoben werden.
Das Merkmalregister 52 (Fig.-4, 7 und 10) enthält 18 Flipflop-Stufen. Die Stufen 4, 5, 8 und 10 bis l4 sind FA-Module, die ähnlich wie beim Register 20 für einen einfachen Schiebere- : gisterbetrieb verdrahtet sind. Die Stufen 0 bis 3, 6, 7» 9 und 15 bis 17 weisen zusätzliche Rückkopplungseingänge auf. Während der Phase 1 im Durchlauf 1 empfängt die Stufe 0 Ziffern y. vom \ Register 20. In der Phase 2 wird die Formation in der Stufe 0 . ■ über die Leitung 70 jeweils in die Stufen 0 bis 3, 6, 7, 9 und 15 bis 17 rückgekoppelt und dort durch eine Modulo-2-Addition mit der bereits in diesen Stufen gespeicherten Information vereinigt. Die Rückkopplung (F) wird durch einen Impuls vom Zähler 28 (Klemme φ-) über ein Gatter 72 (dessen Funktion noch beschrieben werden wird)einen Inverter 74 (Fig. 7)<und ein Gatter 76 ausgelost. In der Phase 3 wird die Information im Register 52 durch den gleichen Impuls, der die Verschiebung im Register 20 bewirkt, zyklisch um eine Stufe nach rechts verschoben. In der
909834/1269
Phase 0 treten im Register 52 keine Änderungen auf.
Im Register 52 werden wegen der Rückkopplungsverbindugen und der Tatsache 3 daß die Merkmalziffern s· voneinander abhängen, praktisch alle 63 Merkmalziffern s· errechnet, obwohl dieses Register nur 18 Stufen aufweist. Da s„ durch die ersten K empfangenen Ziffern y. vollständig bestimmt ist, erscheint außer-
dem sK in der Stufe 0 in der Phase 3 nach dem Eintreffen von yK~. Zu diesem Zeitpunkt und während des Restes des Durchlaufs 1 und des gesamten Durchlaufs 2 zählt ein CLCL-Zähler 8Q zur Ermittelung der längsten Reihe von Merkmalziffern 0. Alle s· für K<j<N-l werden also durch den Zähler 80 zweimal abgetastet (einmal im Durchlauf 1 und einmal im Durchlauf 2), so daß auch eine Reihe von Nullen j die.s„ überspannt, ermittelt wird. . -
Nach der Beendigung des Durchlaufs 1 öffnet der Schalter 5O3 da alle empfangenen Ziffern dann in das Register eingespeist worden sind. Die empfangene Information führt dann während des Durchlaufes 2 einen weiteren Zyklus im Register durch.
Der Zähler 80 (Figo 45 6 und 8) besteht auszwei Zählwerken C1 und C9, die, jeweils vier Flipflop-Stufen 82, 84 auf- „-weisen. Das Zählwerk C
beginnt mit dem ersten s.; (j>K)das 0 ist,
in Durchlauf 1 zu zählen (alle Zählvorgänge laufen während der Phase 2 ab). Dieses Zählen wird durch eine Klemme C* vom Ausgangs signal eines NOR-Gatters 90 (Fig. 4), das seinerseits aus zwei parallelen NAND-Gattern 92 und 94 besteht (Fig. 4) ausgelöst. Das Ausgangssignal des Gatters 90 ist nur dann eine 0, wenn entweder alle Eingangssignäle des Gatters 92 den Wert 1 haben.oder wenn alle Eingangssignale des Gatters 94 den Wert 1 haben; Eine Betrachtung der Eingänge des Gatters 92 zeigt, daß an allen während des Durchlaufs 1 eine 1 liegt, wenn j>iv und s^=0 während der Phase 2 ist. Während des Durchlaufs 2 steuert ein Gatter -9.4 in entsprechender Weise das Weiterschalten des Zählwerks C>. Das Eingangssignal für das Gatter 94 von einer Klemme f des Zählers 28 ist immer 1, außer wenn eine Kette von Merkmalziffern 0 mit j>K beginnt, da Ketten, die vollständig zwischen den Stellen K und N-I enthalten sind, nicht in Betracht gezogen werden.
909834/1269
-H- - ■ I
... ■- . ■ j
Wenn das Zählwerk C1 das Ende einer Kette von s·= O erreicht, hört es auf weiter zu schalten und der erreichte Zählwert wird in der Phase 2 sofort über Leitungen 100 in das Zählwerk C2 eingegeben. Dies erfolgt durch einen Dreifach-NOR-Gatter-Kreis 102j (Fig. 4). Der Kreis 102 enthält ein NAND-Gatter 104 (das zum Löschen des Zählwerks Cp bei der Beendigung der Entschlüsselung dient, wie noch erläutert wird)^ eine NAND-Gatter-Parallelschaltung 106 (die beim Durchgang 3 in der unten beschriebenen Weise verwendet wird) und eine NAND-ParalleIsehaltung 108, die einen einer 0 entsprechenden Impuls an eine C^Cp-Klemme des Zählers 80 liefert, wenn s.=l. im Dutthlauf 2, Phase 2.9 ist und dadurch das sofortige Weiterschalten des Zählwerks C2 auf den Zählwert des Zählwerkes C1 veranläßt. Selbstverständlich tritt eine solche Zählwertübertragung niemals während des Durchlaufes 1 auf, da jede Kette von s.=0, die im Durchlauf 1 endet, vollständig zwischen . ; den Stellen K und N-I enthalten ist und nicht in Betracht gezogen : wird. Wenn ferner eine solche Kette von Nullen im Durchlauf 1 j endet, muß das Zählwerk C1 auf 0 zurückgestellt werden. Eies ge- I schieht durch eine NAND-Gatter-Parallelschaltung 110 (Fig. 4), ,
0 =
die immer dann einen Impuls an eine C1 -Klemme des Zählwerkes C1 liefert, wenn s. =1 während der Phase 2 des Durchlaufes 1 mit
J
j>. K ist, wie eine Betrachtung der Eingänge des Gatters 110 zeigt.
j Wenn eine zweite Kette von s.=0 beginnt, zählt das Zähl- !werk Cp von dem Zählwert von C1 praktisch rückwärts, bis es den j Wert 0 erreicht oder die zweite Kette zu Ende ist (tatsächlich zählt das Zählwerk C„ entsprechend dem Komplement des Zählwertes ; von C1 und nicht wirklich rückwärts). Dies erfolgt durch eine : ;Klemme C" des Zählwerkes Cp unter Steuerung durch eine NAND- ; Gatter-Parallelschaltung 120. Wie ersichtlich, kann die Gatterschaltung 120 während des Durchlaufes 1 oder wenn der Zählwert von C2 Null ist (die Klemme CL des Zählers 80 befindet sich zu diesem Zeitpunkt im logischen Zustand 0), keine Impulse liefern. •Während das Zählwerk C2 abwärts zählt, wird das Weiterschalten des Zählwerkes C1 durch die Verbindung der Klemme C2 des Zählers 80 über einen Inverter 122 mit einem Eingang des Gatters 94 verhindert. .
909834/1269
--12-
Wenn die zweite Kette vons·=0 endet, bevor das Zählwerk -C2 den Wert Null· erreicht" hat, wird das Zählwerk C2 durch -das Gatter 108 wieder in,den Zustand des Zählwerkes C1 gebracht. Wenn jedoch das Zählwerk C1 den Wert 0 erreicht, zählt das Zählwerk C1 wieder unter Steuerung durch das Gatter $M weiter, bis die Kette von Nullen endet. .. /
Die obigen Vorgänge wiederholen sich, bis das Zählwerk C1 am Ende des Durchlaufes 2 die Länge der längsten Kette von s.=0, die nicht vollständig zwischen den Stellen K.und N-I ent-
halten ist, angibt. '
Die tatsächliche Entschlüsselung erfolgt während des Durchlaufes 3. Bei Beginn des Durchlaufs 3 nimmt der Eingang 6 la des NAND-Gatters 6l des Registers 20.den logischen Zustand Null an, um ein weiteres Kreisen der empfangenen Ziffern während der Verschiebungen im Register 20 zu verhindern, so daß das. Register am Ende des Durchlaufs 3 frei ist. Die Ziffern.y.,y werden
i'
nacheinander denNAND-Gatterη 130bzw. 132 zugeführt, wou y. entweder korrigiert oder unverändert übertragen wird. Dies geschieht wie folgt:
Das Register 52 erzeugt während des Durchlaufs 3 weiter die Merkmals ziffern s·. Sobald einige s.=0 sind, wird das Zählwerk-I durch das Gatter 106 auf den Zählwert des Zählwerkes
eingestellt. Wenn die Kette von s.=0 andauert, zählt das Zählwerk C9 unter Steuerung durch das Gatter 120 abwärts« Wenn die Kette endet, baor C2 den Wert Null erreicht, wird das Zählwerk C2 beim Beginn der nächsten Kette s..s0 wieder zurückgestellt und zählt wieder abwärts, bis schließlieh die längste Kette erreicht ist und das Zählwerk C2 bei ihrem Ende den Wert 0 erreicht. Zu diesem ;Zeitpunkt weiß man nun, wie oben erläutert wurde, daß der Anfang jdes Fehlerbündels in den empfangenen Ziffern erreicht ist. Bis !zu diesem Punkt war das Ausgangssignal des NAND-Gatters 140 (Fig. 4) eine logische Eins, da seine Klemme l40ä eine Null führt, bis tier Zählwert des Zählwerkes C2 Null ist; da das Ausgangssignal des Gatters l4o über den Inverter 142 dem Gatter 130 zugeführt wird, wird die Klemme 13Oa auf Null gehalten und die Klemme 132a
909834/1269
des Gatters 132 führt eine 1; Das Ausgangssignal des Gatters 133 ist daher O für s·= 1 und 1 für s.=O. Wenn jedoch das Zählwerk C2 den Wert Null erreicht, nimmt die Klemme 140a den Wert 1 an und das Gatter 14.0 liefert als Ausgangssignal für alle folgenden s.=l eine Null. Die Klemme 132a wird daher auf 0 gehalten und 130a auf 1, das Ausgangssignal des Gatters 133 ist daher 0, wenn s-=l und 1, wenn s-=0 ist, wobei die gewünschte Korrektur . durchgeführt wird. ' .
Sobald das Zählwerk C2 beim Durchgang 3 den Viert Null erreicht, wird das Ausgangssignal des Gatters 73 (Fig. 4) zu 0 und das des Gatters 72 zu 1, wodurch die Rückkopplung im Merkmalregister 52 während des Korrekturteiles der Entschlüsselung unterbrochen wird. .
Der Hauptzähler 28 (Pig. 5) hat drei Hauptaufgaben: erstens die empfangene Ziffer y., die verarbeitet wird, zu ver-
folgen; zweitens vier Phasen (φ,^,Φ-,,Φο und φ,) zeitlich nacheinander für jede Ziffer vorzusehen und drittens die Anzahl der Durchläufe P., P2, P, durch das Codewort, das verarbeitet wird, zu verfolgen. Die oberen sechs Flipflops im Schaltbild dienen ■ zur Verfolgung von j, die beiden Flipflops links unten dienen zur Verfolgung der Phase und die beiden Flipflops rechts unten zählen die Durchlaufnummer und liefern nach dem. Durchlauf 3 einen; Lösch- und Speicherimpüls über eine Ausgangsklemme CL. Die zwölf Flipflops sind auf drei Platten Am B und C montiert und zwar jeweils vier auf einer Platte, wobei die Nummer in Fig. 5». die jewells auf die Buchstaben A, B oder C folgt, die Lage des betreffenden Flipflops^ auf der zugehörigen Platte angibt.
Bei dem hier behandelten speziellen Code ist die Block-: länge 63 und j läuft von 0 bis 62. Aus dem Schaltbild ist ersichtlich, daß der Taktimpuls nach der Phase 3 von j=62 die Phase auf 0 und j auf 63 ändert, wodurch j sofort auf 0 zurückgestellt wird. Ein Code mit einer willkürlichen Blocklänge N kann verarbeitet werden, indem man die Anzahl der Stufen im oberen Zählwerk entsprechend wählt und die NAND-Gatterschaltung oberhalb
909834/1269
des oberen Zählwerkes so ändert, daß j auf 0 zurückgestellt wird,
wenn j=N wird. ' .
Der Flipflop A3 gibt an, ob die Ziffer y., die verar-
J -
beitet wird, eine Informationsζiffer oder eine Prüfziffer ist,
oder im vorliegenden Falle, ob j größer oder gleich 45 ist. Die NAND-Gatterschaltung, die j=45 errechnet, kann ebenfalls für eine willkürliche Anzahl K von Informationsziffern ausgelegt werden.
Der Flipflop B3 stellt schließlich während des Durchlaufes 2 fest, ob irgend ein s-=l für j>K aufgetreten ist.
Nach Beendigung des Durchlaufes 3 ist das Register 20 frei. Der Lösch- und Speicherimpuls bewirkt dann, daß ein neuer Block in das Register 20 eingegeben wird, während gleichzeitig ; das Zählwerk C. durch die Gatter fl und 111 (Fig.4) zurückgestellt und das Register 52 gelöscht wird.
Die Änderungen der beschriebenen-Schaltungen für andere Werte von, N und K sind unmittelbar einleuchtend. Die Anzahl der Stufen im Dateneingangsregister ist-N, die Anzahl der Stufen im Merkmalregister ist N-K, und die Rückkopplungsverbindungen im V Merkmalregister entsprechen den Koeffizienten von g(t)..Schließlich müssen die NAND-Gatter, die N und K im Hauptzähler errechnen, geändert werden und die Zählweke C., und C2 müssen genügend Stufen aufweisen, um bis N-K-b1 zählen zu können. .
Bei einer anderen Ausführungsform werden die Koeffizienten von s(t) aus der Gleichung (4) direkt errechnet 3 wie
Fig. 9 zeigt. Die Entschlüsselung kann dann in zwei Durchläufen j anstelle- von dreien durchgeführt werden und das' Merkmalregister kann entfallen. Diese Ausführungsform wird vorgezogen, wenn eine ■ Umlauf-Verzögerungsleitung anstelle des Informationsregisters
: verwendet wird,.ferner für Code mit kleiner Rate, bei denen : \ K<N-K ist. . . , - - . ■ ■ ; .; . L /\
Für nichtbinäre zyklische Code können be.ide Ausfüh-'.. .-rungsformen verwendet werden, das Schaltbild müßte dann jedoch
erheblich geändert werden, um ein Speichern und Rechnen.; im zugehörigen Galois-Feld zu gewährleisten.
909 834/126 9

Claims (6)

  1. Patentansprüche
    -1. Fehlerbündel korrigierende Entschlüsselungseinrichtung für einen zyklischen Blockcode, bei dem die Codeblocklänge gleich N und die Anzahl der Informationsziffern im Block gleich K ist, mit einer Anordnung zum Empfangen der Blöcke, einer Anordnung zum Erzeugen von N Ziffernmerkmalfolgen für die empfangenen Blöcke, einer"Logikschaltung zum Auswerten der Merkmalfolgen und einer auf die Logikschaltung ansprechenden Kombinierschaltung zum linearen Vereinigen von Merkmalziffern mit entsprechenden Ziffern der empfangenen Blöcke, dadurch g ek e η η ζ e i c hn e t, daß die Logikschaltung eine Ortungsvorrichtung enthält^ die eine geeignete Reihe von aufeinanderfolgenden Merkmalziffern Null in jeder Merkmalfolge ortet und auswählt, wobei die Reihen mindestens einige Reihen umfassen, die kürzer als N-K-b' sind, und daß eine auf die Ortungsvorrichtung ansprechende Anordnung vorgesehen ist, die bewirkt, daß die Kombinierschaltung diejenigen Merkmalziffern, die unmittelbar auf die ausgewählte Reihe von J Nullen folgen, mit entsprechenden empfangenen Ziffern vereinigt.
  2. 2. Einrichtung nach Anspruch !,dadurch gekennzeichnet, daß die Ortungsvorrichtung so aufge- ! baut und ausgebildet ist, daß sie die längste Heine von aufein-I anderfolgenden Herkraalziffern Null auswählt, welche nicht vollständig zwischen den Stellen K und N-I einschließlich in einer gegebenen Merkmalfolge enthalten ist,
  3. 3. Einrichtung nach Anspruch 2, dadurch g e- !kennzeichnet, daß die Logikschaltung eine Anzahl von zusammenarbeitenden Zählwerken (CL3 C2) enthält, von denen ein erster durch gewöhnliches Rechnen einen Zählwert zu liefern vermag, der in Beziehung zur. Länge einer ersten Reihe von Nullen, ^ die in der Merkmalfolge auftreten, steht, während ein zweites Zählwerk diesen Zählwert aufzunehmen und von diesem entsprechend der Länge einer zweiten Reihe von Nullen schrittweise abwärts zu zählen und eine Anzeige zu liefern vermag, wenn der Zählwert im
    90963.4/1260 '■■■■'"..
    Ver laufe der. zweiten Reihe vollständig abgezählt wird, um zu bestimmen, welche der beiden Reihen dielängere ist.
  4. 4. Einrichtung nach Anspruch 3;» d a d u r c h g ek enηζ e ic h.n et, daß der erste Zähler auf die Anzeige anspricht und entsprechend dem restlichen Teil der zweiten Reihe, wieder zu zählen beginnt, so daß sein Zählwert der Länge der längeren der beiden Reihen von Nullen in der Merkmalfolge entspricht und daß der zweite Zähler so ausgebildet ist,,daß er das Abwärtszählen bei folgenden Reihen von Nullen wiederholt, bis schließlich der endgültige Zählwert im ersten Zählwerk der Länge der längsten Reihe entspricht.
  5. 5i Einrichtung nach Anspruch 2, dadurch g e k*e η η ze ic h η e t, daß die Ortungsvorrichtung so aufgebaut und ausgebildet ist, daß sie die Reihe durch Auswerten der Merkmalziffern in der Reihenfolge ihres Auftretens in der Folge auswählt, wobei mit einer gegebenen Merkmalziffer begonnen wird und daß zwei Durchläufe durch mindestens einen Teil der Merkmalj ziffern, die die .gegebene Ziffer enthalten, vorgesehen sind,
  6. 6. Einrichtung insbesondere nach Anspruch 1 für einen digitalen Pehlerkorrektureode,aus dem eine Binärfolge erzeugbar ist, g e k e η η ze. ich η e t d u r c h eine Anzahl von zusammenarbeitenden Zählwerken, von denen ein erstes in, der Lage ist, durch gewöhnliches Errechnen einen Zählwert zu erzeugen, der in Beziehung zur Länge eines ersten Reihe von Nullen, die in der Folge angetroffen werden, steht, während ein zweiter Zähler so geschaltet ist, daß er diesen Zählwert aufzunehmen und von ihm entsprechend der Länge einer zweiten Reihe von Nullen schrittweise abxrärts zu zählen sowie eine Anzeige zu liefern : vermag, wenn der Zählwert im Verlaufe der zweiten Reihe ganz rück-f '■ wärts gezählt worden ist, wodurch festgestellt werden kann, wel-■■■ ehe der Reihen die längere ist.
    909834/1269
DE19691905138 1968-02-07 1969-02-03 Fehlerbuendei korrigierende Entschluesselungseinrichtung Pending DE1905138A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US70374968A 1968-02-07 1968-02-07

Publications (1)

Publication Number Publication Date
DE1905138A1 true DE1905138A1 (de) 1969-08-21

Family

ID=24826627

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691905138 Pending DE1905138A1 (de) 1968-02-07 1969-02-03 Fehlerbuendei korrigierende Entschluesselungseinrichtung

Country Status (5)

Country Link
US (1) US3542756A (de)
DE (1) DE1905138A1 (de)
FR (1) FR2001482A1 (de)
GB (1) GB1224423A (de)
NL (1) NL6901989A (de)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3725859A (en) * 1971-06-14 1973-04-03 Texas Instruments Inc Burst error detection and correction system
US3742449A (en) * 1971-06-14 1973-06-26 Texas Instruments Inc Burst and single error detection and correction system
US3859630A (en) * 1973-01-29 1975-01-07 Burroughs Corp Apparatus for detecting and correcting errors in digital information organized into a parallel format by use of cyclic polynomial error detecting and correcting codes
JPS55149551A (en) 1979-05-10 1980-11-20 Toshiba Corp Data correcting circuit
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
EP0159403A3 (de) * 1984-04-27 1987-11-11 Siemens Aktiengesellschaft Anordnung zur Korrektur von Bündelfehlern in verkürzten zyklischen Blockcodes
US7107511B2 (en) 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US7383485B2 (en) * 2000-09-12 2008-06-03 Broadcom Corporation Fast min*- or max*-circuit in LDPC (low density parity check) decoder
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) * 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US7587659B2 (en) * 2002-05-31 2009-09-08 Broadcom Corporation Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
US7139964B2 (en) 2002-05-31 2006-11-21 Broadcom Corporation Variable modulation with LDPC (low density parity check) coding
US7197690B2 (en) * 2002-05-31 2007-03-27 Broadcom Corporation Bandwidth efficient coded modulation scheme based on MLC (multi-level code) signals having multiple maps
US7447985B2 (en) * 2002-08-15 2008-11-04 Broadcom Corporation Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders
US7409628B2 (en) 2002-08-15 2008-08-05 Broadcom Corporation Efficient design to implement LDPC (Low Density Parity Check) decoder
US7395487B2 (en) * 2002-08-15 2008-07-01 Broadcom Corporation Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
US7350130B2 (en) * 2002-08-15 2008-03-25 Broadcom Corporation Decoding LDPC (low density parity check) code with new operators based on min* operator
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7216283B2 (en) * 2003-06-13 2007-05-08 Broadcom Corporation Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals
US7296216B2 (en) * 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
US20040157626A1 (en) * 2003-02-10 2004-08-12 Vincent Park Paging methods and apparatus
JP4373340B2 (ja) * 2003-02-26 2009-11-25 クゥアルコム・インコーポレイテッド 反復復号のためのソフト情報スケーリング
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
US7434145B2 (en) * 2003-04-02 2008-10-07 Qualcomm Incorporated Extracting soft information in a block-coherent communication system
US7231557B2 (en) * 2003-04-02 2007-06-12 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
US8196000B2 (en) * 2003-04-02 2012-06-05 Qualcomm Incorporated Methods and apparatus for interleaving in a block-coherent communication system
US7383493B2 (en) * 2003-06-13 2008-06-03 Broadcom Corporation LDPC (Low Density Parity Check) coded modulation hybrid decoding using non-Gray code maps for improved performance
US7322005B2 (en) * 2003-06-13 2008-01-22 Broadcom Corporation LDPC (Low Density Parity Check) coded modulation symbol decoding using non-Gray code maps for improved performance
US7159170B2 (en) * 2003-06-13 2007-01-02 Broadcom Corporation LDPC (low density parity check) coded modulation symbol decoding
US7185270B2 (en) * 2003-07-29 2007-02-27 Broadcom Corporation LDPC (low density parity check) coded modulation hybrid decoding
US7436902B2 (en) * 2003-06-13 2008-10-14 Broadcom Corporation Multi-dimensional space Gray code maps for multi-dimensional phase modulation as applied to LDPC (Low Density Parity Check) coded modulation
US7237181B2 (en) 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
US7383487B2 (en) * 2004-01-10 2008-06-03 Broadcom Corporation IPHD (iterative parallel hybrid decoding) of various MLC (multi-level code) signals
US7149953B2 (en) 2004-02-03 2006-12-12 Broadcom Corporation Efficient LDPC code decoding with new minus operator in a finite precision radix system
US7281192B2 (en) * 2004-04-05 2007-10-09 Broadcom Corporation LDPC (Low Density Parity Check) coded signal decoding using parallel and simultaneous bit node and check node processing
US7243287B2 (en) * 2004-05-03 2007-07-10 Broadcom Corporation Decoding LDPC (Low Density Parity Check) code and graphs using multiplication (or addition in log-domain) on both sides of bipartite graph
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
US7559010B2 (en) * 2004-08-18 2009-07-07 Broadcom Corporation Short length LDPC (Low Density Parity Check) code and modulation adapted for high speed Ethernet applications
US7515642B2 (en) * 2004-08-25 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coded 128 DSQ (Double Square QAM) constellation modulation and associated labeling
US7587008B2 (en) * 2004-08-25 2009-09-08 Broadcom Corporation Decoding error correcting codes transmitted through multiple wire twisted pair cables with uneven noise on the wires
US7401283B2 (en) * 2004-09-28 2008-07-15 Broadcom Corporation Amplifying magnitude metric of received signals during iterative decoding of LDPC (Low Density Parity Check) code and LDPC coded modulation
US7516390B2 (en) * 2005-01-10 2009-04-07 Broadcom Corporation LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems
US7536629B2 (en) 2005-01-10 2009-05-19 Broadcom Corporation Construction of LDPC (Low Density Parity Check) codes using GRS (Generalized Reed-Solomon) code
US7617441B2 (en) 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7549105B2 (en) * 2005-01-10 2009-06-16 Broadcom Corporation Construction of irregular LDPC (low density parity check) codes using RS (Reed-Solomon) codes or GRS (generalized Reed-Solomon) code
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
US7500172B2 (en) * 2005-02-26 2009-03-03 Broadcom Corporation AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US20060242530A1 (en) * 2005-03-31 2006-10-26 Nec Laboratories America, Inc. Method for constructing finite-length low density parity check codes
US7447984B2 (en) 2005-04-01 2008-11-04 Broadcom Corporation System correcting random and/or burst errors using RS (Reed-Solomon) code, turbo/LDPC (Low Density Parity Check) code and convolutional interleave
US7447981B2 (en) * 2005-04-01 2008-11-04 Broadcom Corporation System correcting random and/or burst errors using RS (Reed-Solomon) code, turbo/LDPC (Low Density Parity Check) code and convolutional interleave
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
US7617442B2 (en) * 2005-07-18 2009-11-10 Broadcom Corporation Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
CN1959648B (zh) * 2005-10-31 2010-11-03 国际商业机器公司 创建纠错编码方案的方法和减少数据损失的设备
US7661055B2 (en) * 2005-12-05 2010-02-09 Broadcom Corporation Partial-parallel implementation of LDPC (Low Density Parity Check) decoders
US7530002B2 (en) * 2006-01-03 2009-05-05 Broadcom Corporation Sub-matrix-based implementation of LDPC (Low Density Parity Check) decoder
US7617433B2 (en) * 2006-01-03 2009-11-10 Broadcom Corporation Implementation of LDPC (low density parity check) decoder by sweeping through sub-matrices
US7631246B2 (en) * 2006-01-09 2009-12-08 Broadcom Corporation LDPC (low density parity check) code size adjustment by shortening and puncturing
US8091009B2 (en) 2006-03-23 2012-01-03 Broadcom Corporation Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise
US7689896B2 (en) * 2006-06-21 2010-03-30 Broadcom Corporation Minimal hardware implementation of non-parity and parity trellis
US7752529B2 (en) * 2006-07-26 2010-07-06 Broadcom Corporation Combined LDPC (low density parity check) encoder and syndrome checker
KR100772547B1 (ko) * 2006-08-31 2007-11-02 주식회사 하이닉스반도체 반도체 장치 및 그의 테스트 방법
US7644339B2 (en) * 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US8151171B2 (en) * 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US7958429B2 (en) * 2007-07-02 2011-06-07 Broadcom Corporation Distributed processing LDPC (low density parity check) decoder
US20090013239A1 (en) * 2007-07-02 2009-01-08 Broadcom Corporation LDPC (Low Density Parity Check) decoder employing distributed check and/or variable node architecture
US8010881B2 (en) * 2007-07-02 2011-08-30 Broadcom Corporation Multi-code LDPC (low density parity check) decoder
CN101689968B (zh) * 2007-07-13 2012-11-07 松下电器产业株式会社 发送装置和发送方法
CN104579571A (zh) * 2015-01-15 2015-04-29 山东超越数控电子有限公司 一种基于ldpc编码的数据存储方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3155818A (en) * 1961-05-15 1964-11-03 Bell Telephone Labor Inc Error-correcting systems
NL293300A (de) * 1962-05-31
US3317716A (en) * 1963-07-22 1967-05-02 Louis W Ducote High speed reversing counter
US3418629A (en) * 1964-04-10 1968-12-24 Ibm Decoders for cyclic error-correcting codes
US3437995A (en) * 1965-03-15 1969-04-08 Bell Telephone Labor Inc Error control decoding system
US3391342A (en) * 1965-11-22 1968-07-02 Janus Control Corp Digital counter

Also Published As

Publication number Publication date
GB1224423A (en) 1971-03-10
US3542756A (en) 1970-11-24
FR2001482A1 (de) 1969-09-26
NL6901989A (de) 1969-08-11

Similar Documents

Publication Publication Date Title
DE1905138A1 (de) Fehlerbuendei korrigierende Entschluesselungseinrichtung
DE19747774B4 (de) Reed-Solomon-Decoder zur Verwendung beim verbesserten Fernsehen (ATV)
DE69424877T2 (de) Reed-solomon-dekoder
DE2357004A1 (de) Verfahren und einrichtung zur fehlerkorrektur fuer daten
DE3231956A1 (de) Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes
DE2230733C3 (de) Elektronische Digitaluhr
DE19838865A1 (de) Parallele CRC Erzeugungsschaltung zum Erzeugen eines CRC Codes
DE2153542A1 (de) Codierer für eine binäre Informationsbitfolge
DE3852648T2 (de) Hypersystolischer reed-solomon-encoder.
DE1449334A1 (de) Datenverarbeitungsanlage
DE3702697C2 (de)
DE1296192B (de) Binaere Codeschaltung
DE2406485A1 (de) Schaltungsanordnung zum vergleich der frequenzen von zwei impulszuegen
DE2828285A1 (de) Verfahren und vorrichtung zur erzeugung und verarbeitung elektrischer impulse
DE2244741C3 (de) Anordnung zur digitalen Messung einer physikalischen Größe durch einen Impulszähler mit ganzer invariabler Zählbasis
DE69008896T2 (de) Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage.
DE1911175C3 (de) Chiffriereinrichtung
DE1574660B2 (de) Schieberegister hoher geschwindigkeit
DE1018657B (de) Mit Impulsgruppen nach der binaeren Zaehlweise arbeitendes Rechengeraet
DE2163105A1 (de) Verfahren und schaltungsanordnung zum dekodieren und korrigieren eines sogenannten convolutional-code
DE1524884C3 (de) VerfahFen und Schaltungsanordnung zur Übertragung digitaler Nachrichten unter Bildung und Einfügung von Prüfbits
EP0267499B1 (de) Verfahren zur Paritätsbitermittlung und zur Überwachung der Übertragung beim Datenschieben sowie Schaltungsanordnung zur Durchführung der Verfahren
DE2300505A1 (de) Vorrichtung zur schwellwertdecodierung
DE2704258C3 (de) Digital-Analog-Wandler
DE1449906C (de) Dekodierer zum Verarbeiten redundan ter Digitalfolgen eines systematischen Ko