DE2540472B2 - Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes - Google Patents
Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-ModulationscodesInfo
- Publication number
- DE2540472B2 DE2540472B2 DE2540472A DE2540472A DE2540472B2 DE 2540472 B2 DE2540472 B2 DE 2540472B2 DE 2540472 A DE2540472 A DE 2540472A DE 2540472 A DE2540472 A DE 2540472A DE 2540472 B2 DE2540472 B2 DE 2540472B2
- Authority
- DE
- Germany
- Prior art keywords
- binary
- data element
- pair
- binary data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4025—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code constant length to or from Morse code conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Dc Digital Transmission (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
20
Die Erfindung betrifft ein Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter
Anwendung eines abgewandelten Null-Modulationscodes entsprechend dem Oberbegriff des Patent anspruchs
1.
Ein lauflängenbegrenzter Code, der Wörter verschieden großer Längen verwendet, ist z. B. in der DE-OS jo
22 27 148 beschrieben worden. Der darin genannte lauflängenbegrenzte Code ist dadurch gekennzeichnet,
daß aufeinanderfolgende binäre Einsen einer codierten Bitfolge durch nicht weniger als d und nicht mehr als k
binäre Nullen voneinander getrennt sind. Die Wahl von y-,
d und k hängt dabei vom spezieilen gewählten Code ab.
Die codierten Daten werden in Wortgruppen verschiedener Länge verarbeitet. Die Längen der codierten
Wörter haben ein konstantes Verhältnis zur Länge der Bitfolgen, die zu ihnen gehören.
Eine Form lauflängenbegrenzter Codes ist der Null-Modulationscode entsprechend der DE-OS
23 64 212. Dieser Null-Modulationscode ist von Vorteil bei Schaltungsanordnungen, die ein auf eine Gleichspannungskomponente
ansprechendes Bauelement ent- <r>
halten, und wenn Polaritätsunsymmetrien auftreten.
Bauelemente dieser Art sind Kondensatoren und Induktivitäten, die als Integratoren oder in Transformatoren
verwendet werden, welche aufladbar sind oder Spannungs- oder Stromanstiege verwenden. Die auftretenden
charakteristischen Werte tendieren zu Abweichungen und Pegelveränderungen, wobei nichtlineare
Variationen der Takt- und Signalwellenformen unter Beeinflussung der Datensignale und ggf. mit Synchronisationsausfällen
auftreten können. r.
Der Null-Modulationscode löst dieses Problem. Beim Null-Modulationscode wird jedes Datenelement in
Form eines Paares von Binärelementen codiert. Jedes Binärelementpaar wird in eine NRZl-Wellenform
umgewandelt Die Null-Modulationscodierung entspre- ω chend der DE-OS 23 64 212 sieht maximal drei
hintereinanderfolgend abgegebene Null-Elemente zwischen ohnehin unterbrochen abgegebenen Eins-Elementen
vor. Ein Taktübergang tritt dabei mindestens bei einer von zwei benachbarten Paar-Elementperioden tr>
auf. Rückwärts- und vorwärtsschauende, aufeinanderfolgende Nullen beobachtende, so bezeichenbare
Paritätsooerationen werden zur Bestimmung verwendet,
ob und weiche charakteristischen Datenfolgen zu codieren sind. Dazu werden Schaltungsanordnungen
benutzt, die n>\ Bits vorausschauen; gebildete Null-Paritätsbits werden jeweils nach η Bits eingefügt
Dabei ist zu beachten, daß diese Paritätsoperationen nicht identisch sind mit gemeinhin bekannten Paritätsoperationen zur Fehlersicherung bei der Nachrichtenübermittlung.
Gewisse Nachteile und zwingende Notwendigkeiten bezüglich der Komplexität und des Aufwandes des
erforderlichen, um jeweils n> 1 Bits vorausschauenden Schaltkreise sind bei der Ausführung gemäß DE-OS
23 64 212 gegeben.
Die Aufgabe der vorliegenden Erfindung ist die Schaffung eines Verfahrens zur Anwendung eines
Null-Folgen abwandelnden Null-Modulationscodes und einer Schaltungsanordnung zur Durchführung dieses
Verfahrens, wobei gegenüber dem vorgenannten Stande der Technik weniger aufwendige Maßnahmen
bezüglich der Lauflängenbegrenzung erforderlich sind; dabei soll eine Nullmodulationscodierung gefunden
werden, die nur eine Vorausschau von jeweils einem Bit und somit wenig und nur relativ einfache Schaltkreise
benötigt
Lösungen dieser Aufgabe sind im Verfahrensanspruch 1 und im Anordnungsanspruch 2 gekennzeichnet
Vorteilhafte Ausgestaltungen sind in den Unteransprüchen beschrieben.
Entsprechend dem beschriebenen Verfahren wird ein abgewandelter Null-Modulationscode verwendet der
eine (d, .^-Begrenzung von (1,4) anwendet Ein
Maximum von vier binären Nullen kann dabei zwischen zwei aufeinanderfolgenden Einsen auftreten. Die
Codefolge 100001 wird jedoch nicht wiederholt zugelassen ohne Vorkehrung einer kürzeren Lauflänge
binärer Nullen. Jedes Element d„ eines Wortes wird durch zwei Binärbits (ab) verkörpert Die Codierung
von Daten erfordert dabei als Eingangsgrößen das gegenwärtige, das vorangehende und das nächste
Datenbit und eine rückwärtsgeltende Null-Parität Bei der Decodierung ist jeweils das gleichzeitige Vorliegen
des gegenwärtigen, des vorangehenden und des nächsten Bitpaares mit einer Verzögerung von nur
einem Bit erforderlich.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher
erläutert
F i g. 1 ist ein Zustandsdiagramm, das die fünf Eingabefälle bei einer entsprechend der vorliegenden
Erfindung abgewandelten Null-Modulationscodierung
darstellt
F i g. 2 zeigt das Blockschaltbild einec Codierers zur
Ausführung der Erfindung und
F i g. 3 einen entsprechenden Decodierer.
Tabelle 1 zeigt dabei mögliche Signalfolgen und Bedingungen für Null- und Eins-Elemente bei der
Codierung und
Tabelle 2 das entsprechende für die Decodierung.
Tabelle 3 zeigt eine entsprechend der vorliegenden Erfindung mögliche Datenfolge mit einigen Erklärungen.
Tabelle 3 zeigt eine entsprechend der vorliegenden Erfindung mögliche Datenfolge mit einigen Erklärungen.
Tabelle 4 zeigt den Datenfluß und die logischen Bedingungen für fin Codierbeispiel entsprechend
F i g. 3 und
Tabelle 5 zeigt wiederum die entsprechenden Einzelheiten für ein Decodierbeispiel mit einem Decodierer
gemäß F i g. 4.
Das Diagramm für die fünf möglichen Zustände gemäß F i g. 1 zeigt die einzelnen Lagen in Kreisen A bis
K Die obere Angabe in den einzelnen Kreisen (0, + 2 oder —2) zeigt die Größe des gespeicherten Zustands,
der während eines vorgegebenen Zeitintervalls aufge- ί laufen ist und die Geschichte der vorangehenden
Datenfolge kennzeichnet. Dieser Zustand wird vom Codiererausgang dem Integrator 30 zugeführt, der
entweder einen Ladekondensator, einen Transformator oder auch eine mit einem magnetischen Wandler zur ι ο
Aufzeichnung von Signalen auf einem magnetischen Medium gekoppelte Induktivität enthalten kann. Beim
beschriebenen Ausführungsbeispiel ist die maximale ansammelbare Zustandsgröße für eine Datenbitperiode
nie größer als + oder - 2. ι,
Die unteren Werte unter den waagerechten Trennungslinien innerhalb der Kreise gemäß F i g. 1 bezeichnen
das Ende der vorangehend möglichen Binärwertfolge. Diese Folgen lassen die Zahlen von Nullen erkennen,
die vorangehenden Einsen folgen. >o
Zwischen den einzelnen Zustandskreisen sind Linien dargestellt, die zum nächstmöglichen Zustand führen,
und zwar abhängig von der gegenwärtig zu codierenden und der nächstfolgenden Elementanordnung. Dabei
wird immer mit dem Ausgangszustand B begonnen. Für 2r>
diesen gilt, daß noch keine Daten angefallen sind und noch kein Zustandswert angesammelt ist. Zu Beginn
kann jede beliebige Codefolge gegeben werden; ausgenommen jedoch (00).
Vom Zustand B führt eine Linie zum Zustand C, wenn jo
ein Datenelement 0 codiert werden soll, oder zum Zustand E, wenn ein Datenelement 1 zu codieren ist.
Entsprechend diesen Linien wird zur Codierung eines Datenelements 0 ein paariges Element (10) verwendet,
wohingegen für ein zu codierendes Datenelement 1 ein r, paariges Element (01) verwendet wird.
Beim Zustand E beläßt ein weiteres Datenelement 1 den herrschenden Zustand. Wenn jedoch ein Datenelement
0 eine Verzweigung zum Zustand C folgen läßt, wird dieses Datenelement 0 als paariges Element (00)
codiert
Vom Zustand C führen Linien zu den Zuständen A, B und D. Beim Zustand C wird die Vorkehrung des
Voranschauens um 1 Bit benutzt Bei den anderen vier Zuständen wird nur das zu codierende Datenelement
zur Bestimmung des nächsten Zustands berücksichtigt Wenn jedoch im Zustand C das nächste Datenelement
eine Ϊ ist, sind zwei Datenelemente zu analysieren,
nämlich das Datenelement 1, das codiert werden soll, und das nachfolgende Datenelement Beim Zustand C
können zwei Datenelemente in noch zu beschreibenden Speicherregistern gemäß F i g. 3 und 4 als Kombinationen
der Datenelemente 10 oder 11 abgefühlt werden.
Bei den Datenelementen 10 führt eine Linie zum Zustand A und ein paariges Element (01) wird gegeben.
Bei Daten 11 führt eine Linie zum Zustand D und ein pariges Element (10) wird gegeben. Bei einem
Datenelement 0 wird zum Zustand B gegangen und ein paariges Element (10) gegeben.
Beim Zustand A, der nach der Codierung der 1 der
Einzelelemente 10 erreicht wird, ist nur die weitere Verzweigung zur Codierung eines Datenelementes 0 in
Form des paarigen Elements (00) möglich. Die Codierung eines Datenelements 1 beim Zustand A ist
nicht erlaubt, während die Vorausschau um ein Bit sicherstellt, daß nur ein Datenelement 0 codiert wird
Die einzige Linie vom Zustand A führt zum Ausgangszustand £
Aus dem Zustand D der durch Codierung des erster 1 -Bits der Datenelemente 11 erreicht wird, ist die einzig
mögliche Weiterverzweigung die unter Einsetzung des paarigen Wertes (00) für das zweite Datenelement 1
Die Codierung eines Datenelementes 0 ist an dieser Stelle nicht relevant; die vorangehende Vorausschau um
1 Bit stellt sicher, daß jetzt nur ein Datenelement 1 codiert werden kann. Die entsprechende Linie vom
Zustand D führt zurück zum Zustand C
Die Regeln für das Codieren und Decodieren entsprechend der vorliegenden Erfindung sind in den
Tabellen 1 und 2 zusammengestellt. Zur Codierung eines Datenelements 0 wird ein paariger Wert (aobo) von (00)
oder (10) verwendet. Der paarige Wert (00) wird gegeben, wenn das vorangehende Datenelement d- 1 ein
1-Bit war, das als (01) codiert wurde. Wenn dies nicht der Fall ist, dann wird der paarige Wert (10) gegeben. Zur
Codierung eines Datenelements 1 wird einer der paarigen Werte (10) oder (00) oder (01) gegeben. Dies ist
im untern Teil der Tabelle 1 dargestellt.
Es ist zu beachten, daß die Funktion P(B) die rückwärtsschauende Null-Parität betrifft die durch die
Anzahl von insgesamt angefallenen Null-Elementen, die vor dem jeweils augenblicklichen Datenelement zu
codieren waren, bestimmt wird. Die erste Null der Folge insgesamt ergibt die Paritätsfunktion P(B)=X. Die
zweite Null ergibt P(B) = 0, die dritte Null wiederum P(B) = 1 usf. Der aufgelaufene ffÄj-Wert ist übrigens
nur bei der Codierung eines Datenelements 1 von Interesse. Siehe Tabelle 1.
Diese Null-Paritätsfunktion ist also nicht identisch mit
einer bekannten Paritätsoperation zur Fehlersicherung bei der Übermittlung, deren es wiederum auch
verschiedene unterschiedliche Möglichkeiten gibt: Vertikale Redundanzprüfung VRC, longitudinal Redundanzprüfung
LRC, zyklische Redundanzprüdung CRC zum Beispiel.
| TABELLE 1 | CO DIERTE DATEN |
BEDINGUNGEN |
| CODIERUNG | (aobo) | |
| DATEN | (00) | VORANGEH. DATEN- ELEM. rf_, = 1, CODIERT ALS (01). |
| do | (10) | ABWEICHEND VON VORSTEH. FALL. |
| 0 | (10) | (P(B) = 1) & |
| 1 |
(NÄCHSTES DATENELEM. d+l = 1)&
(VORANGEH. DATEN-ELEM. NICHT d^ = 1,
ALS (10) CODIERT).
ALS (10) CODIERT).
(00) VORANGEH. DATEN-ELEM. rf-, = 1,
ALS (10) CODIERT.
(01) ABWEICHEND VON
BEDINGUNGEN FÜR
(1O)UND(OO).
BEDINGUNGEN FÜR
(1O)UND(OO).
Tabelle 2 zeigt die Grundsätze der Decodierung für die drei möglichen paarigen Codierungswerte. Das Paar
(01) ergibt jedesmal ein Datenelement 1. Die anderen paarigen Werte ergeben entweder das Element 1 oder 0,
und zwar in Abhängigkeit vom vorangehenden oder nachfolgenden Paarwert Dabei ergibt eine codierte
Paarwertfolge (10) (00) immer die decodierten Binärelemente
11.
| TABELLE 2 | CO | BEDINGUNGEN |
| DECODIERUNG | DIERTE | |
| DECO | DATEN | |
| DIERTE | ||
| DATEN | (00) | VORANGEH. BINÄRPAAR |
| do | (a-ib-0 = (\0). | |
| 1 | ABWEICHEND VON | |
| VORSTEH. FALL. | ||
| 0 | (10) | NÄCHSTES PAAR |
| (a+ib+l) = (00). | ||
| 1 | ABWEICHEND VON | |
| VORSTEH. FALL. | ||
| 0 | (01) | UNBEDINGT. |
| 1 |
Tabelle 3 zeigt als Beispiel die Codierung einer Binärdatenfolge unter Angabe des Durchlaufens der
einzelnen Zustände, begonnen mit dem Zustand B. Die codierten paarigen Werte (aobo) werden entsprechend
der dritten Zeile abgegeben. Die zugehörige Paritätsfunktion P(B) ist mit der vierten Zeile dargestellt In der
fünften Zeile sind die akkumulierten Zustandswerte +2, - 2 oder 0 angegeben.
DATEN 00100011001000
ZUSTAND BCBECBCDCBCABCB CODIERT (10) (10) (10) (10) (10) (10) (10) (10) (10) (10) (10) (10) (10) (10)
PfB) 010010111011010
RELATIVE
AKKUMULIERTE 0 +20 0 +20 +20 +20 +2-20 +20 ZUSTANDSWERTE
AKKUMULIERTE 0 +20 0 +20 +20 +20 +2-20 +20 ZUSTANDSWERTE
Fig.2 zeigt eine Codiererschaltungsanordnung entsprechend der vorliegenden Erfindung, die seriell eine
Folge von Daten über den Eingang eines Flipflops 1 aufnimmt; dieses Flipflop ist die erste Stufe d+i eines
Speicherregisters. Jedes einzelne der nacheinander ankommenden Datenbits wird dem Flipflop 1 im Takte
eines mit der einlaufenden Datenfrequenz arbeitenden Oszillators zugeführt. Mh jedem dem Flipflop 1
zugeführten Pitenbit werden die bereits vorgespeicherten Bits als D; enelemente nach rechts in die Flipflops 2
und 3 weitergeschoben. Die verwendeten Taktimpulse werden vom vorgesehenen Oszillator als «-TAKT und
als fr-Takt zugeführt Beide Takte zusammen arbeiten
dabei mit der doppelten Datenfrequenz. Die Takte für M und fc sind um 180° C gegeneinander phasenversetzt Die
Flipflops des Speicherregisters werden mit der Datenfrequenz vorwärts getaktet Der Block 7 enthalt ein
Eine zugeführte Datenfolge stellt entsprechend Tabelle 4 die Schaltzustande der Flipflops 1 bis 3 sowie
weiterer Flipflops 4,5 und 6 ein. Die Schaltzustinde der
übrigen in Fig.2 dargestellten Schaltglieder 7 bis 15
es sind ebenfalls in der Tabelle 4 aufgezeigt In der Tabelle vorhandene »m« und Wxr zeigen an, daß die jeweils
angesteuerten UND-Glieder zur «-Taktzeit bzw. zur 6-Taktzeit durchlässig sind.
ίο
CODIERBEISPIEL
DATEN AM EINGANG = 1 10001 1 1001 100
AM ANFANG sind FF 4, 5, 6 = 0 (d. h. aus)
| 2 | FF | 3 | _ | 4 | 5 | 1 | 6 | 0 | 7 | 8 | 1 | 14 | 1 | 9 | 1 | 10 | 0 | 11 | 13 | 15 | CO | |
| d-\ | P(B) | a-\ | A-i | AV | O | O | & | & | & | & | & | DIERTE | ||||||||||
| 1 | 0 | 0 | 0 | (01) | 0 | (00) | 0 | 0 | 3) (1 | 1 | 1 | )) (00) (01 | 0 | ) (00) | 0 | 0 | b | AUSG. | ||||
| 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | b | b | FOLGE | |||||||||
| 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | an | |||||||||
| 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | a | 0 | 0 | 0 | 12 | ||||||||
| rf+i | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | a | 0 | 0 | 0 | (ab) | ||||||||
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | a | 0 | 0 | 01 | |||||||||
| O | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 01 | |||||||||
| O | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | b | 0 | 00 | |||||||||
| O | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 10 | |||||||||
| 1 | 0 | 0 | ( | 0 | 0 | 1 | 1 | 0 | 1 | a | 0 | 0 | 0 | 10 | ||||||||
| 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | a | 0 | 0 | 10 | |||||||||
| 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 00 | |||||||||
| O | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | a | 0 | 0 | 0 | 01 | |||||||||
| O | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | a | 0 | 0 | 0 | 00 | |||||||||
| 1 | DATEN AM | 10 | ||||||||||||||||||||
| 1 | EINGANG = | 0 0 | 0 | 1 | 1 | 10 | ||||||||||||||||
| O | COD. AUSG. | 00 | ||||||||||||||||||||
| O | FOLGE = | ) | (10) (1 | (10) | (10) | (00) | 10 | |||||||||||||||
| O | 10 | |||||||||||||||||||||
| 0 0 | ||||||||||||||||||||||
| 0 | ||||||||||||||||||||||
| (10) (10) | ||||||||||||||||||||||
| 1 | ||||||||||||||||||||||
| (( | ||||||||||||||||||||||
| M) | ||||||||||||||||||||||
40
Zu Anfang werden die Flipflops 3 bis 6 auf 0 gelöscht Die Darstellung gemäß Tabelle 4 zeigt die Zustände der
einzelnen logischen Bausteine des Codierers gemäß Fig.2 jeweils zum Zeitpunkt des Einschiebens eines
Datenelements in das Flipflop 1 des Speicherregisters. Die nachfolgenden waagerechten Reihen gelten jeweils
für die Zeitpunkte, zu denen die aufeinanderfolgenden Binärelemente in das Speicherregister mit den Flipflops
1, 2 und 3 eingegeben werden. Die codierten Datenelemente erscheinen in der senkrechten Spalte
unter der Überschrift »Codierte Ausgangsfolge« als paarige Ausgabeelemente, die zum Block 30 abgegeben
werden.
DECODIERBEISPIEL
COD. FOLGE = (O0I)0)
(01) (01) (00) (10) (10) (10) (00) (01) (00) Zur Decodierung der codierten Datenelemente, die
z.B. als aufgezeichnete paarige Binärwerte einem speichernden Medium entnommen werden, ist eine
Schaltungsanordnung gemäß F i g. 3 anwendbar. Die codierten Daten werden dem ersten Flipflop 20 eines
fünfstufigen Speicherregisters zugeführt, das hinter den Ausgängen einzelner seiner Stufen zwei UND-Glieder
21 und 22 aufweist Die Darstellung gemäß Tabelle 5 kennzeichnet die Schaltzustände der einzelnen Bauteile
des betrachteten Decodierers zu den Zeitpunkten, zu denen die paarigen Werte in Binärfolge dem Flipflop 20
zugeführt werden.
AM ANFANG: FF i>_,
(10) (10) (00)
(10) (10) (00)
= 1 (d. h. ein)
(10) (10)
(10) (10)
(XX)
| 17 | FF | a+l | A+i | & | LTG. | & | DE- COD. DA- TEN an |
|
| 19 | 20 | 22 | 23 | 21 | O | |||
| A-i | Ao | 24 | ||||||
| 16 | 18 | |||||||
(0
(0
(0
| (0 | D |
| (0 | 0) |
| (1 | 0) |
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
0
1
0
Fortsetzung
12
17
FF
| a+i | 0+ |
| 19 | 20 |
| (1 | 0) |
| (1 | 0) |
| (O | 0) |
| (0 | D |
| (0 | 0) |
| (1 | 0) |
| (1 | 0) |
| (0 | 0) |
| (1 | O) |
| (1 | 0) |
22
| LTG. | & |
| 23 | 21 |
| 0 | 0 |
| 0 | 0 |
| 0 | 1 |
| 0 | 0 |
| 1 | 1 |
| 0 | 0 |
| 0 | 0 |
| 0 | 1 |
| 0 | 0 |
| 0 | 0 |
| 0 | 0 |
DE-COD. DATEN
an
O
24
| 0 | (1 | 0) |
| 0 | (1 | 0) |
| 0 | (1 | 0) |
| 0 | (0 | 0) |
| 0 | (0 | D |
| 1 | (0 | 0) |
| 0 | (1 | 0) |
| 0 | (1 | 0) |
| 0 | (0 | 0) |
| 0 | (1 | 0) |
| 0 | (1 | 0) |
| CODIERTE | ||
| FOLGE = | (01) | |
| DECOD. | ||
| DATEN = | 1 |
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
0
0
1
1
0
0
(01) (01) (00) (10) (10) (10) (00) (01) (00) (10) (10) (00) (10) (10)
1000111001 100
Zu Beginn muß im Decodierer das Flipflop 16 eingeschaltet sein, wohingegen die anderen Flipflops 17
bis 20 ausgeschaltet sein müssen. Die Decodierung beginnt, wenn das erste Bit zu decodierender Daten im
Flipflop 17 erscheint Zu jedem Zeitpunkt, zu dem die paarigen Werte (aobo) in den Flipflops 17 und 18
gespeichert stehen, steht das nachfolgende Paar (a+\b+\)\n den Flipflops 19und20.
Die in die UND-Glieder 21 und 22 und das ODER-Glied 24 eingegebenen Werte bestimmen die
Schaltzustände dieser Elemente und damit die am Ausgang abnehmbare Folge von decodierten Daten.
Wenn z. B. der Paarwert (00) in den Flipflops 19 und 20 steht, dann gibt das UND-Glied 22 ein 1-Signal über das
ODER-Glied 24 ab. Immer dann, wenn das Flipflop 18 eingeschaltet ist, wirkt dessen Ausgangssignal über die
Leitung 23 direkt über das ODER-Glied 24 als Datensignal 1 zum Ausgang durch. Die Flipflops werden
mit doppelter Datenfrequenz vorwärts getaktet Auf diese Weise werden die gespeicherten Daten wiedergewonnen
und mit Datenfrequenz am Ausgang der Schaltungsanordnung gemäß F i g. 3 verfügbar.
Eine hervorstechende Eigenschaft dieser Erfindung ist, daß nur um ein Bit vorausgeschaut werden muß. Des
weiteren können bis zu vier binäre O-Bits hintereinander codiert werden, wobei sich eine hohe Packungsdichte
der codierten Daten erzielen läßt Es sind dabei nur fünf verschiedene logische Zustände für die Verzweigungen
gemäß F i g. 1 zu beachten, und somit läßt sich der Schaltkreisaufwand relativ gering halten.
Zusammenfassung
Es wurde eine Verarbeitung von Datenelementen unter Anwendung eines abgewandelten Null-Modulationscodes
beschrieben. Dieser Null-Modulationscode ergibt eine um 0 symmetrische Wellenform. Jedes
ursprüngliche Datenelement 1 oder 0 wird in Form paariger codierter Elemente wiedergegeben. Nur fünf
verschiedene logische Zustände sind dabei möglich. Eine erleichterte Lauflängenbegrenzung ermöglicht ein
ct/t-Codeverhältnis von 1,4, wobei k die untere
Frequenzgrenze und d die obere Frequenzgrenze
so bestimmen. Diese durch den Bereich von d bis k gegebenen Grenzen bestimmen die Anzahl aufeinanderfolgender
O-Digitalelemente, die zwischen je zwei
1-Elementen auftreten dürfen. Für die beschriebene Codierung ist nur eine Vorausschau um jeweils ein Bit
erforderlich.
Hierzu 2 Blatt Zeichnungen
Claims (6)
1. Verfahren zur Codierung binärer Daten unter Anwendung eines zusammenhängende O-Bitfolgen
nur in begrenzter Länge abgebenden, nach dieser Eigenschaft bezeichneten Null-Modulationscodes,
bei dem aufeinanderfolgende binäre 1 -Bits nur durch minimal ein und maximal vier binäre O-Bits getrennt vorkommen und
bei dem aufeinanderfolgende binäre 1 -Bits nur durch minimal ein und maximal vier binäre O-Bits getrennt vorkommen und
bei dem für eine Folge seriell anfallender Binärdatenelemente
pro eingegebenes Binärdatenelement je ein Binärdatenpaar abgegeben wird, dadurch
gekennzeichnet, daß in Abhängigkeit von fünf möglichen Codierfolge-Bedingungen (A bis E
gemäß F i g. 1) ein anfallendes O-Bit entweder in ein
Binärdatenpaar (00) oder (10) und ein anfallendes 1-Bit entweder in ein Binärdatenpaar (10) oder (00)
oder (01) umcodiert wird nach den in der nachfolgenden Tabelle angegebenen Regeln, wobei
die gerad- oder ungeradzahüge Summe vorangehend
insgesamt angefallener zu codierender O-Bits bei der Codierung des nächstfolgend anfallenden
1-Bits als Null-Paritätsfunktion P(B) = 1 bei ungerader 0-Zahl und P(B) = 0# 1 bei gerader 0-Zahl
berücksichtigt wird:
ANFALLENDE
DATENELEMENTE
DATENELEMENTE
CODIERTE
BINÄR-
DATENPAARE
BEDINGUNGEN
(00)
(10)
(10)
(10)
(00)
(01)
VORANGEH. DATENELEMENT rf_, = 1 CODIERT ALS (01).
ABWEICHEND VON VORSTEH. FALL.
(P(B)- 1)&
(NÄCHSTES DATENELEM. d+i = 1) &
(VORANGEH. DATENELEMENT NICHT d.x = 1 ALS (10) CODIERT).
VORANGEH. DATENELEMENT rf_, = 1 ALS (10) CODIERT.
ABWEICHEND VON BEDINGUNGEN FÜR (10) und (00).
2. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, gekennzeichnet durch
ein Speicherregister, bestehend aus einer Reihe von Flipflops (1 bis 3) zur Eingabe der in einen
lauflängenbegrenzten Code umzucodierenden Daten,
die Eingabe der zu codierenden Daten von der Quelle über die erste Stufe (Flipflop 1) dieses
Speicherregisters,
eine Anordnung logischer Glieder (4 bis 15), die den Ausgängen der Stufen (Flipflops 1 bis 3) des
Speicherregisters nachgeschaltet sind,
wobei am Ausgang dieser Gesamtschaltungsanordnung nach den gegebenen Regeln ein Binärpaar pro eingegebenes Binärdatenelement abnehmbar ist, und
wobei am Ausgang dieser Gesamtschaltungsanordnung nach den gegebenen Regeln ein Binärpaar pro eingegebenes Binärdatenelement abnehmbar ist, und
Paritätserkenntnisse (7, 4) in Form eines antivalenten ODER-Gliedes mit einem nachgeschalteten
Flipflop (4) innerhalb der Anordnung logischer Glieder (4 bis 15), wobei
das Flipflop (4) seinen bistabilen Zustand jeweils bei der Codierung jedes zugeführten Binärdatenelementes
des Wertes 0 wechselt und für Steuerungszwecke innerhalb der Anordnung Signale abgibt, mit deren
Hilfe für die Durchfünrung der lauflängenbegrenzten Codierung die Vorausschau auf ein dem jeweils
zu codierenden Binärdatenelement nachfolgendes Datenelement begrenzbar ist.
3. Schaltungsanordnung nach Anspruch 2, gekennzeichnet durch die Zuführung zweier um 180°
versetzter Taktimpulse (a-TAKT und /j-TAKT),
wobei sich am Ausgang der Anordnung eine gegenüber der Eingangsfolgefrequenz verdoppelte
Datenfolgelrequenz ergibt.
ν-, 4. Schaltungsanordnung nach Anspruch 2, dadurch
gekennzeichnet,
daß die vorgesehenen logischen Glieder (4 bis 15) ein eingegebenes Binärdatenelement (do) des Wertes 0
in ein Binärpaar (00) umsetzen, wenn das vorangehende Binärdatenelement (d-\) ein als Binärpaar
(01) umcodiertes Binärdatenelement des Wertes 1 war, oder in ein Binärpaar (10), wenn diese
Bedingung nicht gegeben ist,
daß ferner die logischen Glieder (4 bis 15) ein
daß ferner die logischen Glieder (4 bis 15) ein
4r> Binärdatenelement (da) des Wertes 1 in ein
Binärpaar (10) umsetzen, wenn die Paritätsbedingung P(B) = 1 ist und das vorangehende Binärdatenelement
(d-\) nicht ein als Binärpaar (10) codierter Wert 1 war, das nächste Binärdatenele-
r)0 ment ((/+1) jedoch den Wert 1 hat,
oder ein Binärpaar (00), wenn das vorangehende Binärdatenelement (d~\) ein als (10) codierter Wert
1 war,
oder in allen übrigen Fällen in ein Binärpaar (01).
oder in allen übrigen Fällen in ein Binärpaar (01).
V)
5. Schaltungsanordnung zur Durchführung der
Decodierung nach dem Verfahren gemäß Anspruch 1 codierter Binärdaten, gekennzeichnet durch
ein eine Reihe von Flipflops (20 bis 16) enthaltendes Speicherregister,
ein eine Reihe von Flipflops (20 bis 16) enthaltendes Speicherregister,
W) Zuführung einer nach dem genannten Verfahren
codierten Folge von Binärpaaren (ab) zum Eingang des ersten Flipflops (20) dieses Speicherregisters und
Zuführung der Ausgangssignale von den einzelnen Flipflops (20 bis 16) des Speicherregisters zu einer
h) Anordnung logischer Schaltglieder (21, 22, 24), an
deren Ausgang die decodierte Datenfolge in der Form abnehmbar ist, wie sie zur Codierung
eingegeben wurde.
6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet,
daß ein codiertes Binärpaar (00) als Binärdatenelement
des Wertes 1 decodiert wrd, wenn das vorangehende Binärpaar (10) war,
daß jedoch das codierte Binärpaar (00) als Binärdatenelement des Wertes 0 decodiert wird,
wenn das vorangehende Binärpaar nicht (10) war,
daß ein codiertes Binärpaar (10) als Binärdatenelement des Wertes 1 decodiert wird, wenn das ι ο nachfolgende Binärpaar (00) ist,
daß jedoch das codierte Binärpaar (10) als Binärdatenelemant des Wertes 0 decodiert wird, wenn das nachfolgende Binärpaar nicht (00) ist, und
daß ein codiertes Binärpaar (01) immer als Binärdatenelement des Wertes 1 decodiert wird.
daß ein codiertes Binärpaar (10) als Binärdatenelement des Wertes 1 decodiert wird, wenn das ι ο nachfolgende Binärpaar (00) ist,
daß jedoch das codierte Binärpaar (10) als Binärdatenelemant des Wertes 0 decodiert wird, wenn das nachfolgende Binärpaar nicht (00) ist, und
daß ein codiertes Binärpaar (01) immer als Binärdatenelement des Wertes 1 decodiert wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US05/519,951 US3995264A (en) | 1974-11-01 | 1974-11-01 | Apparatus for encoding and decoding binary data in a modified zero modulation data code |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| DE2540472A1 DE2540472A1 (de) | 1976-05-06 |
| DE2540472B2 true DE2540472B2 (de) | 1980-02-14 |
| DE2540472C3 DE2540472C3 (de) | 1980-10-02 |
Family
ID=24070549
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE2540472A Expired DE2540472C3 (de) | 1974-11-01 | 1975-09-11 | Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US3995264A (de) |
| JP (1) | JPS5159214A (de) |
| BR (1) | BR7507164A (de) |
| CA (1) | CA1059636A (de) |
| DE (1) | DE2540472C3 (de) |
| FR (1) | FR2290094A1 (de) |
| GB (1) | GB1470636A (de) |
| IT (1) | IT1042693B (de) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4234897A (en) * | 1978-10-05 | 1980-11-18 | Ampex Corporation | DC Free encoding for data transmission |
| US4437086A (en) | 1978-10-05 | 1984-03-13 | Ampex Corporation | Limited look-ahead means |
| CA1140998A (en) * | 1978-10-05 | 1983-02-08 | Jerry W. Miller | Dc free encoding for data transmission including limited look-ahead means |
| US4227184A (en) * | 1978-12-19 | 1980-10-07 | International Standard Electric Corporation | Modified Miller Code encoder |
| US4290143A (en) * | 1979-04-19 | 1981-09-15 | Cincinnati Electronics Corporation | Transmission method and apparatus wherein binary data bits are converted into barker words and vice versa |
| JPS55141852A (en) | 1979-04-24 | 1980-11-06 | Sony Corp | Data converting system |
| GB2079566B (en) * | 1980-05-16 | 1985-01-09 | Racal Recorders Ltd | Data encoding and/or decoding |
| GB2105500B (en) * | 1981-06-16 | 1985-01-23 | Motorola Ltd | Data operated squelch |
| US4413251A (en) * | 1981-07-16 | 1983-11-01 | International Business Machines Corporation | Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3 |
| US4501000A (en) * | 1981-07-27 | 1985-02-19 | Sony Corporation | Method of coding binary data |
| JPS5846751A (ja) * | 1981-09-11 | 1983-03-18 | Sony Corp | Z値符号変調方法及び記録媒体 |
| US4463344A (en) * | 1981-12-31 | 1984-07-31 | International Business Machines Corporation | Method and apparatus for generating a noiseless sliding block code for a (2,7) channel with rate 1/2 |
| US4488142A (en) * | 1981-12-31 | 1984-12-11 | International Business Machines Corporation | Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3 |
| US4547890A (en) * | 1982-09-28 | 1985-10-15 | Abraham M. Gindi | Apparatus and method for forming d.c. free codes |
| US4484176A (en) * | 1982-11-24 | 1984-11-20 | Storage Technology Corporation | Run length limited data encoder |
| US4538257A (en) * | 1982-12-23 | 1985-08-27 | Xerox Corporation | Adaptively stabilized recording for direct read after write optical memories |
| US4712217A (en) * | 1985-12-20 | 1987-12-08 | Network Equipment Technologies | System for transmitting digital information and maintaining a minimum paulse density |
| BE904913A (nl) * | 1986-06-13 | 1986-12-15 | Bell Telephone Mfg | Data overdrachtsysteem. |
| US4928187A (en) * | 1987-02-20 | 1990-05-22 | Laserdrive Limited | Method and apparatus for encoding and decoding binary data |
| US4873680A (en) * | 1987-03-13 | 1989-10-10 | Laserdrive Ltd. | Apparatus and method for detecting and compensating for pit extension in an optical disk recording system |
| US4870414A (en) * | 1988-03-18 | 1989-09-26 | International Business Machines Corporation | Even mark modulation coding method |
| JP2618005B2 (ja) * | 1988-07-25 | 1997-06-11 | キヤノン株式会社 | 復号方法 |
| DE69024045T2 (de) * | 1990-08-16 | 1996-06-20 | Ibm | Kodierungsverfahren und Vorrichtung zur Pipeline- und Parallelverarbeitung. |
| US5625644A (en) * | 1991-12-20 | 1997-04-29 | Myers; David J. | DC balanced 4B/8B binary block code for digital data communications |
| US7391834B2 (en) * | 2002-10-01 | 2008-06-24 | Intel Corporation | Pulse amplitude modulated system with reduced intersymbol interference |
| US8775707B2 (en) | 2010-12-02 | 2014-07-08 | Blackberry Limited | Single wire bus system |
| US9479275B2 (en) | 2012-06-01 | 2016-10-25 | Blackberry Limited | Multiformat digital audio interface |
| CN104541473B (zh) | 2012-06-01 | 2017-09-12 | 黑莓有限公司 | 基于概率方法的用于保证多格式音频系统中的锁定的通用同步引擎 |
| US9461812B2 (en) | 2013-03-04 | 2016-10-04 | Blackberry Limited | Increased bandwidth encoding scheme |
| US9473876B2 (en) | 2014-03-31 | 2016-10-18 | Blackberry Limited | Method and system for tunneling messages between two or more devices using different communication protocols |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1250908A (de) * | 1968-12-13 | 1971-10-27 | ||
| US3810111A (en) * | 1972-12-26 | 1974-05-07 | Ibm | Data coding with stable base line for recording and transmitting binary data |
-
1974
- 1974-11-01 US US05/519,951 patent/US3995264A/en not_active Expired - Lifetime
-
1975
- 1975-08-11 GB GB2287275A patent/GB1470636A/en not_active Expired
- 1975-09-11 DE DE2540472A patent/DE2540472C3/de not_active Expired
- 1975-09-18 CA CA235,775A patent/CA1059636A/en not_active Expired
- 1975-09-19 IT IT27415/75A patent/IT1042693B/it active
- 1975-09-19 FR FR7529323A patent/FR2290094A1/fr active Granted
- 1975-09-23 JP JP50114387A patent/JPS5159214A/ja active Pending
- 1975-10-31 BR BR7507164*A patent/BR7507164A/pt unknown
Also Published As
| Publication number | Publication date |
|---|---|
| BR7507164A (pt) | 1976-08-10 |
| DE2540472A1 (de) | 1976-05-06 |
| FR2290094A1 (fr) | 1976-05-28 |
| DE2540472C3 (de) | 1980-10-02 |
| FR2290094B1 (de) | 1978-04-07 |
| US3995264A (en) | 1976-11-30 |
| IT1042693B (it) | 1980-01-30 |
| JPS5159214A (de) | 1976-05-24 |
| CA1059636A (en) | 1979-07-31 |
| GB1470636A (en) | 1977-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2540472C3 (de) | Verfahren und Schaltungsanordnungen zur Codierung binärer Daten unter Anwendung eines abgewandelten Null-Modulationscodes | |
| DE2508706C2 (de) | Schaltungsanordnung zur Codierung von Datenbitfolgen | |
| DE3686697T2 (de) | Fehlertoleranter kodierer zur umwandlung eines thermometerkodes in einen binaeren kode. | |
| DE2364212C3 (de) | Schaltungsanordnung zur Codierung von Binärziffern | |
| DE2912268C2 (de) | Dekoder-Schaltungsanordnung zur Dekodierung eines digitalen Informationssignals | |
| DE2227148A1 (de) | Verfahren zur verarbeitung digitaler daten | |
| EP0078903A1 (de) | Verfahren und Anordnung zur Sicherstellung der Start-Synchronisation eines aus Bit-Impulsfolgen bestehenden Telegramms innerhalb eines Empfängers | |
| CH642795A5 (de) | Signal-verarbeitungseinrichtung fuer daten im miller-kode. | |
| DE2753616C2 (de) | Verfahren und Einrichtung zum Umsetzen von impulskodemodulierter Information in einen Impulsdichtekode | |
| DE2320422A1 (de) | Verfahren zur fehlererkennung | |
| CH620068A5 (de) | ||
| DE2728889B2 (de) | Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals | |
| DE2548265A1 (de) | Schaltungsanordnung zur symmetrischen frequenzteilung durch eine ungerade zahl | |
| DE2828219A1 (de) | Verfahren zur aufzeichnung und wiedergabe digitaler daten auf magnetspeicher | |
| DE2459885C2 (de) | Schaltung zur Dekodierung eines dynamisch modulierten Signals | |
| DE3240219A1 (de) | Verfahren zum umsetzen einer binaeren datenfolge | |
| DE2609563A1 (de) | Generator fuer pseudozufaellige bitfolgen | |
| DE2906156C2 (de) | Digitale Filteranordnung | |
| DE2906524A1 (de) | Taktsignal-erzeugerschaltung | |
| DE2838228A1 (de) | Verfahren und anordnung zur synchronisation von datenbitfolgen | |
| DE2440768A1 (de) | Verfahren und vorrichtung zur datenkompression fuer die faksimile-uebertragung graphischer information | |
| DE2704756A1 (de) | Digital-analog-umsetzer | |
| DE2826454A1 (de) | Faksimilesignal-codiersystem | |
| DE2554025A1 (de) | Null-unterdrueckung in impulsuebertragungsanlagen | |
| DE1762120A1 (de) | Einrichtung zur Dekodierung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C3 | Grant after two publication steps (3rd publication) | ||
| 8339 | Ceased/non-payment of the annual fee |