DE3104762A1 - System zur binaeren datenuebertragung - Google Patents
System zur binaeren datenuebertragungInfo
- Publication number
- DE3104762A1 DE3104762A1 DE19813104762 DE3104762A DE3104762A1 DE 3104762 A1 DE3104762 A1 DE 3104762A1 DE 19813104762 DE19813104762 DE 19813104762 DE 3104762 A DE3104762 A DE 3104762A DE 3104762 A1 DE3104762 A1 DE 3104762A1
- Authority
- DE
- Germany
- Prior art keywords
- bits
- shift register
- information
- correction
- code
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Description
3104752
D.Roth 1-1-1
System zur binären Datenübertragung
Die Erfindung bezieht sich auf ein System zur binären Datenübertragung,
das Codierer und Decodierer mit Fehlererkennungsund Korrektur-Einrichtung enthält'.
. In solchen Systemen besteht aufgrund unvermeidlicher Störungen immer eine gewisse Wahrscheinlichkeit für den Emp-•
fang von falschen Zeichen. Um bei der Decodierung verfälschte Binärinformation zu erkennen und zu korrigieren, ist eine
Vielzahl von Verfahren bekannt geworden, so· zum Beispiel in dem Buch "Error-Corre.cting-Codes" von W.W.Peterson und E.I.
Weldon, The' M.I.T. Press, Cambride, Mass./USA second edition,
19 72 auf .den Seiten 289 bis 308. ' ' .
Mit den dort beschriebenen Decodierungsverfahren von binären
Boser-Chaudhuri-Hocquenghem-Codes (BCH-Codes), die auf· dem
Berlekanip-Massey-Algorithmus beruhen, können in einem Codewort
in Abhängigkeit vom Minimalabstand m zwischen allen Codewörtern alle höchstens f-fachen Fehler korrigiert werden.
Es gilt dabei m = 2f + 1.
Verwendet man binäre BCH-Codes, so lassen' sich die Codierer . und Decodierer aus einfachen Schieberegisterschaltungen aufbauen,
da BCH-Codes sogenannte zyklische Codes sind.
• . Decodier-Schaltungen für verkürzte BCH-Codes, die nicht .
: ί ■ · : * ·- : 3 I U 4 / bZ
D.Roth 1-1-1
mehr zyklisch sind, erfordern dagegen einen zusätzlichen
Aufwand in Form von etwas komplizierteren logischen Schaltungen und deren Steuerung.
Aufgabe
Es ist Aufgabe der Erfindung, ein System der eingangs genannten Art anzugeben, das im Decodierer die potentielle
Fehlerkorrekturfähigkext des Codes ausnutzt, minimalen. Speicherplatz benötigt und dabei die Anzahl der Korrekturschrittfe
möglichst klein bleibt.
Lösung
Die Lösung dieser Aufgabe erfolgt mit den im Anspruch 1
angegebenen Mitteln. Vorteilhafte Weiterbildungen können den Unteransprüchen entnommen werden.
Vorteile
Durch die Fehlerkorrekturfähigkext des Decodierers wird bei gleichem Verhältnis zwischen binärer Prüf- und Nutzinformation
eine größere übertragungssicherheit als mit den bekannten BCH-Codes bei gleichen Parametern η und k
erreicht. Bei gleichen Forderungen an die Ubertragungssicherheit
wie bei BCH-Codes ist die Nutzinformation in . einem Codewort zu Lasten der Prüfinformation größer. Dies
führt dazu, daß die Menge an Nutzinformation, die in der Zeiteinheit übertragen werden kann., zunimmt.
• * . ft
D.Roth 1-1-1
Durch die schrittweise Fehlerkorrektur kömmt man zudem mit etwa einem Siebentel des die Korrekturinformation
enthaltenden Speicherplatzes aus wie bei den bekannten Verfahren.
Ein weiterer Vorteil besteht in der Verwendung quasizyklischer Codes, weil sich dadurch mit relativ einfachen
Schieberegisterschaltungen, ähnlich wie bei zyklischen Codes, die Codierung realisieren läßt. Außerdem kann
die Codierschaltung als wesentlicher Teil 'zur Berechnung
der Syndrome im Decoder verwendet werden.
Bei der Decodierung des verwendeten Codes werden alle bis zu zweifachen Fehler und ein erheblicher Teil der dreifachen
Fehler im Informationsteil des empfangenen Codewortes korrigiert. Das Decodierschema ist so ausgelegt, daß
sich von den korrigierbaren 4-fachen und· 5-fachen Fehlern im empfangenen Wort höchstens 3-fache Fehler im Informations-.teil
befinden können und damit diese Fehler mit höchstens Schritten korrigiert werden. Vergleichbare BCH-Codes können
mit einer auf dem Berlekamp-Massey-Algorithmus beruhenden Schaltung nur alle höchstens zweifachen Fehler korrigieren.
Weiterhin werden für solche zyklischen BCH-Codes im Decodierer komplizierte Rechen- und Logikschaltungen benötigt.
Ein zusätzlicher Vorteil ergibt sich aus der Tatsache., daß von allen möglichen korrigierbaren Fehlermustern sich höchstens
3 Bitfehler im informationstragenden Teil des Codewortes befinden.
Da eine klare zeitliche Trennung von'zwei verschiedenen
D.Roth 1-1-1
Taktphasen möglich ist, kann dadurch eine Beschleunigung der Decodierung erreicht werden.
• Beschreibung
Die Erfindung wird anhand von Zeichnungen eines Ausführungen
beispieles näher erläutert. Es zeigt:
Fig. 1 ein Blockschaltbild eines Codierers für einen
quasizyklischen (36, 24)-Code;
Fig. 2 im Blockschaltbild des Codierers gemäß Fig. 1 erwähnte Takte T1, T2 und T3;
. Fig. 3 ein Blockschaltbild eines Decodierers für den
quasizyklischen (36, 24)-Code;
Fig. 4 im Blockschaltbild des Decodierers gemäß Fig.3
erwähnte Takte T. bis Tg und
Fig. 5 ein Blockschaltbild eines anderen Schaltkreises
· im gestrichelt umrahmten Teil der Fig. 3.
Die Erfindung wird an einem Ausführungsbeispiel mit einem
quasizyklischen (36, 24)-Code beschrieben. Dieser Code besteht aus η - 36 Bits je Codewort mit k = 24 Bits als Nutzinformation
und n-k = 12 Bits als Prüfinformation. Der Code
heißt quasizyklisch, weil sich die Redundanz-Matrix in zyklische Teilmatrizen zerlegen läßt. Allgemein gesagt besteht
der quasizyklische Code aus Codewörtern in der Form 31, 2i für η und k mit i als ganze Zahl und ab 4.
ψ *
D.Roth 1-1-1
Obwohl der quasizyklische (36, 24)-Code kein zyklischer Code ist und der Code zunächst nur in Form der Generatormatrix vorliegt, muß zur Bildung eines Codewortes" keine'
in der Codierer-Schaltung nur sehr aufwendig realisierbare Matrizenmultiplikation durchgeführt werden. Durch
die speziellen Eigenschaften des Codes und die spezielle Zerlegung des Informationsteils eines Codewortes genügt
es, ein rückgekoppeltes Schieberegister mit einem Zusatzspeicher zu verwenden.
Im Decoder wird das Syndrom des empfangenen Wortes berechnet.
Unter einem Syndrom versteht man einen Zeilenvektor mit r Komponenten·, der dadurch entsteht, daß man ein
Codewort eines (n, k)-Codes als (1, n)-Matrix (Codevektor) auffaßt und diesen Codevektor mit der transponierten
(r, n) paritycheck-matrix (Kontrollmatrix) multipliziert.
Für r gilt dabei r = n-k. Ist das Syndrom nicht gleich
dem Nullvektor, besteht eine Unvereinbarkeit zwischen . · codierter und decodierter Information, wie sie zum Beispiel
durch Ubertragungsfehler hervorgerufen wird.
•12 Für den verwendeten Code ergeben sich 2 verschiedene
12
mögliche Syndrome. Jedem der (2 =) 4096 Syndrome ist die Position eines Bitfehlers im Informationsteil des empfangenen Wortes oder Null zugeordnet. Dabei gibt der Wert des Syndr.oms die Adresse eines Speicherplatzes an, der normalerweise die .Position eines falsch übertragenen Bits enthält. Enthält der Speicherplatz das Nullwort, so bedeutet dies, daß höchstens im Redundanzteil noch Bit-
mögliche Syndrome. Jedem der (2 =) 4096 Syndrome ist die Position eines Bitfehlers im Informationsteil des empfangenen Wortes oder Null zugeordnet. Dabei gibt der Wert des Syndr.oms die Adresse eines Speicherplatzes an, der normalerweise die .Position eines falsch übertragenen Bits enthält. Enthält der Speicherplatz das Nullwort, so bedeutet dies, daß höchstens im Redundanzteil noch Bit-
310/.7Γ,
D.Roth 1-1-1
fehler liegen können. Weitere Syndromberechnungen werden dann nicht mehr durchgeführt. Da nach der Decodierung
lediglich der Informationsteil von 24 Bit von Interesse»
ist, genügen 5 Bits zur Kennzeichnung der Position eines Bitfehlers, was sich aus log2 k errechnet, als diejenige
ganze Zahl, die größer oder höchstens gleich diesem Wert ist, Nach.der eventuell erfolgten Korrektur eines Bitfehlers
wird erneut das Syndrom des korrigierten Wortes berechnet und ein wie oben beschriebener Vorgang durchgeführt. Nach
höchstens drei Korrekturschritten, das heißt nach dreimaliger Berechnung des Syndroms, sind im Informationsteil
des empfangenen Wortes alle korrigierbaren Fehler beseitigt worden. Das bedeutet, daß im Informationsteil bis zu
3 Bitfehler korrigiert wurden. · .
Der allgemeine Weg zur Codierung von binärer Nutzinformation eines Codewortes besteht darin, dieses als Vektor ■
aufzufassen und mit der Generatormatrix zu multiplizieren. Bei zyklischen Codes besteht eine Analogie zwischen Vektor
und Polynomdarstellung, was die Codierung und Decodierung
dieser Codes wesentlich erleichtert. Die einfachen Schieberegisterschaltungen,
wie sie auch in der Erfindung bei Codierer und Decodierer verwendet werden, erlauben nämlich
unter anderem die Addition, Multiplikation und Division von - Polynomen und damit die einfache Codierung von zyklischen
bzw. quasizyklischen Codes.
Zur Codierung der Nutzinformation des verwendeten quasizyklischen (36, 24)-Code, das heißt der Nutzbits UQ, U1
Oy?t müßte man diese daher mit der Generatormatrix G
multiplizieren, da dieser Code nicht zyklisch ist.
D.Roth 1-1-1
Zerlegt man·aber die Nutzinformation in ihre beiden Hälf-.
ten U , U1 ....U11 und U12, U1- .....U23, ist auch hier
. der Übergang zur Polynomdarstellung möglich. Dann ergibt sich für die beiden Hälften der Nutzinformation U1 (x) und
U9 (x) :
· 11
U1. (x) = Z— u 12+i *x±
i=o
11
u2 (χ) = Y2 υιχ1
Das Codepolynom c (x).hat dann die Darstellung:
?ά 1
c (χ) = U1(X)' . χ + U2(X) . κ + ρ (χ) . ·
Mit ρ (χ) als Prüfpolynom, das für den gewählten Code durch die Beziehung:
ρ (x) = ^U1(X) . g.,(x) + U2(x) . g2(x)\/(1+x12)
gebildet wird.
Aufgrund des gewählten Codes ergeben sich g., (x) und g2 (x) zu:
•g' (x) = 1 + χ + x3 + x5 + x7 + x10 + x11
g2 (x) = 1 + x5 + x7 + x9 + x10
31047G2
D.Roth 1-1-1
Fig. 1 zeigt das Blockschaltbild des Codierers und Fig.-2
die dazugehörigen Takte T1, T- und T3, an deren Zeitachse
die fortlaufenden jeweiligen Bittakte angeqeben sind.
Die ersten 12 Bits (Bit U bis U11) der an einem Eingang
1 liegenden Nutzinformation U1 (x), die von einer nicht
dargestellten Datenquelle kommt·, gelangen in einen Pufferspeicher
2 und gleichzeitig über ein UND-Gatter 3 mit dem Takt T1 und einem nachfolgenden ODER-Gatter 8 direkt zu
einem Ausgang 29. Der Pufferspeicher erlaubt die gleichzeitige Verarbeitung von zwei zyklischen Codehälften. Die
. nächsten 12 Bits (Bit U12 bis U23) der Nutzinformation
U2(x) gelangen aufgrund des Taktes T2 über ein UND-Gatter
an einen modulo-2-Addierer 21. Gleichzeitig gelangt U1(X)
aus.dem Pufferspeicher 2 über ein UND-Gatter 4 auch an den
modulo-2-Addierer 21, dessen Ergebnis gelangt an eine erste Stufe 9 eines Schieberegisters 30. Außerdem gelangt
U2(x) wieder über das UND-Gatter 3 und das ODER-Gatter 8
an den Ausgang 29. Die erste Stufe 9. mit den folgenden Stufen 10 bis 20 und der modulo-2-Addierer 21 mit den nachfolgenden
modulo-2-Addierern 22 bis 28 stellen eine Codierschältung
dar. Die Codierschaltung multipliziert gleich-' •zeitig die Polynome U1(X) mit g,.(x).und U2 (x) mit g2(x),
addiert die Multiplikationsergebnisse und bildet als Ergebnis das Prüfpolynom p(x) durch Division mit d(x) =
12 ■ -
1 + χ (UND-Gatter 6, das den Ausgang der Stufe 20 mit dem modulo-2-Addierer 21 verbindet und das vom Takt T2 gesteuert wird).
Am Ende des Taktes T2 steht das erste der 12 Prüfbits in
der Schieberegisterstufe 20, nach weiteren 12 Bittakten sind die 12 Prüfbits über ein an die Stufe 20 angeschlos-
D.Roth 1-1-1
senes UND-Gatter 7 (Takt T3) und das ODER-Gatter 8
der Nutzinforitiation angefügt worden. Am Ausgang 29 tritt auf diese Weise das Codepolynom c (x) bzw. die Bits c
bis C35 auf. Die sich anschließenden Sendeeinrichtungen
und der Ubertragungskanal sind nicht dargestellt, ebenso wie der erforderliche Taktgenerator.
Fig. 3 zeigt das Blockschaltbild des zyklischen Decodierers
und Fig. 4 die dazugehörigen Takte T4 bis Tg, an
deren Zeitachse die fortlaufenden, jeweiligen Bittakte angegeben sind. . .
Die vor einem Eingang 40 liegenden Empfängerteile sind . nicht dargestellt. Der Taktgenerator ist mit 39 bezeichnet.
Vom Eingang 40 her gelangen die ersten 12 Bits'des empfangenen 36 Bit-Wortes wegen des Taktes T4 bzw. T5
gleichzeitig über ein UND-Gatter 48 in einen Puffe.rspeieher
44 und über ein UND-Gatter 49 in ein .Vorregister 41 mit einem Serienausgang und 12 bitparallelen Ausgängen. Der
Pufferspeicher 44 erlaubt die gleichzeitige Verarbeitung von zwei zyklischen Codehälften.
Ein zweipoliger Umschalter 62 ist mit seinem ersten beweglichen
Arm mit dem Eingang eines UND-Gatters 51 und mit • 25 seinem zweiten beweglichen Arm mit dem Eingang eines UND-Gatters
5-2 verbunden, an die außerdem der Takt 7 anliegt.
Der erste Ruhekontakt dos Umschalters 62 ist mit dem
310V/Ü2 ·
D. Roth 1-1-1
Ausgang des Pufferspeichers 44 und der zweite Ruhekontakt mit dem Eingang 40 verbunden. Der erste Arbeitskontakt ist
.mit dem Ausgang eines aus zwei gleichen Hälften bestehenden,
je 12 Bit langen Summenregisters 42 und der zweite 5. Arbeitskontakt ist mit dem Mittenabgriff des Summenregisters
42 verbunden. Der Umschalter 62 wird vom Takt Tc
umgesteuert. Während des Taktes T, ist der zweipolige ümr schalter 62 in der oberen Stellung und wegen des Taktes T_
liegen die jeweiligen ersten und zweiten Informationshälften U1 (χ) bzw. U2 (χ) gleichzeitig über die UND-Gatter 51
bzw. 52 an den Eingängen eines rückgekoppelten Schiebere-.· gisters 46, welches sich von dem in Fig. 1 gezeigten Schie-r
beregister 30 nur dadurch unterscheidet, daß jede seiner Stufen zusätzlich noch einen bitparallelen Ausgang hat. ·
. Mit Hilfe dieses Schieberegisters 46 werden während des Taktes T- die zu den empfangenen Informationsbits gehörenden
12 Prüfbits berechnet. Das Syndrom des empfangenen Wortes erhält man durch Addition dieser 12 Prüfbits zu
den im Vorregister 41 stehenden 12 Prüfbits des empfangenen Wortes. Die Addition erfolgt bitparallel mit 12 moduio-2-Addierern
60, die an die bitparallelen Ausgänge des Schieberegisters 46 angeschaltet sind.
Während des Taktes Tg gelangt das so erhaltene 12 Bit-Wort
durch 12 UND-Gatter 57 an den Adresseneingang eines Fest-Wertspeichers 45. Unter der damit aufgerufenen Adresse
steht die Position des fehlerhaften Informationsbits im empfangenen Wort, das den kleinsten Abstand vom Redundanzteil
hat. Da bei dem Fehlerkorrekturverfahren nur Bitfehler im Informationsteil korrigiert werden, genügen zur binären
Darstellung der möglichen Bitpositionen eines Bitfehlers 5 Bits, wie schon früher erläutert. Diese 5 Bits stehen am
Datenausgang 67 des Festwertspeichers 45 während des Taktes
• Il I I ( » -
* * ■ Ά V ϊ
- 14 -
D. Roth 1-1-1
T0 zur Verfügung. In einem nachfolgenden ümcodierer 47
werden diese 5 Bits in ein 24 Bit-Fehlermuster umgewandelt,
das nur eine einzige Eins an der durch die 5 Bits adressierten Bitposition aufweist. Dieses Fehlermuster
und der Inhalt eines aus zwei gleichen Hälften bestehenden, je 12 Bit langen Sicherstellungsregisters 43 werden
über je 12 modulo-2-Addierer 58 und 59 parallel in das
Summenregister 42 addiert, dessen Eingang über ein UND-Gatter
50 mit dem Ausgang des Vorregisters verbunden ist.
Der zweite Eingang des UND-Gatters 50 ist mit dem Takt T4
verbunden. Zuvor ergab sich der Inhalt des Sicherstellungsregisters 4 3 aus dem Informationsteil des empfangenen Wortes,
der während des Taktes Tg über je 12 UND-Gatter 53 •und 54 aus dem Summenregister 42 kopiert wurde. Sofern das
empfangene Wort ein korrigierbares Fehlermuster enthält., ist der im Summenregister 42 abgespeicherte Informationsteil
um den ersten von eventuell mehreren Bitfehlern korrigiert worden. Während des folgenden Taktes.T wird der
• ' Inhalt des Summenregisters 42 wiederum in das Sicherstel-
lungsregister 43 kopiert. ..
Mit dem korrigierten Informationsteil wird über das Schieberegister
46 nach dem oben beschriebenen Ablauf ein neues ■ Syndrom berechnet, wobei der Umschalter 62 jetzt in der un-•
.teren Stellung ist. Hat das Syndrom den Wert Null, so .steht
' am Datenausgang 67 des Festwertspeichers 45 ebenfalls ein Nullwort oder ein Hinweis auf Bitfehler, die sich ausschließlich
im Redundanzteil befinden. Der Ausgang eines NOR-Gatters 61,.das am Datenausgang 67 angeschlossen ist, liefert
dann eine logische "1", die die Ausgänge von je 12 UND-Gattern 55 und 56 freigibt, die mit.ihren jeweils anderen
Eingängen mit den Ausgängen des Sicherstellungsregisters
310A76.2
·. * 4 1
- 15 -
D.Roth 1-1-1
43 verbunden sind und die .din bereits wieder in das Sicherstelluiigsregister
43 kopierte Nutzinformation am Ausgang
68 zur Verfügung stellen. Die weitere Verarbeitung der Nutzinformation ist nicht dargestellt.·
Hat das Syndrom nicht den Wert Null und weist es außerdem auf weitere Bitfehler im Informationsteil hin, so wird
über den umgeschalteten Umschalter 62 mit dem korrigierten Informationsteil der oben beschriebene Vorgang noch einmal ·
wiederholt.
Mit einem Zähler 63 wird die Anzahl der Fehler im empfangenen
Wort über die Anzahl der Korrekturzyklen erfaßt, der Takt Tg löst die Zählung aus und stellt den Zählimpuls für
den Zähler 63 dar. über einen Ausgang 66 kann der Zählerstand
gleichzeitig mit der korrigierten Nutzinformation ausgegeben werden.
Diese Zählschaltung kann mit einem durch einen Schalter
64 einstellbaren Vergleicher 65 erweitert werden. Wenn das empfangene Wort einen Fehler enthält, der mehr Korrekturzyklen
erfordert als mit dem Schalter 64 eingestellt sind,' Zahl der Korrekturzyklen «= Schalterstellung (Fehlerzahl)
+1f wird die Korrektur abgebrochen und über ein UND-Gatter
69 ein Signal für Decodierversagen an einen weiteren Ausgang 70 ausgegeben. Die Korrekturfähigkeit des Decoders
kann damit so eingestellt werden, daß kein oder maximal ein, zwei oder drei Fehler im informationstragenden Teil des
empfangenen Codewortes korrigiert werden.
Wird die eingestellte Fehlerzahl erreicht, so gibt der Vergleicher
65 über ein ODER-Gatter 71 an den Taktgenerator ein Rücksetzsignal R, welches diesen in seinen Ausgangszu-
- 16 D. Roth 1-1-1
stand zurückstellt. Auch wenn der Decoder schon mit weniger Fehlern als eingestellt ein Wort korrigiert hat,
wird der Taktgenerator durch das Signal des ODER-Gatters 61 über das ODER-Gatter 71 rückgesetzt. Mit dem dann.vom
· Taktgenerator 39 abgegebenen Rücksetzsignal RS werden ausserdem
alle Arbeitsregister, mit Ausnahme vom Sicherstellungsregister 43, gelöscht.
Nach Beendigung des Taktsignals T. ist die Taktphase I beendet,
während der die Ablaufsteuerung des Decoders Empfangsbittakt synchron sein muß. In der anschließenden Taktphase
II kann der Ablauf schneller erfolgen, so. daß sich eine Verkürzung der Decodierzeit ergibt. Dies kann beispielsweise
durch Erhöhen der Frequenz des Taktgenerators erfolgen. ' · "
Bei Simplex betriebenen Sende/Empfangsgeräten mit den beschriebenen
Codierern und Decodierern kann das Schieberegister 46 im Decodierer auch als Schieberegister 30 im Codierer
benutzt werden (nicht dargestellt).
Diese Art der Decodierung erfordert eine Speicherkapazität von 4096 Speicherplätzen zu je 5 Bit. Ist der Speicherplatzbedarf
eine kritische Größe, so besteht eine Möglichkeit zur Halbierung der 4096 Speicherplätze.
Zur. Halbierung des Speicherplatzbedarfes ist ein relativ geringer
Aufwand an Zusatzlogik und ein zusätzlicher Zeitaufwand von 12 Schiebetäkten pro Korrekturschritt erforderlich.
Dafür fällt der ümcodierer etwas einfacher aus als der in Fig.3,
• Mit dem Takt T0 wurde bisher das Syridrom als Adresse für den
Festwertspeicher 45 freigegeben. Der Takt T„ gibt nun das
Syndrom frei zur bitparallelen Übernahme in ein rück- · gekoppeltes Schieberegister. In diesem Schieberegister
31047G2
- 17 -
D. Roth 1-1-1
wird die am weitesten rechts stehende Bitposition auf das Erscheinen einer binären Eins überprüft. In diesem Schieberegister
wird nun das Syndrom solange zyklisch verschoben bis nach spätestens elf Schritten in der überwachten
Bitposition eine binäre Eins steht oder es wird nach zwölf Schritten abgebrochen, falls das Syndrom Null ist. Ist das
■.Syndrom nicht Null, so geben die· ersten elf rechtsbündig
im Schieberegister stehenden Bits die Adresse eines Fest- ■ Wertspeichers an, in dem Null oder mit jeweils fünf Bits
gekennzeichnet, die Position eines Bitfehlers im 24.Bit umfassenden Informationsteil steht. Die fünf Bits für die
fehlerhafte Bitposition werden so zugeordnet, daß z.B. beim Wert Eins des fünften Bits der Fehler in der 1. Hälfte des
Informationsteils liegt und beim Wert Null des fünften Bits der Fehler in der zweiten Hälfte des Informationsteils
liegt (oder umgekehrt). ■
Im-Umcodierer werden die vier restlichen Bits in ein 12-Bitwort
umgewandelt und dieses in das Schieberegister eingeschrieben. Im Schieberegister werden die zu zwölf fehlenden
zyklischen.Vertauschungsschritte durchgeführt. Die Differenz der zu zwölf fehlenden Vertauschungsschritte ist bei
der Verschiebung des Syndroms und der überwachung der am weitesten rechts stehenden Bitposition des Schieberegisters
von einem Zähler erfaßt worden.
Nach dieser Anzahl von zyklischen Vertauschungsschritten
steht im Schieberegister das Fehlerwort, wobei das fünfte Bit aus dem Festwertspeicher angibt, ob dieses Fehlerwort
zur ersten oder zweiten Hälfte der Nutzinformation gehört. Durch bitparallele modulo-2-Addition wird anschliessend
die Korrektur der Nutζinformation vorgenommen. Die
restlichen Schritte verlaufen so, wie es bereits beschrie-
- 18 -
Π.Roth 1-1-1
ben wurde.
Das Blockschaltbild eines Ausführungsbeispieles für die
Reduzierung des Speicherplatzbedarfes auf 2047 Speicherplätze zu je 5 Bit zeigt die Fig. 5. Es kann ersatzweise
in Fig. 3 an der gestrichelt umrahmten Stelle eingefügt werden.
Zunächst wird das Syndrom in das 12-zellige Schieberegister
31 bitparallel übernommen. Der Ausgang des Schieberegisters wird von der Zusatzlogik 32 auf das Erscheinen
einer binären Eins überwacht. Falls der Ausgang des Schieberegisters eine binäre Eins führt., wird von der Zusatzlogik
32 kein Verschiebetakt geliefert. Ist der Ausgang
des Schieberegisters Null, so wird der Inhalt des Schieberegisters·
31 um jeweils eine Stelle verschoben, bis eine binäre
Eins erscheint. Die Anzahl der Stellenverschiebungen des Inhalts des Schieberegisters, bis wieder eine binäre Eins
an seinem Ausgang auftritt, liefert in einem auf die Zahl zwölf voreingestellten Zähler in der Zusatzlogik die Differenz der nachher mit dem Fehlermuster durchzuführenden
zyklischen Verschiebeschritte.
Sowie im Verlauf der Syndromverschiebungen eine binäre Eins
am Ausqang des Schieberegisters 31 auftritt, wird der Verschiebetakt
sowohl für das Schieberegister als auch für den voreingestellten Zähler in der Zusatζlogik weggenommen.
Durch ein Freigabesignal von der Zusatzlogik 32·gelangt
jetzt das zyklisch verschobene Syndrom mit den ersten elf rechtsbündig stehenden Bits als Adresse auf den Festwert-
- 19 -
D.Roth 1-1-1
•speicher 34. Die zu diesen elf Bits gehörende Bitposition wird an den ümcodierer 33 weitergegeben, der daraus ein
.2wölf-Bit-Wort als zugehöriges. Fehlermuster bildet. Dieses
'Fehlermuster wird in einen Zwischenspeicher 35 übernommen.
Gleichzeitig setzt die fünfte Bitpositioii aus dem Festwertspeicher
34 ein RS-Flipflop 36 .
Umschalter U1 bis U12 verbinden die Eingänge des Schie-•
befegisters 31 entweder mit den Ausgängen der modulo-2-Addierer
zur Übernahme des Syndroms oder mit den Ausgängen
des Zwischenspeichers 35 zur Übernahme des Fehlermusters.
Nach der Übernahme des Fehlermusters in den Zwischenspeicher 35 werden die Umschalter U1 bis U12 durch ein Steuersignal
aus der Zusatzlogik 32 umgeschaltet. Dadurch gelangt das Fehlermuster bitparallel in das· Schieberegister 31. Sowie
dieser Vorgang abgeschlossen ist, wird von der Zusatzlogik 32 erneut der Verschiebetakt an das Schieberegister .31 und
den Zähler angelegt. Der Inhalt des Schieberegisters 31 muß solange verschoben werden, bis der Zähler die Differenz Null
anzeigt.■
Umschalter V1 bis V12 verbinden die Ausgänge des Schieberegisters
31 entweder mit den Eingängen des Festwertspeichers 34 zur Eingabe der Adresse oder mit den Eingängen von zweimal
12 UND-Gattern 37 bzw. 38 zur Ausgabe des Fehlermusters.
Die jeweils zweiten Eingänge der UND-Gatter 37 und 38 sind mit dem Ausgang des RS-Flipflops 36 verbunden. Jetzt werden
die Umschalter V1 bis V12 durch ein Steuersignal von der
Zusatzlogik-32 umgeschaltet und das Fehlermuster zur Ausgabe aus dem Schieberegister 31 freigegeben. Das 12-Bit-
D.Roth 1-1-1
Pehlermuster gelangt nun, gesteuert von dem RS-Flipflo.p
36 und den UND-Gattern 37 bzw. 38 auf die erste oder zweite Hälfte des 24-Bit-Ausganges und somit an die Eingänge
der modulo-2-Addierer 58, 59 und steht somit zur Korrektur
der Nutzinformation wie schon beschrieben zur Verfügung.
An den Ausgang des Festwertspeichers 34 ist ein NAND-Gatter 72 angeschaltet, das bei der Ausgabe des Nullwortes
eine logische Eins zum Abbruch der Korrekturschritte an die UND-Gatter 55, 56, 69 und das ODER-Gatter 71 gibt.
Die erwähnte Zusatzlogik 32 ist eine einfache Hilfsschaltung zur Steuerung der geschilderten Vorgänge wie Zählen,
Taktdurchschaltung und Ableitung der Steuersignale zur Umschaltung der Umschalter U und V, so daß keine weitere
Erläuterung notwendig erscheint. ·
Leerseite
Claims (7)
1. System zur binären Datenübertragung,· das Codierer und Decodierer
mit Fehlererkennungs- und Korrektur-Einrichtung
enthält, dadurch gekennzeichnet, daß der Codierer das zu übertragende binäre Eingangssignal mittels eines k/2-zelligen
Schieberegisters (30) in η Bit umfassende Codewörter eines quasizyklischen Codes mit k Informationsbits und der
Decodierer diesen empfangenen Code in das Übertragene binäre Ausgangssignal umsetzt, daß in der Fehlererkennungsund
Korrektur-Einrichtung aus jedem Codewort mittels eines k/2-zelligen Schieberegisters (46) ein Syndrom berechnet
wird, dessen Wert als Adresse eines Festwertspeichers (45) mit 2n~ Speicherplätzen verwendet wird, wodurch entweder
eine Information ausgegeben wird, die die Position eines fehlerhaften Bits in den Informationsbits angibt und diese
in einem Umcodierer (47) in ein k Bit umfassendes Fehlermuster umgesetzt wird oder eine Information ausgegeben wird,
die die Korrektur beendet, daß durch modulo-2-Addition des
Fehlermusters zu den Informationsbits korrigierte Informationsbits erzeugt werden, daß nach Berechnung neuer Syndrome
aus den korrigierten Informationsbits in jeweils weiteren Korrekturschritten jeweils ein weiterer Fehler in
den Informationsbits korrigiert wird und daß nach einer wählbaren Anzahl von derartigen Korrekturschritten oder
beim Auffinden der Information zum Beenden der Korrektur
Wr/Gn
27.01.81
27.01.81
D.Roth 1-1-1
das Korrekturverfahren beendet und das korrigierte Aus-• gangssignal ausgegeben wird.
2. System nach Anspruch 1, dadurch gekennzeichnet/ daß beim
Einsatz eines Pestwertspeichers (34) mit einer geringen Anzahl Speicherplätzen das mit dem k/2-zelligen Schieberegister
(46) berechnete Syndrom in einem weiteren Schieberegister (31) verarbeitet wird und das .Verarbeitungsergebnis als Adresse des Festwertspeichers (34) dient,
unter der in diesem Festwertspeicher das Ende der Korrekturschritte
vermerkt ist oder mit log2 k Bits die Position eines fehlerhaften Bits in der Nutzinformation angegeben
ist und diese in dem Umcodierer (33) und im Schieberegister
(31) in das zugehörige k Bits umfassende Fehlermuster umgesetzt wird.
3. Systemnach Anspruch 1, dadurch gekennzeichnet, daß der
quasizyklische Code aus Codewörtern in der Form 3i, 2i für η und k gebildet ist, mit i als ganze Zahl und ab 4.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß der
• quasizyklische Code aus Codewörtern mit η = 36 Bits; von
denen k = 24 Bits Informationsbits und 12 Bits Prüfbits sind, besteht'und die Redundanz-Matrix aus zwei gleich
großen zyklischen' Teilmatrizen zusammengesetzt ist.
5. System nach Anspruch 1, bei Verwendung in einem Simplex-Sende/Empfanqsqerät,
dadurch gekennzeichnet, daß das Schieberegister (46) im Decodierer als Schieberegister (30)
— 3 —
D.Roth 1-1-1
im Codierer eingesetzt ist. . ·
6. System nach Anspruch 1, dadurch gekennzeichnet, daß der Decodierer in der"Taktphase II mit einem schnelleren Takt
als in der Taktphase I betrieben wird.
7. System nach Anspruch 1# dadurch gekennzeichnet, daß die
Anzahl der Korrekturschritte drei beträgt.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19813104762 DE3104762A1 (de) | 1981-02-11 | 1981-02-11 | System zur binaeren datenuebertragung |
US06/347,135 US4453249A (en) | 1981-02-11 | 1982-02-09 | System for binary data transmission |
CH1675/82A CH658351A5 (de) | 1981-02-11 | 1982-02-11 | Verfahren zur binaeren datenuebertragung mit fehlererkennung und -korrektur. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19813104762 DE3104762A1 (de) | 1981-02-11 | 1981-02-11 | System zur binaeren datenuebertragung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3104762A1 true DE3104762A1 (de) | 1982-08-19 |
DE3104762C2 DE3104762C2 (de) | 1989-01-12 |
Family
ID=6124526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813104762 Granted DE3104762A1 (de) | 1981-02-11 | 1981-02-11 | System zur binaeren datenuebertragung |
Country Status (3)
Country | Link |
---|---|
US (1) | US4453249A (de) |
CH (1) | CH658351A5 (de) |
DE (1) | DE3104762A1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4630271A (en) * | 1983-01-20 | 1986-12-16 | Nippon Hoso Kyokai | Error correction method and apparatus for data broadcasting system |
US4611333A (en) * | 1985-04-01 | 1986-09-09 | Motorola, Inc. | Apparatus for despreading a spread spectrum signal produced by a linear feedback shift register (LFSR) |
KR100429528B1 (ko) * | 2002-01-23 | 2004-05-03 | 삼성전자주식회사 | 디지털 통신 방법 및 장치 |
JP4702632B2 (ja) * | 2007-04-06 | 2011-06-15 | ソニー株式会社 | 符号化方法および符号化装置、並びにプログラム |
US20090222712A1 (en) * | 2008-03-03 | 2009-09-03 | Legend Silicon Corp. | Decoding scheme for correcting both erasures and errors of reed-solomon codes in a digital communication system |
WO2017007483A1 (en) * | 2015-07-09 | 2017-01-12 | Hewlett-Packard Development Company, L.P. | Multi-dimensional cyclic symbols |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2659031B2 (de) * | 1975-12-27 | 1978-04-27 | Fujitsu Ltd., Kawasaki, Kanagawa (Japan) | Fehlerkorrektur- und -Steuersystem |
-
1981
- 1981-02-11 DE DE19813104762 patent/DE3104762A1/de active Granted
-
1982
- 1982-02-09 US US06/347,135 patent/US4453249A/en not_active Expired - Lifetime
- 1982-02-11 CH CH1675/82A patent/CH658351A5/de not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2659031B2 (de) * | 1975-12-27 | 1978-04-27 | Fujitsu Ltd., Kawasaki, Kanagawa (Japan) | Fehlerkorrektur- und -Steuersystem |
Non-Patent Citations (5)
Title |
---|
E.R.BERLEKAMP "Algebraic Coding Theory", Mc-Graw- Hill 1968, S.48,49,367-371,441 * |
G.C.CLARK jun., J.B.CAIN, "Error-Correction Codingfor Digital Communications", Plenum Press, N.Y. 1981, S.73,421 * |
SHU LIN"An Introduction to Error Correcting Codes"Prentice-Hall 1970, S.83 * |
W.W.PETERSON, "Prüfbare und korrigierbare Codes", R.Oldenbourg Verlag 1967, S.151-158 * |
W.W.PETERSON, E.J.WELDON jun., "Error-Correcting Codes", MIT Press 1972, S.256-261 * |
Also Published As
Publication number | Publication date |
---|---|
US4453249A (en) | 1984-06-05 |
CH658351A5 (de) | 1986-10-31 |
DE3104762C2 (de) | 1989-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69019777T2 (de) | Datenstrom-Rahmensynchronisation. | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2513862C2 (de) | Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge | |
DE3882223T2 (de) | Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden. | |
DE2657826A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
DE2914515A1 (de) | Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem | |
DE2217935C3 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht | |
DE69327683T2 (de) | Erweitertes fehlergeschütztes Kommunikationssystem | |
EP0219917B1 (de) | Vermittlungsanlage mit Fehlerkorrektur | |
DE2704627B2 (de) | Anordnung zur Fehlerkorrektur von binärer Information | |
DE1499694A1 (de) | Einrichtung zur Fehlerkorrektur von parallel dargestellten,binaer codierten n-stelligen Informationszeichen | |
DE3404417A1 (de) | Codierer-pruefschaltungsanordnung | |
DE2736967A1 (de) | Asynchrone telemetrieschaltung | |
DE2324538A1 (de) | Digitale nachrichtenuebertragungsanordnung | |
EP0003480B1 (de) | Schaltungsanordnung zum Umwandeln von Binärinformationen mittels Kontrollbits | |
DE69429525T2 (de) | Programmierbarer redundanz/syndromgenerator | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE3104762A1 (de) | System zur binaeren datenuebertragung | |
DE3644015C2 (de) | ||
DE3789266T2 (de) | Fehlerkorrekturgerät. | |
DE3042394C2 (de) | ||
DE69008896T2 (de) | Fehlerkorrekturkodierer/-dekodierer für numerische Übertragungsanlage. | |
EP0073979A1 (de) | System zur Übertragung digitaler Informationssignale | |
DE1524891C3 (de) | Schaltungsanordnung zur Korrektur von Fehlerbündeln |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ALCATEL SEL AKTIENGESELLSCHAFT, 7000 STUTTGART, DE |