DE19963687B4 - Modulations-Codierer und -Decodierer - Google Patents

Modulations-Codierer und -Decodierer Download PDF

Info

Publication number
DE19963687B4
DE19963687B4 DE19963687A DE19963687A DE19963687B4 DE 19963687 B4 DE19963687 B4 DE 19963687B4 DE 19963687 A DE19963687 A DE 19963687A DE 19963687 A DE19963687 A DE 19963687A DE 19963687 B4 DE19963687 B4 DE 19963687B4
Authority
DE
Germany
Prior art keywords
base
representation
modulation
bits
encoder
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
Application number
DE19963687A
Other languages
English (en)
Other versions
DE19963687A1 (de
Inventor
Lih-Jyh Shrewsbury WENG
Ara Westboro Patapoutian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantum Corp
Original Assignee
Quantum Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quantum Corp filed Critical Quantum Corp
Publication of DE19963687A1 publication Critical patent/DE19963687A1/de
Application granted granted Critical
Publication of DE19963687B4 publication Critical patent/DE19963687B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/31Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining coding for error detection or correction and efficient use of the spectrum

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Modulations-Codierer, der folgendes umfaßt:
eine Basis-Konversionsschaltung, die einen unterteilten Eingangsdatenstrom von einer ersten Basis-Darstellung in Übereinstimmung mit der Größe der Bit-Gruppen im unterteilten Eingangsdatenstrom in eine zweite Basis-Darstellung konvertiert und folgende Bestandteile umfaßt:
eine Zwischenwert-Logikschaltung zur Erzeugung von Zwischenwerten des unterteilten Eingangsdatenstroms in der zweiten Basis-Darstellung,
eine Restwert-Logikschaltung, die eine Modulo-Arithmetik mit den Zwischenwerten Modulo der zweiten Basis-Darstellung durchführt, und
eine Einsen-Komplement-Logikschaltung, die von der Restwert-Logikschaltung gespeist wird, um Ausgangs-Codewörter zu erzeugen.

Description

  • Hintergrund
  • Diese Erfindung betrifft Modulations-Codierer für magnetische Speichergeräte.
  • Modulationscodes werden häufig bei magnetischen Speichergeräten verwendet, um sicherzustellen, daß in einem Datenstrom, der auf der magnetischen Speichereinrichtung gespeichert wird, kein langer String von Nullen vorhanden ist. Beispielsweise kann bei einem Bandlaufwerkssystem das Auftreten eines langen Strings von Nullen, der einen Begrenzungswert k übersteigt, bewirken, daß eine Schaltung mit einer phasenstarren Schleifenanordnung (phase lock loop device), die Daten von der Speichereinrichtung liest bzw. auf diese schreibt, die Synchronisation (lock) verliert und katastrophale Datenfehler erzeugt.
  • Verschiedene Arten von magnetischen Speichersystem bevorzugen Codeeigenschaften, wie zum Beispiel Taktaktualisierungen (timing updates) und Fehlerausbreitungscharakteristika unterschiedlich. Für Bandsystemen, ist es wichtiger, einen kleinen Begrenzungswert k zu besitzen (häufige Taktaktualisierungen), als für Plattenlaufwerke, da Bandsysteme eine größere Toleranz in bezug auf Geschwindigkeitsänderungen benötigen. Wenn andererseits das Band ein Fehlerkontrollschema wie zum Beispiel Fehlerdetektion längs einer Spur verwendet, wie dies zur Zeit bei üblichen digitalen linearen Bandsystemen (DLT) der Fall ist, dann hat die Minimierung der Fehlerausbreitung eine niedrigere Priorität.
  • Eine Art von Modulations-Codierverfahren verwendet das Nachschlagen in einer Tabelle, um Codewörter in Antwort auf Verwenderdaten zu erzeugen.
  • Eine Art von Modulations-Code ist das sogenannte „Block-Code”-Verfahren. Bei einem Block-Code werden Daten auf Blockbasis bearbeitet und für eine Anzahl m von Bits, die in einem Codierer eingegeben werden, kommen aus ihm n Bits heraus. Die Code-Rate für einen solchen Code wird durch m/n gegeben. Bei einer Art von Block-Code wird ein redundantes „Pivot”-Bit zum codierten Codewort hinzugefügt. Dieses Pivot-Bit zeigt an, ob ein Bedarf für eine Codierung bestand. Wenn das Pivot-Bit beispielsweise gleich „1” ist, so könnte dies anzeigen, daß die Daten nicht codiert worden sind, während dann eine „0” anzeigen würde, daß sie codiert worden sind, weil eine Verletzung der k-Beschränkung aufgetreten ist. Üblicherweise können solche Codes einfach realisiert werden, doch beginnen sie bei höheren Code-Raten ineffizient zu werden. Ein zweites Block- Code-Verfahren besteht darin, einen verfügbaren Block-Code mit einer Code-Rate eines (n – 1)/n-Codes für kleine n zu verwenden und p verschachtelte, nichtcodierte Bits einzufügen, was zu einem (n + p – 1)/(n + p)-Code führt. Solche Codes sind für eine hohe Code-Rate geeignet, einfach zu konstruieren und haben üblicherweise gute Fehlerausbreitungseigenschaften, doch führen sie zu großen k-Werten. Dies mag für Plattenlaufwerksanwendungen geeignet sein, ist aber nicht allgemein geeignet bei Bandsystemen.
  • Aus Wijngaarden, A.J. et al.: Combinatorial Construction of High Rate Runlength-limited Codes. In: Global Telecommunications Conference, 1996, Seiten 343 bis 347, ist die Konstruktion von lauflängenbegrenzten Modulations-Codierungen bekannt, bei denen (n – 1) Datenbits in ein n-Bit Codewort umgesetzt werden. Hierzu wird ein Eingangsdatenstrom in Unterblöcke unterteilt und durch die Einfügung eines Indikatorbits yc zwischen den Unterblöcken angezeigt, ob eine Verletzung der Lauflängenbegrenzung vorliegt. Ist dies der Fall, so wird das Indikatorbit yc auf „0” gesetzt und der Unterblock, der die Verletzung aufweist, in ein alternatives Codewort ohne Verletzung umgesetzt.
  • Aus der US 5,757,294 A sind ein Codierer und ein Decodierer für lauflängenbegrenzte Modulations-Codierungen mit der Rate 24/25 bekannt, wobei der Codierer einen Eingangsdatenstrom in Worte zu jeweils 3 Bytes (A, B, C) unterteilt und das erste Byte (A) mit einer Rate 8/9 in ein Codewort A' umgesetzt wird. Danach wird das Codewort A' in zwei Teile A1' und A2' aufgespalten und mit den Datenworten B, C zu einem 25-Bit Codewort angeordnet. Der Decodierer setzt auf umgekehrte Weise ein 25-Bit Codewort in ein 24-Bit Datenwort um.
  • Zusammenfassung
  • Gemäß einem Gesichtspunkt der Erfindung umfaßt ein Modulations-Codierer eine Basiskonversionsschaltung, die einen partitionierten Eingangsdatenstrom aus einer ersten Basisdarstellung entsprechend der Größe von Bitgruppen in dem partitionierten Strom in eine zweite Basisdarstellung konvertiert. Die Basiskonversionsschaltung umfaßt eine Schaltung zur Erzeugung von Zwischenwerten des partitionierten Stroms in die zweite Basisdarstellung und eine Restwert-Logikschaltung, die für die Zwischenwerte eine Modulo-Arithmetik modulo der zweiten Basisdarstellung ausführt, und ein Einsen-Komplement-Logiknetzwerk, dem Werte von der Restwert-Logik zugeführt werden, um Ausgangscodewörter zu erzeugen.
  • Gemäß einem weiteren Gesichtspunkt der Erfindung umfaßt ein Modulations-Decodierer eine Einsen-Komplement-Logikschaltung, der Modulations-Codewörter zugeführt werden, um Restwert-Wörter zu erzeugen und eine Basis-Konversionsschaltung, die Restwert-Wörter von einer ersten Basisdarstellung in eine zweite Basisdarstellung konvertiert, um die ursprünglichen Verwenderdaten zu liefern.
  • Einer oder mehrere der folgenden Vorteile werden mit einem solchen Codierer und/oder Decodierer erzielt. Die obigen Maßnahmen liefern einen Codierer und/oder Decodierer, der eine sehr hohe Code-Rate mit einem niedrigen Begrenzungswert k besitzt und der relativ einfach realisiert werden kann. Zusätzlich ist die maximale Fehlerausbreitung (wenn das Fehlerereignis 4 Bit oder weniger umfaßt) auf 8 Bytes für 32/33-Codes begrenzt, bzw. auf 10 Bytes für 40/41-Codes und 6 Bytes für 24/25-Codes. Dies wird erzielt, ohne daß die Code-Rate wesentlich vermindert, die k-Beschränkung gelockert oder Realisierungen verwendet werden, die durch ihre Komplexität einen wirtschaftlichen Einsatz unmöglich machen.
  • Kurze Beschreibung der Zeichnung
  • In der Zeichnung zeigen:
  • 1 ein Blockdiagramm eines magnetischen Speichersystems,
  • 2 ein Blockdiagramm eines Modulations-Codierers für das System aus 1,
  • 3 ein Blockdiagramm einer anderen Ausführungsform eines Modulations-Codierers,
  • 4 ein Blockdiagramm eines Modulations-Decodierers für den Codierer aus 2, und
  • 5 ein Blockdiagramm einer anderen Ausführungsform für einen Modulations-Decodierer, die für den Codierer aus 3 geeignet ist.
  • Detaillierte Beschreibung
  • In 1 ist ein magnetisches Speichersystem 10 dargestellt. Das magnetische Speichersystem 10 kann ein Plattenlaufwerk oder, wie gezeigt, ein Bandlaufwerkssystem 12 sein und umfaßt einen Modulations-Codierer 14 und einen Modulations-Decodierer 16. Der Modulations-Codierer 14 realisiert einen sogenannten (n – 1)/n-Modulationscode. Der Codierer 14 empfängt Verwenderdaten über eine Schnittstelle 18, die mit einem Bus 20 verbunden ist, der Teil eines größeren Computersystems (nicht dargestellt) sein kann. Der Codierer 14 codiert die Daten so, daß die Daten beschränkt sind, um einige Eigenschaften des Codier-Algorithmus zu erfüllen.
  • Der Codierer 14 liefert ein Verfahren für das Plattenlaufwerk, um Verwenderdaten so zu codieren, daß die Daten mit einer hohen Code-Rate, das heißt einem effizienten Format codiert werden. Der Codierer hat eine Hardware mit relativ geringer Komplexität im Vergleich zu einem allgemeinen Tabellen-Nachschlageverfahren für eine kleine Häufigkeit der Taktaktualisierung, (das heißt für einen kleinen Begrenzungswert k). Der Codierer 14 hat auch kurze Fehlerausbreitungseigenschaften am Modulations-Decodiererausgang. Die Daten werden mit einer hohen Code-Rate codiert, um ein effizientes Format für einen gegebenen Begrenzungswert k für den Modulations-Code zu liefern. Insbesondere nimmt der Codierer Verwenderdaten auf und stellt sicher, daß keine ununterbrochene Folge von Nullen mit dem Wert k auftritt, die ansonsten zu einem Verlust der Phasenverriegelung bzw. synchronität (phase lock) bei Daten-Lese- bzw. Wiedergewinnungs-Schaltungen (nicht dargestellt) des Bandlaufwerkssystems 10 führen könnte.
  • Der Wert der Begrenzung „k” ist auf die Basis der Darstellung von Nibbles (Bitgruppen) im Codewort durch die Gleichung k = 2([log2 n] – 1) bezogen, wobei n die Basisdarstellung ist und [log2 n] auf log2 n arbeitet, um die höchste Ganzzahl zu liefern, um zu erzwingen, daß k eine ganze Größe ist.
  • Der Codierer 14 umfaßt Schaltungen oder ein Verfahren zum Konvertieren von Verwenderdaten aus einer ersten Basisdarstellung, nach Maßgabe der Größe der Nibbles in eine zweite Basisdarstellung. Somit konvertiert der Codierer 14 aus einer bn Darstellung in eine bn – 1 Darstellung. Der Codierer 14 vermeidet Muster von Bitgruppen in der zweiten Basisdarstellung, die in einem Ausgangssignal an das Bandsystem 10 zu einer Beschränkungsverletzung führen könnten (das heißt mehr als k Nullen besitzen). Beispiele werden unten dargestellt, wobei die bn Darstellung die Basis 16 und die bn – 1 Darstellung die Basis 15 ist. Andere Nibblegrößen, die in anderen Basen dargestellt werden, können verwendet werden.
  • Der Decodierer 16 decodiert beim Lesen vom Bandlaufwerk 12 die Daten, um die ursprünglichen Verwenderdaten an die Schnittstelle 18 zu liefern.
  • Gemäß 2 umfaßt eine Ausführungsform 14' des Codierers 14 einen Datenunterteiler 22, der einen Eingangsdatenstrom d1 empfängt und den Eingangsdatenstrom in Datenblöcke d(23:0) unterteilt, die hier eine Länge von 24 Bit besitzen. Dieses Schema nimmt Eingangsdaten-Bits d(23:0) auf und erzeugt Codewort-Bits c(24:0) für eine Code-Rate von 24/25. Der Codierer 14' koppelt die drei höchstwertigen Bits d(23:21) des unterteilten Datenstroms d(23:0) an den Ausgang des Codierers 14', der Code-Bits c(24:22) liefert. Daher werden die Code-Bit c(24:22) nicht codiert. Dieses Merkmal wird verwendet, um die Fehlerausbreitung zwischen zwei benachbarten Datenblöcken zu begrenzen. Die verbleibenden Bit d(20:0) des unterteilten Datenstroms werden einer Basis-Konversionsschaltung 23 zugeführt.
  • Die Basis-Konversionsschaltung 23 umfaßt eine Zwischenwert-Schaltung 24, eine Restwert-Schaltung 26 und eine Einsen-Komplement-Logikl 28. Die Basis-Konversionsschaltung 23 empfängt den unterteilten Datenstrom und konvertiert die arithmetische Basis des unterteilten Datenstroms (bn) in eine andere Basis (bn – 1), bei der der Wert von Null nicht verwendet wird.
  • Die Zwischenwert-Schaltung 24 konvertiert die unterteilten Eingangsdatenstrombits d(20:0) von einer Basis-16-Darstellung in eine Basis-15-Darstellung. Die Zwischenwerte b0 bis b5 ergeben sich als:
    Figure 00050001
  • Die von der Zwischenwert-Logik 26 gelieferten Zwischenwerte werden der Restwert-Logik 26 zugeführt. Obwohl die Zwischenwerte in einer Basis-15-Darstellung vorliegen können, kann es sein, daß sie nicht in einem Wertebereich von 0 bis 14 liegen. Dies kann dadurch erreicht werden, daß man die Zwischenwerte b0 bis b5 der Restwert-Logik 26 zuführt.
  • Die Restwert-Logik 26 bearbeitet die Codewörter durch Durchführung einer Modulo-15-Arithmetik. Wenn ein Übertrag erzeugt wird, wird er zu der nachfolgenden Bit-Position weitergeleitet. Die Restwert-Übertrags-Logik erzeugt somit Codewörter, die Gruppen von 4 Bits im Bereich von 0 bis 14 (für die Basis 15) oder 3 Bits (für die Basis 7) im Bereich von 0 bis 7, oder von 0 bis 5 für die letzte Bit-Gruppe umfassen. Die Restwerte werden in folgender Weise berechnet:
    Figure 00060001
  • Der oben angegebene Programmcode umfaßt eine kostengünstige Weise zur Durchführung einer Division. Im wesentlichen ist die Division durch bn ein einfacher Vorgang, der lediglich eine Verschiebung um n Plätze nach rechts (das heißt zum geringstwertigen Bit hin) im Dividenden umfaßt. Daher wird die Division in diesem Code iterativ durch eine Verschiebung und Subtraktion relativ schnell und kostengünstig bewerkstelligt.
  • Die Restwert-Logik 28 führt eine Modulo-15- oder eine Modulo-7-Arithmetik (sukzessives Dividieren durch 15 oder 7 zur Erzeugung von Resten kleiner als 15 oder 7) an Bit-Gruppen des Codeworts in Abhängigkeit davon durch, ob die Gruppen von Bits im Codewort 4 oder 3 Bits umfassen. Wenn ein Übertrag von dem Modulo-Arithmetik-Vorgang weitergegeben wird, dann wird der Übertrag zur nachfolgenden Bit-Position addiert, wie dies in dem Programmcode mit durch das „if”-Statement dargestellt ist. Daher bearbeitet die Restlogik 26 die Zwischenwerte, die von der Basis-Konversionslogik 26 geliefert werden, modulo 15, um Gruppen von Codewörtern im Bereich von 0 bis 14 für Gruppen von 4 Bits zu erzeugen, und modulo 7, um Gruppen von Codewörtern im Bereich von 0 bis 6 für Gruppen von 3 Bits zu erzeugen.
  • Die Restwert-Logik 26 erzeugt Restwerte, die einem Einsen-Komplement-Logiknetzwerk 30 zugeführt werden, um Ausgangscodewörter c(22:0) zu erzeugen. Die Einsen-Komplement-Logik stellt sicher, daß keine Bit-Gruppe (das heißt 4 Bits bei der Basis 16 und Basis 15) im Datenstrom vorhanden ist, die nur aus Nullen besteht. Eine Beschränkungsverletzung könnte auftreten, wenn irgendwelche Bit-Gruppen in einem Codewort nur aus Nullen bestehen würden. Daher hat jede Nachbargruppe einen von Null verschiedenen Wert in ihrem Codewort.
  • Das Codewort c(22:0) ist das permutierte Einsen-Komplement der Restwerte gegeben durch: c(21:19) = NOT(r(21:19)), c(18:3) = NOT(r(15:0)), c(2:0) = NOT(r(18:16))
  • Die Codewort-Bits c(22:0) werden mit den Codewort-Bits c(24:22) verknüpft, die von den ursprünglichen Eingangsdaten d(23:21) abgeleitet wurden, und ergeben zusammen die Ausgangscodewort-Bits c(24:0) für die Schaltung. Das Codewort c(22:0) ist permutiert, das heißt die Reihenfolge der Bits ist geändert, wobei für die Code-Bits c(18:3) gilt: c(18:3) = NOT(r(15:0)), und für die Code-Bits c(2:0):c(2:0) = NOT(r(18:16)), so daß keine k-Verletzung auftritt, ganz gleich welchen Wert die nichtcodierten Bits c(25:23) besitzen.
  • Gemäß 3 umfaßt eine zweite Ausführungsform 14'' des Codierers 14 eine Datenunterteilungs-Schaltung 32, die einen Eingangsdatenstrom di empfängt und den Eingangsdatenstrom in Datenblöcke unterteilt. Zwei Beispiele werden beschrieben, nämlich 32 Bit und 40 Bit. Einzelheiten für jede unterschiedliche Blockunterteilung werden getrennt diskutiert.
  • Bei der ersten Unterteilung von 32 Bit wird der unterteilte Datenstrom d(31:0) einer Basis-Konversionsschaltung 33 zugeführt. Dieses Schema übernimmt die Eingangsdaten-Bits d(31:0) und erzeugt Codewort-Bits c(32:0) für eine Code-Rate von 31/32. Die Basis-Konversionsschaltung 33 umfaßt eine Zwischenwert-Schaltung 34, eine Restwert-Schaltung 36 und eine Einsen-Komplement-Logik 38. Die Basis-Konversionsschaltung 33 empfängt den unterteilten Datenstrom und konvertiert die arithmetische Basis des unterteilten Datenstroms (bn) in eine andere Basis (bn-1), bei der der Wert Null nicht verwendet wird.
  • Die Zwischenwert-Schaltung 34 empfängt den unterteilten Datenstrom und konvertiert die arithmetische Basis des unterteilten Datenstroms d(32:0) aus einer Basis-16-Darstellung in eine Basis-15-Darstellung. Die Zwischenwerte werden durch eine Matrix-Multiplikation gefunden, wobei eine Matrix W definiert werden kann als:
    Figure 00080001
  • Zu den Zwischennummern b{7:0} kann man dadurch gelangen, daß die transponierte Matrix dd' der partitionierten bzw. unterteilten Datenmatrix dd mit der Matrix W multipliziert wird: dd = {d(31:28) d(27:24) d(23:20) d(19:16) d(15:12) d(11:8) d(7:4) d(3:09)} b{7:0} = W * dd'.
  • Die Zwischennummern b{7:0}, die von der Zwischenwert-Logik 34 geliefert werden, werden der Restwert-Logik 36 zugeführt. Die Restwert-Logik 36 bearbeitet die unterteilten Daten durch eine Durchführung einer Modulo-Arithmetik. Insbesondere bearbeitet die Restwert-Logik 36 die Zwischenwerte modulo 15. Die Restwert-Logik 36 befördert Überträge zu nachfolgenden Bit-Positionen weiter. Die Restwert-Übertrags-Logik 36 erzeugt somit Codewörter im Bereich von 0 bis 14.
    Figure 00080002
    r(32:28) = b(7) + q(7)
  • Der obige Programmcode realisiert eine wirkliche Division. Alternativ könnte die oben beschriebene Divisionstechnik dadurch verwendet werden, daß der Dividend geteilt wird, um einen Quotienten und einen Rest zu erzeugen, worauf jeder Rest so lange durch 15 geteilt wird, bis der Rest kleiner als 15 ist.
  • Die Restwert-Logik 36 sucht nach einem String „01111” in den letzten 5 Bit. Eine Verletzung der „k”-Beschränkung kann sich ergeben, wenn dieser String vorhanden ist. Die Verletzung kann auftreten, wenn das Einsen-Komplement von „01111” genommen wird, wenn dieses einer Bitgruppe „1110” benachbart ist, so daß das Einsen-Komplement beider Strings ein String „100000001” ist, der sieben Nullen enthält. Daher wird der String 01111 durch einen in dem codierten Bit-Strom nichtbenutzten String „11101” ersetzt.
  • Somit ist das Einsen-Komplement dieser Kombination „11101” und „01111” erzeugt einen String „”000100001”, das keine Beschränkungsverletzung enthält.
    Figure 00090001
  • Die Restwert-Logik erzeugt Restwerte, die einem Einsen-Komplement-Logiknetzwerk 40 zugeführt werden, um Ausgangs-Codewörter c(32:0) zu erzeugen als: c(32:0) = NOT(r(32:0)).
  • Die Einsen-Komplement-Logik 40 stellt sicher, daß es in dem Datenstrom keine Bit-Gruppe (das heißt 4 Bits für die Basis 16 und Basis 15) gibt, die nur aus Nullen besteht. Wenn es irgendeine Bit-Gruppe gäbe, die nur aus Nullen besteht, würde dies die durch den Wert von k auferlegte Beschränkung verletzen. Daher hat jede Nachbargruppe einen von Null verschiedenen Wert in ihrem Codewort.
  • Ein zweiter Unterteilungswert kann mit dem Codierer 14'' verwendet werden. Bei dem Codierer 14'' kann die Unterteilungs-Schaltung 32 Daten in 40-Bit-Codewörter unterteilen. Dieses Schema nimmt Eingangsdaten-Bit d(39:0) auf und erzeugt Codewort-Bits c(40:0) für eine Code-Rate von 40/41. Die Basis-Konversionsschaltung 33 konvertiert die arithmetische Basis des unterteilten Datenstroms in eine andere Basis, in der der Wert von Null nicht verwendet wird, wie oben beschrieben. Die Matrix W für einen 40-Bit-Code ist definiert als
    Figure 00090002
  • Wie oben kann man zu den Zwischenwerten durch eine Matrix-Multiplikation gelangen, indem man die transponierte Matrix dd' der partitionierten Datenmatrix dd mit der Matrix W multipliziert: dd = {d(39:36) d(35:32) d(31:28) d(27:24) d(23:20) d(19:16) d(15:12) d(11:8) d(7:4) d(3:0)} b{9:0} = W * dd',wobei b{i} eine ganze Zahl ist.
  • Die Zwischennummern bzw. Zwischenwerte b{9:0}, die von der Zwischenwert-Logik 34 geliefert werden, werden der Restwert-Logik 36 zugeführt. Die Restwert-Logik 36 bearbeitet die partitionierten bzw. unterteilten Daten indem sie eine Modulo-Arithmetik durchführt. Insbesondere bearbeitet die Restwert-Konversions-Logik die Zwischenwerte modulo 15. Die Restwert-Logik überträgt auch Überträge auf nachfolgende Bit-Positionen. Somit erzeugt die Restwert-Übertrags-Logik Codewörter im Bereich von 0 bis 14 so wie bei der obigen 32-Bit-Unterteilung.
    Figure 00100001
  • Die Restwert-Logik 36 sucht wie bei der obigen 32-Bit-Unterteilung nach einem String „01111” in den letzten fünf Bit und ersetzt ihn durch „11101”.
    Figure 00100002
  • Die Restwert-Logik 36 erzeugt Restwerte, die dem Einsen-Komplement-Logiknetzwerk 40 zugeführt werden, um Ausgangs-Codewörter c(40:0) zu erzeugen als: c(40:0) = NOT(r(40:0)).
  • Die Einsen-Komplement-Logik 40 stellt sicher, daß es keine Bit-Gruppe (das heißt 4 Bit für die Basis 16 und Basis 15) im Datenstrom gibt, die nur aus Nullen besteht. Wenn eine Bit-Gruppe vorhanden wäre, die nur aus Nullen bestünde, würde dies die durch den Wert von k auferlegte Beschränkung verletzen. Somit hat jede benachbarte Gruppe einen von Null verschiedenen Wert in ihrem Codewort.
  • In 4 ist eine Ausführungsform 16' des Decodierers 16 gezeigt. Der Decodierer 16' wird mit Codewörtern verwendet, die mit einer 24-Bit-Code-Länge codiert sind, wie sie vom Codierer 14' (2) geliefert wird. Der Decodierer 16' kann einen Puffer 42 oder eine andere Einrichtung umfassen, um Codewörter vom Plattenlaufwerksystem 10 zu halten. Der Decodierer 16 kehrt die Operationen um, die vom Codierer (2) an den Verwenderdaten ausgeführt wurden. Daher umfaßt der Decodierer 16 eine Einsen-Komplement-Logikschaltung 42, die das Einsen-Komplement der Code-Bits c(21:0) erzeugt. Die Einsen-Komplement-Logik depermutiert auch das Codewort, indem sie die korrekten Bit-Positionen der Bits in den Restwerten wiederherstellt. r(21:19) = NOT(c(21:19)), r(18:16) = NOT(c(2:0)), r(15:0) = NOT(c(18:3)).
  • Die letzten drei Code-Bits c(24:22) werden direkt über Register oder andere Verzögerungselemente an den Datenausgang d geführt und liefern direkt Daten-Bits d(23:21).
  • Das Ausgangssignal der Einsen-Komplement-Logikschaltung 42 wird von den Restbits (residual bits) gebildet. Die Restbits r(21:0) werden einer Basiskonversionsschaltung 46 zugeführt, welche die Restbits in die Basis 16 konvertiert. Die Basis-Konversionsschaltung 46 erzeugt die ursprünglichen Ausgangs-Verwenderdaten d(23:0) aus: d(22:0) = r(3:0) + 15(r(7:4) + 15(r(11:8) + 15(r(15:12) + 15(r(18:16) + 7r(21:19))))).
  • In 5 ist eine Ausführungsform 16'' des Decodierers 16 dargestellt. Der Decodierer 16'' wird mit Codewörtern verwendet, die mit einer 32- oder 40-Bit-Code-Länge codiert worden sind, wie sie vom Codierer 14'' (3) geliefert werden. Der Decodierer 16'' kann einen Puffer 51 oder eine andere Einrichtung zum Halten der Codewörter umfassen, die vom Bandlaufwerkssystem 10 kommen. Der Decodierer 16'' kehrt die Operationen um, die vom Codierer 14'' (3) ausgeführt worden sind. Daher umfaßt der Decodierer 16'' eine Einsen-Komplement-Logikschaltung 52, die das Einsen-Komplement der Code-Bits c(32:0) durch r(32:0) = NOT(c(32:0))erzeugt und den String „11101” dann, wenn er vorhanden ist, in den letzten 5 Bits des Codeworts durch den String „01111” ersetzt.
    Figure 00110001
  • Die Restwert-Bits sind das Ausgangssignal der Einsen-Komplement-Logikschaltung 52. Die Restwert-Bits r(32:0) werden einer Basis-Konversionsschaltung 56 zugeführt, die die ursprünglichen Verwender-Bits d(31:0) nach folgender Gleichung erzeugt: d(31:0) = r(32:28) + 15(r(27:24) + 15(r(23:20) + 15(r(19:16) + 15(r(15:12) + 15(r(11:8) + 15(r(7:4) + 15(r(3:0))))))))
  • Der Decodierer aus 4 kann auch mit Codewörtern verwendet werden, die mit einer 40-Bit-Codelänge codiert sind, wie sie vom Codierer 14' (3) geliefert werden. Der Decodierer 16' umfaßt typischerweise den Puffer 51 oder eine andere Einrichtung zum Halten der Codewörter vom Bandlaufwerksssystem 10. Der Decodierer 16'' kehrt die Operationen um, die vom Codierer 14'' (3) ausgeführt wurden. Die Einsen-Komplement-Logikschaltung 52 erzeugt das Einsen-Komplement der Code-Bits c(40:0) gemäß der Gleichung r(40:0) = NOT(c(40:0))und ersetzt dem String „11101”, wenn er vorhanden ist, in den letzten 5 Bits des Codeworts durch den String „01111”
    Figure 00120001
  • Das Ausgangssignal der Einsen-Komplement-Logikschaltung 42 sind die Restwert-Bits. Die Restwert-Bits r(40:0) werden der Basis-Konversionsschaltung 46 zugeführt, welche die ursprünglichen Ausgangs-Verwenderdaten d(39:0) nach folgender Gleichung erzeugt: d(39:0) = r(40:36) + (r(35:32) + 15(r(31:28) + 15(r(27:24) + 15(r(23:20) + 15(r(19:16) + 15(r(15:12) + 15(r(11:8) + 15(r(7:4) + 15(r(3:0))))))))))
  • Der oben angegebene Code für die Basis-Konversionen umfaßt eine kostengünstige Weise zur Durchführung einer Multiplikationsoperation. Tatsächlich ist die Multiplikation mit bn ein einfacher Vorgang, der lediglich eine Verschiebung um n Plätze nach links (das heißt zum höchstwertigen Bit) im Multiplikanden erfordert. Für eine Multiplikation mit bn-1 ist dies das gleiche wie eine Multiplikation mit bn und die Subtraktion von 1. Daher wird die Multiplikation in diesem Code iterativ durch eine Verschiebung und Subtraktion relativ schnell und kostengünstig bewerkstelligt.
  • Die Familie von Codierern 14 und Decodierern, die oben beschrieben wurden, haben Codier- und Decodierschemata, die zu Eigenschaften führen, die für Bandlaufwerke und insbesondere für solche mit den folgenden Anforderungen nützlich sind:
    Code-Raten 24/25 32/33 40/41
    Hardware-Komplexität nieder moderat moderat
    PLL-Update k = 6 k = 6 k = 6
    max. Fehlerausbreitung 4 Bytes 8 Bytes 10 Bytes
  • Die Codierer 14 und Decodierer 16 können als digitale Elektronikschaltung oder als Computer-Hardware, Firmware, Software oder in Kombinationen hiervon realisiert werden.
  • Verfahren zum Betrieb der Codierer und Decodierer können mit einem programmierbaren Prozessor durchgeführt werden, der ein Befehlsprogramm zur Durchführung dieser Funktionen durch Bearbeitung von Eingangsdaten und Erzeugung eines Ausgangs signals bearbeitet. Die Codierer und Decodierer können vorzugsweise in einem oder mehreren Computerprogrammen realisiert werden, die auf einem programmierbaren System einschließlich wenigstens einem programmierbaren Prozessor abgearbeitet werden können, der angeschlossen ist, um Daten und Befehle von wenigstens einem Datenspeichersystem, wenigstens einem Eingangsgerät und wenigstens einem Ausgangsgerät zu empfangen bzw. zu einem solchen System bzw. Gerät Daten und Befehle zu übertragen. Jedes Computerprogramm kann in einer High-Level-Prozedur-oder-objektortentierten Programmiersprache oder gewünschtenfalls in einer Assembler- oder Maschinensprache realisiert werden. Jedenfalls kann die Sprache eine kompilierte oder übersetzte Sprache sein. Geeignete Prozessoren umfassen beispielsweise sowohl allgemeine als auch für Spezialzwecke gedachte Mikroprozessoren. Im allgemeinen empfängt ein Prozessor Befehle und Daten von einem Festwertspeicher und/oder einem Speicher mit wahlfreiem Zugriff. Speichereinrichtungen, die geeignet sind, in verarbeitbarer Weise Computerprogrammbefehle und -Daten zu enthalten, umfassen alle Formen von nichtflüchtigen Speichern, zu denen beispielsweise Halbleiterspeicher, wie zum Beispiel EPROMs, EEPROMs und Flash-Speichereinrichtungen, Magnetplatten, wie zum Beispiel interne Festplatten und entnehmbare Platten, magnetooptische Platten und CD-ROM-Platten gehören.
  • Alle oben genannten Schaltungen können von speziell auf die Anwendung zugeschnittenen integrierten Schaltungen realisiert oder in diesen enthalten sein. Die Multiplikation von Werten mit 15 oder 7 kann durch (15 = 24 – 1) und die Multiplikation mit 7 durch (7 = 23 – 1) durchgeführt werden. Diese Multiplikationen sind äquivalent zu vier oder drei Verschiebungen nach links und einer darauf folgenden Subtraktion. Somit ist eine Multiplikation mit 15 oder 7 äquivalent zur Addition. Der Decodierer kann immer als Kombinations-Logik realisiert werden, ohne daß die internen Werte getaktet werden müssen. Da die Geschwindigkeit keinen Engpaß darstellt (es stehen 24 oder mehr Zyklen zur Ausführung der Decodierung zur Verfügung) können Durchlaufaddierer (ripple adders) verwendet werden, um Hardware einzusparen. Ähnliche Überlegungen gelten für die Division und die Realisierung der Codierer.
  • Andere Ausführungsformen
  • Es sei darauf hingewiesen, daß die Erfindung zwar in Verbindung mit einer detaillierten Beschreibung von Ausführungsformen erläutert wurde, daß diese Beschreibung aber lediglich dazu dient, den Umfang der Erfindung zu erläutern, nicht aber, ihn einzuschränken, wobei dieser Umfang durch die beigefügten Ansprüche definiert wird. Andere Gesichtspunkte, Vorteile und Abwandlungen liegen im Rahmen der folgenden Patentansprüche.

Claims (31)

  1. Modulations-Codierer, der folgendes umfaßt: eine Basis-Konversionsschaltung, die einen unterteilten Eingangsdatenstrom von einer ersten Basis-Darstellung in Übereinstimmung mit der Größe der Bit-Gruppen im unterteilten Eingangsdatenstrom in eine zweite Basis-Darstellung konvertiert und folgende Bestandteile umfaßt: eine Zwischenwert-Logikschaltung zur Erzeugung von Zwischenwerten des unterteilten Eingangsdatenstroms in der zweiten Basis-Darstellung, eine Restwert-Logikschaltung, die eine Modulo-Arithmetik mit den Zwischenwerten Modulo der zweiten Basis-Darstellung durchführt, und eine Einsen-Komplement-Logikschaltung, die von der Restwert-Logikschaltung gespeist wird, um Ausgangs-Codewörter zu erzeugen.
  2. Modulations-Codierer nach Anspruch 1, wobei der Codierer weiterhin eine Daten-Unterteilungsschaltung umfaßt, die dazu dient, den unterteilten Eingangsdatenstrom zu liefern.
  3. Modulations-Codierer nach Anspruch 1, bei dem die Basis-Konversionsschaltung sicherstellt, daß eine Anzahl von Werten von fortlaufenden Nullen im Datenstrom einen gegebenen Wert nicht übersteigt.
  4. Modulations-Codierer nach Anspruch 1, bei dem die Basis-Konversionsschaltung den unterteilten Eingangsdatenstrom von einer bn-Basis-Darstellung in eine (bn – 1)-Basis-Darstellung umformt, wobei n die Größe einer Gruppe von Bits ist, welche die Basis-Konversionsschaltung bearbeitet.
  5. Codierer nach Anspruch 4, bei dem die Basis-Konversionsschaltung den unterteilten Datenstrom von einer Basis-16-Darstellung in eine Basis-15-Darstellung umformt und die Restwert-Logik die Zwischenwerte modulo 15 bearbeitet, um Codewörter im Bereich von 0 bis 14 zu erzeugen.
  6. Modulations-Codierer nach Anspruch 5, bei dem die Restwert-Logik ermittelt, ob eine letzte Gruppe von Bits von der Zwischenwert-Logikschaltung ein String in der Form „01111” ist und diesen in einen String in der Form „11101” umwandelt.
  7. Modulations-Codierer nach Anspruch 4, bei dem der Codierer ein 32-Bit-Codierer ist.
  8. Modulations-Codierer nach Anspruch 4, bei dem eine Bit-Gruppe im unterteilten Bit-Strom 32 Bits umfaßt.
  9. Modulations-Codierer nach Anspruch 8, bei dem die Basis-Konversionsschaltung eine Matrix-Multiplikation durchführt, wobei W eine Matrix ist, die folgende Koeffizienten umfaßt:
    Figure 00150001
    und dd' eine transponierte Matrix einer partitionierten Datenmatrix dd ist, die definiert ist als: dd = {d(31:28) d(27:24) d(23:20) d(19:16) d(15:12) d(11:8) d(7:4) d(3:0)}und wobei die Zwischenwerte b geliefert werden durch: b{7:0} = W * dd',wobei * eine Matrix-Multiplikation ist.
  10. Modulations-Codierer nach Anspruch 4, bei dem der Codierer ein 40-Bit-Codierer ist.
  11. Modulations-Codierer nach Anspruch 10, bei dem eine Bit-Gruppe im unterteilten Bit-Strom 40 Bits umfaßt.
  12. Modulations-Codierer nach Anspruch 11, bei dem die Basis-Konversionsschaltung eine Matrix-Multiplikation durchführt, wobei W eine Matrix ist, die die folgenden Koeffizienten umfaßt:
    Figure 00150002
    und dd' eine transponierte Matrix einer partitionierten Daten-Matrix dd ist, die definiert ist als: dd = {d(39:36) d(35:32) d(31:28) d(27:24) d(23:20) d(19:16) d(15:12) d(11:8) d(7:4) d(3:0)}und wobei die Zwischenwerte b geliefert werden durch: b{9:0} = W * dd',wobei * eine Matrix-Multiplikation ist.
  13. Codierer nach Anspruch 1, bei dem der Codierer ein 24-Bit-Codierer ist.
  14. Codierer nach Anspruch 1, bei dem eine Bit-Gruppe im unterteilten Eingangsdatenstrom 24 Bits umfaßt.
  15. Codierer nach Anspruch 13, bei dem der Codierer 3 Bits des unterteilten Bit-Stroms an den Ausgang des Codierers als nichtcodierte Code-Bits weiterleitet.
  16. Modulations-Codierer nach Anspruch 15, bei dem die Basis-Konversionsschaltung Gruppen von fortlaufenden Bits im unterteilten Eingangsdatenstrom, die in einer Basis-16-Darstellung vorliegen, in eine Basis-15-Darstellung konvertiert und Gruppen von fortlaufenden Bits im unterteilten Eingangsdatenstrom, die in einer Basis-8-Darstellung vorliegen, in eine Basis-7-Darstellung konvertiert.
  17. Modulations-Codierer nach Anspruch 16, bei dem die Basis-Konversionsschaltung sicherstellt, daß eine Anzahl von fortlaufenden Nullen im Datenstrom einen gegebenen Wert nicht übersteigt.
  18. Modulations-Codierer nach Anspruch 17, bei dem die Basis-Konversionsschaltung die Zwischenwerte B0 bis B5 findet durch:
    Figure 00160001
  19. Modulations-Decodierer, der folgendes umfaßt: eine Einsen-Komplement-Logikschaltung, der Modulations-Codewörter zugeführt werden, um Restwert-Wörter zu erzeugen, und eine Basis-Konversionsschaltung, die die Restwert-Wörter aus einer ersten Basis-Darstellung in eine zweite Basisdarstellung umwandelt, um die ursprünglichen Verwenderdaten zu liefern.
  20. Modulations-Decodierer nach Anspruch 19, bei dem die Basis-Konversionsschaltung die Restwerte von einer Basis-(bn – 1)-Darstellung in eine Basis-bn-Darstellung umwandelt, wobei n die Größe einer Bit-Gruppe ist, welche die Basis-Konversionsschaltung bearbeitet.
  21. Modulations-Decodierer nach Anspruch 20, bei dem die Basis-Konversionsschaltung von einer Basis-15-Darstellung in eine Basis-16-Darstellung umwandelt.
  22. Modulations-Decodierer nach Anspruch 19, bei dem die Einsen-Komplement-Logik ermittelt, ob eine letzte Gruppe von Bits in einem Restwert-Wort ein String in der Form „11101” ist und ihn in einen String in der Form „01111” umwandelt.
  23. Modulations-Decodierer nach Anspruch 22, wobei der Decodierer ein 32-Bit-Decodierer ist.
  24. Modulations-Decodierer nach Anspruch 23, bei dem die Basis-Konversionsschaltung die ursprünglichen Verwenderdaten d(31:0) nach folgender Gleichung erzeugt: d(31:0) = r(32:28) + 15(r(27:24) + 15(r(23:20) + 15(r(19:16) + 15(r(15:12) + 15(r(11:8) + 15(r(7:4) + 15(r(3:0))))))))wobei r(i:j) die Restwert-Bits von der Einsen-Komplement-Logik sind.
  25. Modulations-Decodierer nach Anspruch 22, wobei der Decodierer ein 40-Bit-Decodierer ist.
  26. Modulations-Decodierer nach Anspruch 25, wobei die Basis-Konversionsschaltung die ursprünglichen Verwenderdaten d(39:0) aus dem Ausdruck d(39:0) = r(40:36) + ((r(35:32) + 15(r(31:28) + 15(r(27:24) + 15(r(23:20 + 15(r(19:16) + 15(r(15:12) + 15(r(11:8) + 15(r(7:4) + 15(r(3:0))))))))))erzeugt, wobei r(i:j) die Restwert-Bits von der Einsen-Komplement-Logik sind.
  27. Modulations-Decodierer nach Anspruch 19, wobei ein Modulations-Codewort ein codierter Bit-Strom ist, der mit einer 24 Bit-Codelänge codiert ist.
  28. Modulations-Decodierer nach Anspruch 19, wobei der Decodierer den codierten Bit-Strom dadurch unterteilt, dass er drei Bits des codierten Bit-Stroms an den Ausgang des Decodierers als nicht decodierte Bits weiterleitet.
  29. Modulations-Decodierer nach Anspruch 28, bei dem die Basis-Konversionsschaltung Bits in den Restwert-Wörtern aus einer Basis-15-Darstellung in eine Basis-16-Darstellung umformt und Gruppen von fortlaufenden Bits in dem unterteilten codierten Bit-Strom, die sich in einer Basis-7-Darstellung befinden, in eine Basis-8-Darstellung umformt.
  30. Modulations-Decodierer nach Anspruch 28, bei dem die Basis-Konversionsschaltung ursprüngliche Ausgangs-Verwender-Bits d(23:0) gemäß d(22:0) = r(3:0) + 15(r(7:4) + 15(r(11:8) + 15(r(15:12) + 15(r(18:16) + 7r(21:19)))))erzeugt.
  31. Computerprogramm, das auf einem von einem Computer lesbaren Medium existiert und zur Modulation eines Datenstroms Befehle umfaßt, die dazu dienen, den Computer zu folgenden Schritten zu veranlassen: Konvertieren eines unterteilten Eingangsdatenstroms aus einer ersten Basis-Darstellung gemäß der Größe der Bit-Gruppen in dem unterteilten Datenstrom in eine zweite Basis-Darstellung einschließlich: der Erzeugung von Zwischenwerten des unterteilten Strom in der zweiten Basis-Darstellung, Durchführung einer Modulo-Arithmetik an den Zwischenwerten modulo, um Restwerte in der zweiten Basis-Darstellung zu erzeugen, und Durchführung einer Einsen-Komplement-Operation an den Restwerten zur Erzeugung von Ausgangs-Codewörtern.
DE19963687A 1999-01-04 1999-12-29 Modulations-Codierer und -Decodierer Expired - Fee Related DE19963687B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/225,259 US6236340B1 (en) 1999-01-04 1999-01-04 Modulation encoders and decoders
US09/225,259 1999-01-04

Publications (2)

Publication Number Publication Date
DE19963687A1 DE19963687A1 (de) 2000-09-14
DE19963687B4 true DE19963687B4 (de) 2009-10-22

Family

ID=22844194

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19963687A Expired - Fee Related DE19963687B4 (de) 1999-01-04 1999-12-29 Modulations-Codierer und -Decodierer

Country Status (4)

Country Link
US (1) US6236340B1 (de)
JP (1) JP2000209095A (de)
DE (1) DE19963687B4 (de)
GB (1) GB2347599B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959412B2 (en) * 2002-03-04 2005-10-25 Seagate Technology Llc Error correction coding utilizing numerical base conversion for modulation coding
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
ATE453959T1 (de) 2005-01-06 2010-01-15 Infra Com Ltd Fehlerdetektion und korrektur für drahtlose systeme im basisband
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
US7126502B2 (en) * 2005-02-01 2006-10-24 Hitachi Global Storage Technologies Netherlands B.V. Techniques for using interleaved encoders to obtain modulation constraints
US7142134B2 (en) * 2005-02-01 2006-11-28 Hitachi Global Storage Technologies Netherlands B.V. Techniques for generating modulation codes using running substitutions
US7429937B2 (en) * 2007-01-03 2008-09-30 Quantum Corporation Method for constructing RLL codes of arbitrary rate
EP1988636A1 (de) 2007-05-03 2008-11-05 Deutsche Thomson OHG Verfahren und Vorrichtung zur Kanalkodierung und -dekodierung

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757294A (en) * 1996-12-31 1998-05-26 Quantum Corporation Rate 24/25 modulation code for PRML recording channels

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4342027A (en) * 1980-06-03 1982-07-27 Burroughs Corporation Radix conversion system
US5144304A (en) * 1989-07-17 1992-09-01 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
US5347276A (en) * 1992-07-13 1994-09-13 Trw Inc. Serial binary pattern generator
FR2699723B1 (fr) * 1992-12-22 1995-01-20 Thomson Csf Support d'enregistrement d'informations, enregistreur, lecteur et procédé d'enregistrement.
US5781133A (en) * 1996-08-05 1998-07-14 Seagate Technology, Inc. Method and apparatus for implementing run length limited codes
US6018304A (en) * 1997-12-18 2000-01-25 Texas Instruments Incorporated Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US6184806B1 (en) * 1998-03-13 2001-02-06 Quantum Corporation Rate 32/33 (D=0, K=6) run length limited modulation code having optimized error propagation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757294A (en) * 1996-12-31 1998-05-26 Quantum Corporation Rate 24/25 modulation code for PRML recording channels

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WIJNGAARDEN, A.J. et. al.: Combinatorial Construction of High Rate Runlength-limited Codes. In: Global Telecommunications Conference, 1996, Seiten 343 bis 347 *

Also Published As

Publication number Publication date
GB9930869D0 (en) 2000-02-23
GB2347599B (en) 2003-08-27
JP2000209095A (ja) 2000-07-28
GB2347599A (en) 2000-09-06
US6236340B1 (en) 2001-05-22
DE19963687A1 (de) 2000-09-14

Similar Documents

Publication Publication Date Title
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
DE19781914C2 (de) System zum Implementieren von lauflängenbegrenzten Codes
DE69603053T2 (de) Verfahren zum Generieren eines gleichstromfreien Kodes mit Kodierung eines Teiles der Daten durch die Sequenz der digitalen Summe aufeinanderfolgender Kodewörtern, und Vorrichtung dazu
DE3888418T2 (de) PRML-Kodierung.
DE69609509T2 (de) Trelliskodierung mit verminderter fehlerverbreitung
DE3787898T2 (de) Verfahren und Vorrichtung zur arithmetischen Kodierung von binären Zahlen.
DE69513720T2 (de) Codiereinrichtung für punktierten Faltungscode
DE69323020T2 (de) Dekodierer für veränderliche Längenkodes
DE69231938T2 (de) Iteratives Dekodierungsverfahren, Dekodierungsmodul und Dekoder dafür
DE3587107T2 (de) Drehungsverfahren und -geraet fuer binaere bilder.
DE69612955T2 (de) Verfahren zur umwandlung von m-bit informationsworten in ein moduliertes signal, verfahren zur herstellung eines aufzeichnungsträgers, kodiervorrichtung, vorrichtung, aufzeichnungsvorrichtung, signal sowie aufzeichnungsträger
DE2540472C3 (de) Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes
DE69611150T2 (de) Verfahren und Anordnung zur Erzeugung eines lauflängebegrenzten Codes mit Gleichstromsteuerung
DE68920739T2 (de) Daten-Kodierung für den Sofortstart von PRML-Empfängern.
DE69905255T2 (de) Verbesserte verschachteler für turbo-kodes
DE20023165U1 (de) Vorrichtung zum Steuern eines Demultiplexers und eines Multiplexers für die Ratenabstimmung in einem Mobilkommunikationssystem
DE3855497T2 (de) Datenverarbeitungsgerät zur Berechnung eines multiplikativ invertierten Elements eines endigen Körpers
DE102005001174A1 (de) Pulsbreitenmodulationssysteme und -verfahren
DE69125424T2 (de) Vorrichtung zur variablen Längenkodierung und Vorrichtung zur variablen Längendekodierung
DE19963687B4 (de) Modulations-Codierer und -Decodierer
JPS6217418B2 (de)
DE69020951T2 (de) Kodiereinrichtung für einen Fehlerprüfungs- und Fehlerkorrekturkode.
DE69904827T2 (de) Umkehrbare umsetzung von binären sequenzen in 2/3 (1,k) lauflängenbegrenzte kodierte sequenzen mit beschränkungen der maximalen übergangsdichte
DE69027400T2 (de) Gerät zur digitalen Modulation und Gerät zur digitalen Demodulation
DE69613792T2 (de) Datenkodierung mit einer variablem blocklänge

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: H03M 7/14

8328 Change in the person/name/address of the agent

Representative=s name: STROHSCHAENK UND KOLLEGEN, 85521 OTTOBRUNN

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee