DE2645460A1 - Verfahren und vorrichtung zum auswerten von selbsttaktierend codierten signalen - Google Patents
Verfahren und vorrichtung zum auswerten von selbsttaktierend codierten signalenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/01—Details
- G06K7/016—Synchronisation of sensing process
- G06K7/0166—Synchronisation 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;
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 .
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.
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 -
- 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
c) Verwendung zweier vorhergehender Uebergangsinterval1-längen für eine Geschwindigkeitskorrektur zweiter Ordnung
TABELLE 1
Konstantes Referenzintervall (keine Ge-schwindä gkeitskorrektur) :
Konstantes Referenzintervall (keine Ge-schwindä gkeitskorrektur) :
worin T, = (Tn) · (R,.
und Bf.
U,J,Y) (2-γ) + JY
und R0 jY) -il^yjl »„er ^
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
T = Mindestintervall = 2S
S = Abschnittsbreite (Mindest-Uebergangsstrecke) AW = yS
γ = Konstante für gegebenen Elementensatz
γ = 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.
α =
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
I
3, T = T
- ' η·=3 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.
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.
ΔΤ/Τη = 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
γ = -·*— 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
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.
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)
- PATENTANSPRÜCHE1. 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- ς- Sj 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/0627RA 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:fo2S- (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, undm die maximale Zahl von Intervallen, die im gegebenen Code für ein Zeichen vorkommen.19./.o.m.RA 975 009 - 83 -
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)
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)
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)
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 |
-
1975
- 1975-10-29 US US05/626,680 patent/US3978319A/en not_active Expired - Lifetime
-
1976
- 1976-08-31 GB GB36049/76A patent/GB1522895A/en not_active Expired
- 1976-09-14 FR FR7628380A patent/FR2330207A1/fr active Granted
- 1976-09-17 CH CH1181276A patent/CH614080A5/xx not_active IP Right Cessation
- 1976-09-29 IT IT27745/76A patent/IT1068107B/it active
- 1976-10-08 DE DE2645460A patent/DE2645460C2/de not_active Expired
- 1976-10-27 JP JP12843076A patent/JPS5282021A/ja active Granted
Patent Citations (4)
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 |