DE68920739T2 - Daten-Kodierung für den Sofortstart von PRML-Empfängern. - Google Patents
Daten-Kodierung für den Sofortstart von PRML-Empfängern.Info
- Publication number
- DE68920739T2 DE68920739T2 DE68920739T DE68920739T DE68920739T2 DE 68920739 T2 DE68920739 T2 DE 68920739T2 DE 68920739 T DE68920739 T DE 68920739T DE 68920739 T DE68920739 T DE 68920739T DE 68920739 T2 DE68920739 T2 DE 68920739T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- code words
- preselected number
- data blocks
- subset
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 12
- 238000005192 partition Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 238000007476 Maximum Likelihood Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
- G11B20/10046—Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter
- G11B20/10055—Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter using partial response filtering when writing the signal to the medium or reading it therefrom
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
- Die vorliegende Erfindung betrifft die Datencodierung für Systeme die eine Partial-Response-Signalisierung mit Impulsfolgedetektion auf Basis des Maximum-Likelihood-Prinzips (PRML) verwenden. Ein solches Signalübertragungs- und Detektionsschema ist beispielsweise für die magnetische und optische Datenspeicherung nützlich sowie für die Datenübertragung über Kabel. Im besonderen befaßt sich die Erfindung mit der Datencodierung in PRML- Systemen, um die Zeit, die für die Erkennung der Zeitsteuerungspräambeln benötigt wird, welche vor den Datenfolgen übertragen werden und die richtige Takt- und Verstärkungseinstellung im Empfänger sichern, zu verkürzen und um eine zuverlässigere Unterscheidung zwischen zufälligen Datenfolgen und der Zeitsteuerungspräambel zu erreichen.
- Um einen exakten Betrieb der Verstärkungs- und Taktregelkreise sowie eine Reduzierung der Speicherlänge der Viterbi-Decodierer in PRML-Empfängern zu erreichen, sind 8/9-ratenumsetzende Codes für Partial-Response-Klasse-IV-Signalisierungssysteme (PRML) mit Impulsfolgedetektion auf Basis des Maximum-Likelihood-Prinzips entwickelt worden. Bei Anwesenheit eines Vorcodierers zwischen dem Partial-Response-Klasse-IV (PR-IV) Kanal und dem ratenumsetzenden 8/9-Codierer, erfüllt man diese zwei Ziele durch Einschränken der maximalen Lauflänge von Nullen, die mit G&sub0; bezeichnet wird, in den codierten binären Folgen {bn} und durch Begrenzen der maximalen Anzahl aufeinanderfolgender Nullen, die mit I&sub0; bezeichnet wird, in den zwei Subfolgen von {bn) mit geraden oder ungeraden Zeitindizes. Ein Beispiel eines Systems, bei dem sowohl G&sub0; als auch I&sub0; durch geeignete Codierung (entweder auf 4 und 4 beziehungsweise auf 3 und 6) begrenzt werden, wird in der U.S.-Patentschrift Nr. 4 707 681 von Eggenberger offenbart.
- Es wäre wünschenswert ein Codierschema zu haben, welches eine dritte Aufgabe erfüllen kann, nämlich den Anlaufvorgang eines PRML-Empfängers zu beschleunigen, indem die minimale Beobachtungslänge verkürzt wird, die erforderlich ist, um codierte Benutzerdaten zuverlässig von der Zeitsteuerungspräambel {1, 1, 1, ... 1, 1} zu unterscheiden, welche in vielen Systemen Teil der Trainingsfolgen ist, die den codierten Datenfolgen {bn} vorangehen.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Codierschema für PRML-Systeme anzugeben, bei dem die Zeit zum Unterscheiden zwischen der Zeitsteuerungspräambel und den codierten Datenfolgen reduziert wird.
- Es ist eine andere Aufgabe der vorliegenden Erfindung, ein Codierschema anzugeben, das kürzere Zeitsteuerungspräambeln ermöglicht.
- Eine weitere Aufgabe der vorliegenden Erfindung ist die Bereitstellung eines PRML-Codierschemas, das einfache Code-Abbildungen ermöglicht, welche eine einfache Implementierung der Codierer und Decodierer durch logische Gate-Arrays zulassen.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, für Systeme, die die PRML-Technik und eine Zeitsteuerungspräambel, bestehend aus aufeinanderfolgenden Einsen verwenden, ein Codierschema bereitzustellen, welches Codebeschränkungen unterstützt, die für einen exakten Betrieb der Verstärkungs- und Taktregelkreise sowie für eine Reduzierung der Speicherlänge der Viterbi- Decodierer in PRML-Empfängern vorteilhaft sind.
- Diese Aufgaben werden durch ein Codierverfahren und eine Codiervorrichtung erfüllt, wie sie in den Ansprüchen 1 und 7 definiert werden. Besondere bevorzugte Ausführungsformen dieses Verfahrens sowie der Codier- und Decodiervorrichtungen werden in den abhängigen Ansprüchen definiert.
- Die Erfindung setzt diese Aufgaben um, indem die Anzahl G&sub1; der aufeinanderfolgenden Einsen in den codierten Datenfolgen auf
- einen relativ kleinen Wert begrenzt wird, während die Begrenzung der Anzahl der aufeinanderfolgenden Nullen sowohl in den vollständig codierten Folgen als auch in den geraden und ungeraden Teilfolgen auch aufrechterhalten wird. Je kleiner die-maximale Lauflänge der Einsen, bezeichnet als G&sub1;, in den codierten Folgen {bn} ist, um so schneller können die Daten von der Präambel unterschieden werden. Weil die Zeitsteuerungspräambel lang genug sein muß, um vom PRML-Empfänger während der Anlaufphase zuverlässig erkannt zu werden, erlauben kleinere Werte von G&sub1; kürzere Trainingsfolgen, was zu einer schnelleren Synchronisation der PRML-Empfänger führt. Die vorliegenden 8/9-Codes, die durch das Dreier-Tupel (G&sub0;, I&sub0;, G&sub1;) beschrieben werden, ermöglichen ein zuverlässiges, schnelles Anlaufen der PRML-Empfänger, und die Länge der Erkennungsfenster für die Präambel braucht typischerweise weniger als die Hälfte der Fensterlänge betragen, wie sie für frühere Codes, die in der U.S.-Patentschrift Nr. 4 707 681 dargestellt werden, erforderlich waren.
- Es werden mehrere Codierschemata offenbart, welche es gestatten zwischen unterschiedlichen Codebegrenzungen zu wählen, so daß eine Kombination ausgewählt werden kann, die für die entsprechende Anwendung am besten geeignet ist. Diese Schemata besitzen desweiteren die Eigenschaft, daß das Decodieren durchgeführt werden kann, ohne daß Kenntnisse über vorhergehend codierte Daten benötigt werden, wodurch ein Ausbreiten von Decodierfehlern im Fall von Übertragungsfehlern verhindert wird.
- Desweiteren werden mehrere Codeabbildungsschemata offenbart, welche für die vorliegenden Codierschemata die Implementierung von Codierern (und Decodierern) mit einer geringen Anzahl logischer Gatter erlauben.
- Diese und andere Vorteile werden aus der folgenden Beschreibung bevorzugter Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen deutlicher werden.
- Fig. 1 ist eine schematische Darstellung der Struktur der gespeicherten Datenfolgen, welche eine Zeitsteuerungspräambel enthält.
- Fig. 2A ist die Darstellung eines Blockschaltbildes eines Systems, in welchem die vorliegende Erfindung Anwendung findet.
- Fig. 2B ist ein detaillierteres Blockschaltbild des Codiererabschnittes des Systems von Fig. 2A.
- Die Fig. 3A, 3B und 3C zeigen für einen speziellen Code in der Matrix aller 9-Bit-Worte ein Muster, welches die Vorauswahl aller möglich Codeworte zeigt; die Unterteilung der Matrix aller möglichen 8-Bit-Eingangsworte in neun Subsätze, um die Zuordnung zwischen den Codierereingangs- und den Codiererausgangsworten zu erleichtern; und die Zuordnung zwischen Eingangs- und Ausgangssubsätzen.
- Fig. 4 zeigt für einen anderen Code in der Matrix aller 9-Bit- Worte ein Muster, welches die Vorauswahl aller möglichen Codeworte zeigt.
- Die Fig. 5A, 5B und 5C zeigen für einen weiteren Code eine ähnliche Auswahl und Zuordnungen wie die Fig. 3A, 3B und 3C.
- Die Fig. 6A und 6B sind Blockschaltbilder eines Codierers mit finiten Zuständen und eines Decodierers zur Implementierung der Erfindung, welche durch die Auswahl- und Zuordnungsmatrizen der Fig. 5A, 5B und 5C repräsentiert wird.
- Die Tabellen 1 bis 6 zeigen für drei verschiedene Implementierungen der vorliegenden Erfindung die Codiererlogik und die Decodiererlogik.
- Fig. 1 zeigt ein Beispiel für die Struktur einer Datenfolge, wenn diese auf einem magnetischen Aufzeichnungsmedium (Magnetplatte) gespeichert wird. Wie zu sehen ist, wird jeder Datensatz separat gespeichert. Dem Datenbereich jedes aufgezeichneten Satzes gehen eine Zeitsteuerungspräambel und ein Synchronisationsmuster voraus. Diese sind erforderlich, um den Empfänger so zu initialisieren, daß er die Daten richtig lesen kann.
- Es ist von Bedeutung, daß die Zeitsteuerungspräambel korrekt von den Daten unterschieden wird. Wenn die Daten beliebige zufällige Bitmuster enthalten können, auch solche, die der verwendeten Zeitsteuerungspräambel (d.h. {1, 1, 1, ... }) ähneln, dann müssen für eine zuverlässig Erkennung und Unterscheidung relativ lange Zeitsteuerungspräambeln benutzt werden, und es ist eine relativ lange Zeit erforderlich.
- Um diese Zeit zu verkürzen, wird in der vorliegenden Erfindung vorgeschlagen, den codierten Datenfolgen eine Beschränkung hinzuzufügen, so daß die Bitmuster, die einer solchen Zeitsteuerungspräambel entsprechen, nur in begrenzter Länge auftreten können. Dies gestattet eine schnellere Unterscheidung zwischen den Daten und der Präambel und als Folge dessen wird es ermöglicht, kürzere Zeitsteuerungspräambeln zu verwenden (welche weniger Speicherplatz benötigen).
- Ein System, in welchem die vorliegende Erfindung verwendet wird, kann durch die folgenden drei Hauptblöcke, die in Fig. 2A dargestellt sind, repräsentiert werden: Codierer 11, der mit einer 8/9-Rate arbeitet, Vorcodierer 13 und PR-IV-Kanal 15. Im folgenden wird das Eingangs-Ausgangsverhalten dieser Blöcke detailliert diskutiert werden. B kennzeichnet das binäre Alphabet {0, 1}.
- Magnetische Aufzeichnungskanäle sind Basisbandkanäle mit einer Übertragungsfunktion, die gekennzeichnet ist durch eine spektrale Null bei der Frequenz f = 0, durch ein spektrales Maximum bei einer Frequenz, die von den spezifischen Parametern das Aufzeichnungssystems abhängt und durch einen exponentiellen Abfall zu höheren Frequenzen hin. Sie sind deshalb besonders gut geeignet, als PR-IV-System behandelt zu werden, nachdem das Kanalausgangssignal in geeigneter Weise gefiltert worden ist. Vor dem PR-IV-Kanal liegt ein Vorcodierer 13, dessen Eingangs folge die codierte Folge {bn}, bn ε B ist und dessen Ausgangsfolge {cn}, cn ε B gegeben ist durch:
- worin die Modulo-2 Addition kennzeichnet und das Überstreichen für die Negation der Variable steht. Die Eingangssymbole des PR- IV-Kanals dn ε {+1, -1} und die Vorcodierer-Ausgangssymbole cn werden (wie in Block 17 gezeigt) durch die Beziehung dn 2cn - 1 aufeinander abgebildet, wobei cn als die reelle Zahl 0 oder 1 interpretiert werden muß. Die ternäre Ausgangsfolge des PR-IV- Kanals {yn} kann geschrieben werden als:
- wobei (1) verwendet wurde, um die Beziehung zwischen bn und yn zu erhalten. Es ist zu beachten, daß die am Eingang des Vorcodierers nur aus Nullen bestehende Folge und die Zeitsteuerungspräambel (die nur aus Einsen bestehende Folge) am Ausgang des PR- IV-Kanals zu einer nur aus Nullen bestehenden Folge beziehungsweise zu {..., +2, +2, -2, -2, +2, +2, -2, -2, ... } führen.
- Die Lauflänge der Nullen in der Ausgangsfolge {yn} des PR-IV-Kanals und in seinen zwei Subfolgen mit geraden oder ungeraden Zeitindizes muß begrenzt werden, um die automatische Verstärkungseinstellung und die Taktwiedergewinnung zu unterstützen und die Länge des im Viterbi-Decodierer benötigten Speichers zu reduzieren. Dies kann durch ein Verfahren und eine Vorrichtung erreicht werden, wie sie in der U.S.-Patentschrift Nr. 4 707 681 von Eggenberger offenbart wurden. Die maximale Lauflänge des Kanalausgangssignals yn, das mit der Zeitsteuerungspräambel am Ausgang des PR-IV-Kanals identisch ist {..., +2, +2, -2, -2, ...}, muß ebenfalls begrenzt werden, um ein zuverlässiges schnelles Anlaufen der PRML-Empfänger zu ermöglichen. Diese Ziele können durch die vorliegende Erfindung effektiv erreicht werden und zwar durch Verwendung eines 8/9-Ratencodierers 11, dem ein Vorcodierer 13 folgt, welcher die gewünschten Lauflängenbegrenzungen, die ursprünglich am Ausgang des PR-IV-Kanals definiert werden, in die einfachen Lauflängenbegrenzungen {G&sub0;, I&sub0;, G&sub1;} am Ausgang des 8/9-Ratencodierers übersetzt.
- Das Vorcodieren beeinflußt die Leistungsfähigkeit von Datenübertragungssystemen, die mit PR-IV-Signalisierung und Impulsfolgedetektion auf Basis des Maximum-Likelihood-Prinzips arbeiten, nicht. Jedoch kann die Existenz eines Vorcodierers zu kürzeren Lauflängenbegrenzungen am Ausgang des PR-IV-Kanals führen, wenn die Codierer auf eine spezielle Klasse beschränkt sind. Zum Beispiel können 8/9-Raten-Blockcodierer mit einer Ausgangsblockgröße von 9 ohne Vorcodierer keine Kanalausgangsfolgen erzeugen die maximal v = 4 aufeinanderfolgende Nullen aufweisen. Das kann wie folgt erklärt werden. Es gibt nicht mehr als 216 binäre 9-Tupel, welche zu PR-IV-Folgen {y} führen, die die Beschränkungen u = 4 und v = 4 erfüllen, wenn sie in beliebiger Reihenfolge über den PR-IV-Kanal übertragen werden. Andererseits gibt es, wenn dem PR-IV-Kanal ein Vorcodierer vorangestellt wird, 279 binäre 9- Tupel, die beliebig nebeneinandergestellt werden können und 8/9- Blockcodes mit einer Ausgangsblockgröße von 9, so daß Kanal ausgangsfolgen erzeugt werden können, welche die Beschränkungen u = 4 und v = 4 erfüllen (vgl. oben erwähnte U.S.-Patentschrift 4 707 681).
- Das Eingangssignal eines 8/9-Ratencodierers {an}, an ε B ist eine unbeschränkte binäre Folge und das Codiererausgangssignal {bn}, bn ε B erfüllt die folgenden Boole'schen Gleichungen.
- worin n ein beliebiger Integerwert ist, "+" die Boole'sche ODER- Verknüpfung kennzeichnet und für die Boole'sche UND-Verknüpfung steht. Gleichung (3) begrenzt die maximale Lauflänge von Nullen in der Codiererausgangsfolge auf G&sub0;. Gleichung (4) führt dazu, daß die maximale Anzahl aufeinanderfolgender Nullen in den zwei Codiererausgangssubfolgen mit geraden oder ungeraden Zeitindizes I&sub0; nicht übersteigt. Schließlich sichert Gleichung (5), daß die maximale Lauflänge von Einsen in der Codiererausgangsfolge nicht größer als G&sub1; ist. Im folgenden wird das Codiererausgangssignal als (G&sub0;, I&sub0;, G&sub1;)-beschränkte Folge bezeichnet.
- Fig. 2B zeigt in detaillierterer Darstellung den Codiererabschnitt von Fig. 2A. Vor dem eigentlichen Codierer 11B, welcher 8-Bit-Eingangsblöcke X nimmt und 9-Bit-Ausgangscodeworte Y bereitstellt, liegt ein Serien-Parallel-Wandler 11A, welcher die serielle Folge der Bits an in die Eingangsblöcke X wandelt. Auf der Ausgangsseite des Codierers wandelt ein Parallel-Serien- Wandler 11C die Codeworte Y in eine serielle Bitfolge bn.
- Der Codierer für einen (n, k) Blockcode mit einer Rate k/n ordnet jedem Block von k Eingangssymbolen einen Block von n Ausgangssymbolen zu. Die Motivation für die Verwendung von (9,8)-Blockcodes im Gegensatz zu nicht blockweise aufgebauten Codes liegt in der Einfachheit der Codierer-/Decodierer-Hardware, die mit den Blockcodes verbunden ist. Der nichtlineare, binäre (9,8)- Blockcode der in der Vergangenheit entwickelt wurde, wurde mit dem Ziel geschaffen, die Beschränkungen G&sub0; und I&sub0; (vgl. z.B. U.S.-Patentschrift 4 707 681) zu minimieren. Im folgenden werden einfache Codierer-/Decodierer-Realisierungen für zwei optimale (9,8)-Blockcodes vorgestellt, welche zusätzlich zu G&sub0; und I&sub0; den Parameter G&sub1; minimieren. Als 3-Tupel (G&sub0;, I&sub0;, G&sub1;) ausgedrückt, werden diese Codes durch (4,6,5) und (4,4,9) charakterisiert. Die kleinste Summe der Beschränkungen G&sub0; + I&sub0; + G&sub1;, die mit (9,8)- Blockcodes erreicht werden kann, ist 15. Dieses Minimum erreicht man unter allen möglichen Beschränkungen (G&sub0;, I&sub0;, G&sub1;) nur mit (4,6,5) und (4,5,6).
- Zuerst wird eine Codierer-/Decodierer-Realisierung für den (4,6,5)-Code beschrieben. Die Codiererentwicklung beginnt mit der Auswahl aller 9-Tupel Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) ε B&sup9;, welche die folgenden Boole'schen Gleichungen erfüllen.
- (Y&sub1;+Y&sub2;+Y&sub3;) (Y&sub2;+Y&sub3;+Y&sub4;+Y&sub5;+Y&sub6;) (Y&sub3;+Y&sub4;+Y&sub5;+Y&sub6;+Y&sub7;) (Y&sub4;+Y&sub5;+Y&sub6;+Y&sub7;+Y&sub8;) (Y&sub7;+Y&sub8;+Y&sub9;) = 1 (6)
- (Y&sub1;+Y&sub3;+Y&sub5;+Y&sub7;) (Y&sub3;+Y&sub5;+Y&sub7;+Y&sub9;) (Y&sub2;+Y&sub4;+Y&sub6;+Y&sub8;) = 1 (7)
- und entweder
- Y&sub1; Y&sub2; Y&sub3; + Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0 (8a)
- oder
- Y&sub1; Y&sub2; Y&sub3; Y&sub4; + Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub7; Y&sub8; Y&sub9; = 0 (8b)
- wobei (6), (7) und (8a) verwendet werden, um eine Liste L&sub1; von 263 Codeworten zu erzeugen und (6), (7) und (8b) verwendet werden, um eine andere Liste L&sub2; von 263 Codeworten zu erzeugen. Durch Verwerfen aller 9-Tupel, welche mit mehr als zwei Nullen beginnen oder enden oder die eine innere Folge von fünf oder mehr Nullen besitzen, sichert (6), daß die Beschränkung G&sub0; = 4 erfüllt wird. Gleichung (7) garantiert I&sub0; = 6, indem die Lauflänge der Nullen innerhalb von Y&sub1;Y&sub3;Y&sub5;Y&sub7;Y&sub9; und Y&sub2;Y&sub4;Y&sub6;Y&sub8; auf drei beschränkt wird. Schließlich sichern (8a) ((8b)) G&sub1; = 5, indem alle Y eliminiert werden, die mit mehr als zwei (drei) Ein&en beginnen oder mit mehr als drei (zwei) Einsen enden oder die eine Folge von sechs oder mehr Einsen im Inneren besitzen. Es ist zu beachten, daß wenn Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) E L&sub1; dann Y' = (Y&sub9;, Y&sub8;, ... , Y&sub1;) ε L&sub2; gilt. Daher können die Codeworte einer Liste einfach durch Umkehrung der Codeworte der anderen Liste erhalten werden. Der hier vorgestellte (4,6,5)-Blockcode umfaßt 256 Codeworte und wurde zufallsmäßig so ausgewählt, daß er einen Subsatz L&sub1; bildet, der L&sub2; entgegensteht. Die 263 möglichen Codeworte in L&sub1; sind als 263 spezielle Plätze innerhalb des 16 x 32 Feldes, das in Fig. 3A gezeigt wird, durch ein " " markiert, deren (i,j)-ter Platz am Schnittpunkt der i-ten Zeile, i = 0, 1, ..., 15 und der j-ten Spalte, j = 0, 1, ..., 31, dem 9-Tupel Y (Y&sub1;, Y&sub2;, ..., Y&sub9;) entspricht, wobei Y&sub9;Y&sub8;Y&sub7;Y&sub6; und Y&sub5;Y&sub1;Y&sub2;Y&sub3;Y&sub4; die binären Darstellungen der Dezimalzahlen i beziehungsweise j sind. Es ist zu beachten, daß die linke Hälfte des obigen Feldes Y&sub5; = 0 entspricht, wogegen die rechte Hälfte Y&sub5; = 1 entspricht. Die mit "-" markierten Plätze in L&sub1; (4,6,5) repräsentieren 9-Tupel, die als Codeworte in dem hier vorgestellten (4, 6, 5)-Blockcode nicht zugelassen sind.
- Es gibt eine Vielzahl Blockcodes, die aus dem Feld L&sub1; (4,6,5) abgeleitet werden können und die Codeworte jedes Codes können den 256 8-Bit-Bytes auf 256! verschiedene Arten zugeordnet werden. Folglich ist die Anzahl aller Codierer-Abbildungen, die mit dem Feld L&sub1; (4,6,5) verbunden sind, sehr groß. Deshalb ist es wünschenswert, eine Codierer-Abbildung auszuwählen, die zu einfachen Codierer-/Decodierer-Realisierungen führt.
- Der Raum aller Eingangsbytes B&sup8; des Codierers wird in 9 paarweise disjunkte Sätze Ak, k = 1, 2, ..., 9 zerlegt. Die Elemente des Subsatzes Ak werden innerhalb des in Fig. 3B dargestellten 16x16 Feldes als spezielle Plätze, markiert mit "k", hervorgehoben, deren (i,j)-ter Platz am Schnittpunkt der i-ten Zeile, i 0, 1, ..., 15 und der j-ten Spalte, j = 0, 1, ..., 15, dem Byte X = (X&sub1;, X&sub2;, ... , X&sub8;) entspricht, wobei X&sub8;X&sub7;X&sub6;X&sub5; und X&sub1;X&sub2;X&sub3;X&sub4; die binären Darstellungen der Dezimalzahlen i beziehungsweise j sind.
- Genauso sind die Elemente Dk, k = 1, 2, ..., 9, die bezüglich der Codiererabbildung die Bilder von Ak darstellen, als spezielle Plätze innerhalb des 16 x 32 Feldes, das in Fig. 3C gezeigt wird, durch ein "k" markiert, deren (i,j)-ter Platz am Schnittpunkt der i-ten Zeile, i = 0, 1, .. ., 15 und der j-ten Spalte, j = 0, 1, ..., 31, dem 9-Tupel Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) entspricht, wobei Y&sub9;Y&sub8;Y&sub7;Y&sub6; und Y&sub5;Y&sub1;Y&sub2;Y&sub3;Y&sub4; die binären Darstellungen der Dezimalzahlen i beziehungsweise j sind.
- Das Muster der "-" in D (4,6,5) repräsentiert 9-Tupel, welche nicht als Codeworte verwendet werden können. Das Gleiche gilt für das Muster der "-" in L&sub1; (4,6,5). Die sieben 9-Tupel L&sub1;, welche in dem hier vorgestellten (4,6,5)-Blockcode nicht als Codeworte verwendet werden, entsprechen den Plätzen, die in D (4,6,5) mit " " markiert sind. Die Teilgebiete (Partitionen) A&sub1; und D&sub1; sind folgende: Die Muster der "1" in A (4,6,5) und in der rechten Hälfte von D (4,6,5) sind dieselben wie das Muster der " " in der rechten Hälfte von L&sub1; (4,6,5). Die anderen Subsätze Ak, k = 2, 3, ..., 9 und deren Bilder aufgrund der Codiererabbildungen Dk, k = 2, 3, ..., 9, werden gleichzeitig auf eine solche Weise ausgewählt, daß die Anzahl der benötigten logischen Gatter so klein wie möglich wird. Es ist zu beachten, daß die Auswahl der Teilgebiete Ak und Dk und der Eins-zu-Eins Entsprechungen zwischen Ak und Dk keiner Regel folgt, ausgenommen ist der Fall k = 1.
- Die Codierer- und Decodiererlogik des (4,6,5)-Codes wird in den Tabellen 1 beziehungsweise 2 gezeigt. Im folgenden kennzeichnet das Überstreichen der Variablen in den Tabellen die Negation in der Boole'schen Algebra. Um die Anzahl der logischen Gatter zu reduzieren, werden Zwischenvariablen für den Codierer Vi, i = 1, 2, ..., 7 und für den Decodierer Wi, i = 1, 2, ..., 9 verwendet. Zu demselben Zweck werden Superpartitionen als Vereinigungen von Teilgebieten (Partitionen) Si, i = 1, 2, ..., 9 für den Codierer und Ti, i = 1, 2, ..., 6 für den Decodierer eingeführt. Der Decodierer enthält eine optionale Fehlermarkierung F, welche gesetzt wird (F = 1), wenn das Eingangssignal des Decodierers ein unerlaubtes Codewort repräsentiert.
- Im folgenden kennzeichnet die Summe aller drei Beschränkungen, d.h.
- = G&sub0; + I&sub0; + G&sub1; (9)
- Die bisher vorgestellten Blockcodes erreichen = 15. Um das kleinste herauszufinden, das man mit einem (8,9)-Blockcode erhalten kann, wurde die maximale Anzahl der frei verkettbaren 9-Tupel nmax für alle relevanten Beschränkungen bestimmt. Das kleinste , das mit einem Codierer für einen (9,8)-Blockcode erreichbar ist, wird nur bei (4,5,6) und (4,6,5) erhalten.
- Eine Codierer-/Decodierer-Realisierung für den (4,4,9)-Blockcode wurde aus der Modifikation der Codierer-/Decodiererlogik erhalten, die in der U.S.-Patentschrift 4 707 681 angegeben wird.
- Die Bedingungen für die Auswahl der Ausgangscodeworte sind durch Gleichung (6) und die folgenden zwei Gleichungen gegeben.
- (Y&sub1;+Y&sub3;+Y&sub5;) (Y&sub5;+Y&sub7;+Y&sub9;) (Y&sub2;+Y&sub4;+Y&sub6;) (Y&sub4;+Y&sub6;+Y&sub8;) = 1 (10)
- und entweder
- Y&sub1; Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; + Y&sub5; Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0 (11a)
- oder
- Y&sub1; Y&sub2; Y&sub3; Y&sub4; Y&sub5; + Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0 (11b)
- wobei (6), (10) und (11a) verwendet werden, um eine Liste L&sub1; von 259 Codeworten zu erzeugen und (6), (10) und (11b) verwendet werden, um eine andere Liste L&sub2; von 259 Codeworten zu erzeugen. Die Gleichungen (6) und (10) sichern, G&sub0; = 4 und I&sub0; = 4, wogegen (11a) oder (11b) G&sub1; = 9 garantiert. Es ist zu beachten, daß die Codeworte von L&sub2; einfach durch Umkehrung der Codeworte von L&sub1; erhalten werden. Der hier vorgestellte (4,4,9)-Blockcode umfaßt 256 Codeworte und wurde zufallsmäßig so ausgewählt, daß er einen Subsatz L&sub1; bildet.
- Die 259 möglichen Codeworte in L&sub1; sind wieder als 259 Plätze innerhalb des 16 x 32 Feldes L&sub1; (4,4,9), das in Fig. 4 gezeigt wird, mit " " markiert.
- Die Tabellen 3 und 4 zeigen die Codierer- und Decodiererlogik des (4,4,9)-Codes einschließlich des optionalen Fehlererkennungsmarkierung F, welches gesetzt wird, wenn das Eingangssignal des Decodierers ein unerlaubtes Codewort ist. Es ist zu beachten, daß die Notation, die in der U.S.-Patentschrift 4 707 681 mit den Codierer-/Decodiererpartitionen verbunden ist, übernommen wurde.
- Die zwei, oben vorgestellten Codierer-/Decodierer-Realisierungen entsprechen optimalen (9,8)-Blockcodes, d.h., keine der Beschränkungen G&sub0;, I&sub0; und G&sub1; kann weiter verringert werden, ohne daß sich Auswirkungen auf eine andere Beschränkung ergeben.
- Die Blockcodierer, die in dem vorhergehenden Abschnitt diskutiert wurden, unterteilen die Informationsfolge in Blöcke und bearbeiten diese unabhängig voneinander. Im folgenden wird ein weiterer Codierer beschrieben, welcher eine Maschine mit finiten Zuständen ist, d.h. bei diesem Codierer ist das Ausgangssignal nicht nur vom momentanen Eingangssignal abhängig, sondern hängt auch von dem vorhergehend codierten Eingangssignal ab. Dieser Codierer gestattet eine noch bessere Reduzierung der Lauflängen. Decodierer, die zusammen mit diesem Codierer mit finiten Zuständen verwendet werden, müssen nicht selbst Maschinen mit finiten Zuständen sondern können Blockdecodierer sein.
- Der Codierer für den (4,6,4)-Code ist eine Maschine mit finiten Zuständen, bei der der Codiererzustand durch das letzte Bit des vorhergehenden Codewortes definiert wird. Genau wie bei den oben diskutierten Decodierern, kann der mit dem (4,6,4)-Code verbundene Decodierer als Blockdecodierer realisiert werden, welcher jeden 9-Bit-Block, der an seinem Eingang anliegt, auf einen Block aus 8 Bits abbildet. Der (4,6,4)-Code ist besser als die oben beschriebenen Blockcodes, d.h., er erreicht G&sub0; = 4, G&sub1; = 4 und = 14, und dennoch ist seine Codierer-/Decodierer-Implementierung fast so einfach wie die der Blockcodes.
- Im folgenden werden der (4,6,4)-Code und seine Codierer-/Decodierer-Realisierung beschrieben. Eine Liste von 230 Codeworten erhält man durch Auswahl aller 9-Tupel Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) ε B&sup9;, welche die Gleichungen (6) und (7) sowie folgende Gleichung erfüllen.
- Y&sub1; Y&sub2; Y&sub3;+Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6;+Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; +Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8;+Y&sub7; Y&sub8; Y&sub9; = 0 (12)
- Die Bedingungen (6) und (7) sichern G&sub0; = 4 und I&sub0; = 6, wogegen (12) G&sub1; = 4 garantiert. Die Codeworte in L beginnen nicht mit mehr als zwei Nullen oder Einsen. Wenn jedoch das letzte Bit des vorhergehenden Codewortes bekannt ist, im folgenden als Z bezeichnet, kann das nächste Codewort im Fall Z = 1 mit drei oder vier Nullen beginnen und mit drei oder vier Einsen im Fall Z = 0. Es gibt 26 binäre 9-Tupel, die mit drei oder vier Nullen beginnen und nicht gegen (7) oder (12) verstoßen und auch nicht gegen eine modifizierte Version von (6), bei der (Y&sub1; + Y&sub2; + Y&sub3;) durch (Y&sub1; + Y&sub2; + Y&sub3; + Y&sub4; + Y&sub5;) ersetzt wird, um zu gestatten, daß Codeworte mit drei oder höchstens vier Nullen beginnen. Genauso gibt es 35 binäre 9-Tupel, welche mit drei oder vier Einsen beginnen und die nicht gegen (6), (7) und eine modifizierte Version von (12) verstoßen, bei der (Y&sub1; Y&sub2; Y&sub3;) durch (Y&sub1; Y&sub2; Y&sub3; Y&sub4; Y&sub5;) ersetzt wurde, um zu gestatten, daß Codeworte mit drei oder höchstens vier Einsen beginnen.
- Die 230 Codeworte in L, die 26 Codeworte, die aus Z = 1 folgen und die 35 Codeworte, die aus Z = 0 folgen, werden als spezielle Plätze, die mit " ", "1" beziehungsweise "0" markiert sind, innerhalb des 16x32 Feldes dargestellt, das in Fig. 5A gezeigt wird, wobei die Definitionen bezüglich der Entsprechungen zwischen einem Feldplatz und einem 9-Tupel von Fig. 3A angewandt werden. Das Muster der "-" in L (4,6,4) repräsentiert alle 9-Tupel, welche nicht als Codeworte verwendet werden können. Der Raum der 256 Eingangsbytes B wird in 13 paarweise disjunkte Sätze Ak, k = 1, 2, ..., 9, a, b, c, d unterteilt, wobei der Index k eine Hexadezimalzahl ist.
- Die Elemente der Subsätze Ak, k = 1, 2, ..., d werden als spezielle Plätze, markiert mit "k", innerhalb des 16x16 Feldes von Fig. 5B dargestellt, wobei die Definitionen bezüglich der Entsprechungen zwischen einem Feldplatz und einem 8-Tupel von Fig. 3B angewandt werden. Die 230 Bytes in A (4,6,4), die mit "k", k = 1, 2, ... 9, a, b markiert sind, werden unabhängig vom Codiererzustand Z auf die 230 binären 9-Tupel in L(4,6,4) abgebildet, die mit " " gekennzeichnet sind, wobei die Bilder von Ak, k = 1, 2, ..., b die Dk, k = 1, 2, ..., b sind. Die verbleibenden 26 Bytes in A (4,6,4), die mit "c" und "d" markiert sind, werden auf 26 Codeworte in L (4,6,4) abgebildet, die mit "1" markiert sind, wenn Z = 1 gilt, oder auf 26 Codeworte, die aus den 35 binären 9-Tupeln ausgewählt werden, die in L (4,6,4) mit "0" markiert sind.
- Die Elemente von D, k = 1, 2, ..., b sind als mit "k" markierte Plätze innerhalb des 16x32 Feldes, das in Fig. 5C gezeigt wird, dargestellt, wobei die Definitionen bezüglich der Entsprechungen zwischen einem Feldplatz und einem 9-Tupel von Fig. 3C angewandt werden. Die Bilder der 26 Bytes von Ak, k = c, d sind vom Codiererzustand Z abhängig, und werden durch die Plätze spezifiziert, die in obigem Feld mit "c" und "d" markiert sind. Das Muster der "-" in D (4,6,4) repräsentiert alle 9-Tupel, die nicht als Codeworte verwendet werden und umfaßt das Muster der "-" in L (4,6,4) zusätzlich zu 35 - 26 = 9 ungenutzten 9-Tupeln, die in L (4,6,4) durch "0" markiert sind.
- Die (4,6,4)-Codierer-/Decodiererstruktur wird in Fig. 6 (6A und 6B) gezeigt.Die Codiererlogik besitzt neben den 8 Eingängen für die Bits X&sub1;, X&sub2;, ... , X&sub8; und den neun Ausgängen für die Bits Y&sub1;, Y&sub2;, ... , Y&sub9; einen zusätzlichen Eingang Z, der über ein Verzögerungselement 21 mit dem Bitausgang Y&sub9; verbunden ist. Das Verzögerungselement repräsentiert eine Zeitverzögerung, die der Periodendauer eines Byteblockes entspricht. Somit kann ein Eingangsblock X in zwei verschieden Ausgangscodeworte Y gewandelt werden, abhängig vom letzten Bit des vorhergehenden Ausgangscodewortes.
- Der Decodierer braucht keine Maschine mit finiten Zuständen (sequentieller Decodierer) zu sein. Ein normaler Blockdecodierer, der ein Codewort Y direkt in einen 8-Bit-Block X wandelt, ist ausreichend. Für die Fehlererkennungslogik wird jedoch ein separater Z-Eingang benötigt, der das letzte Bit Y&sub9; des vörhergehenden Codewortes über ein Verzögerungselement 27 empfängt.
- Die Codierer- und Decodiererlogik wird in den Tabellen 5 beziehungsweise 6 dargestellt. Diese logischen Gleichungen werden durch logische Gate-Arrays implementiert, die in der Codiererlogik 19, der Decodiererlogik 23 beziehungsweise der Fehlererkennungslogik 25 der Fig. 6A und 6B enthalten sind. Um die Anzahl der logischen Gatter zu reduzieren, werden Zwischenvariablen für den Codierer Vi, i = 1, 2, ..., 22 und für den Decodierer Wi, i = 1, 2, ..., 17 verwendet. Es wird eine optionale Fehlermarkierung F bereitgestellt, welche gesetzt wird, wenn das Eingangssignal des Decodierers ein unerlaubtes Codewort ist. Tabelle 1 (4,6,5) Codiererlogik Variablen Partitionen Superpartitionen Codiererausgangssignal Tabelle 2 (4,6,5) Decodiererlogik Variablen Partitionen Superpartitionen Decoderausgangssignal Fehlererkennungsmarkierung Tabelle 3 (4,4,9) Codiererlogik Variablen Partitionen Codiererausgangssignal Tabelle 4 (4,4,9) Decodiererlogik Variablen Partitionen Decoderausgangssignal Fehlererkennungsmarkierung Tabelle 5 (4,6,4) Codiererlogik Variablen Partitionen Superpartitionen Codiererausgangssignal Tabelle 6 (4,6,4) Decodiererlogik Variablen Partitionen Superpartitionen Decoderausgangssignal Fehlererkennungsmarkierung
Claims (13)
1.
Verfahren zum Codieren binärer Daten, die in Blöcke
unterteilt sind, von denen jeder eine erste gegebene Anzahl k an
Bits hat, in Codeworte, von denen jedes eine zweite
gegebene Anzahl n = k + 1 Bits hat, das Verfahren umfaßt die
Schritte:
- Empfangen der binären Daten;
- Erzeugen einer Folge von Codeworten fester Länge,
- die Folgen enthalten nicht mehr als eihe erste
vorgewählte Anzahl (G&sub0;) aufeinanderfolgender
Nullen;
- die Folgen umfassen zwei Subfolgen, von denen
eine nur aus ungeraden Bitplätzen und die andere
nur aus geraden Bitplätzen besteht, wobei jede
der Subfolgen nicht mehr als eine zweite
vorgewählte Anzahl (I&sub0;) aufeinanderfolgender Nullen
enthält;
dadurch gekennzeichnet, daß
- die Codeworte so ausgewählt werden, daß die maximale
Anzahl aufeinanderfolgender Einsen, welche in einer
beliebigen Codewort folge auftreten kann, eine dritte
vorgewählte Anzahl (G&sub1;) nicht überschreitet, welche ein
Minimum darstellt, das in Verbindung mit der ersten
vorgewählten Anzahl (G&sub0;) und der zweiten vorgewählten
Anzahl (I&sub0;) möglicherweise auftreten kann.
7. Vorrichtung zum Codieren binärer Daten in Codeworte, wobei
die Vorrichtung umfaßt:
- Empfängermittel zum Empfangen binärer Daten und zur
Aufteilung dieser Daten in Blöcke, von denen jeder
eine erste gegebene Anzahl k an Bits umfaßt;
- Codiermittel, die mit den Empfängermitteln verschaltet
sind, zum Erzeugen von Folgen von Codeworten fester
Länge, von denen jedes Codewort eine zweite gegebene
Anzahl n = k + 1 Bits umfaßt;
- die Folgen enthalten nicht mehr als eine erste
vorgewählte Anzahl (G&sub0;) aufeinanderfolgender Nullen;
- die Folgen umfassen zwei Subfolgen, von denen eine nur
aus ungeraden Bitplätzen und die andere nur aus
geraden Bitplätzen besteht, wobei jede der Subfolgen nicht
mehr als eine zweite vorgewählte Anzahl (I&sub0;)
aufeinanderfolgender Nullen enthält, dadurch gekennzeichnet,
daß
- die Folgen nicht mehr als eine dritte vorgewählte
Anzahl (G&sub1;) aufeinanderfolgender Einsen enthalten;
- die dritte vorgewählte Anzahl (G&sub1;) der Minimalwert ist,
der in Verbindung mit der gegebenen Kombination der
ersten vorgewählten Anzahl (G&sub0;) und der zweiten
vorgewählten Anzahl (I&sub0;) auftreten kann.
2. Verfahren nach Anspruch 1 zum Codieren von Daten, von
welchen aus den unterteilten 8-Bit-Datenblöcken
9-Bit-Codeworte gebildet werden, umfassend die folgenden Schritte:
- Auswählen eines vollen Subsatzes (L&sub1;), bestehend aus
263 möglichen Codeworten, aus dem Satz aller möglichen
9-Bit-Worte Y (Y&sub1; Y&sub2;, ... , Y&sub9;} wobei der Subsatz die
folgenden logischen Bedingungen erfüllt:
(Y&sub1; + Y&sub2; + Y&sub3;) (Y&sub2; + Y&sub3; + Y&sub4; + Y + Y&sub6;) (Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub1; + Y&sub3; + Y&sub5; + Y&sub7;) (Y&sub3; + Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub2; + Y&sub4; + Y&sub6; + Y&sub8;) = 1 und
Y&sub1; Y&sub2; Y&sub3; + Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0;
- Auswählen eines Teil-Subsatzes, bestehend aus 256
aktuellen Codeworten, aus dem vollen Subsatz der
möglichen Codeworte;
- Zuordnen von je einem der 256 möglichen
8-Bit-Datenblöcke zu je einem der aktuellen Codeworte des Teil-
Subsatzes und
- Codieren der Datenblöcke dadurch, daß jeder Datenblock
durch das zugeordnete Codewort ersetzt wird;
so daß für die sich ergebende Folge von Codeworten die
erste vorgewählte Anzahl (G&sub0;) die Vier ist, die zweite
vorgewählte Anzahl (I&sub0;) die Sechs ist und die dritte vorgewählte
Anzahl (G&sub1;) die Fünf ist.
3. Verfahren nach Anspruch 1 zum Codieren von Daten, von
welchen aus den unterteilten 8-Bit-Datenblöcken
9-Bit-Codeworte gebildet werden, umfassend die folgenden Schritte:
- Auswählen eines vollen Subsatzes (L&sub2;), bestehend aus
263 möglichen Codeworten, aus dem Satz aller möglichen
9-Bit-Worte Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) wobei der Subsatz die
folgenden logischen Bedingungen erfüllt:
(Y&sub1; + Y&sub2; + Y&sub3;) (Y&sub2; + Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6;) (Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub1; + Y&sub3; + Y&sub5; + Y&sub7;) (Y&sub3; + Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub2; + Y&sub4; + Y&sub6; + Y&sub8;) = 1 und
Y&sub1; Y&sub2; Y&sub3; Y&sub4; + Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub7; Y&sub8; Y&sub9; = 0;
- Auswählen eines Teil-Subsatzes, bestehend aus 256
aktuellen Codeworten, aus dem vollen Subsatz der
möglichen Codeworte;
- Zuordnen von je einem der 256 möglichen
8-Bit-Datenblöcke zu je einem der aktuellen Codeworte des
Teil-Subsatzes; und
- Codieren der Datenblöcke dadurch, daß jeder Datenblock
durch das zugeordnete Codewort ersetzt wird;
so daß für die sich ergebende Folge von Codeworten die
erste vorgewählte Anzahl (G&sub0;) die Vier ist, die zweite
vorgewählte Anzahl (I&sub0;) die Sechs ist und die dritte vorgewählte
Anzahl (G&sub1;) die Fünfist.
4. Verfahren nach Anspruch 1 zum Codieren von Daten, von
welchen aus den unterteilten 8-Bit-Datenblöcken
9-Bit-Codeworte gebildet werden, umfassend die folgenden Schritte:
- Auswählen eines vollen Subsatzes (L&sub1;), bestehend aus
259 möglichen Codeworten, aus dem Satz aller möglichen
9-Bit-Worte Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) wobei der Subsatz die
folgenden logischen Bedingungen erfüllt:
(Y&sub1; + Y&sub2; + Y&sub3;) (Y&sub2; + Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6;) (Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub1; + Y&sub3; + Y&sub5; ) (Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub2; + Y&sub4; + Y&sub6; ) (Y&sub4; + Y&sub6; + Y&sub8; ) = 1 und
Y&sub1; Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; + Y&sub5; Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0;
- Auswählen eines Teil-Subsatzes, bestehend aus 256
aktuellen Codeworten, aus dem vollen Subsatz der
möglichen Codeworte;
- Zuordnen von je einem der 256 möglichen
8-Bit-Datenblöcke zu je einem der aktuellen Codeworte des Teil-
Subsatzes; und
- Codieren der Datenblöcke dadurch, daß jeder Datenblock
durch das zugeordnete Codewort ersetzt wird;
so daß für die sich ergebende Folge von Codeworten die
erste vorgewählte Anzahl (G&sub0;) die Vier ist, die zweite
vorgewählte Anzahl (I&sub0;) die Vier ist und die dritte vorgewählte
Anzahl (G&sub1;) die Neun ist.
5. Verfahren nach Anspruch 1 zum Codieren von Daten, von
welchen aus den unterteilten 8-Bit-Datenblöcken
9-Bit-Codeworte gebildet werden, umfassend die folgenden Schritte:
- Auswählen eines vollen Subsatzes (L&sub2;), bestehend aus
259 möglichen Codeworten, aus dem Satz aller möglichen
9-Bit-Worte Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) wobei der Subsatz die
folgenden logischen Bedingungen erfüllt:
(Y&sub1; + Y&sub2; + Y&sub3;) (Y&sub2; + Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6;) (Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub1; + Y&sub3; + Y&sub5;) (Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub4; + Y&sub6; + Y&sub8;) = 1 und
Y&sub1; Y&sub2; Y&sub3; Y&sub4; Y&sub5; + Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; Y&sub9; = 0;
- Auswählen eines Teil-Subsatzes, bestehend aus 256
aktuellen Codeworten, aus dem vollen Subsatz der
möglichen Codeworte;
- Zuordnen von je einem der 256 möglichen
8-Bit-Datenblöcke zu je einem der aktuellen Codeworte des
Teil-Subsatzes; und
- Codieren der Datenblöcke dadurch, daß jeder Datenblock
durch das zugeordnete Codewort ersetzt wird;
so daß für die sich ergebende Folge von Codeworten die
erste vorgewählte Anzahl (G&sub0;) die Vier ist, die zweite
vorgewählte Anzahl (I&sub0;) die Vier ist und die dritte vorgewählte
Anzahl (G&sub1;) die Neun ist.
6. Verfahren nach Anspruch 1 zum Codieren von Daten, von
welchen aus den unterteilten 8-Bit-Datenblöcken
9-Bit-Codeworte gebildet werden, umfassend die folgenden Schritte:
- Auswählen aus dem Satz aller möglichen 9-Bit-Worte
Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;)
- eines ersten vollen Subsatzes (L), bestehend aus 230
aktuellen Codeworten, welche die folgenden logischen
Bedingungen erfüllen:
(Y&sub1; + Y&sub2; + Y&sub3;) (Y&sub2; + Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6;) (Y&sub3; + Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub1; + Y&sub3; + Y&sub5; + Y&sub7;) (Y&sub3; + Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub2; + Y&sub4; + Y&sub6; + Y&sub8;) = 1 und
Y&sub1; Y&sub2; Y&sub3; + Y&sub2; Y&sub3; Y&sub4; Y&sub5; Y&sub6; + Y&sub3; Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; +
Y&sub7; Y&sub8; Y&sub9; = 0 ;
- Auswählen eines zweiten Subsatzes (1), bestehend aus
26 aktuellen Codeworten, die einer ersten Bedingung
mit Y&sub1; = Y&sub2; = Y&sub3; = 0 unterliegen und welche weiterhin
die folgenden logischen Bedingungen erfüllen:
(Y&sub4; + Y&sub5;) (Y&sub4; + Y&sub5; + Y&sub6;) (Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7;)
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
(Y&sub5; + Y&sub7;) (Y&sub5; + Y&sub7; + Y&sub9;) (Y&sub4; + Y&sub6; + Y&sub8;) = 1 und
Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub7; Y&sub8; Y&sub9; = 0
- Auswählen eines dritten Subsatzes (0) von 35 möglichen
Codeworten, die einer zweiten Bedingung mit Y&sub1; = Y&sub2; = Y&sub3;
= 1 unterliegen und welche weiterhin die folgenden
logischen Bedingungen erfüllen:
(Y&sub4; + Y&sub5; + Y&sub6; + Y&sub7; + Y&sub8;) (Y&sub7; + Y&sub8; + Y&sub9;) = 1,
Y&sub4; Y&sub5; + Y&sub4; Y&sub5; Y&sub6; + Y&sub4; Y&sub5; Y&sub6; Y&sub7; + Y&sub4; Y&sub5; Y&sub6; Y&sub7; Y&sub8; + Y&sub7; Y&sub8; Y&sub9; = 0
- Auswählen eines Teil-Subsatzes, bestehend aus 26
aktuellen Codeworten, die der zweiten Bedingung
unterliegen, aus dem dritten Subsatz der möglichen Codeworte,
die der zweiten Bedingung unterliegen;
- Zuordnen von je einem der 256 möglichen
8-Bit-Datenblöcke zu je einem der aktuellen Codeworte der
Subsätze, wobei 26 von den möglichen 8-Bit-Datenblöcken
zweifach zugeordnet werden und zwar einem Codewort,
das der ersten Bedingung unterliegt und einem
Codewort, das der zweiten Bedingung unterliegt; und
- Codieren der Datenblöcke dadurch, daß jeder Datenblock
durch das zugeordnete Codewort ersetzt wird, wobei die
Auswahl der bedingten Codeworte von dem binären Wert
des letzten Bits des zuletzt erzeugten Codewortes
abhängt;
so daß für die sich ergebende Folge von Codeworten die
erste vorgewählte Anzahl (G&sub0;) die Vier ist, die zweite
vorgewählte Anzahl (I&sub0;) die Sechs ist und die dritte vorgewählte
Anzahl (G&sub1;) die Vier ist.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
sie einen Codierer zur Wandlung von 8-Bit
Eingangsdatenblöcken X = (X&sub1;, X&sub2;, ... , X&sub8;) in 9-Bit-Ausgangscodeworte
Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) umfaßt, wobei der Codierer ein
logisches Gate-Array ist, in welchem die folgenden logischen
Funktionen implementiert sind:
so daß in Reaktion auf eine zufällige Folge der
Eingangsdatenblöcke für die sich ergebende Folge der
Ausgangscodeworte die erste vorgewählte Anzahl (G&sub0;) die Vier ist, die
zweite vorgewählte Anzahl (I&sub0;) die Sechs ist und die dritte
vorgewählte Anzahl (G&sub1;) die Fünfist.
9. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
sie einen Codierer zur Wandlung von 8-Bit
Eingangsdatenblöcken X = (X&sub1;, X&sub2;, ... , X&sub8;) in 9-Bit-Ausgangscodeworte
Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) umfaßt, wobei der Codierer ein
logisches Gate-Array ist, in welchem die folgenden logischen
Funktionen implementiert sind:
so daß in Reaktion auf eine zufällige Folge der
Eingangsdatenblöcke für die sich ergebende Folge der
Ausgangscodeworte die erste vorgewählte Anzahl (G&sub0;) die Vier ist, die
zweite vorgewählte Anzahl (I&sub0;) die Vier ist und die dritte
vorgewählte Anzahl (G&sub1;) die Neun ist.
10. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß
sie einen Codierer zur Wandlung von 8-Bit
Eingangsdatenblöcken X = (X&sub1; , X&sub2;, ... , X&sub8;) in 9-Bit-Ausgangscodeworte
Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;) umfaßt,
wobei der Codierer ein sequentieller Codierer (Figur 6A)
ist, der neun Ausgänge zum Bereitstellen der neun Bits
jedes Ausgangscodewortes besitzt und ebenfalls neun Eingänge,
von denen acht so verschaltet sind, daß sie die acht Bits
eines Eingangsdatenblockes empfangen und der neunte Eingang
(Z) ist mit dem neunten Ausgang über ein
Verzögerungselement (21) verbunden;
der Codierer ist ein logisches Gate-Array, in welchem die
folgenden logischen Funktionen implementiert sind:
so daß in Reaktion auf eine zufällige Folge der
Eingangsdatenblöcke für die sich ergebende Folge der
Ausgangscodeworte die erste vorgewählte Anzahl (G&sub0;) die Vier ist, die
zweite vorgewählte Anzahl (I&sub0;) die Sechs ist und die dritte
vorgewählte Anzahl (G&sub1;) die Vier ist.
I1. Decodiervorrichtung zur Wandlung von
9-Bit-Eingangscodeworten Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;), die von einer Codiervorrichtung
nach Anspruch 8 erzeugt wurden, in 8-Bit
Ausgangsdatenblöcke X = (X&sub1;, X&sub2;, ... , X&sub8;), wobei die Decodiervorrichtung
ein logisches Gate-Array umfaßt, in welchem die folgenden
logischen Funktionen implementiert sind:
12. Decodiervorrichtung zur Wandlung von
9-Bit-Eingangscodeworten ,Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;), die von einer Codiervorrichtung
nach Anspruch 9 erzeugt wurden, in 8-Bit
Ausgangsdatenblöcke X = (X&sub1;, X&sub2;, ... , X&sub8;), wobei die Decodiervorrichtung
ein logisches Gate-Array umfaßt, in welchem die folgenden
logischen Funktionen implementiert sind:
13. Decodiervorrichtung zur Wandlung von
9-Bit-Eingangscodeworten Y = (Y&sub1;, Y&sub2;, ... , Y&sub9;), die von einer Codiervörrichtung
nach Anspruch 10 erzeugt wurden, in 8-Bit
Ausgangsdatenblöcke X = (X&sub1;, X&sub2;, ... , X&sub8;), wobei die Decodiervorrichtung
ein logisches Gate-Array umfaßt, in weichem die folgenden
logischen Funktionen implementiert sind:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP89810607A EP0413076B1 (de) | 1989-08-16 | 1989-08-16 | Daten-Kodierung für den Sofortstart von PRML-Empfängern |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68920739D1 DE68920739D1 (de) | 1995-03-02 |
DE68920739T2 true DE68920739T2 (de) | 1995-06-29 |
Family
ID=8203173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68920739T Expired - Fee Related DE68920739T2 (de) | 1989-08-16 | 1989-08-16 | Daten-Kodierung für den Sofortstart von PRML-Empfängern. |
Country Status (7)
Country | Link |
---|---|
US (1) | US5241309A (de) |
EP (1) | EP0413076B1 (de) |
JP (1) | JPH0724382B2 (de) |
KR (1) | KR940007546B1 (de) |
BR (1) | BR9004029A (de) |
DE (1) | DE68920739T2 (de) |
HK (1) | HK90095A (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0505657A1 (de) * | 1991-03-27 | 1992-09-30 | International Business Machines Corporation | Präambel-Erkennung und Synchronisationsdetektierung in Partial-Response Systemen |
US5196849A (en) * | 1992-01-31 | 1993-03-23 | International Business Machines Corporation | Method and apparatus for implementing PRML codes with maximum ones |
US5424881A (en) | 1993-02-01 | 1995-06-13 | Cirrus Logic, Inc. | Synchronous read channel |
US5544178A (en) * | 1994-06-10 | 1996-08-06 | Cirrus Logic, Inc. | Method and apparatus for encoding data in a PRML class-IV digital communication channel |
US5576906A (en) * | 1994-10-11 | 1996-11-19 | Quantum Corporation | Synchronous detection of concurrent servo bursts for fine head position in disk drive |
JPH08288850A (ja) * | 1995-04-14 | 1996-11-01 | Nec Corp | 符号化変調方式および検出方式 |
ES2159040T4 (es) * | 1995-09-01 | 2006-05-16 | Koninklijke Philips Electronics N.V. | Metodo de conversion de una serie de palabras de informacion de m bits en una señal modulada, metodo para la fabricacion de un soporte de grabacion, dispositivo de codificacion, dispositivo, dispositivo de grabacion, señal, asi como un soporte de grabacion. |
US5949820A (en) * | 1996-08-01 | 1999-09-07 | Nec Electronics Inc. | Method for optimizing an equalization and receive filter |
US5808573A (en) * | 1996-08-01 | 1998-09-15 | Nec Electronics Incorporated | Methods and structure for sampled-data timing recovery with reduced complexity and latency |
US5790057A (en) * | 1996-08-12 | 1998-08-04 | Lanart Corporation | Method of and system for the efficient encoding of data |
KR100408532B1 (ko) * | 1996-10-31 | 2004-01-24 | 삼성전자주식회사 | 데이타저장기기의prml코드생성방법 |
US5914989A (en) * | 1997-02-19 | 1999-06-22 | Nec Electronics, Inc. | PRML system with reduced complexity maximum likelihood detector |
US6089749A (en) * | 1997-07-08 | 2000-07-18 | International Business Machines Corporation | Byte synchronization system and method using an error correcting code |
US6158027A (en) * | 1998-08-31 | 2000-12-05 | International Business Machines Corporation | Enhanced noise-predictive maximum likelihood (NPML) data detection method and apparatus for direct access storage device (DASD) |
US6460150B1 (en) * | 2000-03-02 | 2002-10-01 | International Business Machines Corporation | Noise-predictive post-processing for PRML data channel |
US7133523B2 (en) * | 2002-12-20 | 2006-11-07 | Pitney Bowes Inc. | Method and system for solving the word problem in braid group cryptosystems |
US7388938B2 (en) * | 2004-05-28 | 2008-06-17 | Hitachi Global Storage Technologies-Netherlands B.V. | Method for bit-byte synchronization in sampling a data string |
US7030789B1 (en) | 2004-12-01 | 2006-04-18 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for applying modulation constraints to data using periodically changing symbol mappings |
US7071851B1 (en) | 2005-01-31 | 2006-07-04 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for implementing non-uniform constraints in modulation encoded data |
US7064687B1 (en) | 2005-01-31 | 2006-06-20 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for modulating data using short block encoders |
US7142134B2 (en) * | 2005-02-01 | 2006-11-28 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for generating modulation codes using running substitutions |
US7126502B2 (en) * | 2005-02-01 | 2006-10-24 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for using interleaved encoders to obtain modulation constraints |
US7486208B2 (en) * | 2007-05-16 | 2009-02-03 | International Business Machines Corporation | High-rate RLL encoding |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4644564A (en) * | 1983-08-05 | 1987-02-17 | International Business Machines Corporation | Decoding the output signal of a partial-response class-IV communication or recording device channel |
JPS6048645A (ja) * | 1983-08-29 | 1985-03-16 | Sony Corp | 情報変換装置 |
JPH0721942B2 (ja) * | 1984-10-11 | 1995-03-08 | ソニー株式会社 | チヤンネル符号化方法 |
US4707681A (en) * | 1986-04-24 | 1987-11-17 | International Business Machines Corporation | Method and apparatus for implementing optimum PRML codes |
US5040191A (en) * | 1987-02-24 | 1991-08-13 | Codex Corporation | Partial response channel signaling systems |
US4786890A (en) * | 1987-07-28 | 1988-11-22 | International Business Machines Corporation | Method and apparatus for implementing a PRML code |
DE3778549D1 (de) * | 1987-11-13 | 1992-05-27 | Ibm | Schnelle takterfassung fuer partial-response-signalisierung. |
NL8702905A (nl) * | 1987-12-03 | 1989-07-03 | Philips Nv | Werkwijze en inrichting voor het optekenen van informatie, een registratiedrager, een inrichting voor het uitlezen van de opgetekende informatie, alsmede een codeer- en decodeerschakeling voor toepassing in de opteken- en uitleesinrichting. |
US4870414A (en) * | 1988-03-18 | 1989-09-26 | International Business Machines Corporation | Even mark modulation coding method |
US5001482A (en) * | 1990-06-11 | 1991-03-19 | International Business Machines Corporation | BiCMOS digital-to-analog converter for disk drive digital recording channel architecture |
-
1989
- 1989-08-16 DE DE68920739T patent/DE68920739T2/de not_active Expired - Fee Related
- 1989-08-16 EP EP89810607A patent/EP0413076B1/de not_active Expired - Lifetime
-
1990
- 1990-07-31 KR KR1019900011836A patent/KR940007546B1/ko not_active IP Right Cessation
- 1990-08-10 US US07/565,542 patent/US5241309A/en not_active Expired - Lifetime
- 1990-08-15 BR BR909004029A patent/BR9004029A/pt not_active Application Discontinuation
- 1990-08-16 JP JP2215140A patent/JPH0724382B2/ja not_active Expired - Fee Related
-
1995
- 1995-06-08 HK HK90095A patent/HK90095A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0413076A1 (de) | 1991-02-20 |
BR9004029A (pt) | 1991-09-03 |
KR940007546B1 (ko) | 1994-08-19 |
KR910005588A (ko) | 1991-03-30 |
JPH03102920A (ja) | 1991-04-30 |
DE68920739D1 (de) | 1995-03-02 |
US5241309A (en) | 1993-08-31 |
EP0413076B1 (de) | 1995-01-18 |
HK90095A (en) | 1995-06-16 |
JPH0724382B2 (ja) | 1995-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68920739T2 (de) | Daten-Kodierung für den Sofortstart von PRML-Empfängern. | |
DE3888418T2 (de) | PRML-Kodierung. | |
DE68925547T2 (de) | Vorrichtung und Verfahren zur Zeichenbegrenzungsermittlung in einem seriellen codierten Datenstrom | |
DE69024045T2 (de) | Kodierungsverfahren und Vorrichtung zur Pipeline- und Parallelverarbeitung. | |
DE3587535T2 (de) | Verfahren und Vorrichtung zur numerischen Datenkodierung. | |
DE4437790B4 (de) | Verfahren und Vorrichtung zur Verwendung von endlichen Automaten zur Durchführung einer Kanalmodulation und einer Fehlerkorrektur und einer Entropie-Kodierung | |
DE69023372T2 (de) | Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung. | |
DE60035171T2 (de) | Verfahren und Schaltungen zum schnellen Auffinden des minimalen / maximalen Wertes in einer Menge von Zahlen | |
DE69609509T2 (de) | Trelliskodierung mit verminderter fehlerverbreitung | |
DE19781914C2 (de) | System zum Implementieren von lauflängenbegrenzten Codes | |
DE2844216C2 (de) | Erzeugung von Synchronisier-Bitfolgemustern bei Code mit begrenzter Lauflänge | |
DE3687285T2 (de) | Verfahren und anordnung zur modifizierung eines lauflaengenbegrenzten codes. | |
DE69427399T2 (de) | Datenübertragungseinrichtung | |
DE2227148B2 (de) | Schaltungsanordnung zur Umsetzung digitaler Daten | |
DE2830924A1 (de) | Einrichtung zum aufzeichnen und/oder uebertragung von digitalen signalen | |
DE4203301C1 (de) | ||
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE102019107670B4 (de) | Entspannte 433-kodierung zur verringerung der kopplung und des leistungsrauschens auf pam-4-datenbussen | |
DE2828219C2 (de) | ||
DE69327021T2 (de) | Dekodierschaltung für einen Kode variabler Länge | |
DE69602932T2 (de) | Multitor ram zur anwendung in einem viterbidecoder | |
DE1549439A1 (de) | Datenverarbeitungssystem | |
DE3051112C2 (de) | ||
DE2727627C2 (de) | Dekoder zur Parallelumsetzung von binären Zeichendaten in ein Punktmatrixformat | |
DE69904827T2 (de) | Umkehrbare umsetzung von binären sequenzen in 2/3 (1,k) lauflängenbegrenzte kodierte sequenzen mit beschränkungen der maximalen übergangsdichte |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |