DE2645460C2 - Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen - Google Patents

Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen

Info

Publication number
DE2645460C2
DE2645460C2 DE2645460A DE2645460A DE2645460C2 DE 2645460 C2 DE2645460 C2 DE 2645460C2 DE 2645460 A DE2645460 A DE 2645460A DE 2645460 A DE2645460 A DE 2645460A DE 2645460 C2 DE2645460 C2 DE 2645460C2
Authority
DE
Germany
Prior art keywords
interval
data
pulse
code
pulses
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
Application number
DE2645460A
Other languages
English (en)
Other versions
DE2645460A1 (de
Inventor
Albert Watson Cary N.C. Vinal
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2645460A1 publication Critical patent/DE2645460A1/de
Application granted granted Critical
Publication of DE2645460C2 publication Critical patent/DE2645460C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/01Details
    • G06K7/016Synchronisation of sensing process
    • G06K7/0166Synchronisation of sensing process by means of clock-signals derived from the code marks, e.g. self-clocking code

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

T -s (2- 2 + 0-Dv + ■ y
nOj.r) 2-y+jy 4
worin ist: -v+jv) ·
die Zeit zwischen dem letzten festgestellten Übergang und dem Zeitpunkt, zu dem ein weiterer Übergang auftreten kann;
5 die minimal zulässige Zeit zwischen zwei Übergängen;
γ die minimal erforderliche Zeitverschiebung, um einen Übergang in das nächstfolgende Intervall fallen zu lassen;
/ eine ganze Zahl im Bereich 0</<m, und m
die Zahl der maximal für ein Zeichen des benützten Codes vorkommenden Intervalle;
j die Zahl im Bereich 0<j<m, die das die
Referenzzeit (Tr) umfassende Intervall bezeichnet.
5. Vorrichtung nach Anspruch 1 zum Auswerten von selbsttaktierend codierten Signalen, die auf Leitungen (x, y, F i g. 10) zugeführt werden, gekennzeichnet durch:
— einen Takterzeuger (1) fester Frequenz, erste Zähler (3,4,5), die bei verschiedenen Vielfachen der Taktfrequenz zählen,
— Wählschaltungen (11,12, 13), die auf ein Signal (x) hin den Inhalt eines ersten Zählers auswählen,
— ein Register (16), das den Zählerinhalt speichert,
— zweite Zähler (18) in Verbindung mit dem Register zum wiederholten Auszählen des ersten Zählerinhaltes,
— ein Schieberegister (23), das abzählt, wie oft der zweite Zähler den Inhalt des ersten Zählers auszählt,
— UND-Schaltungen (30, 31, 32), die von dem Schieberegister beeinflußt, ein Ausgangssignal liefern (2, 3, 4), wenn ein codiertes Signal in einem der zwischen den gezählten Vielfachen der Taktfrequenz liegenden Intervalle auftritt,
sowie
— Steuermittel (25, 27, 29), die, von dem Schieberegister beeinflußt, die Auswahl des Inhaltes eines der ersten Zähler veranlassen.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die verschiedenen Vielfachen der Taktfrequenz durch die Gleichung bestimmt sind:
2S-
AW , . AW
—77-+y—TT-
wobei ist:
fo die feste Frequenz des Takterzeugers;
Δ W die minimale Differenz zwischen unterschiedlichen Intervallen des verwendeten Codes;
5 die minimale Intervallänge;
j eine ganze Zahl im Bereich 0 </< m, und
m die maximale Zahl von Intervallen, die im gegebenen Code für ein Zeichen vorkommen.
Die Erfindung betrifft ein Verfahren zum Auswerten von selbsttaktierend codierten Signalen nach dem Oberbegriff des Anspruchs 1 sowie eine Vorrichtung zur Durchführung dieses Verfahrens.
Zahlreiche Verfahren und Geräte zum Auswerten selbsttaktierender Streifen- oder Übergangssignalcodes wurden schon entwickelt, die speziell auf den Code zugeschnitten waren. Viele Codes und die dafür geeigneten Decodierverfahren haben schon spezielle Namen. Ein allgemeines Verfahren, das mit allen bekannten selbsttaktierenden Codes arbeitet, und wobei es keine Rolle spielt, ob es sich um optische, magnetische oder elektrische Signale handelt, und das außerdem jeden Code decodieren, d. h. auswerten kann, wurde bisher noch nicht entwickelt
Bei vielen herkömmlichen Verfahren werden bestimmte Signale zum Ableiten von Taktsignalen, der Synchronisationsinformation und der Daten abgelesen.
Eine Lösung für einen speziellen Streifencode mißt den Abstand von einer Vorderkante zur nächsten oder von einer Hinterkante zur nächsten bei den Streifen im Code und definiert dann den Dateninhalt des Codes entsprechend der relativen gemessenen Größen, verglichen mit einer Referenzstrecke oder einem Referenzmaß, das in jedem Codezeichen enthalten ist. Ein solches Verfahren ist beispielsweise in der US-Patentschrift Nr. 37 23 710 beschrieben. Dafür wird jedoch eine Referenzstrecke oder ein Abstand gebraucht, der in jedem Streifen von Codebits oder in jedes Zeichen eingeschlossen ist, und alle Abstände im Codestreifen oder in jedem Zeichen müssen gemessen und verglichen werden, um den Referenzabstand herauszufinden. Die übrigen Messungen werden mit diesem Referenzabstand verglichen, um die Abstände von einer Vorderkante zur nächsten und von einer Hinterkante zur nächsten anhand der Referenz in Kategorien einteilen und so den Code decodieren zu können.
Dieses an sich leistungsfähige Verfahren hat jedoch
«ο auch einige unerwünschte Eigenschaften. Zuerst einmal muß die ganze Folge von Codeübergängen ungeachtet ihrer Länge abgetastet und gemessen werden, dann muß der Referenzabstand aus der Meßgruppe isoliert
werden; dann müssen die übrigen Messungen anhand der Referenz in Kategorien unterteilt werden und schließlich können die Daten entsprechend den festgestellten relativen Werten decodiert werden. Das Verfahren ist jedoch anfällig gegen Verzer.-ungen durch Beschleunigung oder andere Frequenzänderungen im Signaleingang, so daß insbesondere bei sehr langen Streifenketten von Datenbits die relativen Größen der Übergänge oder Abstände so weit verzerrt werden können, daß Verwechselungen im Vergleich mit .1er Referenz oder sogar bei der Identität des Referenzabstandes auftreten können. Zweitens müssen zuerst einmal alle Abstände gemessen und später verarbeitet werden. Wenn ein Übergang fehlt, wird sein Fehlen erst bei der Verarbeitung erkannt Es wäre vorteilhaft, Fehler bereits auf der Bitstufe oder der Impulsstufe erkennen zu können, sobald sie auftreten, d.h., wenn eine Abstandsmessung oder ein Kantenübergang fehlt, möchte man das sofort wissen. Dieses Ziel wurde jedoch von dem oben erwähnten Patent nicht erreicht
Zur Isolierung der Datenimpulse von den Datenzeilen und/oder von den Taktimpulsabständen in verschiedenen Typen von Datenströmen wie F2F-Code und Phasenverschiebungscode wurden verschiedene Verfahren entwickelt Dazu dient im allgemeinen ein Suchtor, das zu einem entsprechenden Zeitpunkt den Impuls feststellt, der den Dateninhalt der Bitzelle anzeigt Einige dieser Verfahren sind sehr leistungsfähig, jedoch auf einen bestimmten zu decodierenden Code begrenzt Beispiele hierfür sind beschrieben in den US-Patentschriften Nr. 37 23 710, 37 08 748 und 38 86 521. Alle diese Verfahren können jedoch nur auf diejenigen Codes angewandt werden, für die sie speziell entwickelt wurden.
Einige Codeauswertverfahren benutzen bisher ein Referenzmaß, ein Zeichen oder einen Satz von Übergängen vor jeder separaten Datenbitreihe. Beispiele hierfür finden sich in den US-Patentschriften Nr. 37 11853 oder 37 50108. Wenn man jedoch ein Referenzzeichen vor einen langen Strom von Datenbitübergängen setzt, so ist die Wirkung nicht so gut, wenn die übrigen Bits Verzerrungsfehlern ausgesetzt sind, die durch ungleichmäßige Abtastgeschwindigkeiten oder Schwankungen in der Übertragungsfrequenz entstehen. Die Verzerrungsfehler durch Beschleunigung können bei der Handabtastung beispielsweise so groß werden, daß die Breite oder der Abstand zwischen aufeinanderfolgenden Bits mit Erhöhung bzw. Erniedrigung der Abtastgeschwindigkeit immer kleiner oder auch immer größer wird bis völlig unklar ist, welcher Abstand in denjenigen Codes, die den Referenzabstand in sich tragen, der eigentliche Referenzabstand ist, oder es können andere Schwierigkeiten bei der Trennung der Daten von den Taktimpulsen auftreten.
In anderen Verfahren wurden bestimmte Vorhersa- 3> gemethoden für den F2F-Code festgelegt, in denen die verschiedenen Datenbits als Referenzbreite benutzt werden können. Dadurch entsteht eine gute Korrekturmöglichkeit für die oben erwähnten Schwierigkeiten bei der Beschleunigung oder Frequenzverzerrung. Diese mi Verfahren sind jedoch auf den F2F-Code beschränkt.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und eine Vorrichtung zum Auswerten aller selbsttaktierenden Codes zu schaffen, die Referenzmessungen außerhalb eines jeden Daten- t>> bits haben oder Datenbits als Referenzmessungen für nachfolgende Datenbits benutzen. Weiterhin soll eine verbesserte Einrichtung zur Decodierung selbsttaktierender Streifencodes geschaffen werden, die auch Fehler auf der Bitstufe erkennen kann, bevor der ganze Bitstrom gelesen wurde. Bei der Decodierung mittels der Streifen-Abstands-Übergänge selbsttaktierender Streifeni-Odes auftretende Zweideutigkeiten sollen durch das verbesserte Verfahren der Erfindung vermieden werden.
Gelöst wird diese Aufgabe der Erfindung für das Verfahren durch die in dem Hauptanspruch angegebenen Merkmale sowie für die Vorrichtung durch die im Anspruch 5 aufgeführten Merkmale.
Vorteilhafte Weiterbildungen und Ausgestaltungen des Gegenstandes der Erfindung sind den übrigen Patentansprüchen zu entnehmen.
Der Vorteil der Erfindung ist vor allem darin zu sehen, daß durch das in ihr vorgeschlagene Verfahren und die zugehörige Vorrichtung im Zusammenhange mit fast alle selbsttaktierende Codes ausgewertet werden können.
Darüber hinaus ist auf verbesserte Weise möglich, seibsttaktierende Codes zu lesen, die Bezugsmessungen außerhalb jedes Bits haben oder daß Datenbits als Bezugsmessungen für ein nachfolgendes Datenbit benutzt werden, wodurch die Kompatibilität zu anderen selbsttaktierenden Codes hergestellt werden kann.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
F i g. 1 verschiedene bekannte selbsttaktierende Streifencodeschemata;
. Fig.2A—2E logische Decodiertabellen für verschiedene bekannte selbsttaktierende Code,
Fig.3 ein SpezialZeichen zur Decodierung des Datenanfangs oder -endes,
F i g. 4 eine Folge von Daten und SpezialZeichen zur Abgrenzung des Datenanfanges und -endes sowie die Verwendung von Vorsatzzeichen,
Fig.5 Verwendungsmöglichkeiten von Spezialzeichen, wie sie in Fig.6A und 6B gezeigt sind, zur Bezeichnung das Datenanfanges oder -endes in einem Streifencode,
Fig.6A ein SpezialZeichen zur Identifizierung der Abtastrichtung oder zur Anzeige einer anderen logischen Bedeutung dafür, daß es sich nicht um Daten handelt,
F i g. 6B eine andere Verwendungsmöglichkeit des in F i g. 6A gezeigten Zeichens;
F i g. 7 alle Streifencodekombinationen für einen doppelt breiten F2F-Code und die auftretenden Abstände zwischen Daten- und Steuerimpuls,
Fig.8 einen allgemeinen Satz aus Streifencodeelementen zum Aufbau von Streifencodes,
F i g. 9 einen aus den in F i g. 8 gezeigten Elementen aufgebauten Streifencodezeichensatz,
F i g. 1OA- IOC die Schaltung eines Decodiergerätes.
F i g. 11 das Prinzip des Zahlenmaßstabes, wie es im Ausführungsbeispiel angewendet wird,
Fig. 12 das Bestimmungsprinzip für die Breite eines Suchsegmentes oder Ausschnitte für einen Streifencode,
Fig. 13A eine logische Tabelle des decodierten Inhaltes für einen S2S-Code,
F i g. 13B die Matrixanordnung im logischen Kreis der Fig. 13A,
Fig. 14 das Anwendungsprinzip des vorgezogenen Verfahrens auf jeden selbsttaktierenden Code und das Auflösungsprinzip für Zweideutigkeiten,
Fig. 15 die Fehlererkennungsschaltung für das Ausführungsbeispiel des in Fig. 1OA-IOC gezeigter.
Decodiergerätes,
Fig. 16 ein weiteres Ausführungsbeispiel der Erfindung,
Fig. 17 die Arbeitsweise des in Fig. 16 gezeigten zweiten Ausführungsbeispiels; und
Fig. 18A—18E den nach der logischen Matrix decodierten Dateninhalt für verschiedene Codes nach der in F i g. 17 dargestellten Arbeitsweise, angewandt auf das in den F i g. 1OA, 1 OB und 16 gezeigte Gerät.
Das Verfahren dient zum Decodieren, d. h. Auswerten des Dateninhaltes eines Signalstromes, der von einem binären Fühler oder Abtaster oder von einer Übertragungsleitung kommt. Die Signale treten in Form elektrischer Potentialschwankungen oder Stromschwankungen über der Zeit als Rechteckwellen auf. Das notwendige Fühl- und Abtastgerät oder das Adaptergerät für die Übertragungsleitung werden nicht dargestellt oder beschrieben, da diese allgemein bekannt sind.
Nach Empfang des Signalstromes erfolgt die Abtrennung und Auswertung der Impulse, die Daten in einem bestimmten Code anzeigen. Der hereinkommende Datenstrom besteht aus einer Reihe unterschiedlicher elektrischer Signalpegel oder Impulse, wobei der verwendete Code keine Rolle spielt Das Auftreten eines Impulses oder ein Merkmal eines Impulses, wird beispielsweise die Polarität an einer durch die Frequenz oder die Signalübergangsabstände festgelegten Stelle oder die Kombination der Breiten von Streifen und Zwischenräumen wird in allen Codes zur Darstellung von Daten benutzt
Frequenzschwankungen im hereinkommenden Datenstrom wirken gleich wie Schwankungen in der Streifenbreite auf dem codierten Medium. Die Streifenbreite, die Impulsabstände oder die Polaritäten des Kantenübergangssignals können als datendarstellende Vorgänge abhängig vom verwendeten Codierschema benutzt werden.
Im allgemeinen werden selbsttaktierende Datencode digital als Bits geschrieben, die in definierten Zellen stehen. Die Zellen sind Intervalle in einer Datenaufzeichnung oder Abstände oder Zeiträume in einem Signalstrom, in denen ein veränderliches von der Maschine feststellbares Signal auftritt oder nicht auftritt, oder in denen ein Merkmal des Vorgangssignales so verändert wird, daß der Dateninhalt der Zelle dadurch bezeichnet wird. Diese Codes werden allgemein von einem Medium gelesen oder als gesendete Signale empfangen. In jedem Fall wird ein Signalstrom zur Verarbeitung an einen Decodierer gegeben, damit dieser den Codeinhalt der verschiedenen Datenbitzellen bestimmen kann. Außerdem muß eine Möglichkeit vorgesehen werden, um die Bitzellen mittels der Grenzen einer jeden Zelle so zu bezeichnen, daß die Bits getrennt und decodiert werden können. In selbsttaktierenden Codes treten im allgemeinen Datenvorgänge und Taktvorgänge auf. Die Datenvorgänge können mit den Taktvorgängen verschachtelt sein, sie können aber auch getrennt sein oder sogar mit den Datenvorgängen zusammenfallen. Immer müssen die Daten- und die Taktvorgänge getrennt oder zumindest getrennt erkannt werden, und es muß der Dateninhalt im Signalstrom des Codes interpretiert werden.
Außerdem muß noch zwischen möglicherweise auftretenden Störimpulsen und Signalen unterschieden werden, und Verzerrungseffekte in den Signalen müssen korrigiert oder kompensiert werden. Die Taktsignale in selbsttaktierenden Codes ermöglichen das durch auto
«ο
matische Synchronisation für die Trennfunktion und/oder zur Ausschaltung von Störsignalen oder Impulsen vom Datenstrom.
In einem Streifencode gedruckter oder magnetisch codierter Art kann man mit den Streifen oder mit den Zwischenräumen Zeitintervalle oder Strecken definieren. Das magnetische Äquivalent wäre eine Magnetisierung plus, minus, plus, etc. in verschiedenen räumlichen Intervallen. Das Zeitintervall oder die Strecke, die zwischen der Hinterkante eines Streifens (Vorderkante eines Zwischenraumes) und der Vorderkante des nächsten Streifens (Hinterkante des Zwischenraumes) liegt, ist eine Funktion des verwendeten Codes. Das Intervall zwischen einer Vorderkante und der nächsten Vorderkante oder zwischen einer Hinterkante und der nächsten Hinterkante in der Reihe ist ein kombiniertes Intervall aus Streifen und Zwischenraum, d.h. ein kompletter Streifen und ein kompletter Zwischenraum. Alie Codes benutzen Bereiche abfühlbarer unterschiedlicher Charakteristik auf dem Medium oder im Signalstrom, um die Übergangskanten zwischen Streifen und Zwischenraum zu markieren.
Bei all diesen Codes sind die Bereiche unterschiedlicher Charakteristik auf der Basis 1 :1 verschachtelt, obwohl in einem Streifen oder Zwischenraum entsprechend dem verwendeten Code mehr als ein Datenbit enthalten sein kann. Einem Streifen oder einem Zwischenraum mit einer zu identifizierenden Charakteristik folgt ein anderer Streifen bzw. Zwischenraum einer anderen abfühlbaren Charakteristik.
Einige Codes benutzen eine relativ große Anzahl von Streifen- und Zwischenraumkombinationen, d. h, mehrere Streifen und Zwischenräume jeweils unterschiedlicher Breite können benutzt werden, um verschiedene Zeichen darzustellen. Einige einfache Codes verwenden nur einen Streifen und einen Zwischenraum miteinander und verändern die Präsentationsreihenfolge von Streifen und Zwischenräumen. Andere können die relativen Breiten von Streifen und Zwischenraum zusätzlich verändern.
In F i g. 1 sind von oben nach unten mehrere Zeilen mit Codemustern gezeigt, die als Eingangssignalstrom zu einem Decodierer betrachtet werden können. Die verschiedenen Codearten sind der F2F-Mittenimpulscode, der F2F-Taktimpulscode, der SKS-Code, der S2S-Code, der Deltadistanzcode und der Phasenverschiebungscode.
Aus F i g. 1 ist zu sehen, daß Streifen, die für die vorliegende Beschreibung als positive oder hohe Pegel betrachtet werden, und Zwischenräume, während derer das Signal niedrig ist, im Verhältnis 1 :1 verschachtelt sind. Das Intervall zwischen aufeinanderfolgenden Vorderkanten der Streifen ist gleich der von einem Streifen und einem Zwischenraum umspannten Strecke, das Intervall zwischen den entsprechenden Hinterkanten ist gleich dem Intervall des nächsten Streifens plus demselben Zwischenraum. Die zur Erzeugung dieses Musters notwendigen Intervalle benutzen drei Signalübergänge zur Definition von zwei positiv verlaufenden Impulsen und einem negativ verlaufenden Impuls oder umgekehrt (ein Streifen und ein Zwischenraum) und die Polarität der Obergänge ist für Vorderkanten respektive Hinterkanten aufeinanderfolgender Streifen immer dieselbe.
Es wurde festgestellt, daß ungeachtet des verwendeten Codes die Größen der Intervalle zwischen aufeinanderfolgenden positiven oder negativen Obergängen (Vorderkante zu Vorderkante oder Hinterkante
zu Hinterkante im Signalstrom) für jeden Code nur eine bestimmte Anzahl möglicher Intervallgrößen annehmen kann. Wenn das so ist kann man, beginnend mit einem positiven oder negativen Übergang, das nächste Auftreten eines ähnlichen positiven oder negativen Überganges an einer und nur einer von verschiedenen möglichen Lagen oder Intervallen aufgrund der Daten im gegebenen Code vorhersagen. Außerdem wurde festgestellt, daß die Kombination von Intervallen positiv bis positiv (Hinterkante zu Hinterkante) eindeutig den Dateninhalt des betreffenden Segmentes definieren. Dieses Konzept ist bereits in der US-Patentschrift 37 23 710 beschrieben, und dort ist gezeigt, wie die Messungen auf einen Code angewandt werden, in dem ein Referenzintervall innerhalb eines jeden codierten Zeichens enthalten ist. Dabei muß jedoch das ganze Zeichen abgetastet und die verschiedenen Intervalle gemessen und verarbeitet und mit einer Referenz verglichen werden, bevor der Dateninhalt zu erfahren ist.
Jetzt wurde festgestellt, daß der Signalstrom zu seiner Decodierung nicht kontinuierlich überwacht werden muß. Man braucht nur zwei aufeinanderfolgende positive oder negative Signale, d. h. eine Referenzbreite, zu isolieren, um aufgrund des bekannten Codes vorherzusagen, wo alle nächstmöglichen Intervalle liegen können. Man braucht nur die Segmente des Signalstromes an diesen vorhergesagten Lagepunkten oder Zeitpunkten zu überwachen, um festzustellen, welche der möglichen Lagen für die nächstfolgenden positiven und negativen Impulse belegt wird. Je nachdem, welche der möglichen Lagen belegt wird, kann dann auf einmal der Dateninhalt dieses Segmentes des Datenstrouies decodiert werden. Das gilt für alle Codes.
Durch Auswerten zweier gleicher Signale am Anfang einer Decodieroperation auf ein Referenzintervall wird eine Messung vorgenommen. Man kann aber auch eine feste Referenz benutzen und sie in den Decodierer fest einbauen. Das Referenzintervall, welches nicht einen Teil des Datenzeichens oder Datenstroms bildet, braucht nicht decodiert zu werden. Das Referenzintervall im Datenstrom muß wenigstens ein aus Streifen und Abstand bestehendes Paar enthalten. Mehrere Paare können natürlich ebenso benutzt werden. Dann wird aufgrund des bekannten Codes und der Referenz eine Vorhersage für alle möglichen Stellen der nächsten unmittelbar folgenden Vorderkante und Hinterkante innerhalb des Änderungsbereiches getroffen, der im gegebenen Code zulässig ist Es wird angenommen, daß am Decodierer bekannt ist, welcher Code zu decodieren ist Suchtore werden dann vorbereitet, die die Suche um jeden der vorhergesagten gültigen Kantenübergangspunkte sowohl für die nächste Vorderkante als auch für die nächste Hinterkante im Signalstrom festlegen. Die Vorhersagen von Kanten basieren auf Intervallmessungen für Vorder- und Hinterkanten, um Druckstreuungsverzerrungen zu vermeiden. Je nachdem, in welcher der verschiedenen möglichen Stellen die Vorderkante und in welcher die Hinterkante des Signals gefunden wird, wird der Dateninhalt des Streifenpaares entsprechend dem bekannten Code ausgewertet
Daten werden im allgemeinen durch Variationen eines sichtbaren oder von der Maschine feststellbaren Effektes geschrieben. Optische oder magnetische Streifen oder deren Kombinationen können dafür benutzt werden. Die Frequenz der Kantenabstände, festgestellt durch einen das entsprechende Medium abtastenden Lesekopf oder von elektrischen Impulsen, die über eine Übertragungsleitung von einem Leser geliefert werden, sind ebenfalls allgemein in Gebrauch.
Der Effekt, der wenigstens zwei verschiedene Zustände haben muß, zeigt seine Zustandsänderung als Vorgang an. Hier wird angenommen, daß die Vorgänge gezählt und ihnen entsprechend der Zahl eine gerade oder ungerade Bedeutung zugeordnet wird. Willkürlich werden dabei ungerade Vorgänge den Daten und
ίο gerade Vorgänge der Steuerinformation zugeordnet. Durch die Definition dieses Zählschemas werden also Daten und Steuervorgänge im Verhältnis 1 :1 verschachtelt.
In jedem bekannten selbsttaktierenden Code besteht ein Mindestintervall von einem Zwischenraum, d. h. einem Zeitabschnitt zwischen aufeinanderfolgenden verschiedenen Vorgängen, innerhalb dessen keine Vorgänge auftreten. Das soll heißen, daß ein gewisser Mindestabstand von Vorgängen besteht, der nicht unterschritten werden darf. Das Mindestintervall ist für einen gegebenen Code gewählt, und alle anderen Intervalle zwischen den Vorgängen liegen über diesem Minimum.
Das Mindestintervall zwischen zwei aufeinanderfolgenden gleichen Datenimpulsen oder Steuerimpulsen ist nominell doppelt so groß, wie das Mindestintervall zwischen benachbarten Impulsen, weil die Intervalle im Verhältnis 1 :1 verschachtelt sind. Die Bedeutung der in einem Datenintervall zwischen zwei Datenimpulsen
jo enthaltenen Daten wird bestimmt durch den Code, der der Größe des Intervalls zwischen zwei aufeinanderfolgenden Datenimpulsen eine gegebene Bedeutung zuordnet. Natürlich gibt es, wie schon gesagt, auch Intervalle anderer Größe zwischen unterschiedlichen Signalen, die von der Mindestgröße verschieden sind und darauf bezogen sind.
Wenn P in einem gegebenen Code definiert ist als Anzahl von Intervallen, die von dem Mindestintervall zwischen unterschiedlichen Signalen verschieden und größer als dieses sind, dann gibt es ein Maximum von 2P+1 gültigen Kombinationen von Streifen-Zwischenraum-Intervallen, von denen man jeweils 2 nimmt Diese bilden Datenintervalle oder Steuerintervalle. Diese kombinierten Streifen-Zwischenraumintervalle umfassen die Gesamtzahl der verschiedenen möglichen Intervalle zwischen zwei aufeinanderfolgenden gleichen Vorgängen, seien es nun Datenvorgänge oder Steuervorgänge.
Vor den Daten werden häufig Steuerintervall- und
so Datenintervall-Vorgänge geschrieben, die verschachtelt sind. Solche Intervalle werden als Vorlaufbitstrom oder -symbol codiert Diese vorläufigen Vorgänge liefern die Referenzmessungen für wenigstens eines der 2P+ i möglichen Datenvorgangsintervalle und/oder Steuer-Vorgangsintervalle. Wenigstens eines dieser Intervalle muß in dem Vorlaufsatz vorgesehen werden, wenn nicht zuerst eine feste Referenz an den Decodierer gegeben wird. Die nachfolgenden Datenvorgänge können ebenfalls zur Vorhersage der möglichen Pulspositionen oder Intervalle benutzt werden, die aus verschiedenen ursprünglich für den Aufgau des Code ausgewählten Faktoren gewählt wurden. Die möglichen Lagen von Daten- und Steuerimpulsen können entsprechend entweder von dem vorhergehenden Datenimpulsintervall oder vom Steuerimpulsintervall vorhergesagt werden, da beide Intervalle in der Familie der möglichen Intervalle liegen, die durch einen gegebenen Code bestimmt ist.
Die mögliche Lage für Daten- und Steuerimpulse kann aber auch von einer festen Referenz aus vorhergesagt werden. Die vorhergesagten Intervalle sollten im Idealfall vom Auftreten des letzten gleichen Impulses gemessen werden, um mögliche Verzerrungseffekte, beispielsweise, durch mangelhaften Druck der Codestreifen, zu vermeiden. Einsparungen in der Logik sind jedoch möglich, wenn alle Tore jeweils auf den letzten Datenimpuls oder auf den Steuerimpuls eingestellt sind.
Die Kombination des nächsten Steuervorganges mit dem nächstfolgenden verschachtelten Datenvorgang definiert eindeutig den Datengehalt des Datenintervalles entsprechend dem Datenformat oder Code, die dieser Erscheinungskombination von Datenvorgangslage und Steuervorgangslage zugeordnet sind. Zusätzlich kann eine Definitionswahl oder ein Kriterium für den Dateninhalt, der auch als eine Kommandofunktion für ein künftiges Auftreten einer spezifischen Kombination von Daten- und Steuervorgangsstelle benutzt werden kann, einer oder mehreren der (2P+1)2 möglichen Steuer- und Datenvorgangs-Intervallagekombinationen zugeordnet werden.
Diese Kombinationen können in einer Decodiermatrix entsprechend den Steuer- und Datenintervallen engeordnet werden, wobei man jeweils zwei benutzt.
Wenn z. B. ein Datenvorgang in einem größeren als dem vorläufigen Referenzdatenintervall auftritt, kann das Datenintervall reduziert oder normalisiert werden auf die ursprüngliche Größe, so daß es zum Referenz-Intervall für die nächstfolgenden Datenintervallvorhersagen wird. Die vorläufigen oder Referenzvorgänge oder die gegebenen für die Steuer- und Datenabfrageintervalle benutzten Messungen können aus einem der 2P+1 möglichen Intervallfaktoren, einer Kombination derselben oder einer willkürlichen Länge bestehen. Die Auswahl des Referenzintervallfaktors wird bestimmt durch Überlegungen, wie maximale Decodierprozesse zulässigen Codeabtast- oder Beschleunigungseffekte.
Die F i g. 2A bis 2E zeigen fünf verschiedene (2P+1)2 Decodiermatrizen. Jede Decodiermatrix gilt für den zugeordneten Code und gilt für vier Bitzeichen, die alle möglichen Bitkombinationen enthalten von 0000 bis 1111. Ein Beispiel ist in Fig.7 dargestellt für das Codeformat S2S.
Die Daten- und Steuerimpulsintervalle bestehen aus zwei Streifen und zwei Zwischenräumen, wie sie in den Fig.4 bis 7 gezeigt sind. Jede Decodiermatrix in F i g. 2A bis 2E zeigt einen gegebenen Code, der der Größe des Intervalles zwischen aufeinanderfolgenden Daten- und Steuerpulsen eine Bedeutung zuordnet Jede Decodiermatrix h.-».t drei Spalten und drei Zeilen. Das gilt für den Fall, in dem P, die Anzahl der verschiedenen vom Grundminimum unterschiedlichen Intervallfaktoren, gleich 1 ist, was für alle gezeigten Codeformate zutrifft Es gibt also zwei mögliche Streifen- oder Zwischenraumbreiten. Die Höchstzahl verschiedener Intervalle, in denen ein Daten- oder Steuervorgang auftreten kann, ist demzufolge 2P+1=3. Diese Formel ist jedoch allgemeiner Natur und andere Codes wie beispielsweise ein 3-Breiten-Code, können größere Matrizen haben (die Matrix für einen 3-Breiten-Code wäre 5 χ 5; für einen 4-Breiten-Code 7x7, usw.).
Die Spalten in F i g. 2 sind willkürlich als Datenimpuls-Intervalle DPI und die Zeilen als Steuerimpulsintervalle CPI bezeichnet In allen gezeigten Matrizen haben CPI und DPI einen Wert, der zweimal, dreimal oder viermal so groß ist wie die Mindestintervallbreite. Die Koordinatenschnittpunkte der Matrix entsprechen einer der (2P+1)2 spezifischen Intervallkombination von CPI und DPI. Das CPI tritt zeitlich während der
r> Decodierung zuerst auf (gerade Impulse), und ihm folgt die Komplettierung durch ein DPI. Die Bedeutung der im Datenintervall enthaltenen Daten wird geregelt durch das Steuerintervall für jedes Codeformat.
Abgesehen von der Decodiermatrix in den F i g. 2B
ίο bis 2C ist durch jede Kombination von CPI und DPI ein Datenbit eindeutig definiert. Zur Decodierung dieser Codeformate sind abgesehen von den genannten Ausnahmen keine anderen Daten oder Steuerkriterien erforderlich. Die Matrizen in den F i g. 2B und 2C
ι i entsprechen jedoch den S2S-Codes mit absoluter Breite. Die CPI-DPI-Coordinaten 3,3 haben 2-Bit-Datendarstellungen. Eine Darstellung kann definiert sein als Typ A, ein beliebiger Name, die andere als Datendarstellung vom Typ B. Die richtige Auswahl der Darstellungen muß decodiert werden, wenn eine 3,3-Intervallkombination auftritt und wird gemäß Darstellung in der Matrixtabelle bestimmt durch das letzte Auftreten einer Intervallkombination 3-2, 2-3, 3-4 oder 4-3. Die Bezeichnung Typ B wird zuerst gewählt, wenn vor dem Lesen von codierten Indizes der vorläufige Vorgangsstrom begonnen hat und im Decodierer die vorher decodierten Daten gelöscht sind.
In allen Decodiermatrizen der F i g. 2A bis 2E gibt es wenigstens zwei CPI-DPI-Koordinater.stellen, zu denen keine Daten gehören. Diese stehen für Sonderfunktionen wie Abtastanzeige, Datenanfang, Datenende, rechts nach links oder links nach rechts oder für Formatanzeigen wie Codewechsel zur Verfügung. Andere Codes mit mehrfacher Breite haben für solche Zwecke noch mehr Leerstellen. Diese Leerstellenkombinationen wie 4,2 und 2,4 erhält man aus einer besonderen Konfiguration von Streifen- und Abstands-, bzw. Distanzintervallen, wie sie in F i g. 3 gezeigt ist. Diese Kombination kann man als Vorlaufsatz benutzen, er wird hier Instruktionsindexkonfiguration IIC genannt. Datenzeichen brauchen nicht mehr einer datenfremden Identitätsfunktion wie einem Vorlauf zugeordnet zu werden.
Nach Darstellung in F i g. 3 besteht die IIC aus zwei Streifen mit Mindestbreite, die durch einen Abstand von drei Mindestbreiten oder Zeitabschnitten getrennt sind. Vor und hinter der IIC muß ein Mindestabstand stehen, der in den Codestrom so eingeschoben wird, daß eine Unterbrechung im verarbeiteten Signalstrom auftritt. Diese Einschränkung garantiert, daß den Intervallfolgen
5n 2,4 als nächstes die Folge 4,2 folgt. Das Intervall 2,4—4,2 kann jeder Kombination von Datenbits zugeordnet werden in Verbindung mit der anderweitig vorgesehenen spezifischen logischen Instruktion. Die Datenbus können alleine oder in Verbindung mit der logischen Instruktion genommen werden. Beispiele für die Benutzung des IIC folgen.
In F i g. 4 ist ein Indexstrom gezeigt Der Signalstrom beginnt und endet mit einer Vorlaufindexkonfiguration. Ein einziges fünf Bit großes Datenzeichen ist zwischen die beiden IIC's gepackt dargestellt Es können natürlich anstelle dieses einen noch mehr Datenzeichen mit anderer Bitzahl gepackt werden. Bei der Abtastung der codierten Indzies oder eines Signalstromes in Fig.5 von links nach rechts erzeugt das erste IIC eine Intervallkombination 2,\ und 4,2 in der Reihenfolge der Signale am Datenanfang. Mit der nächsten IIC kann das Datenende angezeigt werden. Wenn man die IIC auf diese Weise benutzt braucht man die Datenbits nicht zu
zählen, um das Datenende in einem gegebenen Codeformat zu bestimmen, das beispielsweise acht Datenbits hat, oder man braucht auch nicht einen eindeutigen Strom binärer Einsen o. dgl. vor oder hinter den Datenstrom zu setzen, um Datenanfang und Datenende zu bezeichnen.
F i g. 5 erweitert die Darstellung in F i g. 4. Der Strom codierter Indizes in F i g. 5 enthält zwei IIC's wie F i g. 4. Die linke und rechte Vorlaufindexkonfiguration ist jedoch unterschiedlich. Dadurch kann man feststellen, ob der Indexstrom von links nach rechts oder von rechts i.ach links abgetastet wird. Die IIC's haben jedoch dieselbe Funktion, nämlich die codierten Datenindizes von den Anfangs- oder vorläufigen Indzides zu trennen und die End- oder Abschlußindizes zu bilden. ι >
Mit der HC kann man auch einen Wechsel der Matrizen der F i g. 2 bezeichnen, um Zeit zu sparen, z. B. indem man die Bedeutung einer langen Reihe abwechselnder doppelter Abstandstreifen und doppelter Mindestabstände neu zuordnet. Das ist in den >u F i g. 2A, B und C dargestellt. Die Verdichtung gestattet ein Herausziehen derselben Daten aus einem wechselnden Strom von Streifen, die durch Abstände mit einem Minimum getrennt sind. Mit Hilfe des HC kann man also die Datendichte erhöhen. ;·ϊ
Auch kann ein Verzweigungsindex aufgebaut werden. Der Verzweigungsindex des BIC unterscheidet sich von der IIC nur durch die Anwendungsregeln. Die 2,4 BIC muß hinter einem Abstand mit einem Minimum stehen, und müssen zwei Abstände mit einem Minimum folgen, jn Eine 2,4 BIC ist in F i g. 6B gezeigt.
F i g. 8 ist eine allgemeine Darstellung der Streifencodierung. Der einzelne Codestreifen beginnt mit einem Streifen oder Abstandselement von Mindestbreite W, der in der obersten Zeile zwischen zwei benachbarten j-ί Signalimpulsen dargestellt ist. Alle bekannten selbsttaktierenden Streifencodes arbeiten mit einem Streifen oder Abstandselement mit Mindestbreite und wenigstens einem anderen Streifen- oder Abstandselement mit einer anderen Breite. au
Im allgemeinen kann die Breite eines Codestreifens oder eines Abstandselements dargestellt werden als die Breite W und die Breite des nächstgrößeren Streifens oder Abstandselements als Breite IV+zlW. Mit 5 wird die Mindestbreite eines Streifens, d. h. der im Code benutzte Platz bezeichnet. W bezeichnet die tatsächliche Länge eines solchen Streifens oder Abstandes. Δ W ist definiert als das verwendete Minimum oder die abfühlbare kleinste Breitendifferenz zwischen zwei Streifen und/oder Abständen. Der Grenzfall für Δ H'ist v: die kleinste abfühlbare Breitendifferenz für die Auflösungsfähigkeit des benutzten Abtastelemems.
Wenn man nach dem nächsten möglichen impuis an einer bestimmten Stelle suchen will und ein Suchausschnittsegmeni zeitlich um die vorhergesagte Steile gelegt wird, taucht die Frage auf, welches die mögliche Segment- oder Ausschnittbreite ist, mit der man arbeiten kann, um eine Verwirrung durch Überlappung von Suchausschnitten mit anderen möglichen impulslagen zu vermeiden.
Diese Frage wird im Zusammenhang mit Fig. 12 untersucht Oben in F i g. 12 sind zwei Codestreifen oder Abstandselemente mit Mindestbreite nebeneinander in die Linie b gesetzt, und diesen folgt das nächstmögliche Intervall. In der Linie e ist der nächstgrößere Streifen-Abstandsübergang gezeigt der von den gewählten Codeelementen vom Codeelementensatz in F i e. 8 beschrieben werden kann.
Wenn man einen am Ende eines gegebenen Intervalls von zwei kombinierten Streifen- und Abstandselementen auftretenden Impuls isolieren will, kann ein Suchausschnitt zeitlich um die vorhergsagten Zeitlage Tn herum aufgebaut werden. Ein Suchausschnitt kann beginnen zur vorhergesagten Zeit Tn minus einen Betrag txT„ und enden zur Zeit Tn lus einem Betrag a.Tn. Überlappungen mit benachbarten Suchausschnitten oder Segmenten müssen bei der Suche nach Impulsen in benachbarten möglichen Stellen natürlich vermieden werden.
Die beiden möglichen am dichtesten liegenden Impulsstellen sind in den Linien c und d der Fig. 12 gezeigt. Die Differenz zwischen diesen möglichen Impulslagen ist der Betrag vS, wie aus dem Diagramm zu ersehen ist. γ S ist daher gleich dem Zeitbetrag, der eingeschlossen wird durch die Häifte eines Suchausschnittes, der um die erste mögliche Impulslage herum (/=1) aufgebaut wird, und der Hälfte eines Suchausschnittes, der um die zweite mögliche Impulslage herum 0=2) aufgebaut wird, so daß sich die Ausschnitte nicht überlappen. Wenn ein gegebener Ausschnitt um eine vorhergesagte Impulsposition herum das Maß±amai der Zeitdauer der vorhergesagten Lage Tn hat, dann hai ein Suchausschnitt also eine Gesamtbreite von 2OcTn, und das ist in den meisten Fällen gleich S. Der Höchstwert für χ ist dann gegeben durch η=γ S, und da der kleinste Wert Tn= Γ0=2 S ist, ist 4<xS=ySoder a = y/4. Das wird später noch im Detail bewiesen. 7o ist das kleinste Intervall zwischen zwei gleichen Signalen und resultiert aus der Kombination eines Streifens und eines Abstandes mit kleinster Breite.
In F i g. 8 ist die Beziehung verschiedener Codestreifenelemente oder Abstandselemente zueinander gegeben durch den allgemeinen Ausdruck Wn = S+ PyS für den Bereich O< P> n, worin γ die kleinste abfühlbare oder nutzbare Einheit der Breitenzunahme ist, d. h. γ ist der kleinste gemeinsame Nenner aller Breitenzunahmen, der die Breitendifferenz eines Streifens oder eines Abstandes gegenüber einem anderen definiert. Mil anderen Worten, γ mal Mindestbreite eines Streifens ist gleich dem kleinsten Betrag der Breitenzunahme Δ W Daher ist γ eine dimensionslose Zahl.
Im allgemeinen kann festgestellt werden, daß Δ W, de: Breitendifferenzbetrag zwischen einem Streifen ur;. einem Abstand oder einem anderen Streifen, gleich γ ■ .' ist, worin 5 die Mindestbreite eines Streifens ode< Abstandes ist die -im Code verwendet werden. ·
allgemein ist dann —.
In der oben gegebenen Gleichung ist der Ausdruck F eine ganze Zahl zwischen 0 und n. mit der die Anzahl de: SireiiencurfeeieiTieiiic definiert wird, die äüS dein Satz ;r. F i g. 8 ausgewählt wurden. Die Mindestbreite 5 ha; ζ. Β den Wert P= 0, die nächstgrößere Breite hat den Wer. P=I usw. P definiert also die ganze Zahl eines Codeelements und wird nur als Index benutzt um festzulegen, wieviele verschiedene Streifen im Codeelementensatz verwendet werden. Viele Codes benutzen nur zwei verschiedene Breiten, und zwar eine Mindestbreite und eine etwas größere Breite. Bei dieser Codetypen ist der Wert P= 1, & b_, es gibt ein Streifen oder Abstandselement das eine vom Mindestabstanc1 oder von der Mindeststreifenbreite verschiedene Breite hat
Die Formel Wn=S-I-PyS für 0<Ρ<λ ist dann alsc davon abhängig, ob P eine ganze Schrittzahl ist unc keine Sprünge auftreten, & h. P im Wert nicht mehr zL·
eine Einheit springt Das soll nicht heißen, daß alle Streifencodeelemente P-Zahlen haben müssen, die sich voneinander in einer kontinuierlich ansteigenden Folie von ganzen Zahlen un.erscheiden, da Sprünge in der Strsifenbreite oder in der Abstandsbreite wohl zulässig sind. Vielmehr soll P definiert sein als eine Zahl von Mindesteinheiten der Zunahme γ ■ S, die zu dieser Mindestgrundbreite S addiert wird, so daß
Wn-S
ys
ist, wobei
= P
AW
Bei derart bestimmten P-Werten können Sprünge in echten Schrittgrößen der Streifen- oder Abstandselemente auftreten, und der P-Wert gibt diese Tatsache wieder. Die unbenutzten oder übersprungenen Streifen oder Abstandselemente sind einfach kein Teil des zum Aufbau eines Codes gewählten Streifenelementensatzes. Wichtig ist die Feststellung, daß die tatsächliche Zahl von Streifencodebreiten, die sich vom Minimum unterscheiden, durch den größten P-Wert nur gegeben ist, wenn keine Sprünge im regulären Fortschritt der Breiten auftreten.
In F i g. 9 ist ein verallgemeinerter selbsttaktierender Code gezeigt Er besteht aus zwei der in Fig.8 gezeigten Streifencodeelemente, wobei das Mindest-Übergangsintervall zwischen zwei Impulsen gleicher Polarität gegeben ist als: T0 = 25. Das ist die kleinste Kombinationsintervallänge, die aus dem Codesatz der Fig.8 aufgebaut werden kann. Die zweite Zeile der F i g. 9 zeigt die erste Intervällkombination, die sich von der Kombination mit dem Mindestintervall unterscheidet. Ihre Länge ist definiert als 2 5+ PyS, wobei P die Anzahl von Streifencodeelementen ist, die eine größere Breite haben als die Mindestbreite. Diese Gleichung gilt jedoch nur für den Sonderfall, in dem zum Aufbau des Codes keine Sprünge in den Breiten gemacht werden.
Eine nützliche Bezeichnung der Breitenkombinationen ist die Verteilung von Indexzahlen nach der Beziehung, die sie zueinander haben. Dem kleinsten Übergangsintervall von 2 5 in der oberen Linie der Fig.9 kann man somit eine Intervallindexzahl 1 zuteilen. Das ist bezeichnet mit Z= 1. Das nächstgrößere Intervall S+yS erhält die Indexzahl /=2 usw. »Z« ist daher definiert als die Indexzahl des Zeitintervalles zwischen zwei Impulsen gleicher Polarität. Es ist also P=/-l.
Die Länge Tn einer Streifen- und Abstandskombination, wie sie in Fig.9 gezeigt ist, beträgt dann 2 S+ (Zn-1) · y5 für den Bereich 1 < Z< n. Als Inlervallindexzahl kann 1 nur ganzzahlige Schrittwerte einnehmen.
Natürlich kann der Höchstwert von Z-=2P+1 werden, wenn man. Streifen der Breite S und Abstände der Breite 5 wiederholen darf. Die Anzahl der verschiedenen Gesamtintervallängen T, die mit zwei aus den Elementen in Fig.8 ausgewählten Streifen- und Abstandsbreiten aufgebaut werden können, ist gleich 2 P+1. P ist die Zahl verschiedener Streifenbreiten, die beim Aufbau des Codesatzes verwendet wurden, wobei die Mindestbreite 5 nicht gezählt wird. Im allgemeinen ist Tn= 2 5+(Zn-I) ■ yS, wobei 0>n>2 P+l ist und P die den Streifencodeelementen zugeordneten Werte einnimmt.
Das vorliegende Decodierverfahren basiert auf der Vorhersage aller möglichen Stellen, an denen ein Impuls auftreten kann. Dabei wird das zeitliche Auftreten eines gegebenen Impulses berücksichtigt wobei Codetyp und die Kenntnis des zum Aufbau des Codes verwendeten Codesatzes gegeben sind. Dann können Suchtore eingerichtet werden, die zur vorhergesagten Suchzei nach einem Impuls suchen.
Eine Geschwindigkeitskorrektur erster Ordnung für Abweichungen in der Abtastgeschwindigkeit kann man durch Verwendung des vorhergehenden Zeitintervalles zwischen zwei Impulsen gleicher Polarität bekommen. Dieses Intervall muß jedoch in den richtigen Maßstab gesetzt werden durch Multiplikation mit dem Maßstabfaktor R Der resultierende Ausdruck für eine Geschwindigkeitskorrektur erster Ordnung ist dann:
[B1,± a„]
Eine Geschwindigkeitskorrektur zweiter Ordnung mit den Gleichungen, die auf den vorhergehenden zwei Übergangsintervallängen basieren, nimmt folgende Form an:
worin allgemein gilt:
Tn-I01., = Tn-, · R, T„-2jy = Tn.2 ■ R, usw.,
d. h., die beiden früheren Intervallängen Tn-I und T„.2 vor dem Intervall Tn werden durch Multiplikationen mit dem Maßstabfaktor R mit der Standardbasis
Beziehung gebracht.
Die folgende Tabelle I faßt die Algorithmen der Formel für drei Bedingungen zusammen:
a) Verwendung einer konstanten Referenzbreite,
b) Geschwindigkeitskorrekturformel erster Ordnung unter Verwendung der vorhergehenden Übergangsintervallänge, die zu einem Normalwert als Referenzwert in Beziehung gesetzt wurde, oder
c) Verwendung zweier vorhergehender Übergangs intervallängen für eine Geschwindigkeitskorrektur zweiter Ordnung.
Tabelle 1
Konstantes Referenzintervall (keine Geschwindigkeitskorrektur):
worin
T(r , = (T0)
_ (2 -v) + Jy
oder
vO'-i)
Fortsetzung
und
(P= nur ganze Zahlen) ι ο 2
für alle
ι =2/>+l(max)
j = 2P+ 1 (max)
T0 = Mindestintervall =2S
S = Abschnittsbreite (Mindest-Übergangsstrecke)
AW=yS
γ = Konstante für gegebenen Elementensatz Tabelle II
Y=I
i i 16
2+ V-J)
Geschwindigkeitskorrektur erster Ordnung:
Tn-\ ~ letzte Länge Tn
1 2 3
20 1
2 3
25
1
1
1
2
2
2
3
3
3
1
1.5
2/3
4/3
1/2
3/4
a =
1/4 1/4 1/4 1/6 1/6 1/6 1/8 1/8 1/8
2[1+j]
In der nachstehenden Tabelle III sind die Werte für i,j B und α zusammengefaßt für den allgemeinen Fall, in dem γ von 1 verschieden ist:
35
.,·) und αυ,,, wie oben.
Geschwindigkeitskorrektur zweiter Ordnung: und worin
Tabelle III
' j
1
1
BUJ.r)
1
V+2
2
y+i
2
V + 2
αν/4
V/4 y/4
=T,:..2Ru.
u.r)
2(y 2)
:'■,._ = frühere 7„- , und 7',_| = frühere T.
und /f(/jl wie oben.
Die nachfolgende Tabelle Il enthält die Werte für /./, und B sowie α zusammengefaßt für den Sonderfall, in dem j' gleich 1 gesetzt wird, was normalerweise der Fall ist bei einem Breitenverhältniscode 2 : 1 wie etwa F2F oder S2 S. Bei diesen Codetypen ?·■> werden nur zwei Sireilenbreiten verwendet (P = 1), und ein breiter Streifen oder Abstand ist doppelt so aroß wie ein schmaler.
+ D
2(y+
2(y ; + 2)
4(v 4 1)
4(v Y 1)
+
4 0' )' D
40'+ 1)
Tabelle IV
Untersatzformeln für einen Code P = 1 (Tn - ι nicht im Maßstab zur Referenzbreite).
Für Referenzintervall bei j = 1 mit Geschwindigkeitskorrektur erster Ordnung:
Daten- (oder Steuer-)
Suchsegment
(3
3, r„,.,= r„_
15
Für Refeienzintervall beiy = 2 mit Geschwindigkeitskorrektur erster Ordnung:
Daten- (oder Steuer-)
Suchsegment
V2 · Δ Vund somit Db = V ■ T, Δ W= - T0 (Δ Vl V). Dieser letzte Audruck beschreibt die Abweichung in der vorhergesagten Erscheinungszeit der nächsten gewünschten Vorhersage für den Übergang im Signalpegel proportional zur Nominalzeit To mit Prozent der Geschwindigkeitsabweichung über den Intervall, das in dem vorhergehenden Intervall von einem Übergang zum anderen, definiert als T„.\, festgelegt wurde. Die Nominalzeit 7J ist hier das Intervall zwischen den Übergängen unmittelbar vor dem vorhergesagten Übergangsintervall.
Eine allgemeine Form für eine Gleichung zur Vorhersage der Intervallänge Tn die äquivalent der Vorhersage des Zeitpunktes ist, an dem ein gegebener Impuls auftreten sollte, ist wie folgt gegeben: Tn= T„.\ (1-ε) worin
C=Il-
für den Bereich O < A < 1.
Die Ableitung des Wertes für eist wie folgt: Wie oben gezeigt wurde, ist
AV _
— —--ATZT0,
Für Refercnzintervall bei j = 3 mit Geschwindigkeitskorrektur erster Ordnung:
Daten- (oder Steuer-)
Suchsegment
uT=(c TIc
0 + (0 T/r V)U V.
30
Die Formeln der Tabelle IV sind von den Grundformeln abgeleitet, um die Benutzung veränderlicher Referenzlängen zu gestatten, d. h, eine Referenzlänge, die bei dem Intervall ;=1, 2 und 3 usw. festgelegt ist, kann als Basis zur Vorhersage der nächsten gültigen Pulslagen benutzt werden. Die Formel muß aber diese verschiedenen Referenzlängen benutzen.
In einem normalen Streifencode eines gegebenen Typs ist die Breite eines Abschnittes normalerweise definiert als der Abstand zwischen zwei Übergängen oder Signalen. In den früheren Figuren wurde sie als Breite Sbezeichnet, für nachstehende Ableitung wird sie jedoch Breite Do genannt.
Wenn ein Abtaster, wie z. B. ein Magnetlesekopf oder ein optischer Abtastkopf, über Streifencode läuft, wird die Strecke für eine Abstandsbreite Do überstrichen in einer Zeit, die gleich ist Do dividiert durch die Geschwindigkeit des Abtastkopfes = Do/ V. Nimmt man die Gesamtdifferenz dieses Ausdruckes für die Zeit
Wenn kein Jitter oder unkontrollierte Abweichung im Kantenabstand der codierten Daten vorliegt, ist
iCT'r D11) ■ d /J1, = 0
und daher d T= — DJ V-. weil T= DnI V. Durch Einsetzen dieses Ausdrucke? für PT in Bezug auf PV in der, vorhergehenden Ausdruck ergibt sich Δ Γ— — Do!
5)
fjfl Δ T ist jedoch die Zeit gemessen zwischen den beiden vorhergehenden Übergangsintervallen. Angenommen, es wird ein festes Referenzintervall benutzt, das zufällig gleich dem möglichen kleinsten Intervall im Code 7™0 ist, so kann sich ergeben
-ATZT0 =
Γ.-
A,
n-l
worin A eine feste Zahl im Intervall 0 < A < 1 ist. Mit anderen Worten
ATZT0=Il-
A.
Da ε gleich ATIT0 ist, ist der Wert für ε wie oben angegeben. Die Werte von Tn-, und T„-2 müßten zum tatsächlich verwendeten Referenzintervall in Beziehung gesetzt werden, wenn das Referenzintervall nicht wie in diesem Sonderfall gleich T0 ist. Der obige /\usdruck für die verallgemeinerte Form Tn= T„-\ (1 —e) worin ε den durch den gerade abgeleiteten Ausdruck gegebenen Wert einnimmt, kann in Ausdrücken verwendet werden, die zur Vorhersage der möglichen Impulslagen in einem gegebenen Codeformat abgeleitet wurden, basierend auf i,j und γ, indem man einfach den Ausdruck für Tn in die vorhergesagten Impulslageformeln einsetzt und die Intervalle Tn-1, Tn-2 usw. mit dem Referenzmaßstabfaktor R multipliziert. Das Ergebnis ist in der Tabelle 1 unter der Geschwindigkeitskorrekturformel zweiter Ordnung aufgeführt. Der Wert von A in diesem Ausdruck muß im Bereich von 0 < A < 1 liegen und ist als Beschleunigungsfaktor definiert. Die Wahl des nominellen Wertes für den Buchstaben A wird bestimmt durch spezifische Laser- oder Abiasteranwendungen, in den Versuchen wurde jedoch festgestellt, daß ein Wert von 0,68 für A ein guter Nominalwert für handgeführte Laser ist. Bei Anwendungen mit konstanter oder fast konstanter Geschwindigkeit wie etwa maschinellen Abtastern kann der Wert von A auf 0 gesetzt werden. Für andere Anwendungen wie Abschnittslaser, wo
mäßige Beschleunigungen auftreten, kann man einen Wert A = 1 verwenden.
Wie schon früher erwähnt wurde, besteht die Möglichkeit, daß in einem allgemeinen Code mit zwei oder mehr Elementenbreiten eine Zveideutigkeit -, auftritt, sobald eine Streifen-Abstandskombination eine Gesamtintervallänge erreicht, die eine, andere Kombination ebenfalls erzeugen kann, da es dann fraglich wird, welches Muster tatsächlich vorliegt Die in Fig. 14 gezeigte Situation gilt allgemein für ein Codesystem mit zwei Breitenslementen, für das die Zah! der Streifenbreitenelemente, die sich von der Mindestbreite unterscheiden, gleich 1 ist, mit anderen Worten P= 1 wie früher definiert In Fig. 14 hat das Element aus Codestreifen oder Abstand die Breite S+yS. In den Zeilen a bis d in Fig 14 sind die möglichen gültigen Kombinationen aus zwei Elementen für die Gesamtlänge aus Steuer- oder Datenintervallen gezeigt, die existieren können. Für /=1 und /=3 existiert nur eine Kombination, die die Intervallänge erzeugen kann. Für /=2 gibt es jedoch zwei verschiedene gültige Kombinationen, die dieselbe Gesamtlänge erreichen können, wie sie in den Zeilen b und c gezeigt ist. Mißt der Code der absoluten Breite der Streifenelemente Bedeutung zu, dann taucht eine Frage nach dem Codemuster auf, d. h., die Zeilen b und c erscheinen identisch, wenn alles, was man sieht, die Gesamtintervallänge an der Position /= 2 ist. Wie nachfolgend gezeigt wird, gibt es einfache Regeln, die Zweideutigkeit zu lösen.
Es sei angenommen, daß γ in F i g. 14 gleich 1 ist. da jo wir dann S und S+yS in ganzen Einheiten von 5 und nicht in Brüchen ausdrücken können. Wenn γ gleich 1 ist und S gleich eine Einheit, dann ist S+yS— zwei Längeneinheiten. Der einzige gültige Streifen oder Abstand, der vor einem Streifen oder Abstand stehen kann, ist daher durch Definition 5 oder S+yS. Das Raumintervall zwischen Steuerimpulsen oder Datenimpulsen, das vor dem nächsten verschachtelten Daten- und Steuerimpulsintervall stehen kann, wäre daher folgendes:
Für ein Datenpulsintervall von drei Einheiten kann das Muster in Linie b nur ein Gesamtintervall von zwei oder drei Einheiten im Steuerimpulsintervall haben, das vor ihm verschachtelt steht. Das Steuerimpulsintervall von vier Einheiten ist nicht mit einem Datenimpulsintervall aus einer Einheit (zwei Einheiten) möglich, wie es in Linie b gezeigt ist und in Linie e klar gemacht wird. Das Steuerimpulsintervall mit vier Einheiten ist mit einem Datenimpulsintervall eine Einheit — zwei Einheiten nicht möglich, da der vorhergehende Streifen oder der Abstand, die das Steuerimpulsintervall bilden, nur eine oder zwei Einheiten breit sein kann. Wenn der vorhergehende Streifen oder Abstand ein oder zwei Einheiten breit ist, kann das resultierende Steuerimpulsintervall, wie in Linie e dargestellt, nur eine Gecamtlänge von zwei oder drei Einheiten, aber nicht von vier Einheiten aufweisen. Wenn dss Steuerimpulsintervall zufällig zwei Einheiten beträgt, kann es nur durch einen vorhergehenden Streifen oder Abstand von einer Einheit erzeugt sein. Dieser Streifen oder Abstand kann w> nur Teil des vorhergehenden Datenimpulsintervalles sein, das als eine Folge aus 2-1 oder 1-1 Einheiten bestehen kann. Ein Steuerimpulsintervall gleich 2 ist nicht zweideutig in Verbindung mit einem anderen Steuerimpulsintervall, nur auf eine Art erzeugt werden tv> kann. Die Kombination einer Zwei im Steuerimpulsintervall und einer Drei an der Position /=2 im DatentHilsinterval! bezeichnet nach der Darstellung in Linie b und e eindeutig das Muster im Datenpulsintervall sowie in Linie b als ein Muster 1-2, und nicht als Muster 2-1, in der Gesamtlänge, da das vorhergehende Steuerimpulsintervall es von allen anderen trennt
Wenn das Steuerimpulsintervall drei Einheiten hat, kann es nur erzeugt werden durch ein Datenimpulsintervall 1-2 oder 2-2 vor einem Datenimpulsintervall 1-2, Linie e. Wenn eine dieser beiden Formen im Steuerimpulsintervall auftritt, bezeichnen sie eindeutig das Datenimpulsintervall 1 -3, wie es in linie b gezeigt ist und nicht das in Linie c gezeigte Intervall 3-1, da beide Kombinationen in dem Datenimpulsintervall, das dem in Frage kommenden Datenimpulsintervall vorausgeht, nur in einer Art auftreten können, wenn ihnen ein Datenimpulsintervall 1-2 folgt. Sie bezeichnen eindeutig das Datenimpulsintervall 1-2 in Linie b und nicht das Intervall 2-1 in Linie c, da beim Auftreten eines der Intervalle 1-2 oder 2-2 ein Steuerintervall in der Form des Codesymboles in Zeile c die Länge von vier Einheiten hätte und sich daher leicht von einem SteuerimpuisintervaH mit drei Einheiten unterscheiden läßt, das auftreten würde, wenn derselbe Codestreifen vor das Muster in Linie b geschrieben würde.
In Zeile /"ist die andere zweideutige Form der Länge von drei Einheiten im Datenimpulsintervaü gezeigt Das gültige Steuerimpulsintervall, das vor einem solchen Muster stehen kann, kann nur drei oder vier Einheiter, lang sein, da ein Steuerimpulsintervall von zwei Einheiten nicht möglich ist auch mit einem Streifen oder einem Abstand der Mindestbreite, die vor dem Datenimpulsintervall stehen können, wo der vorhergehende Streifen oder Abstand nur ein oder zwei Einheiten breit sein kann. Wenn das Steuerimpulsintervall gerade vier Einheiten lang ist, wie es durch ein vorhergehendes Symbolmuster 1-2 oder 2-2 erzeugt würde, ergibt sich keine Zweideutigkeit, da kein anderes Steuerimpulsintervall von vier Einheiten Länge in Kombination mit einem der zweideutigen Muster in b und c der F i g. 14 auftritt.
Wenn jedoch das Steuerimpulsintervall drei Einheiten lang ist, kann es nur durch ein vorhergehendes Streifensymbol 2-1 oder 1-1 erzeugt sein. Wenn eine dieser Folgen auftritt, bezeichnen sie eindeutig das Datenimpulsintervall 2-1 in Linie c und nicht die Form 1-2 in Linie b. Der Grund liegt darin, daß du* Kombination 2-1 oder 1-1, die im vorhergehender. Symbol stehen muß, um ein Steuerimpulsintervall von drei Einheiten Breite für das in /gezeigte Datenimpulsintervall zu erzeugen. Bei Verwendung in dem Datenimpulsintervall vor dem in Linie e gezeigten Intervall ein Steuerimpulsintervall von zwei Einheiten erzeugen würde, das nicht zweideutig ist.
Die Matrix in Fig. 13B ist für einen allgemeinen Zwei-Breiten-Code gezeichnet und die Zustande A und B sind entsprechend beschriftet, so daß die Zweideutigkeit bei Auftreten eines Datenimpulsintervalles von drei Einheiten gelöst werden kann.
Ähnliche Regeln können für ein Elementcodesystem mit drei verschiedenen Breiten (P= 2) oder mehr aufgestellt werden. Das allgemeine Verfahren besteht darin, alle möglichen Streifen- und Abstandskombinationen bei erlaubten Wiederholungen herauszuziehen, die nach der bereits abgeleiteten Forme! 2 P+1 definiert sind. Die eventuellen zweideutigen Kombinationen werden dann identifiziert als aus gleichen Datenimpulsintervallängen resultierend. Die Zweideutigkeiten können gelöst werden, indem man die vorhergehenden Datenmuster prüft, wie es oben für das
B, =
K/-1)
45
Der oben abgeleitete Ausdruck liefert einen Längenwert für jede Position eines günstigen Pulsüberganges gleicher Polarität und sagt ein Segment oder einen Abschnitt mit der halben Breite Tn voraus. Diese Koeffizienten berücksichtigen jedoch nur einen gegebenen Intervallausschnitt mit dem .AWert 1, 2, 3 usw., wobei angenommen wird, daß das Grundintervall T0 als Basis für die Vorhersage der Lage künftiger Pulse benutzt wird. Um die Ausdrücke weiter zu verallgemeinern, muß berücksichtigt werden, daß ein Intervall, auf dem Voraussagen basieren, nicht ein kleinstes Intervall To ist, sondern irgendein Intervall, beispielsweise das letzte Intervall, das man während der Codeverarbeitung gelesen hat ->o
Das als eine derartige Basis oder Referenz benutzte intervall wird y-tes Intervall genannt, um es vom /-ten intervall zu unterscheiden, »j« nimmt daher nur Werte 1, 2, 3 usw. bis zum Höchstwert von 2 P+ i an genauso wie i, j wird jedoch als Indexzahl des Intervalles aller möglicher Intervalle definiert, in denen der frühere Impuls gefunden wurde. »/κ stellt daher eine Indexzahl für das vorhergehende Intervall dar, das bei der Verarbeitung des Codes auftrat, der jetzt als Basisintervall zur Vorhersage neuer Werte von Intervallstellen benutzt wird.
Wenn das j-te Intervall größer ist als das kleinste Intervall To, muß der Ausdruck für
auf das kleinste Referenzintervall zurückgerechnet werden, indem man die echte Intervallänge, die jetzt als Referenz benutzt wird, mit einem Referenzmaßstabfak-
allgemeine Codesystem mit zwei Breitenelementen gezeigt wurde.
Die allgemeine Länge eines lntervailes aus zwei kombinierten Streifen- und Abstandsbreiten ist, wie abgeleitet in Verbindung mit F i g. 9,
T„=2S+[in-i]-yS.
Die Größe 2 S wurde früher schon als kleinste Kombination von zwei Breiten angeführt und ist gleich To. Die allgemeine Länge eines vorhergesagten ι ο lntervailes kann daher jetzt geschrieben werden als
7V= F0[B,]
wobei Bi ein Multiplikationsfaktor ist, der dem Wert /' der Indexzahl eines Längenintervalles abhängt, bei dem ein vorhergesagter Impuls möglicherweise auftritt, wobei /gewählt wird aus dem Bereich 1 < /< 2 P+1.
Wenn um eine vorhergesagte Stelle Tn, ein Ausschnitt aufgebaut werden soll, ist die allgemeine Form eines Ausdruckes zur Vorhersage von Anfangs- und Endpunkt dieses Suchausschnittes gegeben durch 7"„,=[ß,±Oi]T0. Die Linie h in Fig. 12 zeigt eine Kombination von Streifen- und Abstandselementen mit einer Breite von S+yS. Die Gesamtlänge des durch die beiden Streifen- und Abstandselemente eingeschlosse- 2> nen lntervailes beträgt daher To ■ B, und das wiederum ist, wie oben entwickelt, gleich
2 S+(Zn-1)5.
Nun ist aber nach Definition T0=2 S, und daher findet jo man beim Einsetzen des Wertes 2 S für To in die obige Formel
tor Rj-, multipliziert, der definiert ist als gleich mit den echten Referenzintervall T dividiert durch To, wobei da echte als Referenzintervall benutzte Intervall gegebei ist in allgemeiner Form durch den Ausdruck
und wobei j die Indexzahl des lntervailes ist, in dem ei Impuls gefunden wurde, der die Länge des Referenz intervalles definierte. Daher ist:
«1/11 —
25
_ 2+(J-I)Y _ Trl1 2 T0
und j ist die Nummer des Intervalles, in dem der echt Referenzimpuls gefunden wird, der jetzt zur Definitioi der Länge des Referenzintervalles ausgewählt wird a Basis für neuvorhergesagte Pulslagen.
Wenn ein konstantes Referenzintervall benutzt wird das sich von dem kleinsten Intervall To unterscheidet dann ist:
[B±a\.
Das ist ein Beispiel dafür, wie das Referenzintervall zun kleinsten Grundintervall T0 in Beziehung gesetzt wird da durch die Definition der Referenzmaßstabfakto
-— ist, wobei eine andere Referenz als das kleinst
Intervall T0 benutzt wird. Andererseits kann der Aus druck auch wie folgt geschrieben werden:
Tn = T0[B1J.. + a.X
worin B und a in richtige Beziehung gesetzt werde: durch Teilen der vorher für B und α entwickelten Aus drücke durch den Faktor R. Das ergibt:
(2-γ)+Jy
und für
a, 0 < OjY <
-γ)+Jy]
Diese Änderungen ergeben die in der obigen Tabelle Π aufgeführten Formeln für einen Zwei-Breiten-Code
tntsprechend obiger Ableitung Kann eine Re.'erenz breite oder -zeii Tr bekanntlich aurch das kk-nst Intervall T0 und einen Faktor R ausgedrückt werden so daß
Tr
To
Wie oben abgeleitet wurde, ist der Faktor R gleich
60 worin γ wie oben definiert ist und j die Indexnumme des Ausschnittes ist, der das Intervall der gewählte) Referenzbreite definiert, wobei angenommen wird, dai eines der normalerweise auftretenden möglichen gülti gen Intervalle als Referenzintervall gewählt wire
Außerdem kann die Lage T1 möglicher gültiger Impulse bekanntlich vorhergesagt werden als
T1 = T11
Die Breite des Intervalles zwischen zwei Impulsen mit ähnlicher Polarität Tn wurde bereits definiert als Funktion
und (Z1Jy) wurde bereits oben definiert als
V
aUv) *
-Y +Jy)
und weiter wurde definiert:
O(Jy)
2-y -rjy
Es ist außerdem bekannt, daß die Breite eines Suchabschnittes immer definiert ist als 2* Tn oder (2 Toj.r) (Kj.r). Durch Einsetzen der Werte für ocj.r und Vereinfachung erhält man daher «= — für alle
möglichen Fälle eines mit zwei Breiten aufgebauten Codes. In Fig. 12 sind diese Beziehungen weiter definiert.
Die oberste Linie in Fig. 12 zeigt das kleinste Intervall 5 zwischen zwei benachbarten verschiedenen Impulsübergärgen. Es bildet ein Codestreifenelement oder Abstandselement für einen gegebenen Code. Zwei derartige Elemente nebeneinandergesetzt bilden das kleinste Zeitintervall Γο zwischen zwei gleichen Impulsen, und dieses ist definiert als das kleinste Obergangsintervall im Codesatz.
Das Streifenelement der nächsten Größe ist S+yS,
Λ W
wobei γ = und Δ W der Betrag ist, um den das
nächstgrößere Codestreifenelement die Größe des kleinsten Codestreifenelements übersteigt Im gezeigten Fall ist ^- =1 oder AW=S. Daher ist )>=1. Im
unteren Teil der Fig. 12 sind verschiedene Codeelemente gezeigt, die aus den Codestreifen S und yS aufgebaut werden können. Drei mögliche Intervalle oder Impulsübergänge können geschaffen werden. Das ist gegeben durch die Formel /=2 P+\, wobei P die Zahl der Streifenelemente im Code ist, die sich von dem Minimum unterscheidet in diesem Falle ist bei F= ί die Anzahl von erforderlichen Ausschnitten oder die Anzahl möglicher gültiger Pulspositionen gleich 3.
Aus Fig. 12 ist zu ersehen, daß das Intervall des Abstandes zwischen dem kleinsten Codeintervall 7J und dem nächstgrößeren Codeintervall 5 plus einem Codestreifen aus S+yS ein Betrag yS ist Die Breite eines Suchausschnittes, der einen m der Position /= 1 oder /=2 oder /=3 auftretenden Impuls sucht, ist lot Tn.
Es wurde gezeigt, daß ac immer gleichest und daher
kann die Länge eines Intervalles in Alphaeinheiten gemessen werden. Die Suchtorbreite ist gleich—7i oder
Tn= zwei Suchtorbreiten dividiert durch γ. Für den hier gezeigten FaH wie j>=l ist, ist Tn gleich zwei Suchtorbreiten oder vier Alphaeinheiten. Das gilt ungeachtet des Wertes von γ und daher auch für alle möglichen Konstruktionen eines Zwei-Breiten-Streifencodes. Da in Fig. 12 für alle Fälle Tn =4« ist, liegt der Anfang des ersten Tores zur Isolierung des möglicherweise an der Position /= 1 auftretenden Impulses bei 3Λ Tn oder 3«. Das Ende des ersten Suchtores und der Anfang des zweiten Suchtores, die miteinander zusammenhängen, liegt bei der Position 5A Tn oder 5«.
ίο Das Ende des zweiten Such tores und der Anfang des dritten Suchtores liegt bei 7U Tn oder 7ot, und das Ende des dritten Suchtores und der Anfang des vierten Suchtores, fall dieses gebraucht wird, usw. liegt bei VA Tn oder 9a. Das gilt für alle Konstruktionen eines Zwei-Breiten-Streifencodes. Dieses Prinzip läßt sich leicht auf Codes mit mehr als zwei verschiedenen Breiten ausdehnen, was aus der Tatsache hervorgeht,
daß Tn immer gleich 4« ist, wenn λ immer — ist.
Die in den F i g. 10A—C gezeigte logische Schaltung stellt eine Ausführung des vorliegenden Verfahrens dar und wurde für den Betrieb mit einem Zwei-Breiten-Streifencode ausgelegt, d. h. für einen Code, für den P=I ist. Sie erlaubt eine Geschwindigkeitskorrektur
erster Ordnung. Änderungen zur Geschwindigkeitskorrektur zweiter Ordnung für hohe Beschleunigung werden später beschrieben.
Da in einem Geschwindigkeitskorrektursystem erster Ordnung das vorhergehende Intervall als Referenzintervall für die nächste Vorhersage benutzt wird, muß entweder die vorgenommene Zeitmessung zur Basisreferenz in Beziehung gesetzt werden, oder es muß ein anderer Algorithmus gewählt werden, um die gültigen Pulslagen vorherzusagen. Die verschiedenen auswählbaren Algorithmen sind in Tabelle IV gezeigt Sie sind Untersätze der gegebenen allgemeinen Ausdrücke, spezifische Werte für den Ausdruck Bftj,y) werden jedoch anstelle des allgemeinen Ausdruckes benutzt Der spezifische Wert von B(ij.y) wird zur benutzten Referenzbreite (dem letzten gefundenen Intervall). Die resultierenden Algorithmen für einen Code, in dem γ = 1 ist ein 2 :1-Breitenverhältniscode wie S2S, sind in der obigen Tabelle IV gezeigt Der entsprechende Algorithmus wurde gewühlt abhängig von dem Intervall, in dem der letzte Datenpuls gefunden wurde. Das würde Werte für j ergeben. E>ie Werte für / und γ werden gewählt wenn γ nach dem verwendeten Code bestimmt ist weil es später noch genauer beschrieben wird. Es sei jedoch einfacher, die allgemeinen Algorithmen der Tabelle I zu benutzen als neue Algorithmen für jede Vorhersage von Suchsegmentstellen zu wählen. Dazu müssen die gemessenen Intervalle zuerst so in Beziehung gesetzt werden, daß Bf1Jx) in der allgemeinen Form belassen werden kann.
Das in den F i g. 10A—C gezeigte Schema wurde so ausgelegt, daß die einzig gültigen Intervallängen vorbewertet werden, so daß bei Auftreten eines Impulses innerhalb seines vorhergesagten Abschnittes ein bereits in dem richtigen Maßstab gesetztes Längenintervall als Referenz für die folgende Impulspositionsvorhersage gewählt werden kann.
Die Zeit- oder Abstandsmessung von einem gegebenen Punkt bis zu einer vorhergesagten Stelle oder dem Auftreten eines Impulses erfolgt durch Zählen der Taktimpulse von einer Takteinheit 1. Ein Fühler- und Verstärkereinheit 2 ist in Fig. 1OB nur in Blockform gezeigt Sie liefert Impulse auf dem Kanal X für die Vorderkante und dem Kanal Yfür die Hinterkante von
Signalen, die abgefühlt wurden.
Das Intervall von einer Vorderkante zur nächsten zwischen zwei Impulsen auf dem Kanal X soll ein Datenintervall definieren. Dieses Intervall umspannt einen Streifen und einen Abstand, die aus einem Codeelementensatz ausgewählt wurden, in dem zwei mögliche Streifen- oder Abstandsbreiten zur Verfügung stehen.
Die Impulse auf dem Kanal Ksind die Intervallimpulse von einer Hinterkante zur anderen und werden mit den positiv verlaufenden Impulsen auf dem A"-Kanal verschachtelt. Die Impulse auf dem y-Kanal erhalten willkürlich eine Bedeutung als Steuerimpulse zugeordnet.
Die F i g. 10A—C zeigen eine Schaltung zur Verarbeitung nur der Impulse, die vom ^f-Kanal kommen, wo der Datenimpuls liegt. Zur Verarbeitung der Steuerimpulse vom y-Kanal wird eine identische Schaltung verwendet. Wie später erklärt wird, kann ein anderes Decodierverfahren angewandt werden, welches nur die Λ-Schaltung oder nur die V-Schaltung braucht, was zu wesentlichen Einsparungen führt.
Wie schon erklärt wurde, ist es bequemer, Datenoder Steuerintervalle oder Segmente in Alphaeinheiten zu zählen als die einzelnen mit einer Frequenz /o von der Takteinheit 1 kommenden Taktimpulse zu zählen. Die Anzahl der gezählten Impulse während des Intervalles zwischen zwei vom Kanal X kommenden Impulse im Abfühlerverstärker 2 ist ein digitales Maß der analogen Zeit oder Strecke zwischen den beiden positiv verlaufenden Impulsen auf dem X-Kanal.
Im allgemeinen tritt die Anzahl der Impulse No mit der Grundtaktfrequenz /o während des Zeitintervalles To auf und ist No=/i> 7J. Die Frequenz /b wird so gewählt, daß die Anzahl von in einem Mindestintervall T0, das im Code auftritt, enthaltenen Impulse in der Größenordnung von 100 Impulsen pro Intervall liegt So ist eine Auflösung von einem Teil in 100 bei der Lokalisierung eines gegebenen Impulses auf dem Kanal möglich.
Ein Intervall 7} wird bei einer Frequenz k Nn > 100 Impulse umfassen.
Wenn Impulse auf dem Kanal X in einem größeren Abstand als dem Referenzabstand 7} auftreten, dann ist die über dem Intervall auftretende Zahl N>Nj. Diese Möglichkeit führt zu einiger Komplikation, da man die Zahlen N, für jede mögliche Impulslage vorhersagen und dann Taktimpulse mit der Frequenz /o zählen müßte, bis eine Zahl erreicht ist, die dicht an der für die verhergesagte Position vorhergesagten Zahl liegt. Dann würde ein Daten- oder Steuersuchabschnitt geöffnet, um einen an dieser Stelle auftretenden Impuls zuzulassen, während weiter gezählt wird. Das ist mühsam.
Eine weniger kostspielige und einfachere Lösung besteht darin, mehrere Zähler mit unterschiedlichen Geschwindigkeiten so zu betreiben, daß an jeder angenommenen Impulsposition ein Zähler die Zahl Ny erreicht hat, die durch Zählen der Impulse mit der Frequenz ig für ein Zeitintervall 7}erreicht würde, wobei Tj gleich dem Referenzintervall ist Dadurch wird eine Vorbewertung der Intervalle erreicht, die zwischen Impulsen vom Fühler 2 auf dem ΛΓ-Kanal auftreten. F i g. 11 zeigt die Prinzipien.
In Fig. 11 ist ein beliebiger Streifencode mit einem kleinsten Obergangsintervall 5 und einem P-Wert von 1 gezeigt, dh, es gibt ein Intervall mit einer anderen Breite als der kleinsten Breite. Das kleinste Intervall zwischen zwei gleichen Impulsen ist die F i g. 11 gleich
Tj, also 2 S (oder 7o), wie oben beschrieben wurde, und die Breite des nächsten davon verschiedenen Intervailes ist S+yS. Die resultierenden Kombinationen von 5 und ys sind in den drei obersten Linien der F i g. 11 gezeigt und das Ergebnis in der Pulspositionslage an drei verschiedenen Stellen, die durch die Suchtore um die Indexpositionen /=1, /=2 und /=3 isoliert werden können, sind in Linie c/der F i g. 11 gezeigt. Die abgelaufenen Zeiten vom ersten Startimpuls bis
ίο zu den Lagen eines möglichen gültigen Impulses sind bezeichnet 7/_i, T,-2 und 7}_3. In der Linie e der F i g. 11 ist eine Reihe beliebiger Frequenzimpulse gezeigt, die mit einer Taktrate k auftreten, wobei eine bestimmte Anzahl von Impulsen Nj innerhalb einer Länge eines Zeitintervalles T1 erfaßt wird, das gleich ist dem Referenzintervall.
Das Referenzintervall 7} braucht keine bestimmte Beziehung zu den anderen Intervallen im Code zu haben, es ist jedoch bequemer, ein Referenzintervall 7} zu wählen, das gleich ist einer der möglichen gültigen Erscheinungen innerhalb des Codesystems. Nj sollte nach Möglichkeit 100 oder mehr Impulse betragen, so daß die Auflösung der Lage eines auftretenden Impulses im Referenzintervall Tj ein Teil von 100 oder kleiner ist.
Die Anzahl von Impulsen Nj kann definiert werden als die Frequenz einer Referenz f, multipliziert mit dem Referenzintervall Tj
Andere Frequenzen sollen ebenfalls für das mögliche Auftreten in den Intervallen Ty gewählt werden, wobei i, y'=l, 2, 3 ist, so daß bei Auftreten eines Impulses an seinen gültigen Lagen eine Zahl gleich Ny durch einen Zähler erzeugt wird, der mit einer Frequenz /Ί, h, h zählt, bis eine Impulserscheinung festgestellt wurde. Die Frequenz /ist natürlich niedriger als die Frequenz fu da das Zeitintervall 7} länger ist
Die Zähler 3, 4 und 5 in Fig. 1OA zählen nur jeden vierten, sechsten oder achten Impuls, und so kann die Kapazität der Zähler und auch der ganzen anderen Logikschaltung kleiner sein als sie zum Zählen bei der Frequenz /b erforderlich wäre. Da die Zähler außerdem in »bewerteten Raten« zählen und man dieselbe Zahl von Zählimpulsen Ny erhält wenn die möglichen Impulslagen erreicht werden, ist der Inhalt jedes Zählers 3, 4 oder 5 ein Maß eines Intervalles Tn ausgedrückt in
Alphaeinheiten.
Eine Geschwindigkeitskorrektur erster Ordnung ist somit in das in den F i g. 10A— IOC beschriebene System eingebaut da der Inhalt der Zähler kontinuierlich eine bewertete Darstellung der tatsächlichen Längen eines
so auftretenden Intervalles überwacht Die Benutzung des Inhaltes des entsprechenden Zählers nach der Pulsposition, in der ein Puls tatsächlich gefunden wird, führt zu einer bewerteten Messung von Tn ausgedrückt in Alphaeinheiten, zur Verwendung in einer Vorhersage der nächstfolgenden drei möglichen Pulslagen. Die Schaltung in Fi g. 10A—C benutzt solch ein Verfahren. Aus den Fig. 10A—C ist zu entnehmen, daß der Taktgenerator 1 Ausgangsimpulse mit einer Frequenz
/o,
/o
/o
und
Jl
für eine Decodierschaltung für zwei Streifenbreiten erzeugt Diese Ausgangsfrequenzen wurden gewählt weil sie zur Erzeugung von Impulsen an jeder Position gewählt werden, die eine Alphaeinheit definiert, und mit einer Frequenz, daß die Zahl Ny in einem der Zähler in jeder möglichen Pulsposition erreicht wird. Der
Bequemlichkeit halber wurde γ in F i g. 10 mit dem Wert 1 gewählt. Die Ausgangsfrequenzen können allgemein definiert werden mit
■ o,
wobei a = — ist.
4
Die von den verschiedenen Ausgängen im Taktgenerator 1 kommenden Impulse stellen daher Impulse dar, die in Schritten von einer Alphaeinheit eines gegebenen Intervalles Tn auftreten. Diese Alphaeinheiten werden in separaten Zählern 3, 4 und 5 gezählt, deren Eingänge durch die UND-Glieder 6, 7 bzw. 8 gesteuert werden, und diese werden wiederum durch ein Startsignal gesteuert. Die Zahl in jedem der Zähler 3,4 oder 5 ist zu einem gegebenen Zettpunkt gleich einem Faktor der Grundfrequenz, die nach dem Maßstabfaktor R gemäß der Darstellung neben dem Taktgeber 1 in Relation gesetzt oder bewertet wurde.
Beim Auftreten der ersten möglichen Pulsposition ist die im Zähler 3 enthaltene Zahl gleich einer Alphaeinheit, die gebraucht wird, um ein Längenintervall Tn exakt zu messen. Die Zahlen in den Zählern 4 und 5 sind kleiner, da diese Zähler niedrigere Taktfrequenzen zählen. Wenn ein konstantes Referenzmaß benutzt und nicht mit der Geschwindigkeitskorrektur erster Ordnung bearbeitet werden soll, werden die Zähler 4 und 5 nicht gebraucht, und Zähler 3 würde T1 enthalten, d. h. die feste Referenzzeit. Wenn die nächste mögliche Pulsposition erreicht ist, hat der Zähler 4 dieselbe Zahl Nj erreicht das Abstandsintervall Tn ist jedoch gleich dem zweiten möglichen Intervall definiert mit y'= 2 usw. für nachfolgende mögliche Impulspositionen.
Zum Start des in F i g. 1OA gezeigten Ausführungsbeispieles muß ein Streifencode mit einem Vorlaufzeichen verarbeitet werden, das in sich zwischen zwei gleichen Impulsen ein Referenzzeitintervall enthält. Wenn andererseits mit einer festen Referenz gearbeitet wird, muß der erste Impuls im Strom abgefühlt werden. Für ein Vorlaufsystem erfolgt das durch Schreiben eines Vorlaufzeichens an den Anfang einer jeden zu verarbeitenden Codereihe. Wenn dann der erste Impuls von der Codereihe auftritt (welches der Anfang des Vorlaufzeichens ist), kann die Vorlaufleitverriegelung 9 wie dargestellt erregt werden und das Startsignal kann gegeben werden.
Die Zähler 3, 4 und 5 beginnen somit bei verschiedenen Taktfrequenzen in Alphaeinheiten zu zählen und messen das Vorlaufzeichenintervall genau ab. Wenn der dem Ende des Vorlaufzeichens entsprechende Impuis auftritt, d.h. der impuls mit derselben Polarität der das Vorlaufzeichen anfängt wird der X-Impuls an verschiedene Punkte angelegt.
Der A--ImPIiIs geht zuerst über eine Verzögerungseinheit 10 und erzeugt das Rückstellsignal R3, das die Vorlaufleitverriegelung 9 zurückstellt und die Messung des Vorlaufzeichenintervalles nach der durch die Verzögenmgseinheit 10 erzeugten Verzögerung been det Die in einem der Zähler 3,4 oder 5 enthaltene Zahl wird über das UND-Glied 11,12 bzw. 13 ausgegeben, als erstes Referenzintervall aus dem VorlaufzeichenintervaD.
Die Auswahl, welcher Zählerinhalt als ReferenzintervaD zu benutzen ist wird bestimmt durch das Vorlaufzeichen oder die feste Referenz. Die Auswahl ist beliebig. In Fig. 1OA wird eine Referenz aus zwei Zeitabschnitten, oder ein Mindestübergangsintervall T0, gewählt durch das ODER-Glied 14, das durch die Vorlaufleitverriegelung 9 gesteuert wird. Das UND-Glied 11 wird daher betätigt und der Inhalt des Zählers 3
r) auf N-Leitungen parallel durch das ODER-Glied 15 in das Register 16 ausgegeben, das vorher leer war. Die jetzt im Register 16 stehende Zahl ist in Alphaeinheiten ausgedrückt und stellt die Länge des Vorlaufsymbolintervalles dar. Das Register 16 hält die Zahl, bis ein
ίο Rückstellsignal R angelegt wird.
Beim Auftreten des nächsten Impulses mit der Frequenz /o wird der Inhalt des Registers 16 ausgegeben durch die UND-Glieder 17 auf N-Leitungen parallel an einen Zähler 18. Der Zähler 18 zählt seinen Inhalt mit der Frequenz k herunter. Er wird gesteuert durch das UND-Glied 19, das durch den Taktimpuls, Startsignal und den vom inverter 2ί invertierten Ausgang vom UND-Glied 20 beeinflußt wird.
Die Taktfrequenz ist wenigstens viermal höher als die Anfangszählfrequenz im Zähler 3 und daher wird der Inhalt des Zählers 18 auf 0 heruntergezählt genau in der Zeit, die als eine Alphaeinheit definiert ist. In diesem Fall
ist es T0 ■ — für den Fall, wo y= 1 ist. Wenn der Zähler 4
18 auf eine Eins in der wertniedersten Bitposition heruntergezählt wurde, wird das UND-Glied 22 aktiviert, um einen Schiebeimpuls an das Schieberegister 23 anzulegen, das am Anfang mit einer Null in der ersten Zelle gesetzt wurde. Diese Null wird in die nächste Zelle verschoben als Anzeige dafür, daß eine Alpha-Zeiteinheit nach dem Ende des Vorlaufzeichens abgelaufen ist.
Wenn der Zähler 18 einen Inhalt aus lauter Nullen erreicht hat, wird das UND-Glied 20 aktiviert und schaltet über den Inverter 21 das UND-Glied 19 ab, um das Abwärtszählen zu beenden. Ein zweiter Inverter 24 kehrt den niedrigen Signalpegel wieder in einen hohen um und schaltet das UND-Glied 17 wieder ein, um die im Register 16 enthaltene Zahl an den Zähler 18 anzulegen, woraufhin im Zähler 18 ein von Null verschiedener Inhalt erscheint, das UND-Glied 20 abschaltet und das Abwärtszählen wieder beginnt Der Inhalt des Zählers 18 wird wieder heruntergezählt und wenn eine Eins erreicht ist wird das UND-Glied 22 wieder betätigt um einen weiteren Schiebeimpuls an das Schieberegister 23 anzulegen und anzuzeigen, daß zwei Alpha-Zeiteinheiten seit dem Ende des Vorlaufintervalles verstrichen sind.
Der Prozeß läuft weiter wie beschrieben, bis ein drittes Alpha-Zeitintervall über dem Vorlaufintervali abgelaufen ist. Zu diesem Zeitpunkt wird eine Ausgabe von der dritten Zelle im Schieberegister 23 erzeugt zur Betätigung des Haltekreises 25. Dieser erzeugt ein Ausgangssignal unter der Bezeichnung 5Gi-
Dies ist der Anfang des ersten Suchtores, das um die aus zwei Zeitabschnitten bestehende Position (gleich To) herum oder bei der Ausschnittposition des kleinsten Intervalles oder Segmentes auftritt. Dieses Signal wird über das ODER-Glied 14 in diesem Fall an das UND-Glied 11 angelegt um den jeweiligen Inhalt im Zähler 3 zu leiten. Diese Zahl wird zum Füllen des Registers 16 über das ODER-Glied 15 mit einer neuen Zahl benutzt die die Länge, ausgedrückt in Alphaeinheiten, des tatsächlich zu diesem Zeitpunkt verstrichenen Intervalles darstellt wenn ein weiteres X-Signal erzeugt wird, das anzeigt daß ein Impuls derselben Obergangs polarität innerhalb des Ausschnittes aufgetreten ist Das ist zu ersehen aus der Steuerung des X-Sigaaleinganges
zum UND-Glied 11, in diesem Fall und aus der Tatsache, daß die übrigen UND-Glieder 12 und 13 nicht betätigt sind, da die Suchtore 2 und 3 noch nicht aktiviert wurden.
Tritt kein A"-Impuls auf, so läuft der Betrieb weiter, und das Schieberegister 23 wird um weitere Positionen verschoben, bis das fünfte Alpha-Einheitenintervall auftritt Dann wird eine Ausgabe auf der Leitung 26 erzeugt, um den Haltekreis 25 abzuschalten und den Haltekreis 27 einzuschalten und den zweiten Suchtorausschnitt oder das Segmentsignal anzuheben. Dieses wird an das UND-Glied 12 angelegt, damit bei Auftreten eines ^-Impulses während dieses Segmentes oder Suchtorausschnittes die Ausgabe des Zählers 4 über das ODER-Glied 15 an das Register 16 angelegt wird als gewichtetes Maß des Intervalles, wenn der Impuls in der zweiten möglichen Position erschien. Nimmt man an, daß so ein Impuls nicht erscheint, so läuft der Zähler 18 weiter wie vorher, und das Schieberegister 23 wird weiter verschoben, bis die siebte Alphaeinheit auftritt
Beim Auftreten der siebten Alphaeinheit erscheint eine Ausgabe auf der Leitung 28, die den Haltekreis 27 abschaltet und den Haltekreis 29 einschaltet und das dritte Suchtorsegment oder den Ausschnitt anhebt Die Ausgabe des dritten Suchtorausschnittes wird an das UND-Tor 13 angelegt, damit bei Auftreten eines AT-Impulses in der bei einem Code mit zwei Breiten letzten möglichen Stelle die Zahl im Zähler 5 über das ODER-Glied 15 an das Register 16 als Maß des aufgetretenen Intervalles in Alphaeinheiten angelegt wird.
Wenn in der zwischen der Anzeige der siebten Alphaeinheit und dem Ende der neunten Alphaeinheit verstrichenen Zeit kein ^-Impuls abgefühlt wurde, wie es im Schieberegister 23 angezeigt ist, dann ist ein Fehler aufgetreten. Am Ende der neunten Alphaeinheit im Register 23 wird der Haltekreis 29 abgeschaltet, und wenn das Schieberegister 23 kufen gelassen wird, weil keine Impulse innerhalb der Suchtore gefunden wurden, wird schließlich die Zelle 10 des Schieberegisters aktiviert und angezeigt, daß eine zehnte Alphaeinheit verstrichen ist Dann werden ein Fehlersignal und ein Rückstellsignal R\ erzeugt
Im allgemeinen tritt jedoch irgendwo innerhalb der drei Suchtore ein ΛΤ-Impuls auf, und einer der Inhalte der Zähler 3, 4 oder 5 wird in das Register 16 ausgegeben. Durch Verzerrung oder leichte Beschleunigungen braucht natürlich das echte X-Signal nicht genau zu dem durch die Gleichung für 7} festgelegten Zeitpunkt aufzutreten. Der Impuls tritt jedoch im allgemeinen innerhalb seines Segmentes oder Ausschnittes 5Gi, SGi, SGs usw. auf. Die Anzahl von Alphaeinheiten, die bis zum Impuls verstrichen sind, ist daher ein relatives Maß für die Länge des aufgetretenen Intervalles und kann als neue Referenzlänge zur Vorhersage neuer Impulsstellen für das nächste Intervall dienen. Da die Zähler mit unterschiedliche« Raten zählen, die entsprechend den möglichen Impulslagen gewichtet sind, steht eine vorgewichtete Zahl zum echten Erscheinungszeitpunkt des Impulses in jedem Zähler. Die Ausgabe des betreffenden Zählers wird durch das während der Erscheinungszeit des Impulses aktivierte Suchtor oder Segment gesteuert und wird daher als entsprechend gewichtete Zahl, verlängert oder verkürzt nach der tatsächlichen Erscheinungszeit des Impulses innerhalb eines Suchabschnittes zur Vorhersage der nächsten drei möglichen gültigen Stellen der nächsten Impulspositionen verwendet.
Aus Fig. 10 ist zu ersehen, daß durch jeden Rückstellimpuls Ru R2 oder A3 die Zähler 3, 4 und 5 sowie das Schieberegister 23 zurückgestellt werden, so
s daß eine neue Operation beginnen kann. Ri ist das Fehlersignal und A3 ist das verzögerte Eingangssignal vom Auftreten eines yf-Impulses, das die Zähler wieder zum Zählen und das Schiegeregister zum neuen Beginn nach jedem Auftreten eines Λ-Impulses veranlaßt, wobei es keine Rolle spielt, ob dieser nun im Datenstrom oder im Vorlaufzeichen liegt
Durch das Auftreten eines ^-Impulses wird auch ein Teil eines jeden UND-Gliedes 30, 31 und 32 aktiviert, wenn die Haltekreise 25,27 oder 29 zu diesem Zeitpunkt aktiviert sind. Ein Ausgangsimpuls für das Erscheinen eines X-Impulses innerhalb des bezeichneten Suchtores wird erzeugt am Ende eines Zeitabschnittes 2,3 oder 4 für einen Code, in dem γ= 1 ist Durch das ODER-Glied 33 wird auch das Rückstellsignal Ä2 erzeugt
Die am rechten Rand der Fig. IOC erzeugten Ausgänge 2, 3 und 4 zeigen an, daß ein A'-Impuls (ein DPI), mit Daten identifiziert gefunden wurde für einen Code, in dem y=l ist, so daß Impulse am Ende des Zeitabschnittes 2, 3 oder 4 erscheinen. Ein identischer Kreis wird benutzt für die ^-Impulse, die vom Fühlerverstärker 2 kommen. Die V-Impulse sind identifiziert als Steuersignale (CPI) und werden wie nachfolgend beschrieben in Verbindung mit den ,f-Signalen benutzt. Im Augenblick ist die Feststellung wichtig, daß die Schaltung, die speziell in bezug auf die verwendeten Frequenzen und die Ausgänge mit den Bezeichnungen 2, 3 und 4 dargestellt ist, für einen allgemeinen Code benutzt werden kann, in dem γ mit 1 gewählt ist, und daher die Ausgänge an den Zeitabschnitten 2 S, 3 S oder 4 5 auftreten. Die gezeigte Schaltung arbeitet natürlich genauso für jeden anderen Wert von γ.
Dieselbe Art von Ausgängen, die einen Steuerimpuls auf dem y-Kanal bezeichnen, der in seinen Zeitabschnittspositionen 2,3, oder 4 erscheint, wird durch eine der in den F i g. 10A—C gezeigten Schaltung identische Schaltung erzeugt, die die K-Ausgabe vom Fühler 2 verarbeitet Eine Modifikation des Systems ist für Geschwindigkeitskorrekturen zweiter Ordnung gezeigt Diese ist in den gestrichelten Linien in den F i g. 1OA und 1OB durch die Recheneinheit 60 dargestellt. Diese Einheit erzeugt einen Multiplikationsfaktor für den Wert T„-\(j.y), der in Tabelle I wie folgt wiedergegeben ist:
1-/4
Die Ausgabe des ODER-Gliedes 15 wird an die Einheit 60 und von dort an das Register 16 gesendet, wo die den Wert T„-\(jV) darstellende, in der zweiten Ordnung geschwindigkeitskorrigierte Zahl gespeichert wird zum Abwärtszählen der Taktierung der Alpha-Einheitensuchsegmente.
In Fig. 13A ist eine Decodierlogik gezeigt, mit dei der Dateninhalt aus dem Signalstrom gewonnen wird Die Ausgänge von den entsprechenden X- unc Y-Kreisen 10 in den F i g. 10A—C werden an die Punkte 2,3 und 4 für die Datenimpulsintervalle (abgekürzt DPI' b5 und 2, 3, und 4 für die Steuerpulsintervalle (abgekürzt CPI) angelegt. Diese Steuer- und Datenimpulseingänge werden an eine Serie von Steuerhaltekreisen unc UND-Gliedern angelegt, die in äquivalenter logischei
Form die reduziert in Fig. 13B gezeigte Decodiermatrix enthalten. Die Decodiermatrix identifiziert Daten nach einem S2S-Code (Code mit einer und zwei Breiten), ein Codetyp, der aufgebaut wird, wenn y=l gewählt wird.
Wie schon früher ausgeführt wurde, herrschen gewisse Zweideutigkeiten in der Matrix über den Dateninhalt, wenn man Decodiersignale CPI=3 und DPI=3 empfängt Die Zweideutigkeit wird aufgelöst, indem man einen /!-Zustand wählt, sobald man ein Signal CPI2, DPI 3 oder CPI3, DPI 4 erhält und indem man einen S-Zustand wählt, sobald man den Signalsatz CPI 4, DPI 3 oder CPI 3, DPI 2 erhält Wenn man dann den Signalsatz CPI3, DPI 3 erhält, wird der Inhalt decodiert abhängig davon, ob im System dann der /4-Zustand oder der B-Zustand gehalten wird. Der Haltekreis 34 liefert diese Funktion und erzeugt den A-Ausgang oder den B-Ausgang. In Fig. 13A wird folgende Operation ausgeführt:
Die UND-Glieder 35 werden durch gleichzeitige DPI-Impulse und CPI-Impulse entsprechend den in Fig. Ί3Β gezeigten Matrixwerten gesteuert Die UND-Glieder 35 sind mit der Steuerimpulsbezeichnung und der Datenimpulsbezeichnung versehen. Mit der Ausgabe der UND-Glieder 35, die über die ODER-Glieder 38 geführt wird, werden Null- und Eins-Bitkombinationen erzeugt, die an die Pufferstufen eines Ausgaberegisters 43 angelegt werden. Der Inhalt des Ausgaberegisters 43 wird durch einen Doppel-Schiebeimpulsgenerator 40 zweimal verschoben, und dieser erhält durch das ODER-Glied 39 ein 2-, 3- oder 4-Signal vom Steuerimpulsintervall gespeist um die letzten beiden Bits der gelesenen Daten auszuschieben.
Die Steuerimpulse werden an Haltekreise 36 angelegt, die die Betätigung von UND-Gliedgruppen 35 abhängig davon steuern, ob ein Steuerimpulsintervall 2, 3 oder 4 abgefühlt wurde. Die Haltekreise 36 werden über die ODER-Glieder 37 durch das Auftreten eines Impulses abgeschaltet, der nicht das jeweilige Tor aktivieren soll.
Die aus dem Auftreten eines 3,3-Steuerimpuls-Datenimpulsintervalles resultierende Zweideutigkeit wird dadurch verarbeitet, daß man am Anfang den Haltekreis 34 auf die B-Ausgangsbedingung setzt, so daß beim ersten Auftreten eines 3,3-Intervallsignals der B-Ausgang das jeweilige UND-Glied 35 betätigt, das den B-Eingang hat Die entsprechende Decodierung erfolgt gemäß der Matrixtabelle. Wenn jedoch eine Steuerimpuls-Datenimpuls-Intervallfolge 3, 4 oder 2, 3 auftreten sollte, wird der Haltekreis 34 auf den /4-Ausgabezustand geschaltet. Wenn eine Steuerimpuls-Datenimpuls-Intervallfoige 3, 2 oder 4, 3 auftreten sollte, wird der Kreis 34 auf den B- Ausgabezustand geschaltet.
In Fig. 15 ist eine weitere Fehlererkennungsschaltung gezeigt, die so arbeitet, daß bei Empfang eines Impulses auf dem Datenkanal oder dem Steuerkanal und Fehlen eines entsprechenden Datenimpuls- oder Steuerimpuls-Suchtorintervalles die UND-Glieder 48 bzw. 49 durch das ODER-Glied 50 durchgeschaltet werden und das Fehlerausgangssignal erzeugt wird, das in der Verzögerungseinheit 51 etwas verzögert wird, um ein Rückstellsignal R für das System zu erzeugen. Die Schaltung arbeitet durch Invertieren des Signales in einem Inverter 46 oder 47 für das betreffende Datenimpulsintervall oder die Steuerimpulsintervallanzeige, die über das ODER-Glied 44 bzw. 45 angelegt wird. Wenn ein Datenimpulsintervall oder ein Steuerimpulsintervall nicht angezeigt werden und ein A"-Signal oder ein !^Signal auftritt, wird dadurch ein Fehler signalisiert Wenn in der Zeit, in der ein Datenimpulsintervall vorliegt, kein X-Signal auftritt, wird auch das Fehlersignal vom Ausgang der Zelle 10 des Schieberegisters23inFig. 10erzeugt
Wie bereits früher ausgeführt wurde, können die verschiedenen Segmente zeitlich auf das letzte Auftreten eines Datenimpulses oder eines Steuerimpulses bezogen gesucht werden. Dadurch wird jedoch eine
ίο Empfindlichkeit gegenüber einer Streuungsverzerrung eingeführt, wenn ein Störimpuls auftritt Das vorgezogene Ausführungsbeispiel, dargestellt in den Fig. 1OA—C benutzt separate Suchabschnittsegmente, die zeitlich vom letzten Auftreten eines Impulses gleicher Polarität entfernt sind, dh, wenn Impulse beispielsweise positiv verlaufen, werden Suchabschnitte für den nächsten positiv verlaufenden Datenimpuls relativ zu dem letzten positiven Impuls gesetzt Wenn in ähnlicher Weise Steuerimpulse negativ verlaufen, werden die zeitlich relativ zu dem letzten Auftreten eines negativ verlaufenden Impulses gesetzt
Eine ganze Schaltung zur Verarbeitung negativ verlaufender Steuerimpulse, die mit der für die positiv verlaufenden Impulse in den Fig. 1OA-IOC gezeigten Schaltung identisch ist, wurde im Ausführungsbeispiel als erforderlich erwähnt, jedoch nicht dargestellt daß sie mit der gezeigten Schaltung identisch ist. Es kann ein System gebaut werden, das die Suchsegmente zeitlich relativ zum letzten Auftreten entweder eines Datenim pulses oder eines Steuerimpulses setzi, und es wird ein Beispiel für ein System gegeben, das die Suchsegmente zeitlich nur auf den letzten Datenimpuls bezieht
Auf diese Weise lassen sich beträchtliche Ersparnisse in der Logik- und anderen Schaltung realisieren, da die gesamte Verarbeitungsschaltung für die Taktierung separater Suchsegmente für den Steuerausschnitt wegfallen kann, die im wesentlichen eine Duplizierung der gesamten Schaltung in den Fig. 10A—C für das Steuerimpulssystem ist
In Fig. 17 ist das Verfahren graphisch dargestellt Wenn die oberste Linie einer Reihe beliebiger Codestreifen mit einer Mindestbreite S und einer allgemeinen Breite 5+ PyS ist, dann handelt es sich hier um einen Code mit zwei Breiten, und P und γ können nach Bedarf spezifiziert werden. Weiterhin sollen willkürlich die positiv verlaufenden Signalvorderkanten als Datensignale und die negativ verlaufenden Signalhinterkanten als Steuersignale bezeichnet werden. Die Datensignale können ferner als X-Impulse und die
so Steuersignale als V-Impulse definiert werden.
Die zweite Zeile der Fi g. 17 zeigt den Fühlerausgang in Form schmaler Impulse im X-Kanal und V-Kanal. Zeitlich unter die Fühlerausgangslinie in F i g. 17 ist eine Reihe von Suchsegmenten gelegt, die an Punkten erzeugt werden, die vom letzten Auftreten eines A"-Impulses gemessen sind. Die Abschnitte haben eine Gesamtbreite von 2*Tn, wie oben beschrieben. Tn ist das letzte Intervall zwischen zwei Impulsen gleicher Polarität, in diesem Fall zwischen zwei ^-Impulsen. Die allgemeine Formel zum Legen der Suchausschnitte ist in Tabelle 1 ausgeführt, und es kann keine Geschwindigkeilskorrektur, eine Geschwindi6Aeitskorrektur erster Ordnung oder eine Geschwindigkeitskorrektur zweiter Ordnung vorgenommen werden.
μ Für den gezeigten Code kann P definiert werden gleich 1, so daß zwei verschiedene Breiten beim Aufbau des Codes verwendet werden, γ einen vorgeschriebenen Wert haben, in diesem Fall wurde der Einfachheit halber
y=l gewählt Die verschiedenen möglichen Lagen gültiger Impulse zeitlich hinter dem letzten Auftreten eines ^-Impulses können zur Erzeugung der Suchsegmentausschnitte für die erste Suche in der Zeile benutzt werden, die unter der Fühlerausgabelinie in Fig. 17 folgt
Aus dem ersten Satz von Suchausschnitten ist klar zu sehen, daß die Lage gültiger Datenimpulse im zweiten, dritten oder vierten Abschnitt, jedoch nicht im ersten Abschnitt, zu finden ist Das ist auch aus der Feststellung zu verstehen, daß 2 P+1 mögliche gültige Lagen für Steuer- oder Datenimpulse existieren. Ein Steuerimpuls kann im ersten Ausschnitt auftreten, der als Indexlage /=0 in den allgemeinen Formeln der Tabelle I bezeichnet ist Ein Steuerimpuls kann vor der ersten möglichen Lage auftreten, in der ein Datenimpuls auftreten kann, weil Steuer- und Datenimpulse im Verhältnis 1 :1 verschachtelt sind, und nach dem letzten Auftreten eines Datenimpulses muß der erste Impuls, der auftritt, wieder ein Steuerimpuls ein.
Daraus folgt, daß insgesamt 2 P+2 Suchsegmente existieren, in die Daten- und Steuerimpulse fallen müssen. Alle Segmente mit einer Indexzahl kleber gleich P enthalten nur Steuerimpulse, d. h., das erste mögliche Suchsegment an der Position /=0 und alle folgenden Segmente bis zu einem Segment, dessen Indexzahl kleiner oder gleich Pist, können nur mögliche gültige Steuerimpulse enthalten, da die Lage des ersten möglichen gültigen Datenimpulses nur an einer Position /= 1 oder höher für einen Code liegen kann, in dem P= 1 oder größer ist
Für das Segment mit der Indexzahl P+\ können entweder Steuerimpulse oder Datenimpulse auftreten, aber nicht beide. Alle Intervalle mit einer Indexzahl größer als P+1 und kleiner als der Höchstwert 2 P+2 sind mögliche Lagen nur für Datenimpulse. Wenn ein Impuls an der Indexsielle P+l und kleiner in einem Intervall an einer Position größer als P+l gefunden wird, muß es sich bei dem an der Stelle P+1 gefundenen Impuls um einen Datenimpuls handeln, und daher muß der Steuerimpuls in einem früheren Intervall aufgetreten sein, das kleiner oder höchstens gleich Pist Wenn in einem früheren Intervall kein Impuls auftrat, wurde kein Steuerimpuls gefunden, und es muß ein Fehler vorliegen. Die mögliche Zweideutigkeit, die darin liegt, daß an einer Stelle mit einer Indexzahl gleich P+l entweder ein Datenimpuls oder ein Steuerimpuls auftreten kann, stellt kein Problem dar, da bekannt ist, daß sowohl ein Steuerimpuls als auch ein Datenimpuls nicht in demselben Segment auftreten können und daß Steuerimpulse zeitlich vor den Datenimpulsen kommen müssen, wenn die Ausschnitte relativ zum letzten Datenimpuls gelegt werden.
Wenn einmal ein Steuerimpuls und ein Datenimpuls gefunden wurden, werden weitere Suchsegmente eliminiert, und die nächste Suche wird angefangen, basierend auf neuen Voraussagen von dem letzten oder gerade abgefühlten Datenimpuls. Die zwischen dem letzten Segment in der Suche 1 und dem ersten Segment in der Suche 2 in Fig. 17 dargestellte Überlappung tritt also in der Praxis des Systems nicht auf.
In Fig. 17 sind in die verschiedenen Suchsegmente kleine Zahlen zur Bezeichnung der Segmente geschrieben, an denen Daten- und Steuerimpulse abgefühlt werden. In der Suchzeile 1 beispielsweise findet sich ein Steuerimpuls im zweiten Segment und ein Datenimpuls im dritten Segment. In der Suchzeile 2 findet sich ein Steuerimpuls im ersten Segment und ein Datenimpuls im dritten Segment usw.
In den Fi g. 18A bis 18E sind verschiedene Decodiermatrizen für die verschiedenen Codeschemata gezeigt, die mit dem in Fig. 17 gezeigten Verfahren decodiert werden können. Die Decodiermatrize in Fig. 18A gilt für den F2F-Code. Es gibt zwei Matrizen, da bei den Intervallen 1-3 CPI-DPI und 2-3 CPI-DPI für den F2F-Code eine Entscheidung getroffen werden muß, ob für das Intervall 1-3 CPI-DPI eine 1,0-Datenausgabe
ίο oder für das Intervall 2-3 CPI-DPI eine 0,1-Ausgabe dargestellt werden soll. Die Entscheidung ist frei, die entsprechende Matrixzahl 1 oder 2 in Fig. 18A oder 18B wurde jedoch so in die Decodierlogik eingebaut wie es in F i g. 13 A gezeigt ist
In F i g. 18C ist die Decodiermatrix für den S2S-Code gezeigt, worin S als die Breite eines Abschnittes definiert ist der geschrieben ist, um eine digitale Eins auszudrücken und 25 ist die Breite eines Streifens oder Abstandes, der geschrieben ist, um eine digitale Null auszudrücken.
F i g. 18D zeigt die Decodiermatrix für einen Deltadistanzcode, in dem bei Auffinden der gleichen Streifenoder Abstandslänge wie der jeweils vorhergehenden eine Eins decodiert wird und bei verschiedener Abst&ndslänge eine Null. Wegen dieser Charakteristik des Deltadistanzcodes existiert eine Zweideutigkeit für jede mögliche Pulsintervallage. Die Wortmatrix zeigt an, daß ein A-Ausgabezustand oder ein ß-Ausgabezustand für jede der möglichen CPI-DPI-Intervallsequenzen gewählt wird, in der Daten- und Steuerimpulse auftreten können. In jedem Kasten, zu dem Datenbits in der Matrix gehören, ist auch eine Befehlsfunktion eingeschlossen, die einen bestimmten Befehl zum Setzen eines Haltekreises gibt, die die Ausgabe der jeweiligen Möglichkeit steuert.
Bei Beginn der Decodierung mit den in der Matrix der Fig. 18C gegebenen Werten wird mit dem Zustand A begonnen. Ein bestimmter Wert, wie beispielsweise 2-3 CPI-DPI würde daher einen Digitalwert 00 ausgeben und eine Befehlsfunktion schaffen, die rechts von 00 im entsprechenden Kasten gezeigt ist, um die nächste Ausgabe als ß-Zustand zu veranlassen. Wenn das nächste aufgetretene Intervall das Intervall 1-3 CPI-DPI ist, würde in diesem Fall eine 0-0-Ausgabe für den ß-Zustand im entsprechenden Kasten an die Register gesendet werden und außerdem ein Ä-Zustandsanzeigebefehl erzeugt. Die Schaltung ist im wesentlichen ähnlich der in Fig. 13A gezeigten, wobei kleinere Änderungen eingebaut sind, um vom Zustand A in den
so Zustand B hin- und herzuschalten, wie es in Fig. 13A geschah.
Die Matrizen in den Fig. 18A—D bestehen nur aus einer zweimal-drei-Matrix und nicht aus einer drei-maldrei-Matrix wie in den Fig.2A —E. Die in Fig. 16 gezeigte Schaltung, die die Matrizen für die Decodieroperation enthält, ist nicht so ausgedehnt, da sie nur sechs anstelle von neun möglichen Ausgabecodekombinationen umfaßt Noch größere Ersparnisse ergeben sich zwangsläufig in einem System zur Decodierung des in Fig. 18E gezeigten Codes, da zwischen den Zellengrenzen nur ein Impuls decodiert zu werden braucht
F i g. 18E zeigt die Decodiermatrix dür einen Streifencode 1/3-2/3. Dieser Code ist besonders vorteilhaft für eine Einkanaldecodierung, da die Intervalle für DPI (oder CPI, da der Code geschrieben wird als Abstand+ Streifen und nicht als Streifen + Abstand) immer 3 ist Das ergibt sich aus einem ganz bestimmten
Codeschema, das im allgemeinen optisch gedruckt wird und jede Bitzelle mit einem gedruckten schwarzen Streifen von V3 oder 2Z3 Zellenbreite beginnt Das Gegenteil gilt, wenn jede Zelle mit einem Abstand beginnt Da diese Regel nicht verletzt wird, ist das Intervall von einer Vorderkante zur anderen (DPI) immer drei Breiteneinheiten. Die Decodiermatrix zeigt das und gibt klar an, daß das DPI nicht benutzt werden muß, um solch einen Codesprung zu decodieren (wenn es nicht gerade zur Erkennung von Taktfehlern oder Synchronisationsfehlern verwendet wird). Statt dessen muß man nur das CPI finden, um augenblicklich solch einen Code zu decodieren, Ah, zum Decodieren der Daten braucht man nur die Signale zwischen den Zellengrenzen.
Fig. 16 zeigt denjenigen Teil des Logikdiagrammes, der anstelle der Schaltung in Fig. IOC benutzt wird, wenn man die im Zusammenhang mit F i g. 17 beschriebene Grundtechnik implementieren will. Mit anderen Worten, die in Fi g. 16 gezeigte Schaltung soll diejenige in Fig. 10 ersetzen, wenn Suchsegmente relativ zum letzten Auftreten eines Datenimpulses oder eines Steuerimpulses gesetzt werden sollen. Die zusätzliche Schaltung für die K-Impulse, die für das in Fig. 10 beschriebene System benötigt wird, wird nicht länger gebraucht.
Eine Betriebssteuerung ist in die in Fig. 16 gezeigte Schaltung so eingebaut, daß das System genau wie der Rest des Systems in F i g. IOC arbeitet wenn kein Signal zur Betätigung der Betriebssteuerung anliegt. Das heißt mit anderen Worten, daß die UND-Glieder 50 nicht eingeschaltet werden und keine CPI-Intervallanzeigen gegeben werden, wenn die Betriebsartensteuerung nicht eingeschaltet ist. Wenn die Betriebsartensteuerung eingeschaltet ist, entsteht automatisch die zur Durchführung der in Fig. 17 gezeigten Technik notwendige Schaltung.
Für das Verfahren der Fig. 17 mittels Einstellung der Suchsegmente in Bezug auf das letzte Auftreten des Steuerimpulses brauchten nur die Decodiermatrizen geändert zu werden. Die Decodiermatrizen der F i g. 18A—C werden so geändert, daß die Datenimpulsintervalle der Einheiten 1, 2 oder 3 und die Steuerimpulsintervalle an der Position 3 und 4 erscheinen, der Dateninhalt der Matrizen bliebe jedoch derselbe. Für die Matrix der F i g. 18E ist eine Änderung notwendig, da die Konstante DPI = 3 keine Datenbedeutung hat und zur Decodierung nicht benutzt würde. Das Bedeutet, daß die CPI 2,3,4 einfach unnummeriert würde als 1, 2, da bei Festlegung der Suchsegmente so bezüglich der Zellengrenzen, die infolge ungenauen Druckes streuen, die Datenimpulse zwischen den Grenzen nur im Segment 1 oder 2 auftreten können. Vorzugsweise werden jedoch die Segmente bezüglich des letzten Signalimpulses gleichen Typs gemessen, um eine Empfindlichkeit gegen Drucksteuerung zu vermeiden. Das führt zu möglichen Lageintervallsegmenten mit 2, 3 oder 4 Einheiten, wie sie in Fi g. 18E gezeigt sind.
In den Fig. IOC und 16 ist eine Modifikation zur Du-chführung der Symbolgrenzensuchdecodierung oder der Mittelimpulsdecodierung eines F2F-Codes gezeigt Insbesondere in F i g. 16 kann der Haltekreis 60 die Taktierung der notwendigen Suchsegmente liefern, um den Mittenimpuls einer F2F-3itzclle zu isolieren. Die Haltekreise 25, 27 und 29 und die zugehörige Schaltung werden für ein solches Ausführungsbeispiel nicht benutzt
Der Ausgang des Haltekreises 25 kann jedoch die Taktierung der notwendigen Suchsegmente übernehmen, um die Symbolgrenzimpulse einer F2F-Zelle zu isolieren.
Die Linien A und B stellen Fehlererkennungssignale für den Mittenimpuls und den Symbolgrenzimpuls dar und würden am Ende eines jeden Suchtores auftreten bzw. bei Bedarf benutzt werden.
Das beschriebene Verfahren ist insofern universell, als es jeden bekannten werttaktierenden Streifencode mit mehreren Breiten lesen oder decodieren kann, wobei die Codevorgänge optisch, magnetisch oder elektrisch sein können. Zweitens sind für Gerät und Verfahren keine komplexen Berechnungen zur Durchführung oder komplexe Hardware erforderlich, und das System ist relativ preiswert, schnell und zuverlässig zu bauen und zu betreiben. Ein dritter Vorteil liegt in der vorhersagenden segmentierenden Suchtechnik bei der Erkennung des Codeinhaltes der Kombination der gerade gelesenen Streifen zum Zeitpunkt des Impulsempfanges. Außerdem werden durch diese vorhersagende Suchsegmenttechnik augenblicklich Fehler identifiziert, die durch fehlende oder verlorende Impulse entstehen. Diese Erkennung erfolgt bereits auf der Bitebene. Fünftens braucht das beschriebene System nur ein Minimum an Vorlaufinformation oder Synchronisationsinformation. Gewöhnlich genügen ein oder zwei Bits auch bei größter Geschwindigkeitsabweichung, es kann aber auch eine feste Referenz ohne Vorlaufbits verwendet werden.
Durch die vorhersagende Suchsegmentiertechnik, die den Dateninhalt mittels logischer Operationen oder durch eine Tabellensuche in einer Matrix erkennt, deren Koordinaten die abgefühlten Steuerimpulsintervalle und Datenimpulsintervalle sind, ist schließlich die Lesetechnik selbst vom Code unabhängig und basiert nur auf den empfangenen Streifenbreiten und Impulsabständen. Der Dateninhalt kann aus den Streifenbreiten heraus interpretiert werden, die nach einer beliebigen Definition dessen abgefühlt werden, was innerhalb der logischen Matrix liegt.
Hierzu 15 Blatt Zeichnungen

Claims (4)

Patentansprüche:
1. Verfahren zum Auswerten von selbsttaktierend codierten Signalen, die aus Impulsen und Abständen bestehen, zwischen welchen jeweils erkennbare Übergänge stattfinden, dadurch gekennzeichnet, daß die Zeit nach dem jeweils letzten Obergang in Intervalle unterteilt wird, deren jedes einen möglichen neuen Übergang zeitlich umfaßt, daß die Intervalldauer entsprechend der Frequenz der Signale bemessen wird und daß das Auftreten oder Nichtauftreten eines Übergangs in einem Intervall als binäres Zeichen gewertet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Intervalldauer aufgrund der Zeit zwischen dem letzten und wenigstens einem der früheren Übergänge bemessen wird.
3. Verfahren nach Anspruch I, dadurch gekennzeichnet, daß die Intervalldauer aufgrund einer vorbestimmten Referenzzeit (Tr^ bemessen wird.
4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Bemessung vorgenommen wird nach der Gleichung:
DE2645460A 1975-10-29 1976-10-08 Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen Expired DE2645460C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/626,680 US3978319A (en) 1975-10-29 1975-10-29 Universal self-clocking code reading method and apparatus

Publications (2)

Publication Number Publication Date
DE2645460A1 DE2645460A1 (de) 1977-05-12
DE2645460C2 true DE2645460C2 (de) 1982-06-09

Family

ID=24511381

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2645460A Expired DE2645460C2 (de) 1975-10-29 1976-10-08 Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen

Country Status (7)

Country Link
US (1) US3978319A (de)
JP (1) JPS5282021A (de)
CH (1) CH614080A5 (de)
DE (1) DE2645460C2 (de)
FR (1) FR2330207A1 (de)
GB (1) GB1522895A (de)
IT (1) IT1068107B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4061900A (en) * 1976-04-16 1977-12-06 Data General Corporation Indicia validation system
US4125765A (en) * 1977-06-27 1978-11-14 International Business Machines Corporation Label find method and circuit
JPS5491400A (en) * 1977-12-28 1979-07-19 Omron Tateisi Electronics Co Device for judging pages of bank pass-book
US4260952A (en) * 1979-07-17 1981-04-07 Teletype Corporation Circuit for decoding a diphase signal
US4369516A (en) * 1980-09-15 1983-01-18 Motorola, Inc. Self-clocking data transmission system
FR2545631B1 (fr) * 1983-05-06 1987-07-17 Lewiner Jacques Perfectionnements aux procedes et dispositifs de lecture des cartes magnetiques de controle d'acces ou analogues
JPS6047861A (ja) * 1983-08-26 1985-03-15 Nissan Motor Co Ltd 内燃機関の吸気路加熱装置
JPS6078976U (ja) * 1983-11-04 1985-06-01 ティーディーケイ株式会社 半導体ヒ−タユニツト
JPS60187484U (ja) * 1984-05-22 1985-12-12 ティーディーケイ株式会社 ハニカム加熱器
CA2044404C (en) * 1990-07-31 1998-06-23 Dan S. Bloomberg Self-clocking glyph shape codes
USRE38758E1 (en) * 1990-07-31 2005-07-19 Xerox Corporation Self-clocking glyph shape codes
MY106779A (en) * 1990-09-07 1995-07-31 Mitsubishi Heavy Ind Ltd Magnetic recording method and circuit for toll road ticket.
JP2824323B2 (ja) * 1990-09-07 1998-11-11 三菱重工業株式会社 有料道路通行券の情報読取方法
US6636994B1 (en) * 2000-05-26 2003-10-21 Synthesys Apparatus and method for examining bit values during bit error location measurements
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
US20220301228A1 (en) * 2021-03-19 2022-09-22 Intel Corporation Variable width interleaved coding for graphics processing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL6700438A (de) * 1966-02-21 1967-08-22
US3708748A (en) * 1970-04-27 1973-01-02 Ibm Retrospective pulse modulation and apparatus therefor
US3761685A (en) * 1971-05-24 1973-09-25 Pitney Bowes Alpex Data processing means with printed code
US3723710A (en) * 1971-06-28 1973-03-27 Ibm Method and device for reading and decoding a high density self-clocking bar code
US3811033A (en) * 1971-06-29 1974-05-14 Monarch Marking Systems Inc Coded record interpreting system
JPS5248772B2 (de) * 1971-11-05 1977-12-12
US3784792A (en) * 1972-03-29 1974-01-08 Monarch Marking Systems Inc Coded record and methods of and apparatus for encoding and decoding records
US3882464A (en) * 1974-04-04 1975-05-06 Computer Identics Corp Size ratio label reading system
US3947662A (en) * 1974-12-31 1976-03-30 International Business Machines Corporation Distorted two frequency coded data interpreting method and apparatus

Also Published As

Publication number Publication date
DE2645460A1 (de) 1977-05-12
JPS5282021A (en) 1977-07-08
IT1068107B (it) 1985-03-21
US3978319A (en) 1976-08-31
FR2330207A1 (fr) 1977-05-27
FR2330207B1 (de) 1980-02-22
GB1522895A (en) 1978-08-31
CH614080A5 (de) 1979-10-31
JPS5751142B2 (de) 1982-10-30

Similar Documents

Publication Publication Date Title
DE2645460C2 (de) Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen
DE3687285T2 (de) Verfahren und anordnung zur modifizierung eines lauflaengenbegrenzten codes.
DE3742098C2 (de)
DE2822667C2 (de) Schaltungsanordnung und Verfahren zum Lesen von strichcodierten Daten
DE2228526B2 (de) Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen
DE2231953A1 (de) Verfahren und einrichtung zum auswerten von kodierten aufzeichnungen
DE2616753A1 (de) Verfahren und vorrichtung zum einlesen von strichkodierten informationen
DE2519381B2 (de) Verfahren und Informationsverarbeitungseinrichtung zum Komprimieren von aus mehreren seriell angeordneten Aufzeichnungen bestehender Information
DE2654765B2 (de) Einrichtung zum Dekodieren von Daten, die in einer vorgegebenen Anzahl abwechselnd aufeinanderfolgender Striche und Leerfelder von verschiedenen Breiten kodiert sind
DE1512654C3 (de) Verfahren und Codiereinrichtung zur Codierung grafischer Informationen mit verringerter Redundanz
DE1288144B (de)
DE2146497C3 (de) Segmentierungs-Vorrichtung für optische Zeichenleser
DE1774314B1 (de) Einrichtung zur maschinellen zeichenerkennung
DE2318276A1 (de) Verfahren und vorrichtung zum auswerten von kodierten aufzeichnungen
AT223668B (de) Verfahren und Schaltungsanordnung zur automatischen Erkennung von Schriftzeichen
DE2629590A1 (de) Schaltungsanordnung zur trennung aufeinanderfolgender muster bei der zeichenerkennung
DE3109288A1 (de) Mit einer optischen leseeinrichtung lesbare balkencodeschrift und optische leseeinrichtung hierzu
DE2718490A1 (de) Decodierung von signalwellenzuegen
DE2837862A1 (de) Vorrichtung zum lesen von gedruckten zeichen
DE2534456C2 (de) Lesevorrichtung
DE2461380C3 (de) Lesevorrichtung für codierte Informationen
DE980077C (de) Speicherverfahren und -anordnung fuer magnetomotorische Speicher
DE69303041T2 (de) Schaltung zur Verbesserung des Signalübergangs
DE2355197C2 (de) Schaltungsanordnung für die Erkennung von strichcodierten Zeichen
DE2822573C3 (de) Verfahren zur Decodierung strichcodierter Daten

Legal Events

Date Code Title Description
D2 Grant after examination
8339 Ceased/non-payment of the annual fee