DE69613181T2 - Anordnung zum kodieren einer sequenz von (n-1)-bit informationswörtern in eine sequenz von n-bit kanalwörtern sowie dekodieranordnung zum dekodieren einer sequenz von n-bit kanalwörtern in eine sequenz von (n-1)-bit informationswörtern - Google Patents
Anordnung zum kodieren einer sequenz von (n-1)-bit informationswörtern in eine sequenz von n-bit kanalwörtern sowie dekodieranordnung zum dekodieren einer sequenz von n-bit kanalwörtern in eine sequenz von (n-1)-bit informationswörternInfo
- Publication number
- DE69613181T2 DE69613181T2 DE69613181T DE69613181T DE69613181T2 DE 69613181 T2 DE69613181 T2 DE 69613181T2 DE 69613181 T DE69613181 T DE 69613181T DE 69613181 T DE69613181 T DE 69613181T DE 69613181 T2 DE69613181 T2 DE 69613181T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- words
- word
- channel
- value
- 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
- 239000013598 vector Substances 0.000 claims abstract description 71
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000630 rising effect Effects 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
- H03M7/02—Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
-
- 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)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
Description
- Anordnung zum Codieren einer Sequenz von (N-1)-Bit Informationswörtern in eine Sequenz von N-Bit Kanalwörtern, sowie Decodieranordnung zum Decodieren einer Sequenz von N-Bit Kanalwörtern in eine Sequenz von (N-1)-Bit Informationswörtern
- Die Erfindung bezieht sich auf das Codieren einer Sequenz von (n-1)- Bit Informationswörtern in eine Sequenz von n-Bit Kanalwörtern nach dem Oberbegriff der Ansprüche 1 und 11 und auf das Decodieren einer Sequenz von n-Bit Kanalwörtern in eine Sequenz von (n-1)-Bit Informationswörtern nach dem Oberbegriff der Ansprüche 6 und 12.
- Ein derartiges Codierungs- und Decodierungsverfahren, wie in der Veröffentlichung: "Fibonacci codes for synchronization control" von W. H. Kautz in "IEEE Trans. Inform. Theory", Heft IT-11, Seiten 184-292, April 1965 beschrieben, kann angewandt werden zum Erhalten einer k-erzwungenen Sequenz von Kanalwörtern und ist bekannt unter dem Namen. "enumerative encoding" (enumerative Codierung). Enumerative Decodierung erfolgt dadurch, dass das innere Produkt aus dem empfangenen Kanalwort und dem Gewichtungsvektor von n Koeffizienten gebildet wird. Der Gewichtungsvektor ist eine Funktion der betreffenden Kanalbedingungen und wird meistens vorberechnet. Es sei bemerkt, dass Multiplikationen einfache Addierungen sind, wenn das empfangene Kanalwort binär ist.
- Codierung erfolgt nach einem Verfahren, das einem Dezimal-zu-Binär- Konversionsvorgang entspricht, wobei statt der üblichen Zweierpotenzen, der Gewichtungsvektor von n Koeffizienten benutzt wird. Die binäre Darstellung der Gewichtungskoeffizienten bei dem Kautz-Verfahren erfordert n-1 Bits. Wenn es n- Gewichtungskoeffizienten gibt, ist eine Speicherkapazität von (n-1) Speicherstellen erforderlich zum Speichern der n Koeffizienten. Wenn 100-Bit Kanalwörter codiert/decodiert werden, wäre eine Speicherkapazität von 9, 9 K Speicherstellen erforderlich.
- Ein zweiter Nachteil des Standes der Technik ist, dass die Addierungen bei der Bildung des inneren Produktes zwischen dem binären Kanalwort und dem Vektor von n Koeffizienten einen doppelten Übertrag erfordert, was die Struktur eines parallelen Addierers komplizierter macht. Dies macht die Umwandlung des Addierers von einer parallelen Form zu einer einfachen seriellen Form praktisch unmöglich.
- Diese und andere Nachteile sind so seriös, dass enumerative Codierung und Decodierung sich auf die Informationstheoriepraxis beschränkt haben.
- Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung eine vereinfache Codierungs- und Decodierungsanordnung zu schaffen. Dazu schafft die Erfindung eine Codierungsanordnung, eine Decodierungsanordnung, ein Codierungsverfahren und ein Decodierungsverfahren, wie in den unabhängigen Patentansprüchen definiert. Vorteilhafte Ausführungsformen sind in den abhängigen Patentansprüchen definiert.
- Nach einem ersten Aspekt der vorliegenden Erfindung werden p Bits eines Gewichtungsvektorkoeffizienten wi zugeführt, wobei die restlichen n-1-p-Bits des (n-1)-Bit Gewichtungsvektorkoeffizientenwortes "Nullen" sind, die vor oder nach dem binären p-Bit-Wort oder vor und nach dem binären p-Bit-Wort addiert werden sollen, damit der genannte Gewichtungsvektorkoeffizient erhalten wird, und dass p eine ganze Zahl ist, größer als Eins und kleiner als n-1.
- Der Erfindung liegt die Erkenntnis zugrunde, dass es möglich ist, die n Gewichtungsvektorkoeffizienten dadurch zu erzeugen, dass für einen Gewichtungsvektorkoeffizienten ein p-Bit Wort erzeugt wird und dass vor, oder nach dem binären p-Bit Wort oder vor und nach dem binären p-Bit Wort "Nullen" addiert werden, damit der Vektorkoeffizienten erhalten wird. Dadurch sind eine ausreichende Anzahl Koeffizienten verfügbar zum Durchführen der Codierung. Weiterhin, wenn die Gewichtungsvektorkoeffizientenerzeugungsmittel dazu vorgesehen sind, ein p-Bit Wort für jeden der n Gewichtungskoeffizienten zu erzeugen und wenn diese n p-Bit Wörter in den Gewichtungsvektorkoeffizientenerzeugungsmitteln gespeichert werden, bedeutet dies, dass nun eine Speicherkapaziät von n.p-Speicherstellen erforderlich ist, da die "Nullen", die vor und/oder nach dem p-Bit Wort addiert werden sollen, damit der Gewichtungsvektor erhalten wird, nicht gespeichert zu werden brauchen.
- In einer Ausführungsform der Erfindung zum Erzeugen einer Sequenz von Kanalwörtern mit dem starken Punkt, dass höchstens k aufeinanderfolgende "Nullen" zwischen aufeinanderfolgenden "Einsen" in der Sequenz auftreten, wobei die Kanalwörter weiterhin die Anforderung erfüllen, dass höchstens r aufeinanderfolgende "Nullen" an ein und demselben Ende der Kanalwörter auftreten, entsprechen die Gewichtungskoeffizienten wi der nachfolgenden Gleichung:
- wobei wj = 0 für j ≤ 0, und wobei FLOOR eines Wertes dem größten Ganzzahlwert entspricht, der kleiner ist als der genannte Wert, und wobei r kleiner ist als k. Dadurch ist die erzeugung einer Sequenz von Kanalsignalen möglich, die der k-Bedingung erfüllt, sogar nach Verkettung aufeinanderfolgender Kanalwörter. Durch Spezifizierung des Wertes für r, wobei r kleiner ist als k, wird automatisch erfüllt, dass Kanalwörter erhalten werden, die höchstens 1 "Nullen" an dem einen Ende des Kanalwortes haben, insbesondere an dem Anstiegsende, des kanalwortes und höchstens r "Nullen" an dem anderen Ende, insbesondere dem Abfallende der Kanalwörter, wobei 1 + r = k ist.
- Das Codierungsverfahren ist besonders nützlich für Codierungen mit einer hohen Rate, wie in dem 196- zu 197-Konversionscode.
- Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
- Fig. 1 eine Darstellung einer Codierungsanordnung,
- Fig. 2 eine Ausführungsform des Gewichtungskoeffizientengenerators in der Codierungsanordnung nach Fig. 1 und
- Fig. 3 eine Ausführungsform einer Decodierungsanordnung.
- Die Beschreibung und Erläuterung der Codierungs- und Decodierungsanordnung nach der vorliegenden Erfindung startet mit einer Erläuterung des Kautz- Codierungs- und -Decodierungsverfahrens. Die Tafel 1 zeigt ein Beispiel einer 4-zu- 5-Codierung zur Erläuterung des Vorgangs.
- Die Tafel zeigt eine Codierung/Decodierung von 4-Bit Informationswörtern in 5-Bit Kanalwörter, Die resultierenden Kanalwörter erfüllen die k = 2 Bedingung, dass es höchstens zwei aufeinanderfolgende "Nullen" zwischen "Einsen" gibt. Die linke Spalte bezeichnet die Dezimaldarstellung des Informationswortes und die mittlere Spalte ist die binäre Darstellung der Informationswörter. Die rechte Spalte zeigt die entsprechenden Kanalwörter. Die Kanalwörter starten und enden mit höchsten einem "Null", so dass die k-Bedingung ebenfalls erfüllt wird, wenn aufeinanderfolgende Kanalwörter miteinander verkettet werden.
- Der Decodierungsvorgang ist nun wie folgt. Es soll der Gewichtungsvektor {w} definiert werden, beispielsweise als {11,6,3,2,1}. Der Gewichtungsvektor ist in der Form einer Anzahl von (fünf) Gewichtungskoeffizienten wj, wobei i von 1 bis 5 läuft. Die Gewichtungskoeffizienten werden der Deutlichkeit halber in dezimaler Notierung ausgedrückt, es dürfte aber einleuchten, dass im Wesentlichen die Gewichtungskoeffizienten in einer binären 4-Bit Form sind.
- Die Decodierungsanordnung bildet das innere Produkt.
- I = xj · wi
- wobei xi das i. Bit des invertierten Kanalwortes ist und I das Informationswort ist, das aus der Berechnung erhalten worden ist. Es kann geprüft werden, dass für jedes Kanalwort in der Tafel das auf diese Weise gebildete innere Produkt der Ganzzahldarstellung I des Informationswortes entspricht, das dem Kanalwort zugeordnet ist, wie in der Tafel definiert. So wird beispielsweise das Kanalwort "01010" als 1.11 + 0.6 + 1.3 + 0.2 + 1.1 = 15 decodiert, was zu dem Informationswort "1111" führt. Aus diesem Beispiel dürfte es einleuchten, dass das innere Produkt zu einfachen Addierungen vereinfacht wird.
- Der Codierungsprozess übersetzt auf die nachfolgende Art und Weise die Informationswörter in die Kanalwörter. Unter Verwendung eines Informationswortes wird eine Berechnung durchgeführt zum Erhalten eines Kanalwortes, wobei diese Berechnung auf den nachfolgenden Verfahrensschritten beruht:
- (a) setze einen laufenden Parameter j gleich n,
- (b) bestimme, ob der Wert des Informationswortes größer ist als der Gewichtungsvektorkoeffizient wj oder diesem Koeffizienten entspricht, wenn ja, setze den Binärwert in der Bitposition j des Kanalwortes auf "Null" und subtrahiere den Wert des Gewichtungskoeffizienten wj von dem Wert des Informationswortes, damit ein neuer Wert für das Informationswort erhalten wird, und wenn nicht, setze den genannten Binärwert auf "Null",
- (c) wiederhole den Schritt (b) n-1mal für jeden nächst niedrigeren Wert für j, wobei wn der Gewichtungsvektorkoeffizient ist mit dem größten Wert und wobei Gewichtungsvektorkoeffizienten mit einem nächst niedrigeren Koeffizienten einen kleineren Wert haben.
- Nach Kautz können die Gewichtungskoeffizienten wi unter Anwendung der nachfolgenden Formel erhalten werden:
- Wie oben bereits erläutert, erfordert die Kautz-Methode einen Gewichtungsvektor, dessen Binärwert der Gewichtungskoeffizienten in n-1-Bits ausgedrückt werden, so dass, im Falle von hohen Werten für n ein Speicher großer Speicherkapazität erforderlich ist.
- Nach der vorliegenden Erfindung werden die Gewichtungskoeffizienten wi derart gewählt, dass sie unter Anwendung von p-Bit Binärwörtern ausgedrückt werden können, wobei p kleiner ist als n-1, und wobei "Nullen" vor oder nach oder aber vor und nach dem p-Bit Binärwort hinzuaddiert werden sollen zum Erhalten des (n-1)-Bit Gewichtungsvektorkoeffizientenwortes.
- Die Gewichtungskoeffizienten wi können erhalten werden unter Anwendung der nachfolgenden Gleichung:
- wobei wj = 0 ist für j ≤ 0 und Wobei FLOOR eines Wertes dem größten ganzzahligen Wert entspricht, der kleiner ist als der genannte Wert.
- Unter Verwendung dieser Gewichtungsvektorkoeffizienten werden Kanalwörter erhalten, wobei höchstens r aufeinanderfolgende "Nullen" an ein und demselben Ende auftreten, insbesondere an dem hinteren Ende der Kanalwörter. Das hintere Ende der Kanalwörter wird als dasjenige Ende bezeichnet, an dem die am wenigsten signifikanten Bits des Kanalwortes positioniert sind. Dies wird verwirklicht durch Beschränkung der Anzahl Koeffizienten wi, die gleich 2i-1 sind, auf r+1 Koeffizienten. Dadurch wird eine Verkettung aufeinanderfolgender Kanalwörter nicht zu einer Verletzung der k-Bedingung führen, da jedes erzeugte n-Bit Kanalwort höchstens k-r "Nullen" an dem vorderen Ende des Kanalwortes hat. Aus der ersten Formel 2i-' dürfte es einleuchten, dass die Gewichtungskoeffizienten wi nur ein einzigen "Eins"-Bit an einer bestimmten Bitposition in dem Gewichtungskoeffizienten haben, während die übrigen Bits des Gewichtungskoeffizienten alle "Nullen" sind
- Die anderen Gewichtungskoeffizienten werden mit der zweiten und dritten Formel erhalten, welche die FLOOR-Funktion enthalten. Die zweite Formel definiert die Gewichtungskoeffizienten wr+2 zu wp und die dritte Formel definiert die Gewichtungskoeffizienten wp+1 zu wn.
- Aus der zweiten Formel dürfte es einleuchten dass jeder nachfolgende Koeffizient wi durch Summierung der k vorhergehenden Koeffizienten Wi-1-k erhalten wird, wobei diejenigen vorhergehenden Koeffizienten wi mit einer Indexzahl kleiner als Null oder gleich Null auf Null gesetzt werden. Dadurch werden Gewichtungskoeffizienten erhalten mit einer Sequenz von r+1 "Einsen" in r+1 benachbarten Bitstellen in dem Gewichtungskoeffizienten, während die übrigen Bits des Gewichtungskoeffizienten alle "Null" sind.
- Es dürfte weiterhin einleuchten, dass zum Herleiten von wi unter Anwendung der dritten Formel, einschließlich der Floor-Funktion, der Summenterm in der Floor-Funktion von der Größenordnung von 2i-1 ist. Das Teilen des Summenterms durch 2i-1-p wird auf diese Art und Weise zu einem Wert führen, der von der Größenordnung von 2p ist. Dieser Wert kann auf diese Weise in b Bits ausgedrückt werden. Wenn der Floor genommen und wieder mit 2i-1-p multipliziert wird, wird dies zu Gewichtungskoeffizienten führen, die unter Verwendung von p Bit Wörtern und unter Addierung von "Nullen" vor, oder nach, oder aber vor und nach den p-Bit Wörtern ausgedrückt werden.
- Wenn p dem Wert k+2 entspricht, ändern sich die obenstehenden Gleichungen für die Gewichtungskoeffizienten wi zu:
- In einem 196-zu-197-Codierungsverfahren, wobei die Sequenz der erhaltenen Kanalwörter die Anforderungen k = 7 und r = 4 erfüllen, die Gewichtungskoeffizienten wi die nachfolgende Gleichung erfüllen:
- Dadurch sind die Werte für wi wie folgt: TAFEL 2
- Die Gewichtungsvektorkoeffizienten wi in der Tafel 2 sind in der Form von 196 Bits breiten binären Zahlen.
- Es sei bemerkt, dass jeder wi durch Erzeugung eines maximal 9-Bit Binärwortes und Addierung von "Nullen" vor oder nach, oder vor und nach dem 9-Bit Binärwort erhalten werden kann. Der Grund ist, dass die Gewichtungskoeffizienten w&sub1;&sub0; bis w&sub1;&sub9;&sub7; einen Term (505-i) enthalten, der dem Dezimalwert zwischen 495 und 308 entspricht. Solche Dezimalwerte können durch einen Binärwert von 9 Bits dargestellt werden, wie in der Tafel 2, in der rechten Spalte ersichtlich ist.
- Aus der Tafel 2 dürfte es einleuchten, dass die Gewichtungskoeffizienten w&sub1; bis w&sub5; ebenfalls erhalten werden können durch Erzeugung von 5-Bit Binärwerten "00001" bis "10000" und durch Addierung von 191 "Nullen" vor diesen 5-Bit Binärwerten, damit die 196-Bit breiten Gewichtungskoeffizienten erhalten werden. Es ist sogar möglich, eine i-Bit Binärzahl zu erzeugen, wobei i gleich 1 bis 5 ist, mit einem "1"-Bit als das signifikanteste Bit und mit "Null"-Bits für die (etwaigen) weniger signifikanten Bits.
- Die Gewichtungskoeffizienten w&sub6; bis w&sub9; können durch erzeugung der Dezimalzahl "31" erhalten werden, die das S-Bit Binärwort "11111 "ist und durch Addierung von 191 "Nullen" vor diesem Wort für i = 6, durch Addierung von 190 "Nullen" vor und von nur einer "Null" nach dem Wort für i = 7, durch Addierung von 189 "Nullen" vor und von zwei "Nullen" nach dem Wort für i = 8 und durch Addierung von 188 "Nullen" vor und drei nach dem Wort für i = 9.
- Die Gewichtungskoeffizienten w&sub1;&sub0; bis w&sub1;&sub9;&sub7; werden erhalten durch Erzeugung des 9-Bit Binärwortes entsprechend dem Dezimalwort "505-i", wie oben erläutert, und durch Addierung von 197-i "Nullen" vor und i-10 "Nullen" nach dem 9- Bit Binärwort.
- Fig. 1 zeigt eine Ausführungsform einer Codierungsanordnung zum Codieren von (n-1)-Bit Informationswörtern in n-Bit Kanalwörter. Die Ausführungsform nach Fig. 1 umfasst eine Eingangsklemme 1 zum Empfangen einer Sequenz von (n-1)- Bit Informationswörtern, eine Wandlereinheit 2 zum Umwandeln der (n-1)-Bit Informationswörter in die n-Bit Kanalwörter, und eine Ausgangsklemme 3 zum Liefern einer Sequenz von n-Bit Kanalwörtern. Die Wandlereinheit 2 umfasst eine Recheneinheit 5 und einen Gewichtungskoeffizientengenerator 7. Der Gewichtungskoeffizientengenerator 7 erzeugt die Gewichtungskoeffizienten wi an einem Ausgang 11 in Reaktion auf einen Wert i, der einem Eingang 9 geliefert wird, wobei i von 1 bis n läuft. Der Wert i wird ebenfalls intern in der Anordnung erzeugt.
- Die Umwandlung eines Informationswortes in ein entsprechendes Kanalwort unter Anwendung der n Gewichtungsvektoren wi ist oben erläutert worden und ist weiterhin im Stand der Technik durchaus bekannt, so dass auf eine weitere Beschreibung verzichtet werden kann. Die Erzeugung der Gewichtungskoeffizienten wird weiterhin anhand der Fig. 2 näher erläutert, wobei eine weitere Ausführungsform des Gewichtungskoeffizientengenerators 7 beschrieben wird.
- Der Generator 7 in Fig. 2 umfasst einen Speicher 15 mit einer Speicherkapazität zum Speichern n p-Bit Binärwörter. In dem Beispiel der Tafel 2 kann dieser Speicher 197 9-Bit Wörter gespeichert haben. In Reaktion auf den Wert i, der einem Adresseneingang 17 zugeführt wird, liefert der Speicher 15 ein p-Bit Binärwort zu dem p-Bit Ausgang 19. Die p-Bit Binärwörter werden einem p-Bit Eingang 20 eines Multiplexers 22 geliefert, der einen (n-1)-Bit Ausgang 26 hat. In Reaktion auf den Wert i, der einem Eingang 24 geliefert wird, multiplext der Multiplexer 22 das p-Bit Binärwort zu p benachbarten Ausgangsklemmen 26.q bis 26.p+q und verbindet die Ausgangsklemmen 26.1 bis 29.q und 26.p+q+1 bis 26.n-1 mit einer (nicht dargestellten) "Null" Wertklemme.
- In der Ausführungsform der Koeffizienten der Tafel 2 würde es ausreichen, wenn man eine "Eins"-Klemme hat zum Verbinden mit der Klemme 26.i in dem Fall, wo i von 1 bis 5 läuft, wenn das Binärwort (111111) in dem Speicher 15 gespeichert ist und die fünf Ausgangsklemmen des Ausgang 19 des Speichers 15 verbunden sind, an denen das Wort (111111) verfügbar ist, mit den Klemmen 26.i-5 bis 26.i-1 für i laufend von 6 bis 9, und wenn 188 9-Bit Wörter in dem Speicher 15 gespeichert und diese 9-Bit Wörter über den Multiplexer 22 den Ausgangsklemmen 26.i-9 bis 26.i-1 zugeführt werden, für i laufend von 10 bis 197.
- Fig. 3 zeigt eine Ausführungsform einer Decodieranordnung zum Decodieren von n-Bit Kanalwörtern in (n-1)-Bit Informationswörter. Die Ausführungsform nach Fig. 3 umfasst eine Eingangsklemme 30 zum Empfangen einer Sequenz von n-Bit Kanalwörtern, eine Wandlereinheit 32 zum Umwandeln der n-Bit Kanalwörter in die (n-1)-Bit Informationswörter, und eine Ausgangsklemme 33 zum Liefern einer Sequenz von (n-1)-Bit Informationswörtern. Die Wandlereinheit 32 umfasst eine Berechnungseinheit 35 und einen Gewichtungskoeffizientengenerator 7. Der Gewichtungskoeffizientengenerator 7 erzeugt die Gewichtungskoeffizienten wi an einem Ausgang 11 in Reaktion auf einen zu einem Eingang 9 gelieferten Wert i, wobei i von 1 bis n läuft. Der Wert i wird ebenfalls intern in der Anordnung erzeugt. Der Gewichtungskoeffizientengenerator 7 kann dem Gewichtungskoeffizientengenerator in der Codieranordnung nach Fig. 2 entsprechen, so dass dieser in Reaktion auf den zu dem Eingang 9 gelieferten Wert i dieselben Koeffizienten wi erzeugt.
- Die Umwandlung eines Kanalwortes in eine entsprechende Information unter Anwendung der n Gewichtungsvektoren wi wurde oben näher erläutert und aus dem Stand der Technik durchaus bekannt, so dass auf eine nähere Erläuterung und Beschreibung verzichtet werden kann. Die Erzeugung der Gewichtungskoeffizienten wurde oben bereits erläutert, so dass auf eine weitere Erläuterung und Beschreibung der Gewichtungskoeffizienten verzichtet werden kann.
- Es sei bemerkt, dass die p-Bit Wörter, erforderlich zum Erzeugen der Gewichtungsvektorkoeffizienten, in einem Speicher gespeichert werden können. Dies ist nicht unbedingt erforderlich. Es kann möglich sein, die p-Bit Wörter unter Anwendung eines Rechenalgorithmus, wie der obenstehenden Formeln, jeweils dann zu erzeugen, wenn ein Vektorkoeffizient wi zum Codieren oder Decodieren gebraucht wird.
Claims (12)
1. Codierungsanordnung zum Codieren einer Sequenz von (n-1)-Bit
Informationswörtern in eine Sequenz von n-Bit Kanalwörtern, wobei diese
Codierungsanordnung die nachfolgenden Elemente aufweist:
- Eingangsmittel (1) zum Empfangen der Informationswörter,
- Umwandlungsmittel (2) zum Umwandeln der (n-1)-Bit Informationswörter in n-Bit
Kanalwörter,
- Ausgangsmittel (3) zum Liefern der Kanalwörter,
wobei die Umwandlungsmittel (2) die nachfolgenden Elemente aufweisen:
- Gewichtungsvektorkoeffizientenlieferungsmittel (7) zum Liefern eines
Gewichtungsvektors w, wobei der Gewichtungsvektor n Gewichtungsvektorkoeffizienten wi
aufweist, wobei i eine ganze Zahl zwischen 1 und n ist, und wobei die
Gewichtungsvektorkoeffizienten in Form von (n-1)-Bit Binärwörtern sind,
- Berechnungsmittel (5) zum durchführen einer Berechnung unter Verwendung eines
Informationswortes zum Erhalten eines Kanalwortes, wobei diese Berechnung aus den
nachfolgenden Berechnungsschritten besteht:
(a) setze einen laufenden Paramater j gleich n,
(b) bestimme, ob der Wert des Informationswortes größer ist als der
Gewichtungsvektorkoeffizient wj oder diesem Koeffizienten entspricht, und wenn ja, setze den
Binärwert an der Bitstelle j des Kanalwortes auf "Null" und subtrahiere den Wert des
Gewichtungskoeffizienten wj von dem Wert des Informationswortes, zum Erhalten
eines neuen Wertes für das Informationswort, und wenn nicht, setze den genannten
Binärwert auf "Eins",
(c) wiederhole den Schritt (b) n-1mal für jeden nächst niedrigen Wert für j, wobei wn
der Gewichtungsvektorkoeffizient mit dem größten Wert ist und wobei
Gewichtungsvektorkoeffizienten mit einem nächst niedrigeren Koeffizienten j einen geringen Wert
haben,
dadurch gekennzeichnet, dass die Gewichtungsvektorkoeffizientenlieferungsmittel (7)
dazu vorgesehen sind, p Bits eines Gewichtungsvektorkoeffizienten wi zu liefern (15),
wobei die restlichen n-1-p Bits des (n-1)-Bit Gewichtungsvektorkoeffizientenwortes
"Nullen" sind, die addiert werden sollen (20), und zwar vor oder nach dem p-Bit
Binärwort, oder aber vor und nach dem p-Bit Binärwort, zum Erhalten des genannten
Gewichtungsvektorkoeffizienten, und dass p eine ganze Zahl größer als Eins und
kleiner als n-1 ist.
2. Codierungsanordnung nach Anspruch 1, dadurch gekennzeichnet, dass
zum Erzeugen einer Sequenz von Kanalwörtern mit dem starken Punkt, dass zwischen
aufeinanderfolgenden "Einsen" in der Sequenz höchstens k aufeinanderfolgende
"Nullen" auftreten, wobei die Kanalwörter weiterhin die Anforderung erfüllen, dass
höchstens r aufeinanderfolgende "Nullen" an ein und demselben Ende der Kanalwörter
auftreten, wobei die Gewichtungskoeffizienten wi die nachfolgende Gleichung
erfülllen:
wobei wj = 0 ist für j ≤ 0, und wobei FLOOR eines Wertes dem größten ganzzahligen
Wert entspricht, der kleiner ist als der genannte Wert, und wobei r kleiner ist als k.
3. Codieranordnung nach Anspruch 2, dadurch gekennzeichnet, dass p =
k+2 und dass die Gewichtungskoeffizienten wi die nachfolgende Gleichung erfüllen:
4. Codieranordnung nach Anspruch 3, dadurch gekennzeichnet, dass n =
197, k = 7 und r = 4, und dass die Gewichtungskoeffizienten wi die nachfolgende
Gleichung erfüllen:
5. Codieranordnung nach Anspruch 2, dadurch gekennzeichnet, dass die
Kanalwörter die Anforderung erfüllen, dass höchsten r aufeinanderfolgende "Nullen"
an dem hinteren Ende der Kanalwörter auftreten.
6. Decodieranordnung zum Decodieren einer Sequenz von n-Bit
Kanalwörtern in eine Sequenz von (n-1)-Bit Informationswörter, wobei die
Decodieranordnung die nachfolgenden Elemente aufweist:
- Eingangsmittel (30) zum Empfangen der Kanalwörter,
- Umwandlungsmittel (32) zum Umwandeln der n-Bit Kanalwörter in (n-1)-Bit
Informationswörter,
- Ausgangsmittel (33) zum Liefern der Informationswörter,
wobei die Umwandlungsmittel (32) die nachfolgenden Elemente aufweisen:
- Invertierungsmittel zum Invertieren der Kanalwörter zum Erhalten invertierter
Kanalwörter,
- Gewichtungsvektorlieferungsmittel (7) zum Liefern eines Gewichtungsvektors
w, wobei dieser Gewichtungsvektor n Gewichtungsvektorkoeffizienten wi hat, wobei i
eine ganze Zahl zwischen 1 und n ist, wobei jeder Gewichtungsvektorkoeffizient wi
als Binärwort dargestellt wird,
- Berechnungsmittel (35) zum Durchführen einer Berechnung unter Anwendung
eines invertierten Kanalwortes zum Erhalten eines Informationswortes, wobei diese
Berechnung auf der Berechnung eines inneren Produktes beruht:
I = xi · wi
wobei xi das i. Bit in dem invertierten Kanalwort ist und I das Informationswort ist,
das aus der Berechnung erhalten worden ist, und wobei n und p ganzzahlige
Konstanten sind,
dadurch gekennzeichnet, dass die Gewichtungsvektorkoeffizientenlieferungsmittel (7)
dazu vorgesehen sind, p Bits eines Gewichtungsvektorkoeffizienten wi zu liefern,
wobei die restlichen Bits des Gewichtungsvektorkoeffizientenwortes "Nullen" sind, die
vor oder nach, oder vor und nach dem p-Bit Binärwort hinzuaddiert werden sollen und
dass P eine ganze Zahl größer als Eins und kleiner als n-1 ist.
7. Decodieranordnung nach Anspruch 6, wobei die Sequenz von
Kanalwörtern den Vorteil hat, dass wenigstens k aufeinanderfolgende "Nullen" zwischen
aufeinanderfolgenden "Einsen" in der Sequenz auftreten, wobei die Kanalwörter
weiterhin die Anforderung erfüllen, dass höchstens r aufeinanderfolgende "Nullen" an ein
und demselben Ende der Kanalwörter auftreten, dadurch gekennzeichnet, dass die
Gewichtungskoeffizienten wi die nachfolgende Gleichung erfüllen:
wobei wj = 0 ist für j ≤ 0, und wobei der FLOOR eines Wertes dem größten
ganzzahligen Wert entspricht, der kleiner ist als der genannte Wert, und wobei r kleiner ist als
k.
8. Decodieranordnung nach Anspruch 7, dadurch gekennzeichnet, dass p
= k+2 und dass die Gewichtungskoeffizienten wi die nachfolgende Gleichung erfüllen:
9. Decodieranordnung nach Anspruch 8, dadurch gekennzeichnet, dass n
= 197, k = 7 und r = 4, und dass die Gewichtungskoeffizienten wi die nachfolgende
Gleichung erfüllen:
10. Decodieranordnung nach Anspruch 7, dadurch gekennzeichnet, dass die
Kanalwörter die Anforderung erfüllen, dass höchstens r aufeinanderfolgende "Nullen"
an dem hinteren Ende der Kanalwörter auftreten.
11. Codierungsverfahren zum Codieren einer Sequenz von (n-1)-Bit
Informationswörtern in eine Folge von n-Bit Kanalwörtern, wobei das Codierungsverfahren
die nachfolgenden Verfahrensschritte umfasst:
- das Empfangen (1) der Informationswörter;
- das Umwandeln (2) der (n-1)-Bit Informationswörter in n-Bit Kanalwörter;
- das Liefern (3) der Kanalwörter;
wobei der Umwandlungsschritt (2) die nachfolgenden Schritte umfasst:
- das Liefern (7) eines Gewichtungsvektors w, wobei der Gewichtungsvektor n
Gewichtungsvektorkoeffizienten wi aufweist, wobei i eine ganze zahl zwischen 1 und n
ist, und wobei die Gewichtungsvektorkoeffizienten in Form von (n-1)-Bit
Binärwörtern ist; und
- das Durchführen einer Berechnung (5) unter Verwendung eines Informationswortes
zum Erhalten eines Kanalwortes, wobei diese Berechnung auf den nachfolgenden
Schritte beruht:
(a) setze einen laufenden Parameter j gleich n,
(b) bestimme, ob der Wert des Informationswortes größer ist als der
Gewichtungsvektorkoeffizient wj oder diesem Koeffizienten entspricht, wenn ja, setze den
Binärwert in der Bitposition j des Kanalwortes auf "Null" und subtrahiere den Wert des
Gewichtungskoeffizienten wj von dem Wert des Informationswortes, damit ein neuer
Wert für das Informationswort erhalten wird, und wenn nicht, setze den genannten
Binärwert auf "Null",
(c) wiederhole den Schritt (b) n-1mal für jeden nächst niedrigeren Wert für j, wobei wn
der Gewichtungsvektorkoeffizient ist mit dem größten Wert und wobei
Gewichtungsvektorkoeffizienten mit einem nächst niedrigeren Koeffizienten einen kleineren Wert
haben,
dadurch gekennzeichnet, dass das Codierungsverfahren die nachfolgenden
Verfahrensschritte umfasst:
- das Liefern (15) von p Bits eines Gewichtungsvektorkoeffizienten wi, wobei die
restlichen n-1-p Bits des (n-1)-Bit Gewichtungsvektorkoeffizientenwortes "Nullen"
sind, die (20) vor oder nach dem p-Bit Binnärwort, oder vor und nach dem b-Bit
Binärwort hinzuaddiert werden sollen, damit der genannten
Gewichtungsvektorkoeffizient erhalten wird und dass p eine ganze Zahl größer als Eins und kleiner als n-1 ist.
12. Decodierverfahren zum Decodieren einer Sequenz von n-Bit
Kanalwörtern in eine Sequenz von (n-1)-Bit Informationswörtern, wobei das
Decodierverfahren die nachfolgenden Schritte umfasst:
- das Empfangen (30) der Kanalwörter;
- das Umwandeln (32) der n-1Bit Kanalwörter in (n-1)-Bit Informationswörter;
- das Liefern (33) der Informationswörter;
wobei der Umwandlungsschritt (32) die nachfolgenden Schritte aufweist:
- das Invertieren der Kanalwörter zum Erhalten invertierter Kanalwörter;
- das Liefern (7) eines Gewichtungsvektors w, wobei der Gewichtungsvektor n
Gewichtungsvektorkoeffizienten wi aufweist, wobei i eine ganze Zahl zwischen 1 und n
ist, wobei jeder Gewichtungsvektorkoeffizient wi als Binärword dargestellt wird; und
- das Durchführen einer Berechnung (35) unter Verwendung eines invertierten
Kanalwortes zum Erhalten eines Informationswortes, wobei diese Berechnung auf der
Berechnung eines inneren Produktes basiert:
I = xi · wi
wobei xi das i. Bit in dem invertierten Kanalwort ist und I das aus der Berechnung
erhaltene Informationswort ist und wobei n und p ganzzahlige Konstanten sind,
dadurch gekennzeichnet, dass das Decodierverfahren die nachfolgenden
Verfahrensschritte umfasst:
- das Liefern (7) von p Bits eines Gewichtungsvektorkoeffizienten wi, wobei die
restlichen Bits des Gewichtungsvekitorkoeffizientenwortes "Nullen" sind, die vor oder nach
dem p-Bit Binärwort oder vor und nach dem p-bit Binärwort hinzuaddiert werden
sollen, und dass p eine ganze Zahl größer als Eins und kleiner als n-1 ist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP95200261 | 1995-02-03 | ||
| PCT/IB1996/000045 WO1996024194A1 (en) | 1995-02-03 | 1996-01-19 | Encoding arrangement for encoding a sequence of (n-1)-bit information words into a sequence of n-bit channel words, and a decoding arrangement for decoding a sequence of n-bit channel words into a sequence of (n-1) bit information words |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69613181D1 DE69613181D1 (de) | 2001-07-12 |
| DE69613181T2 true DE69613181T2 (de) | 2002-01-31 |
Family
ID=8219991
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69613181T Expired - Fee Related DE69613181T2 (de) | 1995-02-03 | 1996-01-19 | Anordnung zum kodieren einer sequenz von (n-1)-bit informationswörtern in eine sequenz von n-bit kanalwörtern sowie dekodieranordnung zum dekodieren einer sequenz von n-bit kanalwörtern in eine sequenz von (n-1)-bit informationswörtern |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US5760718A (de) |
| EP (1) | EP0754373B1 (de) |
| JP (1) | JP3425152B2 (de) |
| KR (1) | KR100434207B1 (de) |
| CN (1) | CN1110903C (de) |
| AT (1) | ATE201943T1 (de) |
| DE (1) | DE69613181T2 (de) |
| TW (1) | TW290764B (de) |
| WO (1) | WO1996024194A1 (de) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5943368A (en) * | 1996-07-08 | 1999-08-24 | U.S. Philips Corporation | Transmission, recording and reproduction of a digital information signal |
| JP3235543B2 (ja) * | 1997-10-22 | 2001-12-04 | 松下電器産業株式会社 | 音声符号化/復号化装置 |
| DE69840008D1 (de) * | 1997-10-22 | 2008-10-23 | Matsushita Electric Industrial Co Ltd | Verfahren und Vorrichtung für die Erzeugung von gestreuten Vektoren |
| US6700509B1 (en) * | 1999-11-12 | 2004-03-02 | Koninklijke Philips Electronics N.V. | Device and method for processing a digital information signal |
| US6574773B1 (en) * | 2000-03-09 | 2003-06-03 | Stephen A. Turk | Cost-effective high-throughput enumerative ENDEC employing a plurality of segmented compare tables |
| KR100879942B1 (ko) * | 2002-02-16 | 2009-01-22 | 엘지전자 주식회사 | 채널품질지시자 코딩을 위한 기저수열 생성방법 |
| 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 |
| US7696908B2 (en) * | 2006-01-04 | 2010-04-13 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for reducing error propagation using modulation codes having a variable span |
| TW200945797A (en) * | 2007-11-07 | 2009-11-01 | Ibm | Modulation coding and decoding |
| CN101431335B (zh) * | 2007-11-07 | 2011-11-16 | 国际商业机器公司 | 用于调制编码和解码的方法、装置和系统 |
| US7616134B1 (en) | 2008-06-19 | 2009-11-10 | International Business Machines Corporation | Systems and methods for enumerative encoding and decoding of maximum-transition-run codes and PRML (G,I,M) codes |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SU662933A1 (ru) * | 1976-07-19 | 1979-05-15 | Таганрогский радиотехнический институт им. В.Д.Калмыкова | Преобразователь кодов |
| SU732864A1 (ru) * | 1976-12-22 | 1980-05-05 | Таганрогский радиотехнический институт им.В.Д.Калмыкова | Сумматор кодов фибоначчи |
| US4818969A (en) * | 1984-08-09 | 1989-04-04 | Kronos, Inc. | Method of fixed-length binary encoding and decoding and apparatus for same |
| DE3650166D1 (de) * | 1986-02-13 | 1995-01-19 | Kronos Inc | Vorrichtung zur binären Festlängen-Kodierung und Dekodierung. |
| US4792793A (en) * | 1987-05-28 | 1988-12-20 | Amdahl Corporation | Converting numbers between binary and another base |
| US4989211A (en) * | 1988-05-12 | 1991-01-29 | Digital Equipment Corporation | Sector mis-synchronization detection method |
-
1996
- 1996-01-19 JP JP52337796A patent/JP3425152B2/ja not_active Expired - Fee Related
- 1996-01-19 DE DE69613181T patent/DE69613181T2/de not_active Expired - Fee Related
- 1996-01-19 CN CN96190184A patent/CN1110903C/zh not_active Expired - Fee Related
- 1996-01-19 KR KR1019960705634A patent/KR100434207B1/ko not_active Expired - Fee Related
- 1996-01-19 AT AT96900157T patent/ATE201943T1/de not_active IP Right Cessation
- 1996-01-19 EP EP96900157A patent/EP0754373B1/de not_active Expired - Lifetime
- 1996-01-19 WO PCT/IB1996/000045 patent/WO1996024194A1/en not_active Ceased
- 1996-01-25 TW TW085100894A patent/TW290764B/zh active
- 1996-02-02 US US08/599,527 patent/US5760718A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW290764B (de) | 1996-11-11 |
| KR970702622A (ko) | 1997-05-13 |
| EP0754373B1 (de) | 2001-06-06 |
| EP0754373A1 (de) | 1997-01-22 |
| US5760718A (en) | 1998-06-02 |
| JPH09511375A (ja) | 1997-11-11 |
| KR100434207B1 (ko) | 2004-11-03 |
| CN1148449A (zh) | 1997-04-23 |
| CN1110903C (zh) | 2003-06-04 |
| DE69613181D1 (de) | 2001-07-12 |
| WO1996024194A1 (en) | 1996-08-08 |
| ATE201943T1 (de) | 2001-06-15 |
| JP3425152B2 (ja) | 2003-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69613181T2 (de) | Anordnung zum kodieren einer sequenz von (n-1)-bit informationswörtern in eine sequenz von n-bit kanalwörtern sowie dekodieranordnung zum dekodieren einer sequenz von n-bit kanalwörtern in eine sequenz von (n-1)-bit informationswörtern | |
| EP0010195B1 (de) | Vorrichtung zur Adressumwandlung in einer Datenverarbeitungsanlage | |
| DE69330196T2 (de) | Textkomprimierungstechnik unter Anwendung einer frequenzgeordneten Matrix von Wort-Nummern-Abbildungen | |
| DE69725215T2 (de) | Verfahren und Vorrichtung zur Komprimierung und Dekomprimierung von Schrifttypen | |
| DE602004010922T2 (de) | Speicher und stromeffizienter mechanismus für schnelles tabellennachschlagen | |
| DE69130868T2 (de) | Kommunikationssystem für binärdaten | |
| DE2205422C2 (de) | Verfahren und Einrichtung zur Dekompression verdichteter Daten | |
| DE3852341T2 (de) | Zeichenverarbeitungssystem mit Funktion zur Prüfung von Rechtschreibung. | |
| DE69026924T2 (de) | Datenkomprimierungsverfahren | |
| DE69736148T2 (de) | Verfahren und Einrichtung zur Datenverschlüsselung | |
| DE60131247T2 (de) | Dezimal-Binär Kodierer/Dekodierer | |
| WO1995026083A1 (de) | Verfahren zum codieren mehrerer audiosignale | |
| DE60038333T2 (de) | Vier-zu-sechs Kodierungstabelle, Modulation die diese anwendet, aber ohne Vereinigungsbit ,sowie ihre Anwendung für optische Plattenaufzeichnungs- oder Wiedergabesysteme | |
| DE3485824T2 (de) | Verfahren zur datenkompression. | |
| DE3503508C2 (de) | ||
| DE69527883T2 (de) | Decodierung eines Huffman Codes mit MSB und LSB Tabellen | |
| DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
| DE2614916A1 (de) | Konverter zur codeumwandlung | |
| DE69329092T2 (de) | Huffman-Kode-Decodierungsschaltung | |
| DE68926676T2 (de) | Verfahren und gerät zur statistischen kodierung von digitalen daten | |
| DE3685888T2 (de) | Verfahren und vorrichtung fuer binaer-dezimale umsetzung. | |
| DE68923012T2 (de) | Kodierungs- und Dekodierungsverfahren variabler Länge, Kodierungs- und Dekodierungsvorrichtung zur Ausführung dieses Verfahrens. | |
| DE69029652T2 (de) | Zeichenkodierung | |
| DE1964570B2 (de) | Verfahren zum wiederauffinden gespeicherter informationen | |
| DE69027400T2 (de) | Gerät zur digitalen Modulation und Gerät zur digitalen Demodulation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |