-
-
In der Nachrichtentechnik stellt sich häufig die Aufgabe,
-
einen binären digitalen Informationsfluß so umzucodieren, daß sein
Frequenzspektrum keinen Gleichatromanteil und möglichst geringe Anteile bei niedrigen
Frequenzen hat, aber einen möglichst starken Anteil bei der halben Bitfolgefrequenz
zeigt, wobei dieser Anteil möglichst noch unabhängig vom jeweiligen Informationsinhalt
ist. Dadurch kann die Übertragungsatrecke einschließlich aller Verstärker, Regeneratoren
usw. einfacher, weil gleichstromfrei, ausgeführt werden und die Taktrückgewinnung
aus dem Informationsfluß wird erleichtert.
-
Es ist eine Reihe von Verfahren bekannt, die durch wortweises Umcodieren
mit Hilfe eines Wörterbuches diese Aufgabe lösen.
-
Weiterhin ist ein Verfahren bekannt (Carter, R.O.: "Low-Disparity
Binary Coding System", Electronics Letters, May 1965, Vol. 1 Nr. 3,S.67-68),bei
dem der Informationsfluß in Wörter mit gleichbleibender Länge (n bit) eingeteilt
und nach jedem Wort ein zusätzliches (n+1). Bit eingefügt wird. Eine Integrierschaltung
stellt fest, ob in dem so gebildeten neuen Informationsfluß im zeitlichen Mittel
die Zahl der 0- und 1-Bits gleich ist. Wird dieser Mittelwert unter- oder überschritten,
so können ein oder mehrere Wörter invertiert werden (O-Bits werden zu 1-Bits, 1Bits
werden zu O-Sits gemacht), falls dadurch der Mittelwert wieder erreicht wird. Die
Tatsache des Invertierens eines Wortes wird dadurch dokumentiert, daß das zu dem
invertierten Wort gehörende zusätzliche Bit mit einer entsprechenden Information
versehen wird, z. B. von 0 euf 1 geschaltet wird.
-
Alle bekannten Verfahren haben jedoch den Nachteil, daß sie bei hohen
und sehr hohen Bitfolgefrequenzen des Informationsflusses beim heutigen Stand der
Technik nicht realisiert
werden können.
-
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltungsanordnung
zu finden, die auch bei sehr hohen Bitfolgefrequenzen die Umcodierung eines binären
digitalen Informationsflusses mit beliebigem Informationsinhalt vollzieht.
-
Die oben dargestellte Aufgabe wird durch die im Patentanspruch 1 angegebene
Schaltungsanordnung gelöst. Weiterbildungen sind in den Unteransprüchen angegeben.
-
Die aus dem Patentanspruch 1 ersichtliche Lösung geht demzufolge von
der Überlegung aus, daß das an sich bekannte Verfahren der nB/(n+1) 3-Codierung
nicht, wie bisher üblich in serieller, sondern in paralleler Verarbeitung ausgeführt
werden muß, um dadurch die erforderliche Verarbeitungsgeschwindigkeit auf 1/(n+1)
zu reduzieren. Sie kann somit auch beim heutigen Stand der Technik für alle realisierbaren
Bitfolgefrequenzen ausgeführt werden.
-
Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels
durch mehrere Figuren näher erläutert.
-
Es zeigen: Fig. 1 eine Schaltungsanordnung für serielle Bearbeitung
nach dem Stand der Technik Fig. 2 die Schaltungsanordnung nach der Erfindung Fig.
3 ein Ausführungsbeispiel für die Bewertungsschaltung der Fig. 2 Fig. 4 ein Ausführungsbeispiel
für die Addierschaltung der Fig. 2 Fig. 1 zeigt zum besseren Verständnis der Aufgabe
ein bekanntes Verfahren zur Umwandlung eines Informationsflusses 0 1, hier als Beispiel
in 8 bit lange Wörter unterteilt, in einen Informationsfluß 2 = 1 + 1 1, der in
9 bit lange
Wörter unterteilt ist. Der ankommende Informationsfluß
1 wird in einem 8-stufigen Schieberegister wortweise serienparallel-gewandelt und
einer Zeichendisparitätseinheit (ZDE) zugeführt, die feststellt, ob in dem betreffenden
8 bit-Wort die Zahl der 1-Bits gleich, größer oder kleiner als die Zahl der O-Bits
ist. Die ZDE meldet das Ergebnis D an eine Logik, der an weiteren Eingangssignalen
zugeführt werden: der serielle Informationsfluß 1, ein zusätzlicher Informationsfluß
1 1 und das Ausgangasignal I eines Integrators. Ausgangsgignal der Logik ist der
Informationsfluß 2 = 1 + 1 1. Der Integrator, der in der Praxis z. B.
-
ein Vorwärts-Rückwärts zähler ist, mißt die Differenz aus der Summe
aller bis zum Meßzeitpunkt erschienenen 1-Bits und O-Bits. Ist die Differenz 0,
so tritt die Logik nicht in Aktion, ist die Differenz dagegen positiv (insgesamt
zu viele 1-Bits) oder negativ (insgesamt zu wenige 1-Bits), so stellt die Logik
hieraus und aus der Meldung D der Zeichendisparitätseinheit ZDE fest, ob es zum
Ausgleich der Bilanz günstiger ist, das augenblickliche 8 bit-Wort des Informationsflusses
1 unbeeinflußt oder aber invertiert in den Fluß 0 2 einzufügen. Im Falle der Invertierung
wird zur Kennzeichnung das 9. Bit des Wortes von 2 als 1-Bit, andernfalls stets
als O-Bit übertragen.
-
Fig. 2 zeigt demgegenüber das Prinzip der Erfindung, hier am Beispiel
eines 7B/8B-Codewandlers. Der zu codierende Inforinationsfluß kann entweder in serieller
Form als 1 Fluß 0 1 oder in paralleler Form als 7 Flüsse 1 1 vorliegen.
-
Im ersteren Fall wird zusätzlich ein 7-stzfiger Serien-Parallel-Wandler
erforderlich. Die 7 parallelen Eingangsflüsse werden in einer Bewertungsschaltung
B bitweise auf die Anzahl der 1-Bits untersucht. Die Zahl der 1-Bits des i-ten untersuchten
Wortes wird als binäre Zahl Xi einer Vergleichsschaltung V 1 zugeführt, die feststellt,
ob Xi größer oder kleiner als 4 ist. In einem Speicher SP 1 ist eine binäre
Zahl
Üi-1 gespeichert, die gleich ist der Differenz aus der Zahl aller 0- und 1-Bits,
die im Strom 2 bis einschließlich zum Wort i-1 enthalten waren, vermehrt um einen
frei wählbaren Anfangszustand ÜO. Ist Üi-1 = ÜO, so bedeutet dies demnach, daß gleichviele
0- und 1-Bits übertragen wurden, Üi-1 > Üo bedeutet, daß zu viele 1-Bits und
2 < Ü0 bedeutet, daß zu wenige 1-Bits übertragen wurden (unter Vernachlässigung
des Einschwingvorganges, der im Falle Üo 6 0 auftritt und sich vom Einschaltzeitpunkt
an über eine geringe Zahl von Wörtern hinzieht).
-
Diese Vergleiche werden von einer Vergleichs schaltung V 2 ausgeführt.
Speziell bei der hier als Beispiel verwendeten 73/8B-Codierung wird zweckmäßigerweise
00 = 4 gewählt, da dann Üi-1 stets nur positive Werte zwischen 0 und 7 annehmen
kann. Über eine Logik, bestehend z. B. aus zwei UND-Schaltungen U1 und U2 und einer
ODER-Sehaltung 01 wird ein Invertierungsbefehl INV erzeugt. Dieser Invertierungsbefehl
hat dann den Wert INV = 1, wenn Xi> 4 und gleichzeitig Üi-1 > 4 oder wenn
Xi < 4 und gleichzeitig Üi-1 < 4 ist. Nachdem die Entscheidung getroffen wurde,
ob ein Invertierungsbefehl abzugeben ist, werden die Zahlen Xi und Üi-1 in der umschaltbaren
Addierschaltung A wie folgt miteinander zu der neuen binären Zahl Üi verknüpft:
für IlVV = 0: Üi = Üi-1 + Xi - 4 und für INV = 1: Üi 1 Ui1 + (8 - Xi) - 4 i-1 -
Xi + 4 Die neue Zahl Ü. ist damit im Falle des Nichtinvertierens (INV=0) gleich
der bisherigen Zahl Üi-1, vermehrt um die Zahl der überschüssigen 1-Bits (Xi - 4)
in einem neuen 8 bit-Wort, das dadurch entsteht, daß die 7 parallelen Bits eines
Wortes von 1 nach einer Zwischenspeicherung in SP 2 und das eine Bit des Informationsflusses
1+/7, das stets 0 ist, in einem Parallel-Serien-Wandler zu einem Fluß 2+=
+
# 1+/7 zusammengefaßt werden. Bei INV = 0 wird 2 2 unbeeinflußt durch die Inverterschaltung
I als Ausgangsfluß 2 bereitgestellt. Im Falle des Invertierens ist die neue Zahl
Üi gleich der bisherigen Zahl Ui 1 vermehrt um die Zahl der überschüssigen 1-Bits
(8 - Xi - 4) des zugehörigen, aber im Inverter I invertierten Wortes des Flusses
2, da der Inverter durch den Invertierungsbefehl INV = 1 aktiviert wird.
-
Die Zahl U;i wird nach Beendigung des Meßvorganges mit Hilfe eines
Taktsignals T1 anstelle von Üi-1 in den Speicher SP 1 eingeschrieben. Der Invertierungsbefehl
INV wird, gesteuert von einem Taktsignal T3, im Speicher SP 3 zwischengespeichert,
um unbeeinflußt von dem folgenden Meßvorgang während der Dauer des ihm zugeordneten
Wortes im Fluß 2 den Inverter ansteuern zu können. Der Speicher SP 2 hat die Aufgabe,
das parallele 7 bit-Wort von 1 zu verzögern, so daß es erst in dem Augenblick in
den Parallel-Serien-Wandler eingeschrieben wird, in dem auch das Invertierungssignal
am Inverter anliegt.
-
Dies geschieht mit Hilfe des Taktes 22. Die Takte T1, T2 und T3 haben
die gleiche Pulsfolgefrequenz, sie ist gleich der Wiederholfrequenz des parallelen
7 bit-Wortes von 1, sie sind jedoch zeitlich in geeigneter Weise gegeneinander verschoben.
-
Fig. 3 zeigt ein Beispiel für die Ausführung der Bewertungsschaltung
B aus Fig. 2. Die 7 parallelen Bits des Flusses 1 werden drei Volladdierern VAl,
VA2 und VA3 zugeführt und zwar 3 Bits den Eingängen A1, B1 und Ci1 von VA1, 3 Bits
den Eingängen A2, 32 und Ci2 von VA2 und das 7. Bit dem Eingang Ci3 von VA3. Die
Summenausgänge F1 und F2 der Addierer VA1 und VA2 werden mit den Eingängen A3 und
B3 von VA3, die Übertragsausgänge Co1 und Co2 werden mit den Eingängen A4 und B4
des Volladdierers VA4 verbunden. Der Summenausgang F3 von VA3
entspricht
dann der Wertigkeit 2°, F4 von VA4 entspricht 21 und Co4 entspricht 22 der Zahl
Xi. Die Zahl Xi ist in binärer Form die Zahl der gerade im Fluß 1 enthaltenen 1-Bits
und kann alle Werte zwischen 0 und 7 annehmen.
-
Fig. 4 zeigt ein Beispiel für die Ausführung der Addierschaltung A
aus Fig. 2. Die o.a. Funktionsgleichungen für diese Addierschaltung lauten: Üi =
Üi-1 + Xi - 4, wenn INV = 0 und Üi = ti-1 - Xi + 4, wenn INV = 1.
-
Da sowohl Üi1 als auch Xi Werte zwischen 0 und 7 annehmen, können
für INV = 1 bei der Teiloperation Üi-1 - Xi negative Zahlen vorkommen. Um dies zu
vermeiden, wird die Reihenfolge der Operationen für INV = 1 vertauscht: Üi = Üi-1
+ 4 - Xi, wenn INV = 1.
-
Die Signale Üi-1, Üi, Xi und INV entsprechen denen aus Fig. 2. AS
ist ein 3-bit-Paralleladdierer, der zu Üi-1 entweder Xi oder 4 addiert. Die Auswahl
wird dabei nach Maßgabe des Invertierungsbefehles INV mit Hilfe der logischen Schaltungen
I1, U1, U2 und 01 getroffen. Für das Ausgangssignal Z (das ein 4-Bit-Wort ist) von
AS gilt: Z = Üi-1 + Xi, wenn INV = 0 und Z = Ui~1 + 4, wenn INV = 1.
-
SS ist ein 3-bit-Parallelsubtrahierer, der von Z entweder Xi oder
4 subtrahiert und zwar nach Maßgabe des Invertierungsbefehls INV und mit Hilfe der
logischen Schaltungen I1, U3, U4 und 02. Für das Ausgangssignal Ü des Subtrahierers
SS gilt:
üi Z - 4 = Üi-1 + X. -4, wenn INV = 0 und Üi = Z - Xi
= ti-1 + 4 - Xi, wenn INV = 1.
-
Weiterbildung der Erfindung über das Beispiel der 7B/8B-codewandlung
hinaus Fig. 2 bis 4 und der zugehörige Text beziehen sich auf eine 7b/8B-Codewandlung.
Prinzipiell betrifft die Erfindung eine allgemeine nB/(n+1)B-Codewandlung, jedoch
muß zwischen ungradzahligen und gradzahligen Werten von n unterschieden werden.
-
1. Ungradzahlige Wertevon n (n = 1, 3, 5, 7 ...) Fig. 2 ist für alle
ungradzahligen Werte von n gültig, wenn folgendes ergänzt wird: Der Vergleicher
V1 vergleicht auf Xi>< n+1, der Vergleicher V2 vergleicht zweckmäßigerweis7eauf
Üi-1 >< n+1 (zur Vermeidung von negativen Werten von Üi-1), die Funktionsgleichungen
von A lauten: Üi = Üi-1 + Xi - n+1 , wenn INV = 0 2 Üi - Üi-1 + n+1 - Xi , wenn
INV = 1.
-
2 Weiterhin müssen der u.U. erforderliche Serien-Parallel-Wandler
und SP 2 n-stufig, der Parallel-Serien-Wandler muß (n+1)-stufig ausgeführt werden,
die Bewertungsschaltung muß n Eingänge haben. Fig. 3 gilt ebenfalls, muß jedoch
auf n Eingänge erweitert werden. Desgleichen gilt auch Fig. 4, wenn die feste Zahl
"4" durch "n+1" ersetzt wird und wenn berücksichtigt wird, daß ab n > 27 für
Xi, Üi-1 und Ü. mehr als 3, für Z mehr als 4 Stellen benötigt werden.
-
2. Gradzahlige Werte von n (n = 2, 4, 6, 8 ...) Bei gradzahligen Werten
von n gelten die Prinzipien von Fig. 2 bis 4 ebenfalls, jedoch scheitert eine praktische
Realisierung daran, daß die Größe n+1 nicht mehr ganzzah-2 lig ist. Unter Beibehaltung
des Prinzips von Fig. 2 bis 4 und den dazu unter 1. gegebenen Ergänzungen sind zwei
realisierbare Lösungen möglich:
2.1 Anstelle einer nB/(n+1)B-Codierung
wird eine 2nB/ (2n+2) B-Codierung gewählt; dadurch wird die Übertragungsbandbreite
des Ausgangs flusses 2 nicht vergrößer, aber es ist ein höherer Bauelemente aufwand
erforderlich und die Eigenschaften des Flusses # 2 bezüglich seiner Spektralanteile
bei tiefen Frequenzen und bei der halben Bitfolgefrequenz sind ungünstiger als im
theoretischen Falle der direkten nB/(n+1)B-Codierung.
-
Erforderliche Änderungen in Fig. 2: V1 vergleicht auf Xi # 2n+2 =
n+1, V2 vergleicht 2 zweckmäßigerweise auf Üi-1 # (n+1), die Funktionsgleichungen
für A lauten: Üi = Üi-1 + Xi - (n+i), wenn INV = 0 und Üi = i-1 + (n+1) - Xi, wenn
INV = 1.
-
Weiterhin müssen der u.U. erforderliche Serien-Parallel-Wandler und
SP 2 2n-stufig, der Parallel-Serien-Wandler muß (2n+2)-stufig ausgeführt werden,
die Bewertungsschaltung muß 2n Eingänge haben. Entsprechend zu dem unter 1. Gesagten
müssen Fig. 3 und 4 erweitert werden.
-
2.2 Es wird eine nB/(n+1)B-Codierung durchgeführt, jedoch unter Vermeidung
des Ausdrucks n+1. In diesem Fall muß 2 V1 in alternierender Aufeinanderfolge auf
Xi # n/@ bzw. auf n+2 vergleichen, V2 vergleicht zweckmäßigerweise auf Xi # n+2,
die Funktionsgleichungen von A lauten: Üi = Üi-1 + Xi - N, wenn INV = 0 und Üi =
Üi-1 + N - Xi, wenn INV = 1, mit z. B. N = a bei allen gradzahligen Werten von i
und N = n+2 bei allen ungradzahligen Werten von i.
-
2 Fig. 2 bis 4 sind dann ebenfalls gültig unter Berücksichtigung
der unter 1. gemachten Erweiterungen. Fig. 4 muß noch zusätzlich dahingehend ergänzt
werden, daß anstelle der festen Zahl "4" abwechselnd (gesteuert von einem Takt T4,
der die gleiche Pulsfolgefrequenz hat wie T1 - T3) die Zahlen n/2 und n+2 angelegt
werden.
-
2
Leerseite