DE2645460A1 - Verfahren und vorrichtung zum auswerten von selbsttaktierend codierten signalen - Google Patents

Verfahren und vorrichtung zum auswerten von selbsttaktierend codierten signalen

Info

Publication number
DE2645460A1
DE2645460A1 DE19762645460 DE2645460A DE2645460A1 DE 2645460 A1 DE2645460 A1 DE 2645460A1 DE 19762645460 DE19762645460 DE 19762645460 DE 2645460 A DE2645460 A DE 2645460A DE 2645460 A1 DE2645460 A1 DE 2645460A1
Authority
DE
Germany
Prior art keywords
interval
data
pulse
code
intervals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19762645460
Other languages
English (en)
Other versions
DE2645460C2 (de
Inventor
Albert Watson 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

Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen
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 abgelesen zum Ableiten von Taktsignalen, der Synchronisationsinformation und der Daten. Eine Lösung für einen spezifischen Streifencode mißt den Abstand von einer Vorderkante
709819/0627
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 Grossen, verglichen mit einer Referenzstrecke oder einem Referenzmass, das in jedem Codezeichen enthalten ist. Ein solches Verfahren ist beispielsweise beschrieben in der US-Patentschrift Nr. 3.723.710. Dafür wird jedoch eine Referenzstrecke oder-e-in 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 muss die ganze Folge von Codeübergängen ungeachtet ihrer Länge abgetastet und gemessen werden, dann muss der Referenzabstand aus der Messgruppe isoliert werden; dann müssen die übrigen Messungen anhand der Referenz in Kategorien unterteilt werden und schliesslich können die Daten entsprechend den entdeckten relativen IVerten decodiert werden. Das Verfahren ist anfällig für Verzerrungen durch Beschleunigung oder andere Frequenzänderungen im Signal-
'709819/0627 "
eingang, so dass insbesondere bei sehr langen Streifen von Datenbits die relativen Grossen der Uebergänge oder Abstände so weit verzerrt werden können, dass Verwechslungen im Vergleich mit der 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 Uebergang fehlt, wird lein Fehlen erst bei der Verarbeitung erkannt. Es tvä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 Datenzellen 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. Rinige dieser Verfahren sind sehr leistungsfähig, jedoch auf einen bestimmten zu decodierenden Code begrenzt. Beispiele hierfür sind beschrieben in den US-Patentschriften Nr. 3.723.710, 3.708~.748 und 3.886.521. Alle diese Verfahren können jedoch nur auf diejenigen Codes angewandt werden, für die sie speziell entwickelt wurden.
709819/0627
26A5A60
(ο
F.inige Codeauswertverfahren benutzen bisher ein Referenzmass, ein Zeichen oder einen Satz von Uebergängen vor jeder separaten Datenbitreihe. Beispiele hierfür finden sich in den US-Patentschriften Nr. 3.711.84 3 oder 3.750.1OS. 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 im"leichmässige Abtastgeschwindigkeiten oder Schwankungen in der Uebertragungsfrequenz entstehen. Die Verzerrungsfehler durch Beschleunigung können bei der Handabtastung beispielsweise so gross werden, dass die Breite oder der Abstand zwischen aufeinanderfolgenden Bits mit Erhöhung bzw. F.rniedrigung der Abtastgeschwindigkeit immer kleiner oder auch immer grosser wird bis völlig unklar ist, welcher Abstand in Codes, die den Referenzabstand in sich tragen, der eigentliche Referenzabstand ist oder es können andere Schwierigkeiten auftreten bei der Trennung der Daten von den Taktinmulsen.
Tn anderen Verfahren wurden bestimmte Vorhersagemethoden für den F2F-Code festgelegt, in denen die verschiedenen Datenbits als Referenzbreite" benutzt x^erden können. Dadurch entsteht eine gute Korrekturmögl.ichkeit für die oben erwähnten Schwierigkeiten bei der Beschleunigung oder Frequenzverzerrung. Diese Verfahren sind jedoch auf den F2F-Code beschränkt.
709819/0627
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 Datenbits haben oder Datenbits als Referenzmessungen für nachfolgende Datenbits benutzen. Weiterhin solJ 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 Streifencodes 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 allen selbsttaktierenden Codes verwendet werden kann.
Darüber hinaus ist auf verbesserte Weise möglich,, selbsttaktierende Codes zu lesen, die Bezugsmessungen außerhalb jedes Bits haben oder Datenbits dazu benutzt werden, als Bezugsmessungen für ein nachfolgendes Datenbit, 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:
Fig. 1 verschiedene bekannte selbsttaktierende Streifencodeschemata;
Fign. 2A-2E logische Decodiertabellen für verschiedene bekannte selbsttaktierende Codes;
Fig. 3 ein Spezialzeichen zur Decodierung des Datenanfangs oder -endes;
709819/06 27
Fig. 4 eine Folge von Daten und Spezial zeichen zur Abgrenzung des Datenanfanges und -endes sowie die Verwendung von Vorsatzzeichen;
Fig. 5 Verwendungsmöglichkeiten von SpezialZeichen, wie sie in Fig. 6Λ und 6B gezeigt sind, zur Bez.eichnung des Datenanfange~s oder _^endes in einem Streifencode;
Fig. 6A 'ein SpezialZeichen zur Identifizierung der Abtastrichtung oder zur Anzeige einer anderen logischen Bedeutung dafür, dass es sich nicht um Daten handelt;
Fig. 6B eine andere Verwendungsmöglichkeit des in Fig. 6A gezeigten Zeichens;
Fig. 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;
Fig. 9 einen aus den in Fig. 8 gezeigten Elementen aufgebauten Streifencodezeichensatz;
709819/0827
Fig. lOA-lOC die Schaltung eines Decodiergerätes;
Fig. 11 das Prinzip des Zahlenmassstabes, 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;
Fig. 13B die Matrixanordnung im logischen Kreis der Fig. 13A;
Fig. ]4 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. 10A-10C gezeigten Decodiergerätes;
Fig. 16 ein weiteres Ausführungsbeispiel der Erfindung;
Fig. 17 die Arbeitsweise des in Fig. 16 gezeigten zweiten Ausführungsbeispiels; und
709819/0627
Fig. 18Λ-18Ε den nach der logischen Matrix decodierten Dateninhalt für verschiedene Codes nach der in Fig. J7 dargestellten Arbeitsweise, angewandt auf das in den Fig. 1OA, 1OB und 16 gezeigte Gerät.
Das Verfahren dient zum Decodieren, d.h. Auswerten des· Dateninhaltes eines Signalstromes, der von ^inem binären Fühler oder Abtaster oder von einer Uebertragungsleitung kommt. Die Signale treten in Form elektrischer Potentialschwankungcn oder Stromschwankungen über der Zeit als Rechteckwcllen auf. Das notwendige Fühl- und Abtastgerät oder das Adaptergerät für die Uebertragungsleitung werden nicht dargestellt oder beschrieben, da diese allgemein bekannt sind.
Nach Empfang des Signalstromes erfolgt die Abtrennung und Aus\vrertung 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, wie 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.
709819/0827
ORIGINAL INSPECTED
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übergangssignales können als datendarstellende Vorgänge abhängig vom verwendeten Codierschema benutzt werden.
Im allgemeinen werden selbsttaktierende Datencodes 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, dass 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. Ausserdem muss eine Möglichkeit vorgesehen werden, um die Bitzellen mittels der Grenzen, einer jeden Zelle so zu bezeichnen, dass 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
709819/0627
Datenvorgängen zusammenfallen. Immer müssen die Daten- und die Taktvorgänge getrennt oder zumindest getrennt erkannt werden und es muss der Dateninhalt im Signalstrom des Codes interpretiert werden.
Ausserdem muss 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 automatische 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 Aequivalent 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 Vorderkante und der nächsten Vorderkante oder zwischen Hinterkante und der nächsten Hinterkante in der Reihe -ist ein kombiniertes Intervall aus Streifen und Zwischenraum, d.h. ein
709819/0627
- ίο -
kompletter Streifen und'ein kompletter Zwischenraum. Alle Codes benutzen Bereiche abfühlbarer unterschiedlicher Charakteristik auf dem Medium oder im Signalstrom, um die Uebergangskanten zwischen Streifen und Zwischenraum zu markieren.
Bei all diesen Codes sind die B^reiche_ 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 grosse Anzahl von Streifcn- und Zwischenraumkombinationen j 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 Fig. 1 sind von oben nach unten mehrere Zeilen mit Codemustern gezeigt, die als Eingangssignal strom zu einem Deco-'
709819/0627
- Ii -
diercr betrachtet werden können. Die verschiedenen Codearten sind der F2F-Mittenimpulscode, der F2F-Taktimpulscode, der
SKS-Code, der S2S-Code, der Deltastreckencode und der Phasenverschiebungscode .
Aus Fig. 1 ist zu ersehen, dass 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 Tntervall zwischen den entsprechenden Hinterkanten ist gleich dem Intervall des nächsten Streifens plus
demselben Zwischenraum. Die zur Erzeugung dieses Musters notwendigen Intervalle benutzen drei Signalttberqängc zur Definition von zwei positiv verlaufenden Impulsen und einem negativ verlaufenden Impuls oder umgekehrt (ein Streifen und ein
Zwischenraum) und die Polarität der Uebergänge ist für Vorderkanten respektive Hinterkanten aufeinanderfolgender Streifen immer dieselbe.
Es wurde festgestellt, dass ungeachtet des verwendeten Codes die Grossen der Intervalle zwischen aufeinanderfolgenden positiven oder negativen Uebergängen (Vorderkante zu' Vorderkante oder Hinterkante zu Hinterkante im Signalstrom) für jeden
709819/0627
- 12 -
Code nur eine bestimmte Anzahl möglicher Intervallgrössen annehmen kann. Wenn das so ist kann man, beginnend mit einem positiven oder negativen Uebergang, das nächste Auftreten eines ähnlichen positiven oder negativen Ueberganges an einer und nur einer verschiedener möglicher Lagen oder Intervalle vorhersagen aufgrund der Daten im gegebenen Code. Ausserdem wurde festgestellt, dass die Kombination von Intervallen positiv bis positiv (Hinterkante zu Hinterkante]) eindeutig den Dateninhalt des betreffenden Segmentes definieren. Dieses Konzept is-t bereits in der US-Patentschrift 3.723.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 muss 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, dass der Signalstrom zu seiner Decodierung nicht kontinuierlich überwacht werden muss. Man braucht nur zwei aufeinander folgende positive oder negative Signale, d.h. eine- ReferenzbreiteV'zii 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
7098 19/0627
- 13 -
/7 (ρ
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 Datenstromes decodiert werden. Das gilt für alle Codes.
Durch Auswerten zweier gleicher Signale am Anfang einer Decodieroperation auf ein Referenzintervalj. 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 muss 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 Aenderungsbereiches getroffen, der im gegebenen Code zulässig ist. Hs wird angenommen, dass 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 Druckstreuverzerrungen zu vermeiden. Je
7 09819/0627
- 14 -
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 Haschine 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 Uebcrtragungsleitung von einem Leser geliefert werden, sind ebenfalls allgemein in Gebrauch.
Der Effekt, der wenigstens zwei, verschiedene Zustände haben muss, zeigt seine Zustandsänderung als Vorgang an. Hier wird angenommen, dass diese 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
709819/0627
- 15 -
Zeitabschnitt zwi solion aufeinanderfolgenden verschiedenen Vorgängen, innerhalb dessen keine Vorgänge auftreten. Das soll heissen, dass ein gewisser Mindestabstand von Vorgängen besteht, der nicht unterschritten werden darf. Das Mindestinterval1 ist für einen gegebenen Code gewählt und alle anderen Intervalle zwischen den Vorgängen liegen über diesem Minimum.
Das Mindestinterval] zwischen zwei aufeinanderΓοΐgenden gleichen Datenimpulsen oder Steuerimpulsen ist nominell doppeIt so gross wie das Mindestintervall zwischen benachbarten Impulsen, weil die Intervalle im Verhältnis 1:1 verschachtelt sind. Die Redeutung der in einem Daten interval] zwischen zwei Datenimpulsen enthaltenen Daten wird bestimmt durch den Code, der der Grosse des Intervalls zwischen zwei aufeinanderfolgenden Dateiiimpulsen eine gegebene Bedeutung zuordnet. Xatürlich gibt es, wie schon gesagt, auch Intervalle anderer Grosse zwischen unterschiedlichen Signalen, die von der Mindestgrösse 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 grosser als dieses sind, dann gibt es ein Maximum von 2P+1 gültigen Kombinationen von Streifen-Zwischenraum-Intervall en , von denen man jeweils 2 nimmt. Diese bilden Datenintervalle oder Steuerintervalle. Diese
709819/0827
- 16 -
kombinierten Strei fen-Zwischenrauinintei^al lc 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 \vcrden häufig Steuerintervall- und Datenintervall-Vorgänge geschrieben, die verschachtelt sind. Solche Inter\ralle werden als Vorlaufbitstrom oder -symbol codiert. Diese vorläufigen Vorgänge liefern die Referenzmessungen für wenigstens" eines der 2P+1 möglichen Datenvorgangsintervalle und/oder Steuervorgangsintervalle. Wenigstens eines dieser Intervalle muss 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 Aufbau 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 vorher-
709819/0627
- 17 -
gesagten Intervalle sollten im Idealfall vom Auftreten des letzten gleichen Impulses gemessen werden, um mögliche Verzerrungseffekte durch mangelhaften Druck der Codestreifen beispielsweise 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 Datenintervall.es entsprechend dem Datenformat oder Code, die dieser Erscheinungskombination von Datenvorgangslage und Steuervorgangslage, zugeordnet sind. Zusätzlich kann eine Definitionswahl oder ein Kriterium für Dateninhalt, der auch als eine Kommando funktion 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 üatenvorgangs-Intervallagekombinationen zugeordnet werden.
Diese Kombinationen können in einer Decodiermatrix entsprechend den Steuer- und üatenintervallen angeordnet werden, wobei man jeweils zwei benutzt.
Wenn z.B. ein Datenvorgan-g in einem grösseren als dem vorläufigen Referenzdatenintervall auftritt, kann das Datenintervall
.7 09819/0627
- 18 -
reduziert oder normalisiert werden auf die ursprüngliche Grosse, so dass es zum Referenzintervall für die nächstfolgenden Dateninterval]vorhersagen wird. IUe 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 Ueberlegungen, wie maximale Jitter-Toleranz und/oder die innerhalb der Grenzen des Decodierprozesses zulässigen Codeabtast- oder Beschleuni gungseffekte.
Die Fig. 2Λ bis 2E zeigen fünf verschiedene (2P+1)" 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 Decodie'rmatrix in Fig. 2A bis 2E zeigt einen gegebenen Code, der der Grosse des Ihtervalles zwischen aufeinanderfolgenden Daten- und Steuerpulsen eine Bedeutung zuordnet. Jede Decodiermatrix hat drei Spalten und drei Zeilen.- Das gilt für den Fall, in dem P,.die Anzahl der verschiedenen vom Grund-
709819/0627
- 19 -
26A5460
minimum unterschiedlichen Intervallfaktoren, gleich 1 ist, was für alle gezeigten Codeformate zutrifft. Hs gibt also zwei mögliche Streifen- oder Zwischenraumbrei ten. 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össere Matrizen haben (die Matrix für einen 3-Breiten-Code wäre 5x5; für einen 4-Breiten-Code 7x7, usw.).
Die Spalten in Fig. 2 sind willkürlich als Datenimpulsintervalle DPI und die Zeilen als Steuerimpulsintervalle CPI bezeichnet. In allen gezeigten Matrizen haben CPI und DPI einen Wert, der zweimal, dreimal oder viermal so gross ist wie die Mi ndestint ervall brei te. Die Koordinatenschnittpunkte der
Matrix entsprechen einer der (2P+1) spezifischen Intervallkombinationen von CPI und DPI. Das CPI tritt zeitlich während der 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 Fig. 2B bis 2C ist durch jede Kombination von CPI und DPI ein Datenbit eindeutig definiert. Zur Decodierung dieser Codeformate sind abgesehen
709819/0627
- 20 -
von den genannten Ausnahmen keine anderen Daten oder Steuerkriterien erforderlich. Die Matrizen in den Fig. 2B und 2C entsprechen jedoch den S2S-Codes mit absoluter Breite. Die CPI-DPl-Coordinaten 3,3 haben 2-Bit-Datendarstellungen. Eine Darstellung kann definiert sein als Typ Λ, ein beliebiger Name, die andere als Datendarstellung vom Typ B-. Die richtige Auswahl der Darstellungen muss decodiert werden, wenn eine 3,3-Intervallkombination auftritt und wird gemä'ss 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 gevvahlt, 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 Fig. 2A bis 2E gibt es wenigstens zwei CPI-DPI-Koordinatenstellen, 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 Zivecke noch mehr Leerstellen. Diese Leerstellenkombinationen wie 4,2 und 2,4 erhält man aus einer besonderen Konfiguration von Streifen- und Abstandsintervallen, wie sie in Fig. 3 gezeigt ist. Diese Kombination kann man als Vorlaufsatz benutzen,
709819/0627
- 21 -
er wird hier Instruktionsindexkonfiguration TIC genannt. Datenzeichen brauchen nicht mehr einer datenfremden Identitätsfunktion wie einem Vorlauf zugeordnet zu werden.
Nach Darstellung in Fig. 3 besteht die HC aus zwei Streifen mit Mindestbreite, die durch einen Abstand von drei Mindestbreiten oder Zeitabschnitten ge trenn t~-sind. Vor und hinter der HC muss ein Mindestabstand stehen, der in den Codestrom so eingeschoben wird, dass eine Unterbrechung im verarbeiteten Signalstrom auftritt. Diese Einschränkung garantiert, dass den Intervallfolgen 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 Datenbits können alleine oder in Verbindung mit der logischen Instruktion genommen werden. Beispiele für die Benutzung des HC folgen
In Fig. 4 ist ein Indexstrom gezeigt. Der Signalstrom beginnt und endet mit einer Voi'laufindexkonfiguration. Ein einziges fünf Bit grosses Datenzeichen ist zwischen die beiden I IC's gepackt dargestellt. Es können natürlich anstelle dieses einen noch mehr Datenzeichen mit anderer Bitzahl gepackt werden. Bei der Abtastung der codierten Indizes oder eines Signalstromes in Fig. 5 von links nach rechts erzeugt das erste HC eine Intervallkombination 2, 4 und 4, 2 in der Reihenfolge
709819/062 7
- 22 -
is
der Signale am Datenanfäng. Mit der nächsten I.IC kann das Datenende angezeigt werden. Wenn man die I IC 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 odgl. vor oder hinter den Datenstrom zu setzen, um Datenanfang und Datenende zu bezeichnen.
Fig. 5 erweitert die Darstellung in Fig. 4. Der Strom codierter Indizes in Fig. 5 enthält zwei HC s wie Fig. 4. Die linke und rechte Vorlauf ind'exkonf igurati on ist jedoch unterschiedlich. Dadurch kann man feststellen, ob der Indexstrom von links nach rechts oder von rechts nach links abgetastet wird. Die Γ IC's haben jedoch dieselbe Funktion, nämlich die codierten Datenindizes von den Anfangs- oder vorläufigen Indizes zu trennen und die End- oder Abschlussindizes zu bilden,
Mit der HC kann man auch einen Wechsel der Matrizen der Fig. 2 bezeichnen, um Zeit zu sparen,. z.B. indem man die Bedeutung einer langen Reihe abwechselnder doppelter Abstandsstreifen und doppelter Mindestabstände neu zuordnet. Das ist in den Fig. 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
709819/0627
- 23 -
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 UC nur durch die Anwendungsregeln. Die 2,4 BIC muss hinter einem Abstand mit einem Minimum stehen und -e-s müssen zwei Abstände, mit einem Minimum folgen. Eine 2,4 BIC ist in Fig. 6B gezeigt.
Fig. 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 Signal impulsen 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.
Im allgemeinen kann die Breite eines Codestreifens oder eines Abstandselementes dargestellt werden-als die Breite W und die Breite des nächstgrösseren Streifens oder Abstandselementes als Breite W+AW. Mit S 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. AW ist definiert als das verwendete Minimum oder die abfühlbare
709 819/0627
- 24 -
kleinste Breitendifferenz zwischen zwei Streifen und/oder Abständen. Der Grenzfall für AW ist die kleinste abfühlbare Breitendifferenz für die Auflösungsfälligkeit des benutzten Abtastelementcs.
Wenn man nach dem nächsten möglichen impuls an einer bestimmten Stelle suchen will und ein Suchausschnittsegment zeitlich um die vorhergesagte Stelle gelegt wird, taucht die Frage auf, welches die mögliche Segment- oder Ausschnittbreite ist, mit der man arbeiten kann, um eine Verwirrung durch Ueberlappung von Suchausschnitten mit anderen möglichen Impulslagen zu vermeiden.
Diese Frage wird im Zusammenhang mit Fig. 12 untersucht. Oben in Fig. 12 sind zwei Codestreifen oder Abstandselementc mit Mindestbreite nebeneinander in die Linie b gesetzt und diesen folgt das nächstmögliche Intervall. In der Linie e ist der nächstgrössere Streifen-Abstandsübergang gezeigt, der von den gewählten Codeelementen vom Codelementensatz in Fiß· 8 geschrieben werden kann.
Wenn man einen am Ende eines gegebenen Intervalles von zwei kombinierten Streifen- und Abstandselementen auftretenden Impuls isolieren will, kann ein Suchausschnitt zeitlich um ■die vorhergesagte Zeitlage T herum aufgebaut werden. Ein
709819/0627
- 25 -
Suchausschnjtt kann beginnen zur vorhergesagten Zeit T minus einen Betrag aT und enden zur Zeit T plus einem
^n η '
Betrag αT . Ueberlappungen mit benachbarten Suchausschnittcn 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 Impulsstcllen sind in den Linien c und d der Fig. 12 gezeigt. Die Differenz zwischen diesen möglichen Impulslagen ist der Betrag yS<, wie aus dem Diagramm zu ersehen ist. yS ist daher gleich dem Zeitbetrag, der eingeschlossen" wird durch die Hälfte eines Suchausschnittes, der um die erste mögliche Impuls!age herum (i=l) aufgebaut wird, und der Hälfte eines Suchausschnittes, der um die zweite mögliche Impulslage herum (i=2) aufgebaut wird, so dass sich die Ausschnitte nicht überlappen. Wenn ein gegebener Ausschnitt um. eine vorhergesagte Impulsposition herum das Mass -α mal der Zeitdauer der vorhergesagten Lage T hat, dann hat ein Suchausschnitt also eine Gesamtbreite von 2aT , und das ist in den meisten Fällen gleich S. Der Höchstwert für α ist dann gegeben durch 2 T = yS, und da der kleinste Wert T =' TQ = 2S ist, ist 4otS. = yS oder α = γ/4. Das wird später noch im Detail bewiesen. T^ ist das kleinste Intervall zwischen zwei gleichen Signalen und resultiert aus der Kombination eines Streifens und eines Abstan'des mit kleinster Breite.
709819/0627
- 26 -
In Fig. 8 ist die Beziehung verschiedener Codestreifenclemente oder Abstandselemente zueinander gegeben durch den allgemeinen Ausdruck W = S+PyS für den Bereich O^Pin, 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. Mit anderen Worten, γ mal Mindestbreite eines Streifens ist gleich dem kleinsten Betrag der Breitenzunahme AW. Daher ist γ eine dimensionslose Zahl·
Im allgemeinen kann festgestellt werden, dass AW, der Breitendifferenzbetrag zwischen einem Streifen und einem Abstand oder einem anderen Streifen, gleich γ-S ist, worin S die Mindestbreite eines Streifens oder Abstandes ist, die im Code ver-
AW wendet werden, γ allgemein ist dann -^-.
In 'der oben gegebenen Gleichung ist der Ausdruck P eine ganze Zahl zwischen O und n, mit der die Anzahl der Streifencodeelemente definiert wird, die aus dem Satz in i: i g. 8 ausgewähl t wurden. Die Mindestbreite S hat z.B. den Wert P = 0., die nächstgrössere Breite hat den Wert P=I usw. P definiert also die ganze Zahl eines Codeelementes 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 '
709819/0627
- 27 -
eine etwas grössere Breite. Bei diesen Codetypen ist der Wert P = 1, d.h., es gibt ein Streifen- oder Abstandselement, das eine vom Mindestabstand oder von der Mindeststreifenbreite verschiedene Breite hat.
Die Formel W = S+PyS für O-P-n ist dann also davon abhängig, ob P eine ganze Schrittzahl ist und keine Sprünge auftreten, d.h. P im Wert nicht mehr als eine Einheit springt. Das soll nicht heissen, dass alle Streifencodeelemente P-Zahlen haben müssen, die sich voneinander in einer kontinuierlich ansteigenden Folge von ganzen Zahlen unterscheiden, da Sprünge in der Streifenbreite oder in der Abstandsbreite wohl zulässig sind. Vielmehr soll P definiert sein als eine Zahl von Mindesteinheiten der Zunahme Y*S, die zu dieser Mindestgrund-
wn * S AW
breite S addiert wird, so dass —^-ξ— = P ist, wobei γ = -~-. Bei derart bestimmten P-Werten können Sprünge in echten Schrittgrössen der Streifen- oder Abstandselemcnte 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, dass die tatsächliche Zahl von Streifencodebreiten, die sich vom Minimum unterscheiden, durch den grössten P-Wert nur gegeben ist, wenn keine Srünge im regulären Fortschritt der Breiten auftreten.
709819/0S27
- 28 -
In Fig. 9 ist ein verallgemeinerter selbsttaktierender Code gezeigt. Er besteht aus zwei der in Fig. 8 gezeigten Streifencodeelemente, wobei das Mindestübergangsintcrvall zwischen zwei Impulsen gleicher Polarität gegeben ist als: To = 2S. Das ist die kleinste Kombinationsintervallänge, die aus dem Codesatz der Fig. 8 aufgebaut werden kann. Die zweite- Zeile der Fig. 9 zeigt die erste Intervallkgmbjnation, die sich von der Kombination mit dem Mindestintervall unterscheidet. Ihre Länge ist definiert als 2S + P-yS, .wobei P die Anzahl von Streifencocleelementen ist, die eine grössere 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ützlichere Bezeichnung der Breitenkombinationen ist die Verteilung von Indexzahlen nach der Beziehung, die sie zueinander haben. Dem kleinsten Uebergangsinterval1 von 2S in der oberen Linie der Fig. 9 kann man somit eine Intervallindexzahl 1 zuteilen. Das ist bezeichnet mit i=l. Das nächstgrössere Intervall S + yS erhält die Indexzahl i=2 usw. "i" ist daher definiert als die Indexzahl des Zeitintervalles zwischen zwei Impulsen gleicher-Polarität. Es ist also P = i-1.
Die Länge T einer Streifen- und Abstandskombination, wie sie in Fig. 9 gezeigt ist, beträgt dann 2S + (i -1) · yS für den
709819/0627
- 29 -
26454S0
Bereich l^i-n. Als Intervallindexzahl kann i nur ganzzahlige Schrittwerte einnehmen.
Natürlich kann der Höchstwert von i = 2P+1 werden, wenn man Streifen der Breite S und Abstände der Breite S 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 2P+1. P ist die Zahl \rerschiedener Streifenbreiten, die beim Aufbau des Codesatzes verwendet wurden, wobei die Mindestbreite S nicht gezählt wird. Im allgemeinen ist T = 2S + (i -1) -yS, wobei 0^n-2P+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 Suchzeit 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
709819/0827
- 30 -
Polarität bekommen. Dieses Intervall muss jedoch in den richtigen Massstab gesetzt werden durch Multiplikation mit dem Massstabfaktor R. Der resultierende Ausdruck für eine Geschwindigkeitskorrektur erster Ordnung ist dann:
T-T1- \l=2pL\ - [B. ± α. ] η n-1 ■ 2 ιγ ιγ
Eine Geschwindigkeitskorrektur zweiter Ordnung mit den Gleichungen, die auf den vorhergellenden zwei Uebergangsinterval1 längen basieren, nimmt folgende Form an:
T . Tn = Tn-1 [1-A(I- -™1'-Ύ-) ] ( B . . ±α j , γ 1
worin allgemein gilt:
T , =T . · R, T o. = T O'R, usw., n-1,. . n-1 ' η-2ιγ n-2
d.h., die beiden früheren Intervallängen T _, und T _o vor dem Intervall T werden durch Multiplikation mit dem Massstabfaktor R mit der Standardbasis in Beziehung gebracht.
Die folgende Tabelle I fasst die Algorithmen der Formel für drei Bedingungen zusammen:
a) Verwendung einer konstanten Refercnzbreite,
b) Geschwindigkeitskorrekturformel erster Ordnung unter Verwendung der vorhergehenden Uebergangsintervallänge, die
709819/0627
- 31 -
zu einem Normalwert als Referenzwert in Beziehung gesetzt wurde, oder
c) Verwendung zweier vorhergehender Uebergangsinterval1-längen für eine Geschwindigkeitskorrektur zweiter Ordnung
TABELLE 1
Konstantes Referenzintervall (keine Ge-schwindä gkeitskorrektur) :
worin T, = (Tn) · (R,.
und Bf.
U,J,Y) (2-γ) + JY
und R0 jY) -il^yjl »„er ^
und 0 - α , . , γ_
L1)YJ 2[(2-Y)+JYl
für alle i = 2P+1 (max) (P = nur ganze Zahlen
j = 2P+1 (max)
T = Mindestintervall = 2S
S = Abschnittsbreite (Mindest-Uebergangsstrecke) AW = yS
γ = Konstante für gegebenen Elementensatz
709819/0627
- 32 -
3s
Geschwindigkeitskorrektur erster Ordnung:
worin T , - letzte Länge T n-1 η
n"1(j,Y) ~ n"1 ^"'»Ύoder
T1 -T1 [ } n1 n1
1 -T1 [ }
n-1,· . n-1 2
O,γ)
und B,. . . und af. Λ wie oben
Geschwindigkeitslcorrektur zweiter Ordnung:
Ci, j ,ύ) (j,υ) "(j ,υ) ^i,j,yj 1J''
und worin T , ' = T .. Rr . .
"-1CJY) ^1 ϋ'γ)
T _ = T , R, . . η-2(.βγ) n-2 (j,γ)
und T0= frühere T . und T Λ = frühere T n-2 n-1 n-1 η
und B,. . ... ,. , und R,. . ivie oben. (i,J,Y)' O,Y) (J ,Υ)
Die nachfolgende Tabelle TI enthält die Werte für i, j, und B sowie α zusammengefasst für den Sonderfall, in dem γ gleich gesetzt wird, was normalerweise der.Fall ist bei einem Breitenverhältniscode 2:1 wie etwa F21! oder S2S." Bei diesen Codetypen werden nur zwei Streifenbreiten verwendet (P=I) und
709819/0627
- 33 -
ein breiter Streifen oder Abstand ist doppelt so gross wie ein schmaler.
TABELLE II
α =
i
1
j
1
Br· · -» -"
Ci,J,Y)
1
Ο,ύ)
1/4
2 1 1.5 1/4
3 1 2 1/4
1 2 2/3 1/6
2 2 1 1/6
3 2 4/3 1/6
1 3 1/2 1/8
2 3 3/4 1/8
3 3 1 1/8
In der nachstehenden Tabelle III sind die Werte für i, j, B und α zusammengefasst für den allgemeinen Fall, in dem γ von 1 verschieden ist:
TABELLE III Y
j Br. . ,
Cl,J,Y)
2(Y + I)
1 1 TABELLE IV
1 Y + 2
1 2
2 Y + I
2 2
Υ + 2
1 .
3 2(Y+I)
•ζ 2+Υ
•J 7+τ
3 Υ + 2
3 2(Y+I)
1
α ■ζ) 2)
Υ/4 2(γ + 2) D
Υ/4 2(Y +
Y
D
Υ/4
Y
4(Y +
Y
D
Y 4(Y +
Y
4(Y +
4(Y+I)
Untersatzformeln für einen Code P=I (T Λ nicht im Massstab
n-1
zur Referenzbreite).
Für Referenzintervall bei j=l mit Geschwindioktvi tskorrektur erster Ordnung:
Daten- (oder Steuer-)Suchsegment *.
2, T.
3 T
= T fl±a1 η"1
rn
n-1
= T
709819/0627
- 35 -
Für Referenzintervall bei j=2 mit Geschwindigkeitskorrektur erster Ordnung:
Daten- (oder Steuer-)Suchsegment<
1, T ='t . dta) ' η. .. n-1 \s l
2, T = T-1 (1±α)
k 3, T = T , ώ±α) ' η. , η-1 ^3 ι = 3
Für Referenz interval! bei j =3 mit Ges'ch'wi ndigkeitskorrektur erster Ordnung: ,
'1Vi-1
n.1 n-1 2
Daten- (oder Steuer-)Suchsegment <; 2, T
n.
I
3, T = T
- ' η·=3 T
(1±α)
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 i = l , 2 und 3 usw. festgelegt ist, kann als Basis zur Vorhersage der nächsten gültigen Pulslagen benutzt werden. Die Formel muss 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 Uebergängen oder Signalen. In den früheren Figuren wurde sie als Breite S bezeichnet, für nachstehende Ableitung wird sie jedoch Breite D^ genannt.
7098197 0627
- 36 -
Wenn ed η Abtaster, \vie z.B. ein Magnetlesekopf oder ein optischer Abtastkopf, über einen Streifencode läuft, wird die Strecke für eine Abstandsbreite D„ überstrichen in einer Zeit, die gleich ist D- dividiert durch die Gesclmindigkeit des Abtastkopfes - D^/V. Nimmt man die Cesamtdifferenz dieses Ausdruckes für die Zeit dT = (3T/3D )dD + (3T/3V) dV·. Wenn kein Jitter oder unkontrollierte Abweichung im Kantenabstand der codierten Daten vorliegt, ist (3T/9D ) · d D„ = 0
2
und daher dT = -DQ/V , weil T = DQ/V. Durch Einsetzen dieses Ausdruckes'für 3T in Bezug auf 9V in den vorhergehenden Ausdruck ergibt sich ΔΤ = -DQ/V2 · AV und somit D = V-T, ΔΙ\Γ = -T (AV/V) . Dieser letzte Ausdruck beschreibt die Abweichung in der vorhergesagten Erscheinungszeit der nächsten gewünschten Vorhersage für den Uebergang im Signalpegel proportional zur Nominalzeit T~ mal Prozent der Geschwindigkeitsabweichung über den Intervall, das in dem vorhergehenden Intervall von einem Uebergang zum anderen, definiert als T _,. festgelegt wurde. Die Nominalzeit T ist hier das Intervall zwischen den Uebergängen unmittelbar vor dem vorhergesagten Uebergangsintervall.
Eine allgemeine Form für eine Gleichung zur Vorhersage der Intervallänge T , die äquivalent der Vorhersage des Zeitpunktes ist, an dem ein gegebener Impuls auftreten sollfe, ist wie folgt gegeben: T =T _, (l-ε) worin ε= (1 - -^0-- -) · A für den Bereich O'-'A^l.
■Ώ-Δ
709819/0627
- 37 -
Die Ableitung des Wertes für ε ist wiefolgt: Wie oben gezeigt
wurde, ist -T7- = - ΔΤ/Τ.; ΔΤ ist iedoch die Zeit gemessen zwi-V U
sehen den beiden vorhergehenden Uebergangsintervallen. Angenommen, es wird ein festes Referenzintervall benutzt, das zufällig gleich dem möglichen kleinsten Intervall im Code T»
Tn-l"Tn-2 ist, so kann sich ergeben -ΔΤ/Τη = —^ · A , worin A
υ *n-2
eine feste Zahl im Intervall O^Ä^l ist_. Mit anderen Worten,
Tn-1
ΔΤ/Τη = f 1-^—-] - A.
u n-2
Da ε gleich ΔΤ/Ί' ist, ist der Wert für ε wie oben angegeben. Die Werte von T n und T n müssten zum tatsächlich verwendeten
n-1 n-2
Referenzintervall in Beziehung gesetzt werden, wenn das Referen: interval! nicht wie in diesem Sonderfall gleich T„ ist. Der obige Ausdruck für die verallgemeinerte Form T = T (1-ε) , 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 T in die vorhergesagten Impulslageformeln einsetzt und die Intervalle T ,, T _ usw. mit dem
n-1 n-2
Referenzmassstabfaktor R multipliziert. Das Ergebnis ist in der Tabelle I unter der Geschwindigkeitskorrekturformel zweiter Ordnung aufgeführt. Der Wert von A in diesem Ausdruck muss im Bereich von O^A^l liegen und ist als Bescheuniramgsfaktor definiert. Die Wahl des nominellen Wertes für den Buchstaben A
709819/0627
- 38 -
ivird bestimmt durch spezifische Laser- oder Abtasteranwendungen, in den Versuchen wurde jedoch festgestellt, dass ein Wert von 0,68 für Λ 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 O gesetzt werden. Für andere·Anwendungen wie Abschnittslaser, wo mässige^.Beschleuni gungen auftreten, kann man einen Wert A=I verwenden.
Wie schon früher erwähnt wurde, besteht die Möglichkeit, dass in einem allgemeinen Code mit zwei oder mehr Elementenbreitcn eine Zweideutigkeit 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. 3 4 gezeigte Situation gilt allgemein für ein Codesystem mit zwei Breitenelementcn, für das die Zahl der Streifen!)reitenclemente, die sich.von der Mindestbreite unterscheiden, gleich 1 ist, mit anderen Worten P=I 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 i = 1 und i = 3 existiert nur eine Kombination, die die Intervallänge erzeugen kann. Für i = 2 gibt es jedoch zwei
709819/0627
- 39 - ·
verschiedene gültige Kombinationen, die dieselbe Gesamtlänge erreichen können, wie sie in den Zeilen b und c gezeigt ist. Misst 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 Gesaintintervallänge an der Position i = 2 ist. Wie nachfolgend gezeigt wird, gibt es einfache Regeln, die Zweideutigkeit zu lösen.
Es sei angenommen, dass γ in Fig. 14 gleich 1 ist, da wir dann S und S + yS in ganzen Einheiten von S und nicht in Brüchen ausdrucken 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 durc'h Definition S oder S + yS. Das Raumintervall zwischen Steuerimpulsen oder Datenimpulsen, das vor dem nächsten verschachtelten Daten- und Steuerinipulsintervall stehen kann, wäre daher folgendes:
Für ein Datcnpulsintervall von drei Einheiten kann das Muster in Linie b nur ein Gesamtintervall von zwei oder drei Einheiten im Steuerimpulsintervall h,"bcn, 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
709819/0827
- 40 -
26A5460
Linie e klar gemacht wird. Das Steuerimpuls interval! 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 Gesamtlänge von zwei oder drei Einheiten, aber nicht von vier Einheiten aufrveisen/ Wenn das 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 nur Teil des vorhergehenden DatenimpuIs interval1 es 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 Steuerimpul sintervall , das nur auf eine Art erzeugt werden kann. Die Kombination einer Zwei im Steuerimpulsintervall und einer Drei an der Position i = 2 im Datenpulsintervall 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..
709819/0 627
- 41 -
Wenn das Steuerimpulsintervall drei Einheiten hat, kann es nur erzeugt werden durch ein Dateniinpul sintervall 1-2 oder 2-2 vor einem Datenimpulsintervall 1-2, Linie e. Wenn eine dieser beiden Formen im Steuerimpuls Intervall auftritt, bezeichnen sie eindeutig das Datenimpuls interval 1 1-3, wie es in Linie b gezeigt ist und nicht das in Linie c gezeigte Intervall 3-1, da beide Kombinationen_.j.n 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 Steuerimpulsintervall mit drei Einheiten unterscheiden lässt, das auftreten würde, wenn derselbe Codestreifen vor das Muster in Linie b geschrieben würde.
In Zeile f ist die andere zweideutige Form der Länge von drei Einheiten im Datenimpulsintervall gezeigt. Das gültige Steuerimpulsintervall, das vor einem solchen Muster stehen kann, kann nur drei oder vier Einheiten lang sein, da ein Steuerimpulsintervall von zwei Einheiten nicht möglich ist auch mit einem Streifen oder einem Abstand der Mindestbre'i te, die vor dem Datenimpulsintervall stehen können, wo der vorhergehende
709819/0627
- 42 -
Streifen oder Abstand nur ein oder zwei Einheiten breit sein kann. Wenn das Steuerimpulsinterva]1 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 Fig. 14 auftritt. - ' .
Wenn jedoch das Steuerimpulsintervall drei Einheiten lang ist,.kann es nur durch ein vohergehendes 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, dass die Kombination 2-1 oder 1-1, die im vorhergehenden Symbol stehen muss, um ein Steuerinipulsintervall von drei. Einheiten Breite für das in f. 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 Zustände A und B sind entsprechend beschriftet, so dass die Zweideutigkeit bei Auftreten eines . batenimpulsintervalles von drei Einheiten gelöst werden kann.
709819/0627
- 43 -
Aehnliche 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 Formel 2P+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 all gemeine Codesystem mit zwei Breitenelementen gezeigt wurde.
Die allgemeine Länge eines Intervalles aus zwei kombinierten Streifen- und Abstandsbreiten ist, wie abgeleitet in Verbindung mit Fig. 9, T = 2S + [ i -1 1 · yS. Die Crösse 2S wurde früher schon als kleinste Kombination von zwei Breiten angeführt und ist gleich T„. Die allgemeine Länge eines vorhergesagten Intervalles kann daher jetzt geschrieben werden als Ti=T[B.] wobei B. ein Multiplikationsfaktor ist, der dem Wert i, der Indexzahl eines Längenintervalles abhängt, bei dem ein vorhergesagter Impuls mögli chei'weise auftritt, wobei i gewählt wird aus dem Bereich l£i<2P + 1.
Wenn um eine vorhergesagte Stelle Tn- ein Ausschnitt aufgebaut werden soll, ist die allgemeine Form eines Ausdruckes
709819/0627
- 44 -
zur Vorhersage von Anfangs- und Endpunkt dieses Suchausschnittes gegeben durch T = [B. * aj T . Die Linie h in
τ J. U
Pig. 12 zeigt eine Kombination von Streifen- und Abstandselementen mit einer Breite von S + yS. Die Gesamtlänge des durch die beiden Streifen- und Abstandselemente eingeschlossenen Intervalles beträgt- daher T · B. und das wiederum ist, wie oben entwickelt, gleich 2S +_£! "-I) S. Nun ist aber nach Definition Tn = 2S und daher findet man beim Einsetzen des Wertes 2S für T in die obige Formel B. = —~~ -
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 T voraus. Diese Koeffizienten berücksichtigen jedoch nur einen gegebenen Intervallausschnitt mit dem i-Wcrt 1, 2, 3 usw., wobei angenommen wird, dass das Grundintervall T als Basis für die Vorhersage der Lage künftiger Pulse benutzt wird. Um die Ausdrücke weiter zu verallgemeinern, muss berücksichtigt werden, dass ein Intervall, auf dem Voraussagen basieren, nicht ein kleinstes Intervall T„ ist, sondern irgendein Intervall, beispielsweise das letzte Intervall, das man während der Codeverarbeitung gelesen hat.
Das als eine derartige Basis oder Referenz benutzte Tntervall wird j-tes Intervall genannt, um es vom i-ten Intervall zu
709819/0827
- 45 -
unterscheiden, "j" nimmt daher nur Werte 1, 2, 3 usw. bis zum Höchstwert von 2P+1 an genauso wie i, j wird jedoch als Indexzahl des Intervalles aller möglicher Intervalle definiert, in denen der frühere Impuls gefunden wurde, "j" 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 grosser ist als das kleinste Intervall T , muss der Ausdruck für Tn. = [R. ία]· T auf das kleinste Referenzintervall zurückgerechnet werden, indem man die echte Interval länge, die jetzt als Referenz benutzt wird, mit einem Referenzmassstabfaktor R. multipliziert, der definiert ist als gleich mit dem echten Referenzintervall T, dividiert durch Ί' , wobei das echte als Referenzintervall benutzte Intervall gegeben ist in allgemeiner Form durch den Ausdruck 2S + (j-1) yS und wobei j die Indexzahl des Intervalles ist, in dem ein Impuls gefunden wurde, der die Länge des Referenzintervalles definierte. Daher ist:
D = 2S + (j-1) S = 2 + (j-1) Ύ = Tref Ο",Ύ) 2S 2 T0
und j ist die Nummer des Intervalles,. in dem der echte Referenzimpuls gefunden wird, der jetzt zur Definition d~er Länge des Referenzintervalles ausgewählt wird als Basis für neuvorhergesagt Pulslasen. 709819/0627
- 46 -
Wenn ein konstantes Referenzintervall benutzt wird, das sich von dem kleinsten Intervall T unterscheidet, dann ist:
Ϊ = —f~- ' [ B±a] . Das ist ein Beispiel dafür, wie das Referenz-η R
Intervall zum kleinsten Grundintervall T in Beziehung gesetzt
^Yc f wird, da durch die Definition der Referenzmassstabfaktor -τ,—— ist, wobei eine andere Referenz als das kleinste Intervall Tn benutzt wird. Andererseits kann der Ausdruck auch wie folgt geschrieben werden: T = Tn [B.. ία.], worin B und α in richtige Beziehung gesetzt werden durch Teilen der vorher für B und α entwickelten Ausdrücke durch den Faktor R. Das ergibt: B. . = y-T k~~'■und für α, O-α.γ- -—^—-.—τ-· Diese Acnderungen ergeben die in der obigen Tabelle IV aufgeführten Formeln für einen Zwei-Breiten-Code.
Entsprechend obiger Ableitung kann eine Referenzbreite oder -zeit T bekanntlich durch das kleinste Intervall T und einen
Tr Faktor R ausgedrückt werden, so dass — = R. Wie oben abge-
0 leitet wurde, ist der Faktor R gleich --^ —, worin γ wie
oben definiert ist und j die Indexnummer des Ausschnittes ist, der das Intervall der gewählten Referenzbreite definiert, wobei angenommen wird, dass eines der normalerweise auftretenden möglichen gültigen Intervalle als Referenzintervall gewählt wird. Ausserdem kann die Lage T. möglicher gültiger
Impulse bekanntlich vorhergesagt werden als T. =- T ·——^-5--
709819/0627
- 47 -
so
Die Breite des Intervalles zwischen zwei Impulsen mit ähnlicher
Polarität T wurde bereits definiert als Punktion η
Λ·Τη. [B.. ± a. ] und α,. . wurde bereits oben definiert als
OjY IJY JY (JY)
ν 2 ~γ+ ϊ γ
a,. . = -z-j^r--—=—c- und weiter wurde definiert: Tn ,. .=
(jY) 2-(2-y+jy) O(jy) 2
Es ist ausserdem bekannt, dass die Breite eines Suchabschnittes immer definiert ist als 2aT oder (2Tn. "J(α. ). Durch Einsetzen der Werte für α. und Vereinfachung erhält man daher
3 ,Ύ
α = ~ für alle möglichen Fälle eines mit zwei Breiten aufge-
bauten Codes. In Fig. 12 sind diese Beziehungen weiter definiert
Die oberste Linie in Fig. 12 zeigt das kleinste Intervall S zwischen zwei benachbarten verschiedenen Impulsübergängen. Es bildet ein Codestreifenelement oder Abstandselement für einen gegebenen Code. Zwei derartige Elemente nebeneinandergesetzt bilden das kleinste Zeitintervall T zwischen zwei gleichen Impulsen, und dieses ist definiert als das kleinste Uebergangsintervall im Codesatz.
Das Streifenelement der nächsten Grosse ist S + yS, wobei
AW
γ = -·*— und AW der "Betrag ist, um den das nächstgrössere Codestreifenelenient die Crösse des kleinsten Codestreifcnel ententes übersteigt. Im gezeigten Fall ist -^- = 1 oder AW = S. Daher istY= 1. Im unteren Teil der Fig. 12 sind verschiedene Codeelemente gezeigt, die aus den Codestreifen S und yS aufgebaut
709819/0827
- 48 -
i\rerden können. Drei mögliche Intervalle oder Impulsübergänge können geschaffen werden. Das ist gegeben durch die Formel i = 2P + 1, wobei P die Zahl der Streifenelemente im Code ist, die sich von dem Minimum unterscheidet. In diesem Falle ist bei P=I die Anzahl von erforderlichen Ausschnitten oder die Anzahl möglicher gültiger Pulspositionen gleich 3..
Aus Fig. 12 ist zu ersehen, dass das Intervall des Abstandes zwischen dem kleinsten Codeintervall T und dem nächstgrösseren Codeintervall S plus einem Codestreifen aus S + yS ein Betrag yS ist. Die Breite eines Suchausschnittes, der einen in der Position i = 1 oder i = 2 oder i = 3 auftretenden Impuls sucht, ist 2aT . Es xvurde gezeigt, dass α immer gleich ■j ist und daher kann die Länge eines Intervalles in Alpha-
einheiten gemessen werden. Die Suchtorbreite ist gleich -^- T oder T = zwei Suchtorbrei ten dividiert durch γ. Für den hie'r gezeigten Fall, wo γ = 1 ist, ist T 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 Abbildung 12 für alle Fälle T = 4a ist, liegt der Anfang des ersten Tores zur Isolierung des möglicherweise an der Position i = 1 auftretenden Impulses bei 3/4 T oder 3a. Das Ende des ersten Suchtores und der Anfang des zweiten Suchtores, die miteinander zusammenhängen, liegt bei der Position 5/4 T oder 5a. Das
709819/0827
- 49 -
Ende des zweiten Suchtores und der Anfang des dritten Suchtores liegt bei 7/4 T oder 7a und das Ende des dritten. Suchtores und der Anfang des vierten Suchtores, falls dieses gebraucht wird, usw. liegt bei 9/4 T oder 9a. Das gilt für alle Konstruktionen eines Zwei-Breiten-Streifencodes. Dieses Prinzip lässt sich leicht- auf Codes mit mehr als zwei, verschiedenen Breiten ausdehnen, was aus der Tatsache hervor-
■γ
geht, dass T immer gleich 4a ist, wenn α immer -.■ ist.
Die in den~Fig. 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, Aenderungen zur Geschwindigkeitskorrekturen zweiter Ordnung für hohe Beschleunigung werden später beschrieben.
Da in einem Geschwindigkeitskorrektürsystem erster Ordnung das vorhergehende Intervall als Referrenzintervall für die nächste Vorhersage benutzt wird, muss entweder die vorgenommene. Zeitmessung zur Basisreferenz in Beziehung gesetzt werden oder es muss ein anderer Algorithmus gewählt werden, um die gültigen Pulslagen vorherzusagen. Die verschiedenen ausitfählbaren Algorithmen sind in Tabelle IV gezeigt. Sie sind Untersätze der gegebenen allgemeinen Ausdrücke, spezi-
709819/0627 '
- 50 -
w «J
fische Werte für den Ausdruck B,. . . werden jedoch anstelle des allgemeinen Ausdruckes benutzt. Der spezifische Wert von
B,. . . wird zur benutzten Referenzbreite (dem letzten ge-Ci> J,Y)
fundenen Intervall). Die resultierenden Algorithmen für einen Code, in dem γ = 1 ist, ein 2:l-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. Die Werte für i und γ werden gewühlt, wenn γ nach dem verwendeten Code bestimmt ist, wei es später noch genauer beschrieben wird. Es ist 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, dass B... . . in der allgemeinen Form belassen
Ci.J.Y)
werden kann.
Das in den Fig. 10A-C gezeigte Schema wurde so ausgelegt, dass die einzig gültigen Intervallängen vorbewertet werden, so dass bei Auftreten eines Impulses innerhalb seines vor-.hergesagten Abschnittes ein bereits in dem richtigen Massstab gesetztes Längenintervall als Referenz für die folgende Impulspos it ionsvorhersagen gewählt werden kann.
709819/0627
- 51 -
Die Zeit- oder Abstandsmessung von einem gegebenen Punkt bis zu einer vorhergesagten Stelle oder dem Auftreten eines Impulses erfolgt durch Zählen der Takt iiiipul se von einer Takteinheit 1. Eine 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 Y fü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 Codeelementensatζ ausgewählt wurden, in dem zwei mögliche Streifen- oder Abs tandsbreiten zur Verfügung stehen.
Die Impulse auf dem Kanal Y sind die Intervall impulse von einer Hinterkante zur anderen und werden mit den positiv verlaufenden Impulsen auf dem X-Kanal verschachtelt:. Die Impulse auf dem Y-Kanal erhalten willkürlich eine Bedeutung als Steuerimpulse zugeordnet.
Die Abbildungen 10A-C zeigen eine Schaltung zur Verarbeitung nur der Impulse, die vom X-Kanal kommen, wo der Datenimpuls liegt. Zur Verarbeitung der Steuerimpulse vom Y-Kanal wird eine identische Schaltung verwendet. Wie später erklärt wird,
709819/0627
- 52 -
kann ein anderes Decodierverfahren angewandt werden, welches nur die X-Schaltung oder nur die Y-Schaltung braucht, was zu wesentlichen Einsparungen führt.
Wie schon erklärt wurde, ist es bequemer, Daten- oder Steuerintervalle oder Segmente in Alphaeinheiten zu zählen als die einzelnen mit einer Frequenz f von der- Taktei-nheit 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 Mass der analogen Zeit oder Strecke zwischen den beiden positiv verlaufenden Impulsen auf dem X-Kanal.
Im allgemeinen tritt die Anzahl "der Impulse N mit der Grundtaktfrequenz f während des Zeitintervall es T auf und ist N„ = f-Τ.. Die Frequenz f. wird so gewählt, dass die Anzahl von in einem Mindestintervall T , das im Code auftritt, enthaltenen Impulse in der Grössenordnung 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 TT wird bei einer Frequenz f · T., also N *
J u j n
Impulse umfassen.
709819/0827
- 53 -
2645Α60
Wenn Impulse auf dem Kanal X in einem grösseren Abstand als dem Referenzabstand T. auftreten, dann ist die über dem Intervall auftretende Zahl N > N.. 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 f_ zählen müsste, bis eine Zahl erreicht-ist, die dicht an der für die vorhergesagte^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 betreihen, dass an jeder angenommenen Impulsposition ein Zähler die Zahl N. erreicht hat, die durch Zählen der Impulse mit der Frequenz f für ein Zeitintervall T. erreicht würde, wobei T. gleich dem Referenzintervall ist. Dadurch wird eine Vorbewertung der Intervalle erreicht,' die zwischen Impulsen vom Fühler 2 auf dem X-Kanal auftreten. Abbildung 11 zeigt die Prinzipien.
In Fig. 11 ist ein beliebiger Streifencode mit einem kleinsten Uebergangsintervall S und einem P-Wert von 1 gezeigt, d.h., es gibt ein Intervall mit einer anderen Breite, als der kleinsten
709819/082?
- 54 -
Breite. Das kleinste Intervall zwischen zwei gleichen Impulsen ist die Fig. 11 gleich 2S (oder T„), wie oben beschrieben wurde, und die Breite des nächsten davon verschiedenen Intervalles ist S + yS. Die resultierenden Kombinationen von S und yS sind in den drei obersten Linien der Fig. 11 gezeigt und das Ergebnis in der Pulspositionslagc an drei verschiedenen Stellen, die durch die Suchtore um die^Jndexpositionen i = 1, i = 2 und i = 3 isoliert werden können, sind in Linie d der Fig. 11 gezeigt.
Die abgelaufenen Zeiten vom ersten Startimpuls bis zu den Lagen eines möglichen gültigen Impulses sind bezeichnet T.=1> T._9 und T.=7.. In der Linie e der Fig. 11 ist, eine Reihe beliebiger Frequenzimpulse gezeigt, die mit einer Taktrate ir n auftreten, wobei eine bestimmte Anzahl von Impulsen N. innerhalb einer Länge eines Zeitintervall es T. erfasst wird, das gleich ist dem Referenzintervall.
Das Referenzintervall T. braucht keine bestimmte Beziehung zu den anderen Intervallen im Code zu haben, es ist jedoch bequemer, ein Referenzintervall T. zu wählen, das gleich ist einer der möglichen gültigen Erscheinungen innerhalb des Codesystems. N. sollte nach Möglichkeit 100 oder mehr Impulse betragen, so dass die Auflösung der Lage eines auftretenden Impulses im Referenzintervall T. ein Teil von 100 oder kleiner
709819/0627
- 55 -
ist. Die Anzahl von Impulsen N. kann definiert werden als die Frequenz einer Referenz f. multipliziert mit dem Rcferen;
interval! T..
J
Andere Frequenzen sollen ebenfalls für das mögliche Auftreten in den Intervallen T. . gewählt werden, wobei i, j =1, 2, 3 ist, so dass bei Auftreten eines" Impulses an seinen gültigen Lagen eine Zahl gleich N. durch einen Zähler erzeugt wird, der mit einer Frequenz f , f?, f, zählt, bis eine Impulserscheinung festgestellt wurde. Die Frequenz f ist natürlich niedriger als die Frequenz f , da das Zeitintervall T_ langer 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 fn erforderlich wäre. Da die Zähler ausserdem in "bewerteten Raten" zählen und man dieselbe Zahl von Zählimpulsen N. erhält, wenn die möglichen Impulslagen erreicht werden, ist der Inhalt jedes Zählers 3, 4 oder 5 ein Mass eines Intervalles T ausgedrückt in Alphaeinheiten.
Eine Geschwindigkeitskorrektur erster Ordnung ist somit in das in den Fig. 10A-10C beschriebene System eingebaut, da der Inhalt der Zähler kontinuierlich eine bewertete Darstellung
7098 1 9/0627
- 56 -
der tatsächlichen Längen eines 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 T , ausgedrückt in Alphaeinheiten, zur Verwendung in einer Vorhersage der nächstfolgenden drei möglichen Pulslagen. Die Schaltung in Fig. 10A-C benutzt solch ein Verfahren^
Aus den Fig. 10A-C ist zu entnehmen, dass der Taktgenerator
0 ^O ^O Ausgangsimpulse nut einer Frequenz fn, —:--, -p- und ~ für eine
U 4 U O
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, dass die Zahl N. in einem der Zähler in jeder möglichen Pulsposition erreicht wird. Der Bequemlichkeit halber wurde γ in Fig. 10 mit dem Wert 1 gewählt. Die Ausgangsfrequenzen können allgemein defi-
f η · γ
niert werden mit -^- · α, wobei α = j ist.
Die von den verschiedenen Ausgängen im Taktgenerator 1 kommenden Impulse stellen daher Impulse dar, die in Schritten von einer Alphaeinheit eines gegebenen Intervalles T auftreten. Diese Alphaeinheiten werden in.separaten Zählern 3, 4 und 5 gezählt, deren Eingänge durch die UND-GHeder 6, 7 bzw. 8 gesteuert werden, und diese werden wiederum durch ein
70981970627
- 57 - .
Startsignal gesteuert. Die Zahl in jedem der Zähler 3, 4 oder 5 ist zu einem gegebenen Zeitpunkt gleich einem Faktor der Grundfrequenz, die nach dem Massstabfaktor R gemäss 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 T 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 Referenzmass benutzt und nicht mit der Geschwindigkeitskorrektur erster Ordnung bearbeitet \\rerden soll, werden die Zähler 4 und 5 nicht gebraucht und Zähler 3 würde T, enthalten d.h. die feste Referenzzeit. Wenn die nächste mögliche Pulsposition erreicht ist, hat der Zähler 4 dieselbe Zahl N. erreicht, das Abstandsintervall T ist jedoch gleich dem zweiten möglichen Intervall definiert mit j = 2 usw. für nachfolgende mögliche Impulspositionen.
Zum Start des in Fig. 1OA gezeigten Ausführungsbeispieles muss ein Streifencode mit einem Vorlaufzeichen verarbeitet werden, das in sich zwischen zwei gleichen Impulsen ein Refcrenzzeitintervall enthält. Wenn andererseits mit einer festen Referenz gearbeitet wird, muss der erste Impuls im Strom ab-
709819/0627
' - 58 -
gefü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 Vor!aufzeichens 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 Impuls auftritt, d.h. der Impuls mit derselben Polarität, der das Vorlaufzeichen anfängt, wird der X-Impuls an verschiedene Punkte angelegt.
Der X-Impuls geht zuerst über eine Verzögerungseinheit 10 und erzeugt das Rückstellsignal R,, das den Haltekreis 9 zurückstellt und die Messung des Vorlaufzeichenintervalles nach der durch die Verzögerungseinheit 10 erzeugten Verzögerung beendet 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 Vorlaufzeicheninterval1.
Die Auswahl, welcher Zählerinhalt, als Referenzintervall zu benutzen ist, wird bestimmt durch das Vorlaufzei'chen oder die feste Referenz. Die Auswahl ist beliebig. In Fig. 1OA wird,
709819/0627
- 59 -
Wt
eine Referenz aus zwei Zeitabschnitten, oder ein Mindestübergangsintervall T , gewählt durch das ODER-Glied 14, das durch den Ilaltekreis 9 gesteuert wird. Das UND-Glied 11 wird daher betätigt und der Inhalt des Zählers 3 auf N-Leitungen parallel durch das ODER-Glied 15 in das Register
16 ausgegeben, das vorher leer war. Die jetzt im Register stehende Zahl ist in Alphaeinheiten ausgedrückt und stellt die Länge des Vorlaufsymbolintervalles dar. Das Register hält die Zahl, bis ein Rückstellsignal R angelegt wird.
Beim Auftreten des nächsten Impulses mit der Frequenz f wird der Inhalt des Registers 16 ausgegeben durch die UND-Glieder
17 auf N Leitungen parallel an einen Zähler 18. Der Zähler zählt seinen Inhalt mit der Frequenz f„ herunter. Er wird gesteuert durch das UND-Glied 19, das durch den Taktimpuls, Startsignal und den vom Inverter 21 invertierten Ausgang vom UND-Glied 20 beeinflusst 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
fn Alphaeinheit definiert ist. In diesem Fall ist es T · — für den Fall, wo γ = 1 ist. Wenn der Zähler 18 auf eine Eins in der wertniedersten Bitposition heruntergezählt wurde, wird das UND-Glied 22 aktiviert, um einen Schiebeimpuls an das
709819/0S27
- 60 -
Schieberegister 23 anzulegen, das am Anfang mit einer Null in der ersten Zelle gesetzt wurde. Diese MuH wird in die nächste Zelle verschoben als Anzeige dafür, dass 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ähj.en 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 anzuzeigenr, dass zwei Alpha-Zeiteinheiten seit dem Ende des Vorlauf intervalles verstrichen sind.
Der Prozess läuft weiter wie beschrieben, bis ein drittes Alpha-Zeitintervall über dem Vorlaufintervall abgelaufen ist.. Zu diesem Zeitpunkt wird eine Ausgabe von.der dritten Zelle im Schieberegister 23 erzeugt zur Betätigung des Ha'ltekrei ses Dieser erzeugt ein Ausgangssignal unter der Bezeichnung SG.,
709819/0627
- 61 -
. 26A5A60
Dies ist der Anfang des ersten Suchtores, das um die aus zwei Zeitabschnitten bestehende Position (gleich T) 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, dass ein Impuls derselben Uebergangspolarität innerhalb des Ausschnittes aufgetreten ist. Das ist zu ersehen aus der Steuerung des X-Signaleinganges zum UND-Glied 11, in diesem Fall und aus der Tatsache, dass die übrigen UND-Glieder 12 und 13 nicht betätigt sind, da die Suchtore Z und 3 noch nicht aktiviert wurden.
Tritt kein X-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 X-Impulses während dieses Segmentes oder Suchtor-
709819/0627
- 62 -
te
aüsschnittes die Ausgabe des Zählers 4 über das ODER-Glied an das Register 16 angelegt wird als gewichtetes Mass des Intervalles, wenn der Impuls in der zweiten möglichen Position erschien. Nimmt man an, dass 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 X-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 Mass 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 .X-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 laufen gelassen wird, weil, keine Impulse innerhalb der Suchtore gefunden wurden,
709819/0627
- 63 -
wird schliesslich die Zelle 10 des Schieberegisters aktiviert und angezeigt, dass eine zehnte Alphaeinheit verstrichen ist. Dann werden ein l;ehlersignal und ein Rucks te Π signal R. erzeugt.
Im allgemeinen tritt jedoch irgendwo innerhalb der drei Suchtore ein X-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 T. festgelegten Zeitpunkt aufzutreten. Der Impuls tritt jedoch im allgemeinen innerhalb seines Segmentes oder Ausschnittes SG , SG9, SG7. usv/. auf. Die Anzahl von Alphaeinheiten, die
J. fp* «J
bis zum Impuls verstrichen sind, ist daher ein relatives Mass für die Länge des aufgetretenen Intervall es und kann als neue Referenzlänge zur Vorhersage neuer Impulsstellen für das nächste Intervall dienen. Da die Zähler mit unterschiedlichen Raten zählen, die entsprechend den möglichen Inipulslagen 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 Vorher-
709819/0627
- 64 -
26A5460
sage der nächsten drei möglichen gültigen Stellen der nächsten Impulspositionen verwendet.
Aus Fig. 10 ist zu ersehen, dass durch jeden Rückstellimpuls R1, R? oder R, die Zähler 3, A und 5 sowie das Schieberegister 23 zurückgestellt werden, so dass eine neue Operation beginnen kann. R-. ist .das Fehlersignal und R ist das verzögerte Eingangssignal vom Auftreten eines X-Impulses, das die Zähler wieder zum Zählen und das Schieberegister zürn neuen Beginn nach jedem Auftreten eines X-Impulses veranlasst, wobei es keine Rolle spielt, ob dieser nun im Datenstrom oder im Vorlaufzeichen liegt.
Durch das Auftcten eines X-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 R? erzeugt.
Die am rechten Rand der Fig. IOC erzeugten Ausgänge 2, 3 und 4 zeigen an, dass ein X-Impuls (ein DPI), mit Da'ten identifiziert gefunden wurde für einen Code, in dem γ = 1 ist, so dass
709819/062?
- 65 -
Impulse am Rnde des Zeitabschnittes 2, 3 oder 4 erscheinen. Ein identischer Kreis wird benutzt für die Y-Impulse, die vom Fühlerverstärker 2 kommen. Die Y-Impulse sind identifiziert als Steuersignale (CPI) und werden \\rie nachfolgend beschrieben in Verbindung mit den X-Signalen benutzt. Im Augenblick ist die Feststellung wichtig, dass 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 2S, 3S oder 4S 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 Fig. 10A-C gezeigten Schaltung identische Schaltung erzeugt, die die Y-Ausgabe vom Fühler 2 verarbeitet. Eine Modifikation des Systems ist für Geschwindigkeitskorrckturen zweiter Ordnung gezeigt. Diese ist in den gestrichelten Linien in den Fig. 1OA und 1OB durch die Recheneinheit 60 dargestellt. Diese Einheit erzeugt einen Multiplikationsfaktor für den Wert T f. ., der in Tabelle 1 wie folgt, wiedergegeben ist:
n-2(j,Y)
709819/0627
- 66 -
Die Ausgabe des ODER-Gliedes 15 wird an die Einheit 60 und" von dort an das Register 16 gesendet, wo die den Wert T f. ,
n." J-1J »Ύ J
darstellende, in der zweiten Ordnung gcschwindigkeitskorrigierte Zahl gespeichert wird zum Abwärtszählen der Taktierung der Alpha-Einheitensuchsegmente.
In Fig. 13A ist eine Decodierlogik gezeigt, mit der der Dateninhalt aus dem Signalstrom gewonnen wird. Die Ausgänge von den entsprechenden X- und Y-Kreisen 10 in den Fig. 1OA-C werden an die Punkte 2, 3 und 4 für die Datenimpulsinterval le (abgekürzt DPI) und 2, 3 und 4 für die Steuerpulsintervalle (abgekürzt CPI) angelegt. Diese Steuer- und Datenimpulseingänge werden an eine Serie von Steuerhaltekreisen und UND-Gliedern angelegt, die in äquivalenter logischer 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 γ - 1 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, DPI3 oder CPI3, DPI4* erhält und indem man einen B-Zustand wählt, sobald man den Signalsatz^
709819/0627
- 67 -
2S45460
CPI4, DPI3 oder CPI3, DP12 erhält. Wenn man dann den Signalsatz CPT3, J)P 13 erhält, wird der Inhalt decodiert abhängig davon, ob im System dann der Α-Zustand oder der B-Zustand gehalten wird. Der Haltekreis 34 liefert diese Funktion und erzeugt den Α-Ausgang oder den B-Ausgang. In Fig. 13Λ wird folgende Operation ausgeführt:
Die UND-Glieder 35 werden durch gleichzeitige DPT-Inipulse und CPl-Impulse entsprechend den in Fig. 13B 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, v/er den Null- und Eins-Bitkombinationen erzeugt, die an die Pufferstufen eines Ausgaberegisters 43 angelegt werden. Der Inhalt des Registers 43 wird durch einen Doppel-Schiebeiinpulsgencrator 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 Steuerimpulsinterval1 2, 3 oder 4 abgefühlt wurde. Die Kreise 36 werden über die ODER-Glieder 37 durch "das Auftreten eines Impulses abgeschaltet, der nicht das jeweilige Tor
709819/0627
- 68 -
aktivieren soll.
Die aus dem Auftreten eines 3,3-Stcuerimpul s-J)at.enimpul sintervalles resultierende Zweideutigkeit wird dadurch verarbeitet, dass man am Anfang einen Haltekreis 34 auf die B-Ausgangsbedingung setzt, so dass beim ersten Auftreten eines 3,3-Intervallsignales der B-Ausgang das Jeweilige UND-Glied 35 betätigt, das den B-Hingang hat. Die entsprechende Decodierung erfolgt gemäss der MatrixtabclIe. Wenn jedoch eine Steuerimpuls-Üatenimpuls-Inlcrvallfol ge 3, 4 oder 2, 3 auftreten sollte, wird der Kreis 34 auf den A-Ausgabezustand geschaltet. Wenn eine Steuerimpuls-Datenimpuls-Intervallfolge 3, 2 oder 4, 3 auftreten sollte, wird der Kreis 34 auf den B-Ausgabezustand geschaltet.
In Fig. 15 ist eine weitere Fehlererkennungsschaltimg gezeigt, die so arbeitet, dass bei Empfang eines Impulses auf dem Datenkanal oder dem Steuerkanal und Fehlen eines entsprochenden Datenimpuls- oder Steuerimpuls-Suchtorintervalles die UND-Glieder 48 bzw. 49 durch das ODF.R-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 In\rerter 4 6 oder 'für das betreffende Datenimpulsintervall oder die Steuerimpuls-
709819/0627
- 69 -
intervallanzeige, die über das ODER-Glied 44 bzw. 45 angelegt wird. Wenn ein Datenimpulsinterval1 oder ein Steuerimpulsintervall nicht .angezeigt v/crden und ein X-Signal oder ein Y-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 ScHieberegisters 23 in Fig. 10 erzeugt.
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. 10A-C benutzt separate Suchabschnittsegmente, die zeitlich vom letzten Auftreten eines Impulses gleicher Polarität entfernt sind, d.h., 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.
709819/0627
- 70 -
Eine ganze Schaltung zur Verarbeitung negativ verlaufender Steuerimpulse, die mit der für die positiv verlaufenden Impulse in den Fig. 10A-10C 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 zeiglich relativ zum let_zten Auftreten entweder eines Datenimpulses oder eines Steuerimpulses setzt, 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 Suchsegmentc 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 Codestrei.fen mit einer Mindestbrei.t.e S uncl einer allgemeinen Breite S + 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 Signal Vorderkanten, als Datensignale und die negativ verlaufenden Signalr
709819/0827
- 71 -
hinterkanten als Steuersignale bezeichnet werden. Die Datensignalc können ferner als X-Impulse und die Steuersignale
als Y-Impulse definiert werden.
Die zweite Zeile der Fig. 17 zeigt den Fühlerausgang in Form schmaler Impulse im X-Kanal und Y-Kanal. Zeitlich unter die Fühlerausgangslinie in Fig. 17 ist eine Reihe von Su'chsegmenten gelegt, die an Punkten erzeugt werden, die vom letzten Auftreten eines X-Impulses gemessen sind. Die Abschnitte haben eine Gesamtbreite von 2aT , wie oben beschrieben. T ist das
η η
letzte Intervall zwischen zwei Impulsen gleicher Polarität, in diesem Fall zwischen zwei X-Impulsen. Die allgemeine Formel zum Legen der Suchausschnitte ist in Tabelle I ausgeführt und es kann keine Geschwindigkeitskorrektur , eine Geschwindigkeitskorrektur erster Ordnung oder eine Geschwindigkeitskorrektur zweiter Ordnung vorgenommen werden.
Für den gezeigten Code kann P definiert werden gleich 1, so dass zwei verschiedene Breiten beim Aufbau des Codes verwendet werden, γ kann einen vorgeschriebenen Wert haben, in diesem Fall wurde der Einfachheit halber γ = 1 gewählt. Die verschiedenen möglichen Lagen gültiger Impulse zeitlich hinter dem letzten Auftreten eines X-Impulses können zur Erzeugung der Suchsegmentausschnitte für die erste Suche in der Zeile benutzt werden, die unter der Fühlcrausgabelinie in Fig. 17 folgt.
709819/0627
- 72 -
Aus dem ersten Satz von Suchausschnitten ist klar zu sehen, dass 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, dass 2P+1 mögliche gültige Lagen für Steuer- oder Datenimpulse existieren. Hin Steuerimpuls kann im ersten Ausschnitt auftreten, der als Indexlage -i—= 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 muss der erste Impuls, der auftritt, wieder ein Steuerimpuls sein.
Daraus folgt, dass insgesamt 2P+2 Suchsegmente existieren, in die Daten- und Steuerimpulse fallen müssen. Alle Segmente mit einer Indexzahl kleiner gleich P enthalten nur Steuerimpulse, d.h., das erste mögliche Suchsegment an der Position i = 0 und alle folgenden Segmente bis zu einem Segment, dessen Indexzahl kleiner oder gleich P ist, können nur mögliche gültige Steuerimpulse enthalten, da die Lage des ersten möglichen gültigen Datenimpulses nur an einer Position i =- 1 oder höher für einen Code .liegen kann, in dem ,P=I oder grosser ist. .
709819/0S27
- 73 -
Für das Segment mit der Indexzahl P+l können entweder Steuerimpulse oder Datenimpulse auftreten, aber.nicht beide. A]Je Intervalle mit einer Indexzahl grosser als P+l und kleiner als der Höchstwert 2P+2 sind mögliche Lagen nur für Datenimpulse. Wenn ein Impuls an der Indexstelle P+l und kleiner in einem Intervall an einer Position grosser als P+l gefunden wird, muss es sich bei~dem an der Stelle P+l gefun-. denen Impuls um einen Datenimpuls handeln, und daher muss der Steuerimpuls in einem früheren Intervall aufgetrete'n sein, das kleiner oder höchstens gleich P ist. Wenn in einem früheren Intervall kein Impuls auftrat, wurde kein Steuerimpuls gefunden und es muss ein Fehler vorliegen. Die mögliche Zweideutigkeit, die darin liegt, dass an einer Stelle mit einer Indexzahl gleich P+l entweder ein Datenimpuls oder ein Steuerimpuls auftreten kann, stellt kein Problem dar, da bekannt ist, dass sowohl ein Steuerimpuls als auch ein Datenimpuls nicht in demselben Segment auftreten können und dass 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
709819/0627
- 74 -
dem letzten Segment in der Suche 1 und dem ersten Segment in der Suche 2 in Fig. 17 dargestellte Ueberlappung 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üElt werden. In der Suchzeile 1 beispielsweise findet sich ein Steuerimpuls im zweiten Segment und ein Dateniinpuls im dritten Segment. In der Suchzeile 2 findet sich ein Steuerimpuls im ersten Segment und ein Datenimpuls im dritten Segment usw.
In den Fig. 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 muss, ob für das Intervall 1-3 CPI-DPI eine 1,O-Datenausgabe oder für das Intervall 2-3 CPI-DPI eine 0,1-Ausgabe dargestellt werdensoll. Die Entscheidung ist frei,-die entsprechende Matrixzahl 1 oder 2 in Fig. 18Λ oder 18B wurde jedoch so in die Decodierlogik eingebaut, wie es in Fig. 13A gezeigt ist.
709819/0627
- 75 τ
In Fig. 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 2S ist die Breite eines Streifens oder Abstandes, der geschrieben ist, um eine digitale Null auszudrücken.
Fig. 18D zeigt die Decodiermatrix für-.einen Delta-Abstandscode, in dem bei Auffinden der gleichen Streifen- oder Abstandslänge wie der jeweils vorhergehenden eine Eins decodiert wird und bei vei'schiedener Abstands länge eine Null. Wegen dieser Charakteristik des Delta-Abstandseodes existiert eine Zweideutigkeit für jede mögliche Pulsinterval1 age. Die Wertmatrix zeigt an, dass ein A-Ausgabezustand oder ein B-Ausgabezustand für jede der möglichen CPI-DPI-lntervallsequenzen 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
709819/082? '
- 76 -
die nächste Ausgabe als B--Zustand zu veranlassen. Wenn das nächste aufgetretene Intervall das Interval] 1-3 CPI-DPI ist, würde in diesem Fall eine O-0-Ausgabe für den B-Zustand im entsprechenden Kasten an die Register gesendet werden und ausserdem ein B-Zustandsanzeigebefehl erzeugt. Die Schaltung ist im wesentlichen ähnlich der in Fig. 13A gezeigten', wobei kleinere Aenderungen eingebaut sind,-41m- vom Zustand A in den. 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-mal-drei-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 Ausgabecodekoiübinationen umfasst. Noch grösscre 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.
Abbildung 18E zeigt die Decodiermatrix fü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 5 ist. Das ergibt" sich aus einem ganz bestimmten Codeschema, das im allgemeinen optisch
70 98 19/0627
" - 77 -■ ■ ·
gedruckt wird und jede Bitzelle mit einem gedruckten schwarzen Streifen von 1/3 oder 2/3 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., dass das DPI nicht benutzt werden muss, um_,jjolch einen Codesprung zu decodieren (wenn es nicht gerade zur Erkennung von Taktfehlern oder Synchronisationsfehlern verwendet wird). Statt dessen muss man nur das CPI finden, um augenblicklich solch einen Code zu decodieren, d.h., zum Decodieren der Daten braucht man nur die Signale zwischen den Zellengrcnzen.
Abbildung 16 zeigt denjenigen Teil des Logikdiagrammes, der anstelle der Schaltung in Fig. IOC benutzt wird, wenn man die im Zusammenhang mit Fig. 17 beschriebene Grundtechnik implementieren will. Mit anderen Worten, die in Fig. 16 gezeigte Schaltung soll diejenige in Fig. 10 ersetzen, wenn Suchsegmente relativ zum letzten Auftreten eines Datenimpulses oder eines Steuerimpulses gesetzt v/erden sollen. Die zusätzliche Schaltung für die Y-Impulse, die für das in Fig. 10 beschriebene System benötigt wird, wird nicht länger gebraucht.
.709819/0627
- 78 -
Eine Betriebssteuerung ist in die in Fig. 16 gezeigte Schaltung so eingebaut, dass das' System genau wie der Rest des Systems in Fig. IOC arbeitet, wenn kein Signal zur Betätigung der Betriebssteuerung anliegt. Das heisst mit anderen Worten, dass die UND-Glieder 50 nicht eingeschaltet werden und keine CPI-Intervallanzeigen gegeben werden, wenn die Betriebsartensteuerung nicht_Aingeschaltet 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 Decodiermatr.izen der Fiß. 18A-C werden so geändert, dass 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 Fig. 18E ist eine Aenderung notwendig, da die Konstante DPI = 3 keine Datenbedeutung hat und zur Decodierung nicht benutzt würde. Das bedeutet, dass die CPI 2, 3, einfach umnummeriert würden als 1, 2, da bei Festlegung der Suchsegmente 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
709819/0627
- 79 -
jedoch die Segmente bezüglich.des letzten Signalimpulses gleichen Typs gemessen, um eine Empfindlichkeit gegen Brucksteuung zu vermeiden. Das führt zu möglichen Lageintervallsegmenten mit 2, 3 oder 4 Einheiten, wie sie in Fig. 18E gezeigt sind.
In den Fig. IOC und 16 ist eine Modifikation zur Durchführung der Symbolgrenzensuchdecodierung oder-der Mittelimpulsdecodierung eines F2F-Codes gezeigt. Insbesondere in Fig.16 kann der Haltekreis 60 die Taktierung der notwendigen Suchsegmente liefern, um den Mittenimpuls einer F2F-Bitzelle 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 Symbolgrenz impulse in einer F2F-Zelle zu isolieren.
Die Linien A und B stellen Fehlererkennungssignale für den Mittenimpuls und den Symbolgrenz impuls dar und wurden 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
709819/0627
- 80 -
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 segmcntierenden Suchtechnik bei der Erkennung des Codeinhaltes der Kombination der gerade gelesenen Streifen zum Zeitpunkt des Impulsempfanges. Ausserdem werden durch diese vorhersagende Suchsegmenttechnik augenblicklich Fehler identifiziert, die durch fehlende oder verlorene Impulse entstehen. Dieser 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össter 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 schliesslich 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.
709819/0627
- 81 -
Leerseite

