-
Gebiet und
Hintergrund der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Digitalumsetzer-Systeme,
und betrifft insbesondere Verarbeitungsalgorithmen für Ultraschall-Flugzeit-Digitalumsetzer-Systeme
und Systeme, welche solche Algorithmen anwenden.
-
Es
ist bekannt, Ultraschall-Flugzeit-Messungen zu verwenden, um Abstände in einem
zwei- oder dreidimensionalen
Digitalumsetzer-System zu verwenden. Solche Systeme verwenden einen
Sender, der Ultraschall-Pulse sendet, die von Empfängern an einer
Anzahl von Positionen empfangen werden. Alternative Konfigurationen
verwenden mehrere Sender mit einem einzelnen Empfänger. In
beiden Fällen kann
durch Messen der Flugzeit der Pulse vom Sender zu dem Empfänger der
Abstand zwischen diesen berechnet werden. Eine Synchronisation des
Senders und Empfängers
kann entweder über
eine fest verdrahtete Verbindung oder über eine drahtlose elektromagnetische
Verbindung erreicht werden.
-
Die
Identifizierung des Anfangs jedes empfangenen Ultraschallpulses
ist nicht trivial. Das Reaktionsverhalten von Wandlerelementen (transducer), die üblicherweise
verwendet werden, um die Pulse zu erzeugen, sowie die Dispersion
des Signals während
der Übertragung
sorgen dafür,
dass der Puls über
eine Zahl von Zyklen ansteigt, bevor er seine maximale Amplitude
erreicht. Als Ergebnis kann ein Schwellenwert, der festgelegt wird,
um die Pulssignale zuverlässig
von Hintergrundrauschen zu unterscheiden, in verschiedenen Phasen
des Pulses ausgelöst
werden. Abhängig
vom Sender-Empfänger-Abstand
und verschiedenen Umgebungsbedingungen kann der Schwellwert manchmal
während des
ersten Zyklus überschritten
werden, manchmal während
des zweiten, und manchmal während
des dritten, was zu einer beträchtlichen
Ungenauigkeit führt
(siehe 1 und 2). Für eine typische Betriebsfrequenz
von etwa 40 kHz und mit einer angenommenen Schallgeschwindigkeit
von 330m/s entspricht jeder Zyklus einem Abstand von etwa 8mm. Ein
solcher Fehlerbereich ist für
typische Anwendungen wie Digitalumsetzer für Schreibgeräte, Computermäuse und ähnliches
nicht akzeptabel.
-
Aus
GB-A-2250093 ist bereits ein System zum Identifizieren der Position
eines Senders eine gepulsten Druckwellen-Signals bekannt.
-
Herkömmliche
Ultraschall-Digitalumsetzer-Systeme sind etwas unflexibel, was ihre
Hardware-Konfiguration angeht. Typischerweise wird eine festgelegte
Empfängeranordnung
für jede
vorgegebene Anwendung hergestellt. Die elektronischen Komponenten
werden dann in einem Steuerkasten zusammengefasst. Solche Anordnungen
lassen wenig oder keine Flexibilität zu, um Systeme auf Anwendungen
mit größeren Dimensionen
anzupassen.
-
Daher
besteht Bedarf für
Systeme und Verfahren, um Veränderungen
eines Abstands genau zu verfolgen, der aus Flugzeitmessungen einer
Abfolge von Pulsen einer Druckwelle von einem Sender zu einem Empfänger berechnet
wurde. Es wäre
ebenso äußerst vorteilhaft,
ein modulares Empfängersystem bereitzustellen,
bei dem die Anzahl von Empfängereinheiten
erhöht
werden kann, um jeden beliebigen Bereich abzudecken.
-
Aus
US-5637839 und US-5750941 sind allgemeine Verfolgungsgeräte (tracking)
bekannt.
-
Zusammenfassung der Erfindung
-
Die
vorliegende Erfindung ist ein Verarbeitungsalgorithmus für Ultraschall-Flugzeit-Digitalumsetzer-Systeme,
und ein System, das einen solchen Algorithmus anwendet.
-
Gemäß der Lehre
der vorliegenden Erfindung wird ein Verfahren bereitgestellt, um
Veränderungen
eines Abstands D zu verfolgen, der aus Flugzeit-Messungen einer
Abfolge von Pulsen einer Druckwellen-Oszillation von einem Sender
zu einem Empfänger
berechnet wird, wobei die Druckwellen-Oszillation eine vorgegebene
Wellenlänge
und Wellenperiode aufweist, wobei das Verfahren umfasst: (a) Identifizieren
eines Zustands synchronen Betriebs durch Erlangen von mindestens
zwei Flugzeitmessungen, die aus aufeinanderfolgenden Druckwellenpulsen
abgeleitet wurden, welche vorgegebene Synchronitätskriterien erfüllen; (b) Überwachen
aufeinanderfolgender Flugzeitmessungen, um eine verschobene Flugzeitmessung
zu identifizieren, welche um mindestens die Hälfte einer Wellenperiode von
einem vorhergesagten Flugzeitwert abweicht, der aus einer Anzahl
vorhergehender Flugzeitmessungen berechnet wurde; (c) Identifizieren
eines Verschiebungsfaktors, der einem ganzen Vielfachen der Wellenperiode
entspricht, um welchen die verschobene Flugzeitmessung korrigiert
werden muss, um eine korrigierte Flugzeitmessung zu erhalten, die
in die Hälfte
der Wellenperiode des vorhergesagten Flugzeit-Werts fällt; und
(d) Korrigieren des Abstands D, der aus der verschobenen Flugzeitmessung
berechnet wurde, um das Produkt aus dem Verschiebungsfaktor und
der Druckwellen-Wellenlänge.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung werden die Flugzeitmessungen durch
ein Verfahren ausgeführt,
das eingerichtet ist, einen vorbestimmten Punkt innerhalb eines
Zyklus zu identifizieren, wie zum Beispiel durch Identifizieren
eines ersten Nulldurchgangs eines empfangenen Signals, nachdem das
Signal einen vorgegebenen Schwellwert überschritten hat.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird eine verschobene
Flugzeitmessung, für
die der Verschiebungsfaktor einen vorbestimmten Maximalwert überschreitet,
typischerweise weniger als 3, verworfen.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird die korrigierte
Flugzeitmessung als eine vorherige Flugzeitmessung für den Schritt
des Überwachens
verwendet, der an einer darauffolgenden Flugzeitmessung vorgenommen
wird.
-
Gemäß einem
weiteren Merkmal der Erfindung wird der Zustand synchronen Betriebs
identifiziert, indem mindestens drei Flugzeitmessungen erlangt werden,
die von aufeinanderfolgenden Druckwellenpulsen abgeleitet wurden,
für welche
aufeinanderfolgende Flugzeitmessungen um weniger als eine halbe
Wellenperiode abweichen.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird der Zustand synchronen
Betriebs identifiziert, indem mindestens drei Flugzeitmessungen
erhalten werden, die von aufeinanderfolgenden Druckwellenpulsen
abgeleitet werden, welche im wesentlichen linear schwanken.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird der vorhergesagte
Flugzeit-Wert durch geometrische Extrapolation aus mindestens zwei
vorhergehenden Flugzeitmessungen berechnet, und vorzugsweise durch
Extrapolation einer polynomischen Anpassung zweiten Grades der vorhergehenden
drei Flugzeitmessungen.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird mindestens ein
zusätzlicher Verschiebungstest
durchgeführt,
und der Schritt des Korrigierens wird wahlweise in Reaktion auf
den zusätzlichen
Verschiebungstest durchgeführt.
-
Der
zusätzliche
Verschiebungstest kann ein Bestimmen einer Reihenfolge einschließen, in
der ein positiver und ein negativer Signalamplituden-Schwellwert überschritten
werden, oder kann einschließen:
(a) Bestimmen mindestens einer Scheitelwert-Signalamplitude, die
auftritt, nachdem ein Signalamplituden-Schwellwert überschritten
wurde; und (b) Berechnen, ob die Scheitelwert-Signalamplitude sich
von der einer entsprechenden Scheitelwert-Signalamplitude eines vorhergehenden Pulses
um mehr als ein vorbestimmtes Verhältnis unterscheidet.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung ist der Sender mit einer
Zeichnungseinrichtung verknüpft,
welche einen Kontaktschalter einschließt, um funktionalen Kontakt
zwischen der Zeichnungseinrichtung und einer Oberfläche zu identifizieren
bzw. zu erkennen, wobei die Abfolge von Pulsen in Reaktion auf die
Identifikation des funktionalen Kontakts eingeleitet wird, wobei
das Verfahren weiter ein Fortführen
der Übertragung
der Abfolge von Pulsen für
eine vorgegebene Verzögerungsperiode,
typischerweise mindestens etwa ½ Sekunde, einschließt, nachdem
der Kontaktschalter aufgehört
hat, den funktionalen Kontakt anzuzeigen, um so den Zustand synchronen
Betriebs während unterbrochenem
Kontakt aufrecht zu erhalten.
-
Es
wird außerdem
gemäß der Lehre
der vorliegenden Erfindung ein System bereitgestellt zum Verarbeiten
von Zeitablaufs-Informationen und eines empfangenen Signals, welches einer
Abfolge von Pulsen einer Druckwellenoszillation entspricht, empfangen über einen
Empfänger,
um Veränderungen
eines Abstands D, der aus Flugzeit-Messungen der Pulse bestimmt
wird, zu verfolgen, wobei die Druckwellen-Oszillation eine vorgegebene
Wellenlänge und
Wellenperiode aufweist, wobei das System umfasst: (a) einen Signalprozessor
zum Verarbeiten des empfangenen Signals, um eine effektive Ankunftszeit für jeden
Puls abzuleiten; (b) ein Zeitablauf-Modul bzw. Zeitsteuerungsmodul,
welches mit dem Signalprozessor verknüpft ist, wobei das Zeitsteuerungsmodul
eingerichtet ist, eine Flugzeit für jeden Puls aus der Zeitablauf-Information
und der effektiven Ankunftszeit zu abzuleiten; (c) ein Synchronbetriebs-Modul,
das mit dem Zeitablauf-Modul verknüpft ist und eingerichtet ist,
die Flugzeiten zu analysieren, um einen Zustand synchronen Betriebs
zu identifizieren, wenn mindestens zwei aufeinanderfolgende Druckwellenpulse
vordefinierte Synchronizitätskriterien
erfüllen;
(d) ein Überwachungsmodul, welches
mit dem Zeitablauf-Modul
verknüpft
ist und eingerichtet ist, aufeinanderfolgende Flugzeit-Messungen
zu überwachen,
um eine verschobene Flugzeit-Messung zu identifizieren, welche um
mindestens eine Hälfte
der Wellenperiode von einem vorhergesagten Flugzeitwert abweicht,
der aus einer Anzahl von vorhergehenden Flugzeitmessungen berechnet
wird; (e) ein Verschiebungsfaktor-Modul, welches mit dem Überwachungsmodul
verknüpft
ist und eingerichtet ist, einen Verschiebungsfaktor zu identifizieren,
der einem ganzzahligen Vielfachen der Wellenperiode entspricht,
um welche die verschobene Flugzeitmessung korrigiert werden muss,
um eine korrigierte Flugzeitmessung zu erhalten, welche in der Hälfte der
Wellenperiode des vorhergesagten Flugzeitwerts liegt; und (f) ein
Korrekturmodul (112), welches mit dem Zeitablauf-Modul
(104) verknüpft
ist und eingerichtet ist, den Abstand D, der aus der verschobenen
Flugzeitmessung berechnet wurde, durch das Produkt des Verschiebungsfaktors
und der Druckwellen-Wellenlänge
zu korrigieren.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung schließen die
vorbestimmten Sychronitätskriterien
ein, dass für
erste, zweite und dritte Flugzeitmessungen, die jeweils aus einem
ersten, einem zweiten und einem dritten aufeinanderfolgenden Pulse
berechnet wurden, ein Unterschied zwischen der ersten und der zweiten
Flugzeitmessung und ein Unterschied zwischen der zweiten und der dritten
Flugzeitmessung jeweils weniger als eine Hälfte der Wellenperiode sind,
oder dass mindestens drei Flugzeitmessungen, die von aufeinanderfolgenden
Druckwellenpulsen abgeleitet wurden, im wesentlichen linear variieren.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung ist der Signalprozessor
dazu eingerichtet, einen vorbestimmten Punkt innerhalb eines Zyklus
als die effektive Ankunftszeit zu identifizieren. Dieser Punkt entspricht
typischerweise einem ersten Nulldurchgang eines empfangenen Signals,
nachdem das Signal einen gegebenen Schwellwert überschritten hat.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung führt der Signalprozessor mindestens
einen zusätzlichen
Verschiebungstest durch, wobei das Korrekturmodul eingerichtet ist,
den Abstand D wahlweise in Reaktion auf den zusätzlichen Verschiebungstest
zu korrigieren. Dieser Test kann ein Bestimmen einer Reihenfolge
einschließen,
in welcher ein positiver und ein negativer Signalamplituden-Schwellwert überschritten
werden, oder kann einschließen:
(a) Bestimmen mindestens einer Scheitelwert-Signalamplitude, die auftritt, nachdem ein
Signalamplituden-Schwellwert überschritten
wurde; und (b) Berechnen, ob die Scheitelwert-Signalamplitude sich
von der einer entsprechenden Scheitelwert-Signalamplitude eines
vorhergehenden Pulses um mehr als ein vorbestimmtes Verhältnis unterscheidet.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung berechnet das Überwachungsrmodul
den vorhergesagten Flugzeitwert durch geometrische Extrapolation
aus mindestens zwei vorhergehenden Flugzeitmessungen, und typischerweise durch
Extrapolation einer polynomischen Anpassung zweiter Ordnung der
vorhergehenden drei Flugzeitmessungen.
-
Es
wird außerdem
gemäß der Lehre
der vorliegenden Erfindung eine Sendervorrichtung zur Verwendung
mit einem System zur Digitalisierung funktioneller Bewegungen eines
handgehaltenen Zeichengeräts
bereitgestellt, wobei das Zeichengerät einen Körper und eine funktionale Spitze
aufweist, wobei die Sendervorrichtung umfasst: (a) ein Gehäuse mit
einer Öffnung,
wobei das Gehäuse
eingerichtet ist, einen Teil des Körpers des Zeichengeräts aufzunehmen,
mit seiner funktionalen Spitze durch die Öffnung reichend; (b) einen
normalerweise geschlossenen Schalter, der so eingerichtet ist, dass
er durch eine relative Bewegung zwischen dem Zeichengerät und dem
Gehäuse
geöffnet
wird, die aus Druck resultiert, welcher auf die funktionale Spitze
angewendet wird; und (c) eine erste Feder, die eingerichtet ist,
das Zeichengerät
in eine Vorwärtsposition
vorzuspannen, in der der Schalter geschlossen ist.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird auch eine zweite
Feder bereitgestellt, schwächer
als die erste Feder, die eingerichtet ist, auf das Zeichengerät in eine
Rückwärtsrichtung
zu wirken, um das Zeichengerät
in dem Gehäuse
zu versenken.
-
Gemäß einem
weiteren Merkmal der vorliegenden Erfindung wird auch ein Zentrierelement
bereitgestellt, welches mit der ersten Feder verknüpft ist und
eine Anlagefläche
bietet, die eingerichtet ist, ein hinteres Ende des Zeichengeräts mittig
in dem Gehäuse
auszurichten.
-
Kurze Beschreibung der
Zeichnungen
-
Die
Erfindung wird hierin nur beispielhaft mit Bezug auf die beigefügten Zeichnungen
beschrieben, wobei
-
1 ein
Schaubild einer Ultraschall-Signalamplitude gegen die Zeit für den Anfang
eines Pulses ist, bei dem ein Schwellwert während eines zweiten Zyklus
des Pulses überschritten
wird;
-
2 ein
Schaubild einer Ultraschall-Signalamplitude gegen die Zeit für den Anfang
eines Pulses ist, bei dem ein Schwellwert während eines dritten Zyklus
des Pulses überschritten
wird;
-
3 ein
Schaubild des Abstands gegen die Zeit für aufeinanderfolgende Pulse
ist, der einen ersten Aspekt eines Algorithmus gemäß der vorliegenden
Erfindung veranschaulicht;
-
4A und 4B Schaubilder
der Ultraschall-Signalamplitude gegen die Zeit für den Beginn zweier Pulse sind,
welche die Verwendung eines Verfahrens mit einem positiven und einem
negativen Schwellwert gemäß der vorliegenden
Erfindung veranschaulichen;
-
5A und 5B Schaubilder
der Ultraschall-Signalamplitude gegen die Zeit für den Beginn zweier weiterer
Pulse sind, die eine Verfeinerung des Verfahrens aus 4A und 4B veranschaulichen,
welche eine Scheitelwert-Amplituden-Detektion verwendet;
-
6 ein
Blockdiagramm eines Empfängermoduls
aus einem System ist, welches gemäß den Lehren der vorliegenden
Erfindung aufgebaut ist und funktioniert, zum Verfolgen von Änderungen
eines Abstands D, der aus Flugzeitmessungen von Druckwellenpulse
berechnet wird;
-
7 ein
Blockdiagramm eines System einschließlich einiger der Module aus 6 ist;
und
-
8 eine
schematische Querschnittsansicht durch eine Sendervorrichtung ist,
die gemäß den Lehren
der vorliegenden Erfindung aufgebaut ist und funktioniert, zur Verwendung
mit einem System zum Digitalisieren funktionaler Bewegungen eines handgehaltenen
Zeichengeräts.
-
Beschreibung der bevorzugten
Ausführungsformen
-
Die
vorliegende Erfindung ist ein Verarbeitungsalgorithmus für ein Ultraschall-Flugzeit-Digitalisierungs-System,
sowie ein entsprechendes System. Die Erfindung bietet auch ein einfaches
Verfahren zum Codieren von Informationen in einem elektromagnetischen
Synchronisationssignal.
-
Die
Prinzipien und Funktionsweise der Systeme, Algorithmen und Verfahren
gemäß der folgenden
Erfindung können
besser mit Bezug auf die Zeichnungen und die zugehörige Beschreibung
verstanden werden.
-
Bevor
wir uns den Verfahren und Systemen der vorliegenden Erfindung zuwenden,
sollte beachtet werden, dass die vorliegende Erfindung auf jede Situation
angewendet werden kann, in der ein Abstand von einem Sender zu einem
Empfänger über die
Flugzeit eines Druckwellen-Pulses gemessen wird. In einem minimalen
Fall könnte
dies ein einzelnes Sender/Empfänger-Paar
sein. Typischerweise verwenden solche System jedoch mindestens zwei Empfänger für zweidimensionale
Messungen, oder mindestens drei Empfänger für dreidimensionale Messungen.
Alternativ können
mehrere Sender zusammen mit einem einzelnen Empfänger verwendet werden. In jedem
Fall beziehen sich die Verfahren der Erfindung hauptsächlich auf
die Verarbeitung von Signalen, die von einem Empfänger empfangen
wurden und von einem Sender stammen, was auf jedes Sender-Empfänger-Paar innerhalb
des Systems angewendet werden kann.
-
Unter
Bezugnahme auf die Zeichnungen zeigen 1 und 2 die
Anfänge
zweier Ultraschallpulse, während
die Amplitude über
mehrere Zyklen ansteigt. Wie zuvor erklärt, kann ein festgesetzter Amplituden-Schwellwert
in verschiedenen Phasen der Pulsamplituden-Einhüllenden überschritten
werden. Im hier gezeigten Beispiel wird der Schwellwert während des
zweiten Zyklus des Pulses in 1 überschritten,
aber erst im dritten Zyklus des Pulses in 2. Übergänge zwischen
Zyklen wie gezeigt verursachen häufig
signifikante Unstetigkeiten oder „Sprünge" in der gemessenen Entfernung.
-
Um
dieses Problem anzugehen, bietet die vorliegende Erfindung ein Verfahren
zum Verfolgen von Änderungen
eines Abstands D, der aus Flugzeitmessungen einer Abfolge von Pulsen
einer Druckwellenoszillation von einem Sender zu einem Empfänger berechnet
wird. Allgemein gesagt schließt
das Verfahren das Identifizieren eines Zustands synchronen Betriebs
ein, indem mindestens zwei Flugzeitmessungen erhalten werden, die
von aufeinanderfolgenden Druckwellenpulse abgeleitet sind, welche
irgendwelche vorbestimmten Synchronitätskriterien erfüllen. Ein
bevorzugter Satz von Synchronitätskriterien
ist, dass mindestens drei Flugzeitmessungen von aufeinanderfolgenden
Druckwellenpulsen abgeleitet werden, für welche aufeinanderfolgende
Flugzeitmessungen um weniger als eine Hälfte der Wellenperiode k variieren.
Damit wird, mit Bezug auf 3, die erste
bei t1 vorgenommene Flugzeitmessung 20 verwendet,
um einen Bereich von ±k/2
um den gemessenen Wert zu definieren. Die darauffolgende Flugzeitmessung 22 bei
t2 wird dann mit diesem Bereich verglichen.
Wenn zwei aufeinanderfolgende Messungen jeweils in diesen Bereich
aus den vorhergehenden Messwerten fallen, wird der Systembetrieb
als synchron definiert.
-
Es
soll am Rande bemerkt werden, dass diese Kriterien für synchronen
Betrieb weder absolut notwendig noch ausschließlich sind. Es kann somit zum
Beispiel gewünscht
sein, diese Kriterien zu unterstützen,
indem alternative Kriterien zugelassen werden, die ebenfalls als „synchroner
Betrieb" definiert
werden. In einem Beispiel kann eine lineare Abweichung von D über drei
aufeinanderfolgende Messungen hinweg als synchroner Betrieb betrachtet werden,
selbst wenn die Änderung
von D zwischen Messungen möglicherweise ±k/2 überschreitet.
-
Nach
dem Eintritt in synchronen Betrieb werden aufeinanderfolgende Flugzeitmessungen überwacht,
um die erste Flugzeitmessung zu identifizieren, die außerhalb
des k/2-Bereichs eines vorhergesagten Flugzeitwerts liegt, der aus
einer Anzahl von vorhergehenden Flugzeitmessungen berechnet wurde.
In diesem Fall tritt die erste sogenannte „verschobene Flugzeitmessung" 26 bei
t4 auf. Der vorhergesagte Flugzeitwert kann
auf verschiedene Arten berechnet werden. Vorzugsweise basiert die
Berechnung auf einer geometrischen Extrapolation von mindestens
zwei vorhergehenden Abstandsmessungen. In einer besonders wirkungsvollen
Implementierung basiert die Extrapolation auf einer polynomischen Anpassung
zweiten Grades der vorhergehenden drei Flugzeitmessungen.
-
Das
Verfahren identifiziert dann einen Verschiebungsfaktor, der einem
ganzzahligen Vielfachen der Wellenperiode k entspricht, um welchen
die verschobene Flugzeitmessung korrigiert werden muss, um einen
korrigierten Flugzeitwert zu erhalten, der in die Hälfte der
Wellenperiode von der vorhergehenden Flugzeitmessung aus fällt. In
diesem Fall ist ein Verschiebungsfaktor von –1 erforderlich. Der Abstand
D1, der aus der verschobenen Flugzeitmessung
berechnet wird, wird dann um das Produkt des Verschiebungsfaktors
und der Druckwellenwellenlänge
korrigiert, um die verschobene Flugzeitmessung 26 auf die
korrigierte Messung 28 abzubilden bzw. zu übertragen.
Es wird üblicherweise
von der Annahme ausgegangen, dass darauffolgende Messungen ebenfalls
um den gleichen Verschiebungsfaktor korrigiert werden sollten, bis
ein neuer Unterschied bzw. eine Nichtübereinstimmung mit dem vorhergesagten Wert
auftritt.
-
Es
ist klar, dass der in diesem Verfahren verwendete Verschiebungsfaktor
auf einen sinnvollen Wert beschränkt
werden sollte. Es ist viel wahrscheinlicher, dass eine plötzliche
unvorhergesehene Änderung
des gemessenen Abstands von mehreren Wellenlängen von Schallstörungen oder
einer vorübergehenden
Fehlfunktion stammt, als von mehreren Verschiebungen des Detektionszyklus.
Typischerweise wird eine Änderung
von nur einem oder höchstens
zwei Zyklen zwischen Detektionen erwartet.
-
Es
sollte beachtet werden, dass der korrigierte Wert 28 dann
bei der Vorhersage des darauffolgenden Flugzeitwerts verwendet wird.
Die anfängliche
Berechnung geht von demselben Verschiebungsfaktor aus, der für die vorherige
Messung verwendet wurde. Wenn jedoch, wie hier gezeigt, die darauffolgende
automatisch korrigierte Messung 32, die unter Verwendung
desselben Verschiebungsfaktors berechnet wurde, um mehr als eine
halbe Wellenlänge
von dem vorhergesagten Wert entfernt liegt, wird ein umgekehrter
Verschiebungsfaktor verwendet, um die Messung auf den vorhergesagten
Wert 30 zurückzuführen.
-
Dem
Konzept nach bietet dieses Verfahren eine besonders einfache Lösung für das Problem
von Unstetigkeiten aufgrund von Übergängen zwischen Detektionszyklen.
Unter der Annahme, dass die Periode zwischen Pulsen ausreichend
klein ist, so dass zurückgelegte
Entfernungen zwischen Pulsen immer weniger als k/2 sind, ist ein
Sprung über
k/2 ein starkes Anzeichen dafür,
dass ein Übergang
zwischen Detektionszyklen aufgetreten ist. Im Prinzip sollte eine
kumulative Korrektur solcher Sprünge,
um jeden Schritt innerhalb den erforderlichen Bereich der vorhergehenden
Messung zu bringen, eine vollständige Lösung des
Problems bieten. In der Praxis können gewisse
Situationen wie eine extreme Beschleunigung der Sendereinheit zu
fehlerhaften Korrekturen führen.
Verschiedene Verfeinerungen bzw. Verbesserungen werden vorzugsweise
bereitgestellt, um solche problematischen Fälle zu behandeln, wie nun beschrieben
wird.
-
Die
Verfeinerungen der vorliegenden Erfindung, um Probleme dieser Art
anzugehen, kann in zwei Kategorien unterteilt werden. Zum ersten
werden Schritte unternommen, um den Detektionsvorgang zu standardisieren
und stabilisieren, wodurch der Anteil abweichender Messungen verringert
wird. Zum zweiten kann als alternative oder vorzugsweise gleichzeitig
die „Korrektur" von Messungen auf Grundlage
des vorstehend beschriebenen Hauptalgorithmus abhängig von
dem Ergebnis mindestens eines zusätzlichen Verschiebungstests
gemacht werden, der dazu ausgelegt ist, die Korrektur zu verifizieren.
-
In
Bezug auf die Standardisierung und Stabilisierung des Detektionsvorgangs
werden Flugzeitmessungen gemäß der vorliegenden
Erfindung vorzugsweise durch ein Verfahren vorgenommen, das eingerichtet
ist, einen vorbestimmten Punkt innerhalb eines Zyklus zu erkennen.
Das einfachste Verfahren dieser Art ist es, einen ersten Nulldurchgang
des empfangenen Signals zu identifizieren, nachdem das Signal einen
gegebenen Schwellwert überschritten hat.
-
Mit
Bezug auf die zusätzlichen
Verschiebungstests gibt es eine Reihe möglicher Ansätze, von denen jeder alleine
oder in Kombination mit anderen verwendet werden kann.
-
Ein
erster zusätzlicher
Verschiebungstest wird in 4A und 4B veranschaulicht. 4A zeigt
ein Signal, bei dem ein positiver Schwellwert 40 in dem
ersten Zyklus bei Punkt 42 überschritten wird, während 4B ein Überschreiten
im zweiten Zyklus bei Punkt 44 zeigt. Diese beiden Fälle werden gemäß der vorliegenden
Erfindung vorzugsweise unterschieden, indem ein entsprechender negativer Schwellwert 46 hinzugefügt wird
und eine Reihenfolge bestimmt wird, in welcher der positive und
der negative Signalamplituden-Schwellwert überschritten werden.
Somit wird in 4A der positive Schwellwert 40 überschritten,
bevor der negative Schwellwert 46 bei Punkt 43 überschritten
wird. In 4B dagegen wird der negative
Schwellwert 46 zuerst bei Punkt 45 überschritten.
Dieser Wechsel der Reihenfolge kann als Hinweis darauf verwendet
werden, dass eine Änderung
des Detektionszyklus aufgetreten ist.
-
5A und 5B zeigen
dagegen, dass dieser letzte Ansatz alleine nicht immer ausreichend ist.
Speziell zeigt 5A eine negative Detektion bei Punkt 48,
auf die eine positive Detektion bei Punkt 50 folgt. 5B dagegen
zeigt eine positive Detektion bei Punkt 52, auf die eine
negative Detektion bei Punkt 54 folgt. In beiden Fällen wurde
jedoch das Signal während
des ersten Zyklus des Signals detektiert.
-
Um
diese Lücke
zu behandeln, schließt
der mindestens eine zusätzliche
Verschiebungstest als eine alternative zu oder als weitere Verfeinerung
des reihenfolgen-basierten Algorithmus aus 4A und 4B ein
Bestimmen mindestens einer Scheitelwert-Amplitude ein, die auftritt,
nachdem ein Signalamplituden-Schwellwert überschritten wird, und ein
Vergleichen dieser Scheitelwert-Amplitude mit einer entsprechenden
Amplitude der vorherigen Detektion.
-
Wenn
somit 5A und 5B als
Detektionen aufeinanderfolgender Pulse angesehen werden, sind die
Scheitelwert-Signalamplituden, die nach Detektion von A1 bzw.
A2 gemessen wurden, von der Größe her relativ
nahe beieinander. Bei den aufeinanderfolgenden Pulsen aus 4A und 4B dagegen
ist die zweite Scheitelwert-Amplitude A2 deutlich
größer als
A1. Damit kann ein Verhältnis über einem vorgegebenen Wert
zwischen Scheitelwert-Amplituden-Messungen aufeinanderfolgender
Detektionen als Zeichen für
eine Änderung
des Detektionszyklus angesehen werden. Ein Doppelkriterium einer
positiv/negativ-Schwellwertüberschreitung-Umkehr
und einer signifikanten Variation der Scheitelwertamplitude nach
Detektion kann, zusammen verwendet, einen besonders robusten Bestätigungsalgorithmus
für vermutete
Detektionszyklus-Übergänge bieten.
-
Wendet
man sich nun 6 zu, so wird offensichtlich,
dass die vorstehend beschriebenen Algorithmen auf viele verschiedene
Arten implementiert werden können.
Das System der Erfindung besteht typischerweise aus mehreren Modulen,
von denen jedes auf viele verschiedene Arten von Formen implementiert
sein kann. Diese schließen
Softwaremodule ein, die Softwareprogramme sind, welche die Funktionen
des Systems wie nachstehend beschrieben ausführen. Diese Softwaremodule
sollten in einer geeigneten Programmiersprache geschrieben sein,
wie C oder C++, die mit dem Betriebssystem des Computers kompatibel
ist, auf dem diese Module ausgeführt
werden. Die genaue Auswahl einer solchen Programmiersprache kann
von einem Durchschnittsfachmann leicht getroffen werden. Hierbei schließt der Begriff „Computer", ohne darauf beschränkt zu sein,
Personalcomputer (PC) mit einem Betriebssystem wie DOS, WindowsTM, OS/2TM oder Linux
ein; MacintoshTM-Computer; Computer mit
einem JAVATM-OS als Betriebssystem; und
graphische Arbeitsplätze
wie die Computer von Sun MicrosystemsTM und
Silicon GraphicsTM, sowie andere Computer,
die irgendeine Version des UNIX-Betriebssystems wie AIX oder SOLARISTM von Sun MicrosystemsTM aufweisen;
oder irgendein anderes bekanntes und verfügbares Betriebssystem, sowie
jede andere geeignete Kombination von Computerhardware und einem
Betriebssystem. Hierbei schließt
der Begriff „Windows", ohne darauf beschränkt zu sein, Windows95TM, Windows3.xTM,
wobei x eine Ganzzahl wie „1" ist, Windows NTTM, Windows 98TM,
Windows CETM und jede neue oder aktualisierte
Version dieser Betriebssysteme von Microsoft Inc. (Seattle, Washington,
USA), sowie jedes andere Betriebssystem von Microsoft Inc.
-
Zusätzlich könnten die
Module als reine Hardware implementiert werden, oder als eine Kombination
von Hardware und Software, was als „Firmware" bekannt ist, was Software-Programmieranweisungen
einschließt,
die auf einen ROM (read only memory)-Chip gebrannt sind. Manche
dieser Module können
auch flüchtige
oder nichtflüchtige
Speicher einschließen,
oder andere Speichervorrichtungen irgendeiner Art, wie erforderlich.
Die genaue Ausführung
kann leicht von einem Durchschnittsfachmann vorgenommen werden.
In jedem Fall werden die Module hierin nach ihrer Funktion beschrieben
anstelle als streng physisch getrennte Einheiten.
-
In
einer besonders vorteilhaften Implementierung, die in 6 und 7 veranschaulicht
wird, wird ein Digitalisierungssystem unter Verwendung mehrerer
modularer Empfängereinheiten 100 implementiert,
die in einer Reihe beliebiger Länge
miteinander verbunden werden können,
um einen gegebenen Bereich abzudecken. Typischerweise werden mindestens
zwei Einheiten verwendet, und vorzugsweise mindestens vier. Es wurde
außerdem
als vorteilhaft befunden, eine gerade Anzahl von Einheiten zu verwenden,
so dass Paare von Einheiten optimalerweise mit sich überschneidenden „Sichtfeldern" verwendet werden,
um aus jedem Untergebiet des Bereichs zu empfangen.
-
Genauer
ist, in der Implementierung aus 6, die Empfängereinheit 100 dazu
eingerichtet, Veränderungen
eines Abstands D zu verfolgen, der aus Flugzeitmessungen von Druckwellenpulsen
gemäß den Verfahren
der vorliegenden Erfindung wie vorstehend beschrieben berechnet
wird. Somit weist die Empfängereinheit 100 einen
Signalprozessor 102 zum Verarbeiten des Signals von dem
Ultraschallempfänger 103 auf,
um eine effektive Ankunftszeit für jeden
Puls abzuleiten, die typischerweise als ein erster Nulldurchgang
des empfangenen Signals genommen wird, nachdem das Signal einen
gegebenen Schwellwert überschritten
hat. Ein Zeitablauf-Modul 104 leitet dann für jeden
Puls aus der effektiven Ankunftszeit und der Puls-Zeit-Information,
vorzugsweise abgeleitet von einer Zeit-Eingabe 105 die
typischerweise von einem Infrarot-Empfänger stammt, eine Flugzeit
ab. Die Flugzeitwerte werden dann von einem Synchronbetriebsmodul 106,
einem Überwachungsmodul 108,
einem Verschiebungsfaktormodul 110 und einem Korrekturmodul 112 verarbeitet,
um Sprünge
aufgrund von Änderungen
des Detektionszyklus auszugleichen. Speziell analysiert das Synchronbetriebsmodul 106 die
Flugzeiten, um einen Zustand synchronen Betriebs zu identifizieren,
und das Überwachungsmodul 108 überwacht
aufeinanderfolgende Flugzeitmessungen, um eine verschobene Flugzeitmessung
zu identifizieren. Das Verschiebungsfaktormodul 110 identifiziert
dann einen Verschiebungsfaktor, der einem ganzen Vielfachen der
Wellenperiode entspricht, um welche die verschobene Flugzeitmessung
korrigiert werden muss, um eine korrigierte Flugzeitmessung zu erhalten,
die innerhalb eine Hälfte
der Wellenperiode von der vorhergesagten Flugzeitmessung fällt. Typischerweise ist
das Verschiebungsfaktormodul 110 dazu eingerichtet, jede
verschobene Flugzeitmessung als fehlerhaft einzuordnen, für die der
Verschiebungsfaktor zwei übersteigt,
oder vorzugsweise eins. Das Korrekturmodul korrigiert entsprechend
den Abstand D, der aus der verschobenen Flugzeitmessung berechnet wurde.
Der korrigierte Wert von D wird dann vorzugsweise zurück in das Überwachungsmodul 108 gespeist,
um als die vorherige Flugzeitmessung zum Überwachen einer darauffolgenden
Flugzeitmessung verwendet zu werden.
-
In
Bezug auf die zuvor beschriebenen zusätzlichen Verschiebungstests
werden diese vorzugsweise als Teil des Signalprozessors 102 implementiert.
Alternativ oder zusätzlich
kann ein gesondertes zusätzliches
Verschiebungstestmodul 114 bereitgestellt sein.
-
Um
die modulare Verbindung von Empfängereinheiten 100 wie
oben erwähnt
zu ermöglichen bzw.
zu vereinfachen, wird die Übermittlung
von Abstandsmessungen an eine externe Vorrichtung wie z.B. einen
Computer vorzugsweise von einem Ausgabemodul 116 vorgenommen.
Das Ausgabemodul 116 weist vorzugsweise Eingangs-, Ausgangs-
und Reset-Triggerverbindungen auf, um eine Übertragungssequenz zu steuern,
was es ermöglicht,
dass eine große
Anzahl von Einheiten an gemeinsame Datenleitungen angebunden werden,
wie beschrieben werden wird. Das Ausgabemodul 116 bietet
auch Datenausgangs- und optional Dateneingangs-Anschlüsse, die
mit einem gewünschten
Anschlussformat wie z.B. einer RS232-Schnittstelle implementiert werden
können.
-
7 zeigt
schematisch, wie eine Anzahl von Empfängereinheiten 100 in
einem System 120 mit gemeinsamen Datenleitungen 122 und 124 verbunden
sind. Der Triggerausgang jeder Einheit ist mit dem Triggereingang
der nächsten
verbunden, wobei der Triggereingang der ersten Einheit („Kanal
1") mit Masse verbunden
ist. Die Ausgabe eines IR-Empfängers 126,
die entlang einer IR-Synchr.-Leitung 128 an das IR-Signal-Zeit-Modul 105 jeder
Einheit 100 geliefert wird, erzeugt einen Trigger-Reset.
Dieser Trigger-Reset wirkt so, dass er die Einheit dafür vorbereitet,
auf den nächsten
empfangenen Druckwellenpuls zu warten und den Triggerausgang auf „high" bzw. „hoch" zu setzen. Nach
dem Empfang eines Druckwellensignals und der Berechnung einer entsprechenden
Abstandsmessung ist jede Empfängereinheit 100 eingerichtet,
zu warten, bis der Triggereingang auf „low" bzw. „niedrig" geht (d.h. Masse), und dann die Abstandsmessungs-Daten
zu übertragen. Sofort
nach der Übertragung
setzt sie ihren Triggereingang auf low. Als Folge wird eine Kettenreaktion erzeugt,
in der jeder Kanal seine Daten überträgt und dann
die Übertragung
des nächsten
Kanals auslöst bzw.
triggert. Die externe Vorrichtung kann anhand der Reihenfolge der Übertragung,
die durch die Verbindungen von Triggerausgängen und -Eingängen vorgegeben
ist und immer bei dem Kanal beginnt, der dauerhaft mit der Masse
verbunden ist, leicht identifizieren, welche Daten von welchem Empfänger kommen.
Zusätzliche
Identifikations-Informationen können
ebenso in der Datenübertragung
enthalten sein.
-
Es
soll bemerkt werden, dass die beschriebene Struktur eine große strukturelle
Flexibilität
und Einfachheit bietet. Da jede Empfängereinheit 100 nur ihre
eigenen, recht einfachen Signalverarbeitungen und Berechnungen ausführt, ist
die innere Struktur der Einheiten einfach und kostengünstig zu
implementieren. Darüber
hinaus werden Produktionskosten minimiert, da alle Empfängereinheiten
identisch sind.
-
Die
modularen Eigenschaften des Systems gestatten eine Erweiterung des
Systems, um große Bereiche
abzudecken, ohne irgendeine strukturelle Änderung außer dem Hinzufügen von
Empfängereinheiten.
Die entsprechenden Modifikationen, die bei den Triangulationsalgorithmen
erforderlich sind, welche von der externen Vorrichtung ausgeführt werden sollen,
sind trivial. Wenn gewünscht,
kann die externe Vorrichtung auch dazu programmiert werden, sich automatisch
an die Anzahl der vorhandenen Empfänger anzupassen.
-
Wendet
man sich schließlich 8 zu,
zeigt diese einen bevorzugten Aufbau einer Sendervorrichtung 60 zur
Verwendung mit einem System zum Digitalisieren funktioneller Bewegungen
eines handgehaltenen Zeichengeräts 62.
Die Sendervorrichtung 60 schließt ein Gehäuse 64 ein, das dazu
eingerichtet ist, mindestens einen Teil des Körpers des Zeichengeräts 62 aufzunehmen,
mit dessen funktioneller Spitze durch eine Öffnung 66 ragend.
Eine besondere Eigenschaft der Sendervorrichtung 60 ist,
dass funktionaler Kontakt der Zeichengerät-Spitze gegen eine Oberfläche durch
Verwendung eines normalerweise geschlossenen Schalters 68 identifiziert
wird. Der Begriff „normalerweise
geschlossener Schalter" wird
verwendet, um eine Schaltstruktur zu bezeichnen, bei der eine Bewegung
durch das Unterbrechen eines Schaltkreises detektiert wird, der
normalerweise durch den Schalter vervollständigt ist. In diesem Fall wird
der normalerweise geschlossene Schalter 68 so angewendet,
dass er durch eine relative Bewegung zwischen dem Zeichengerät 62 und
dem Gehäuse 64 geöffnet wird,
die durch Druck verursacht wird, der auf die funktionelle Spitze
ausgeübt
wird. Eine erste Feder 70 wird angewendet, um das Zeichengerät 62 in
eine Vorwärtsposition
vorzuspannen, in der der Schalter 68 geschlossen ist.
-
Im
Gegensatz zu herkömmlichen
Mikroschaltern, die nach einer festgelegten zurückgelegten Entfernung schalten,
bietet die Verwendung eines normalerweise geschlossenen Schalters
eine sofortige Detektion des Kontakts mit einer Oberfläche, indem
der Beginn der relativen Bewegung zwischen dem Zeichengerät und dem
Gehäuse
detektiert bzw. erfasst wird.
-
Vorzugsweise
wird eine zweite Feder 72, schwächer als die erste Feder 70,
angewendet, um auf das Zeichengerät 72 in eine Rückwärtsrichtung zu
wirken, d.h. darauf zu wirken, den funktionellen Punkt zurück zu ziehen.
Die Entgegenstellung und Ausrichtung von Federn 70 und 72 dient
dazu, das Zeichengerät
richtig in dem Gehäuse 64 auszurichten
und gestattet es, dass in dem Gehäuse Zeichengeräte mit verschiedenen
Längen
aufgenommen werden können.
Gleichzeitig stellt die stärkere
erste Feder 70 sicher, dass der Schalter 68 in
seinen geschlossenen Zustand zurückkehrt,
wenn keine Kontaktkraft auf die funktionale Spitze des Zeichengeräts 62 angewendet
wird.
-
Im
hier gezeigten Beispiel wird ein normalerweise geschlossener Schalter 68 in
einem abnehmbaren Abdeckteil 64a des Gehäuses 64 verwendet. Ein
Durchschnittsfachmann wird jedoch erkennen, dass alternative Ausführungsformen
ebenso verwendet werden können,
bei denen der Schalter 68 sich an anderen Positionen befindet,
zum Beispiel in der Nähe
der Öffnung 66.
-
Eine
weitere bevorzugte Eigenschaft der Sendervorrichtung 60 ist
ein Zentrierelement 74, welches typischerweise mit der
ersten Feder 70 verbunden ist, das eine Anlagefläche 76 bereitstellt,
die so geformt ist, dass sie ein hinteres Ende des Zeichengeräts 62 zentral
innerhalb des zylindrischen Hohlraums des Gehäuses 64 ausrichtet.
Dies stellt eine Ausrichtung von Zeichengeräten in dem Gehäuse 64 unabhängig von
ihren äußeren Abmessungen
sicher und verhindert einen reibenden Kontakt zwischen dem Zeichengerät und den
Wänden
des Gehäuses 64,
der andernfalls die Funktion des Schalters 68 stören könnte. Vorzugsweise
ist die Anlagefläche 76 mit einem
sich verjüngenden
Vorsprung 78 ausgebildet, der, unter der Wirkung der Federn 70 und 72,
sich selbst in der axialen Aussparung zentriert, die dem hinteren
Ende der meisten Marker-artigen Zeichengeräte gemeinsam ist.
-
In
Bezug auf die Schaltungen der Sendereinheit ist dies typischerweise
relativ einfach, da nur eine synchrone gepulste Übertragung der Druckwelle und
elektromagnetische Sender erforderlich sind. Optional kann das elektromagnetische
Signal zusätzliche
Informationen tragen, wie eine Stiftfarbe und die Zustände von
einem oder mehreren Schaltern.
-
Ein
spezifisches Problem bei der Implementierung des Senders betrifft
das Aufrechterhalten der Synchronität während kurzer funktioneller
Bewegungen. Um eine verschwenderische Dauerübertragung zu vermeiden, verwenden
Zeichengeräte
wie Stifte oder Radierer typischerweise einen Kontaktschalter, um
einen funktionalen Kontakt zwischen dem Zeichengerät und einer
Oberfläche
zu identifizieren. Die Sequenz von Ultraschallpulsen wird dann eingeleitet, wenn
ein funktioneller Kontakt hergestellt wird. Da eine wirksame Funktion der
vorliegenden Erfindung einen „synchronen
Betrieb" erfordert,
führt das
wiederholte Anhalten und Starten des Ultraschallsenders, das normalerweise
von kurzen Kontaktbewegungen verursacht wird, zu wiederholtem Verlust
der Synchronität.
-
Um
dieses Problem zu beheben, wird die Übertragung der Pulsfolge vorzugsweise
für eine
vorgegebene Verzögerungsperiode
fortgesetzt, typischerweise mindestens etwa ½ Sekunde, nachdem der Kontaktschalter
aufgehört
hat, funktionellen Kontakt anzuzeigen. Auf diese Weise wird der
Zustand synchronen Betriebs während
unterbrochenem Kontakt beibehalten. Der Zustand des Kontaktschalters wird
dann gesondert an die Basiseinheit übermittelt, entweder über eine
fest verdrahtete Verbindung, wenn vorhanden, oder vorzugsweise über eine
elektromagnetische Verbindung von der Sendereinheit zu einem zugehörigen elektromagnetischen
Empfänger. In
letzterem Fall werden die Übertragung
sowohl des Druckwellensignals als auch des elektromagnetischen Signals
während
der Verzögerungsperiode fortgesetzt.