Claims (1)

  1. 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 Übergang 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 N ich tauftreten 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 1, 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:
    2+('-')Y + X 4
    - ς
    - S
    j worin ist: !
    T fj · γ-^ die Zeit zwischen dem letzten festgestellten Übergang und dem Zeitpunkt, zu dem ein weiterer Übergang auftreten kann; S die minimal zulässige Zeit zwischen zwei Übergängen; γ die minimal erforderliche Zeitverschiebung, um einen Übergang in das nächstfolgende Intervall fallen zu lassen;
    i eine ganze Zahl im Bereich 0— i —m, und m die Zahl der maximal für ein Zeichen des benützten Codes vorkommenden Intervalle; j die Zahl im Bereich O^jim, die das die Referenzzeit Tr umfassende Intervall bezeichnet.
    709819/0627
    RA 975 009 - 32 -
    Vorrichtung nach Anspruch 1 zum Auswerten von selbsttaktierend codierten Signalen, die auf Leitungen (x, y, Fig. 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 Inhalteines 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,
    - dritte Zähler (23), die abzählen, wie oft der zweite Zähler den Inhalt des ersten Zählers auszählt,
    - UND-Schaltungen (30, 31, 32), die von den dritten Zählern 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 den dritten Zählern beeinflußt, die Auswahl des Inhaltes eines der ersten Zähler veranlassen.
    Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die verschiedenen Vielfachen der Taktfrequenz durch die Gleichung bestimmt sind:
    fo
    2S- (2-
    wobei ist:
    f_ die feste Frequenz des Takterzeugers;
    AW die minimale Differenz zwischen unterschiedlichen Intervallen des verwendeten Codes;
    S die minimale Interval länge;
    j eine ganze Zahl im Bereich O^jim, und
    m die maximale Zahl von Intervallen, die im gegebenen Code für ein Zeichen vorkommen.
    19./.o.m.
    RA 975 009 - 83 -
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 true DE2645460A1 (de) 1977-05-12
DE2645460C2 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 (15)

* 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 ティーディーケイ株式会社 ハニカム加熱器
USRE38758E1 (en) * 1990-07-31 2005-07-19 Xerox Corporation Self-clocking glyph shape codes
CA2044404C (en) * 1990-07-31 1998-06-23 Dan S. Bloomberg 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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3708748A (en) * 1970-04-27 1973-01-02 Ibm Retrospective pulse modulation and apparatus therefor
US3723710A (en) * 1971-06-28 1973-03-27 Ibm Method and device for reading and decoding a high density self-clocking bar code
US3750108A (en) * 1966-02-21 1973-07-31 Litton Business Systems Inc Self-clocking record sensing system
US3886521A (en) * 1972-03-29 1975-05-27 Monarch Marking Systems Inc Coded record and methods of and apparatus for encoding and decoding records

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761685A (en) * 1971-05-24 1973-09-25 Pitney Bowes Alpex Data processing means with printed code
US3838251A (en) * 1971-06-29 1974-09-24 Monarch Marking Systems Inc Method of interpreting a coded record
JPS5248772B2 (de) * 1971-11-05 1977-12-12
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3750108A (en) * 1966-02-21 1973-07-31 Litton Business Systems Inc Self-clocking record sensing system
US3708748A (en) * 1970-04-27 1973-01-02 Ibm Retrospective pulse modulation and apparatus therefor
US3723710A (en) * 1971-06-28 1973-03-27 Ibm Method and device for reading and decoding a high density self-clocking bar code
US3886521A (en) * 1972-03-29 1975-05-27 Monarch Marking Systems Inc Coded record and methods of and apparatus for encoding and decoding records

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2315509C2 (de) Verfahren und Vorrichtung zur Verarbeitung kodierterDaten
DE2645460A1 (de) Verfahren und vorrichtung zum auswerten von selbsttaktierend codierten signalen
DE2616753C3 (de) Vorrichtung zum Lesen von strichkodierten Informationen
DE2432129C3 (de) Verfahren zum maschinellen Lesen von Zeichen und Vorrichtung zur Durchführung des Verfahrens
DE2801536C2 (de) Zeichenformkodiervorrichtung
DE3538219C2 (de) Leseanordnung für Strichmarkierungen
DE2508706C2 (de) Schaltungsanordnung zur Codierung von Datenbitfolgen
DE2364212C3 (de) Schaltungsanordnung zur Codierung von Binärziffern
DE2654765C3 (de) Einrichtung zum Dekodieren von Daten, die in einer vorgegebenen Anzahl abwechselnd aufeinanderfolgender Striche und Leerfelder von verschiedenen Breiten kodiert sind
DE2822667C2 (de) Schaltungsanordnung und Verfahren zum Lesen von strichcodierten Daten
DE2231953A1 (de) Verfahren und einrichtung zum auswerten von kodierten aufzeichnungen
DE2228526B2 (de) Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen
DE2256007C3 (de) Vorrichtung zur Verarbeitung kodierter Daten
DE2521436B2 (de) Informationswiedergewinnungsanordnung
DE2623861C3 (de) Verfahren zum maschinellen Lesen von Schriftzeichen
DE2540101A1 (de) Automatisches zeichenerkennungs- system
DE2338561A1 (de) Verfahren und vorrichtung zum identifizieren von objekten
DE2318276A1 (de) Verfahren und vorrichtung zum auswerten von kodierten aufzeichnungen
AT223668B (de) Verfahren und Schaltungsanordnung zur automatischen Erkennung von Schriftzeichen
DE2461380C3 (de) Lesevorrichtung für codierte Informationen
DE2834533C2 (de) Bildübertragungssystem
DE2118791A1 (de) Verfahren und Anordnung zur Erkennung von Zeichen, insbesondere von alphanumerischen Zeichen
DE2458118B1 (de) Verfahren und Anordnung zur Faksimilecodierung
DE2302442A1 (de) Verfahren und vorrichtung zum lesen von ziffern
DE2253064A1 (de) Verfahren und vorrichtung zur verminderung von verzerrungen

Legal Events

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