-
Die vorliegende Erfindung betrifft ein Verfahren zum zeitlichen Steuern einer zweiten Vorrichtung, die eine bestimmte Taktdauer besitzt, durch eine erste Vorrichtung. Darüber hinaus betrifft die vorliegende Erfindung ein System mit der ersten und der zweiten Vorrichtung sowie ein Computerprogramm und ein computerlesbares Speichermedium.
-
Die präzise Zeitsynchronisation insbesondere zwischen unabhängigen, vernetzten Computersystemen ist für viele Anwendungen unabdingbar. In vernetzten Computersystemen, in denen eine hohe Koordinierung der Aufgaben für präzise Berechnungsergebnisse entscheidend ist, ist eine solche Zeitsynchronisation von größter Bedeutung. Dies gilt insbesondere für zwei Systeme, die parallel und in Echtzeit zeitliche Daten erfassen, wie bei Hybriden PET/MR-Systemen (Positronen-Emissions-Tomographie/Magnetresonanztomographie). Diese Daten müssen im Nachhinein mit hoher Genauigkeit zeitlich korreliert werden.
-
Für diese Problematik stehen derzeit zwei mögliche Lösungen zur Verfügung, aber keine davon ist für eine hoch präzise Zeitsynchronisation ausreichend geeignet.
-
Die erste Lösung für die Zeitsynchronisierung zwischen zwei oder mehr vernetzten unabhängigen Geräten ist die Einführung eines zusätzlichen Geräts, das die Zeit für alle Systeme festlegt. Es würde regelmäßig eine Referenzzeit an alle interessierten Parteien übermitteln. Aufgrund der stochastischen und unvorhersehbaren Natur von Computernetzwerken ist eine solche Zeitsynchronisation jedoch stark von der Netzwerklatenz und -bandbreite abhängig. Wenn die Zeitgenauigkeit sehr hoch sein muss (im Bereich von Millisekunden), ist eine solche Lösung einfach nicht geeignet.
-
Die zweite Lösung würde auf den systeminternen Uhren basieren, die nur einmal zu Beginn der Kommunikation neu eingestellt werden müssten (z.B. über eine Rundmeldung mit genauer Referenzzeit). Keine dieser Uhren ist jedoch absolut genau und wird daher unvermeidlich mit der Zeit abdriften. Ihre Zeit, die zu Beginn synchronisiert wurde, wird in Zukunft immer mehr abdriften.
-
Aus der
US 2021/0058181 A1 ist eine zeitliche Synchronisation einer Slave-Vorrichtung mittels Austausch einer Abfolge von Nachrichten mit einer Master-Vorrichtung gemäß einem „Precision Time Protocol“ (PTP) bekannt, wobei Übertragungsverzögerungen und eine zeitliche Differenz von Taktdauern zwischen der Master-Vorrichtung und der Slave-Vorrichtung berechnet werden können.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, eine genauere zeitliche Steuerung einer zweiten Vorrichtung durch eine unabhängige erste Vorrichtung zu ermöglichen.
-
Erfindungsgemäß wird diese Aufgabe gelöst durch ein Verfahren und ein System gemäß den unabhängigen Ansprüchen. Darüber hinaus wird ein Computerprogramm und ein computerlesbares Medium bereitgestellt. Vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Entsprechend der vorliegenden Erfindung wird demnach ein Verfahren zum zeitlichen Steuern (mindestens) einer zweiten Vorrichtung mit einer zweiten Taktdauer durch eine erste Vorrichtung bereitgestellt. Die beiden Vorrichtungen sind voneinander unabhängig. Beispielsweise besitzt die erste Vorrichtung einen ersten Takt mit einer ersten Taktdauer und die zweite Vorrichtung einen zweiten Takt mit einer zweiten Taktdauer, welche sich von der ersten Taktdauer unterscheidet. Damit besitzen die beiden Vorrichtungen voneinander getrennte zeitliche Steuerungen. Das Verfahren kann auch dazu verwendet werden, mit der ersten Vorrichtung weitere Vorrichtungen neben der zweiten Vorrichtung zeitlich zu steuern beziehungsweise zu synchronisieren. Dazu ist es nur notwendig, dass die einzelnen Vorrichtungen miteinander in Kommunikationsverbindung stehen.
-
Das zeitliche Steuern ist in seiner allgemeinen Breite so zu verstehen, dass die erste Vorrichtung eine beliebige Aktion der zweiten Vorrichtung in Bezug auf die Zeit steuert bzw. führt. In einer speziellen Ausgestaltung kann dieses zeitliche Steuern eine Synchronisation von Prozessen der Vorrichtungen bedeuten. Die Synchronisation sorgt dann dafür, dass Prozesse oder Vorgänge der Vorrichtungen gleichzeitig oder in einer bestimmten Reihenfolge ablaufen. Wenn also beispielsweise ein Prozess der ersten Vorrichtung mit einem Prozess der zweiten Vorrichtung synchronisiert ist, laufen die beiden Prozesse in einem bestimmten zeitlichen Abstand voneinander oder in einer bestimmten Reihenfolge ab.
-
Entsprechend dem erfindungsgemäßen Verfahren werden zunächst zwei Signalsequenzen zeitlich vermessen. Dazu erfolgt für die Messung der ersten Sequenz zunächst ein Senden eines ersten Signals von der ersten Vorrichtung zu einem ersten Zeitpunkt zu der zweiten Vorrichtung und sodann ein Senden eines zweiten Signals von der zweiten Vorrichtung bei Erhalt des ersten Signals an die erste Vorrichtung. Dies bedeutet, dass die erste Vorrichtung das erste Signal zur zweiten Vorrichtung schickt und unmittelbar anschließend die zweite Vorrichtung das zweite Signal an die erste Vorrichtung zurückschickt. Am Ende erfolgt ein Empfangen des zweiten Signals durch die erste Vorrichtung zu einem zweiten Zeitpunkt. Die erste Vorrichtung kennt somit den ersten Zeitpunkt zum Absenden des ersten Signals als auch den zweiten Zeitpunkt des Empfangens des zweiten Signals. Damit ist die erste Vorrichtung in der Lage, eine erste Zeitdifferenz zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt zu messen. Diese Zeitdifferenz entspricht im Wesentlichen der Laufzeit der beiden Signale zwischen beiden Vorrichtungen. Die Verarbeitungszeit in der zweiten Vorrichtung kann in der Regel vernachlässigt werden.
-
Im Rahmen der Vermessung der zweiten Signalsequenz erfolgt wiederum ein Senden eines dritten Signals von der ersten Vorrichtung zu einem dritten Zeitpunkt zu der zweiten Vorrichtung sowie ein anschließendes Senden eines vierten Signals von der zweiten Vorrichtung an die erste Vorrichtung und zwar ein vorgegebenes Vielfaches der zweiten Taktdauer nach Erhalt des dritten Signals. Dies bedeutet, dass die zweite Vorrichtung das dritte Signal von der ersten Vorrichtung empfängt, anschließend einige (vorher vereinbarte) Takte wartet und dann erst das vierte Signal an die erste Vorrichtung zurücksendet. Die zweite Vorrichtung wartet also beispielsweise n-Takte, die jeweils eine Länge einer zweiten Taktdauer besitzen. Folglich wartet die zweite Vorrichtung ein vorgegebenes Vielfaches der zweiten Taktdauer.
-
Das vierte Signal wird von der ersten Vorrichtung zu einem vierten Zeitpunkt empfangen. Somit kennt die erste Vorrichtung für die zweite Signalsequenz den dritten Zeitpunkt für das Absenden des dritten Signals und den vierten Zeitpunkt für das Empfangen des vierten Signals. Damit ist die erste Vorrichtung in der Lage, eine zweite Zeitdifferenz zwischen dem dritten Zeitpunkt und dem vierten Zeitpunkt zu messen. Diese zweite Zeitdifferenz entspricht im Wesentlichen der Summe der beiden Laufzeiten des dritten und vierten Signals sowie der Wartezeit der zweiten Vorrichtung.
-
Aus diesen zwei vermessenen Signalsequenzen kann die erste Vorrichtung nun die zweite Taktdauer der zweiten Vorrichtung berechnen. Hierbei erfolgt das Berechnen der zweiten Taktdauer als Quotient der Differenz der ersten Zeitdifferenz und der zweiten Zeitdifferenz zu dem vorgegebenen Vielfachen der zweiten Taktdauer durch die erste Vorrichtung. Dies bedeutet, dass die Differenz der bei beiden Signalsequenzen gemessenen Zeitdifferenzen durch die Anzahl der gewarteten Takte dividiert wird, um die zweite Taktdauer zu erhalten.
-
Will nun die erste Vorrichtung die zweite Vorrichtung zeitlich steuern, indem sie ihr vorgibt nach welcher Dauer ab einem Signalempfang eine gewisse Aktion durchzuführen ist, so muss die erste Vorrichtung der zweiten Vorrichtung lediglich mitteilen, wie viele zweite Takte die zweite Vorrichtung warten muss. Dazu muss die erste Vorrichtung einen Multiplikanden ermitteln, der multipliziert mit der zweiten Taktdauer eine vorgegebene Zeitdauer (d.h. die gewünschte Dauer) ergibt. In der Regel ist die kleinste zeitliche Auflösung der zweiten Vorrichtung die zweite Taktdauer. Dementsprechend kann die vorgegebene Zeitdauer als Vielfaches der zweiten Taktdauer gegebenenfalls mit Rest ausgedrückt werden. Optional kann ein mathematisches Runden des Vielfachen mit dem Rest erfolgen. Der so ermittelte Multiplikand (Vielfaches der zweiten Taktdauer) wird schließlich von der ersten Vorrichtung an die zweite Vorrichtung übertragen. Die zweite Vorrichtung kann damit nach Erhalt des Multiplikanden die Zeitdauer warten, die dem Produkt des Multiplikanden mit der zweiten Zeitdauer entspricht, um eine bestimmte Aktion auszulösen. Damit kann die erste Vorrichtung die zweite Vorrichtung anhand von deren Takt steuern.
-
In einer vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, dass die erste Zeitdifferenz und/oder die zweite Zeitdifferenz mehrfach gemessen werden, und aus den entsprechenden mehreren Messungen die beiden Zeitdifferenzen (genauer) ermittelt werden. Dies bedeutet, dass die erste Signalsequenz ohne Wartezeit der zweiten Vorrichtung und die zweite Signalsequenz mit Wartezeit der zweiten Vorrichtung mehrfach vermessen werden. Durch die mehrfache Vermessung können die einzelnen Parameter genauer bestimmt werden. Insgesamt kann damit ein Vektor mit den Signallaufzeiten und der zweiten Taktdauer als Komponenten durch eine Annäherung auf der Basis kleinster Quadrate ermittelt werden.
-
Bei einer Weiterbildung dieses Verfahrens wird eine erste Übertragungsdauer des ersten Signals aus den mehreren Messungen und die vorgegebene Zeitdauer aus einer Rohdauer abzüglich der ersten Übertragungsdauer ermittelt wird. Zusammen mit der ersten Übertragungsdauer des ersten Signals wird gegebenenfalls auch eine zweite Übertragungsdauer des zweiten Signals ermittelt. Zum Steuern der zweiten Vorrichtung ist jedoch die vorgegebene Zeitdauer von Bedeutung. Sie gibt an, wie lange die zweite Vorrichtung bis zum Auslösen einer gewissen Aktion warten muss. Aus Sicht der ersten Vorrichtung sollte die zweite Vorrichtung beispielsweise zu einem bestimmten Zeitpunkt eine Aktion durchführen. Bis dahin vergeht für die erste Vorrichtung ab dem Zeitpunkt des Absendens eines entsprechenden Signals an die zweite Vorrichtung eine Rohdauer. Die vorgegebene Zeitdauer für die zweite Vorrichtung beginnt also erst nach Empfang dieses einschlägigen Signals, welches den Multiplikanden stellvertretend für die vorgegebene Zeitdauer in sich trägt. Die zweite Vorrichtung wird somit die von der ersten Vorrichtung geplante Aktion die vorgegebene Zeitdauer nach Empfang des einschlägigen Signals ausführen.
-
In einer weiteren Ausführungsform ist vorgesehen, dass ein erster Wert der zweiten Taktdauer zu einem ersten Ermittlungszeitpunkt und ein zweiter Wert der zweiten Taktdauer zu einem zweiten Ermittlungszeitpunkt ermittelt werden, daraus ein dritter Ermittlungszeitpunkt extrapoliert wird, zudem ein dritter Wert der zweiten Taktdauer um einen vorgegebenen Toleranzwert von dem ersten Wert abweicht, und die zweite Taktdauer zu dem dritten Ermittlungszeitpunkt wieder in gleicher Weise wie beim ersten und zweiten Ermittlungszeitpunkt ermittelt wird. Diese Verfahrensschritte dienen dazu, zu erkennen, wann die zweite Taktdauer sich soweit durch Drift verändert hat, dass eine vorgegebene Toleranz nicht mehr eingehalten ist. Dabei kann die zweite Taktdauer sowohl an Dauer zunehmen als auch an Dauer abnehmen. Zu dem dritten Ermittlungszeitpunkt, der aus dem ersten und zweiten Ermittlungszeitpunkt geschätzt beziehungsweise extrapoliert wird, weicht der dritte Wert der zweiten Taktdauer um den vorgegebenen Toleranzwert von dem ersten Wert der zweiten Taktdauer ab. Der hierdurch ermittelte dritte Ermittlungszeitpunkt legt also fest, wann erneut eine Ermittlung der zweiten Taktdauer erfolgen sollte. Entsprechend der Extrapolation ist vor diesem dritten Ermittlungszeitpunkt die Drift der zweiten Taktdauer noch im Toleranzbereich, während sie nach dem dritten Ermittlungszeitpunkt jenseits des Toleranzbereichs liegt. Der dritte Ermittlungszeitpunkt könnte also den Zeitpunkt festlegen, zu dem frühestens beziehungsweise spätestens wieder eine Ermittlung der zweiten Taktdauer durchgeführt werden sollte. Die soeben aufgezählten Schritte zur Ermittlung des dritten Ermittlungszeitpunkts durch Extrapolation können immer wiederkehrend auf der Basis der letzten beiden Ermittlungszeitpunkte wiederholt werden. Auf diese Weise kann sichergestellt werden, dass die zweite Taktdauer durch Drift mit hoher Wahrscheinlichkeit nicht aus dem Toleranzbereich fällt.
-
Das oben beschriebene Verfahren zum Schätzen des dritten Ermittlungszeitpunkts kann auf Basis einer linearen Extrapolation einer Linie erfolgen, die sich aus dem ersten Wert der zweiten Taktdauer zum ersten Ermittlungszeitpunkt und dem zweiten Wert der zweiten Taktdauer zum zweiten Ermittlungszeitpunkt ergibt. Diese lineare Extrapolation ist mathematisch einfach durchzuführen. Es kann aber auch eine beliebige andere Extrapolation auf der Basis anderer Funktionen erfolgen.
-
Bei einem weiteren Ausführungsbeispiel wird der dritte Ermittlungszeitpunkt anstelle des Schätzens durch ein pseudo Zufallsverfahren definiert, wenn der erste Wert der zweiten Taktdauer und der zweite Wert der zweiten Taktdauer gleich sind. Falls nämlich zu zwei verschiedenen Ermittlungszeitpunkten der Wert für die zweite Taktdauer exakt gleich ist, würde dies bedeuten, dass die zweite Taktdauer keiner Drift unterliegt. Dies würde dazu führen, dass der Toleranzbereich für die Schätzung des dritten Ermittlungszeitraums nie verlassen wird. Demnach würde nie mehr ein Wert für die zweite Taktdauer ermittelt werden. Um dem vorzubeugen, wird nach einem pseudo Zufallsprinzip der dritte Ermittlungszeitpunkt für eine erneute Ermittlung der zweiten Taktdauer festgelegt.
-
Bei einem weiteren Ausführungsbeispiel des erfindungsgemäßen Verfahrens kann vorgesehen sein, dass die zweite Vorrichtung eine zweite Aktion unmittelbar nach einem Zeitraum entsprechend dem Produkt des Multiplikanden mit der zweiten Taktdauer ab dem Empfang des zweiten Multiplikanden durchführt. Wie oben bereits angedeutet wurde, soll die zweite Vorrichtung durch die erste Vorrichtung derart gesteuert werden, dass die zweite Vorrichtung eine zweite Aktion zu einem bestimmten Zeitpunkt ausführt. Der Zeitpunkt für die Durchführung der zweiten Aktion wird auf Basis des Empfangszeitpunkts des Signals mit dem Multiplikanden festgelegt. Ab diesem Empfangszeitpunkt soll noch genau der Zeitraum verstreichen, der dem Produkt des Multiplikanden mit der zweiten Taktdauer entspricht. Sofort nach diesem Zeitraum wird die zweite Aktion von der zweiten Vorrichtung gestartet.
-
In einer besonders bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens wird eine erste Aktion der ersten Vorrichtung mit der zweiten Aktion der zweiten Vorrichtung synchronisiert, indem die erste Vorrichtung die erste Aktion zu einem festgelegten Aktionszeitpunkt relativ zu einem Übertragungszeitpunkt des Übertragens des Multiplikanden durchführt. Es sollen also zwei Aktionen der beiden voneinander unabhängigen Vorrichtungen synchronisiert werden. Hierzu wird die erste Aktion der ersten Vorrichtung zu einem festgelegten Aktionszeitpunkt relativ zu dem Übertragungszeitpunkt des Signals an die zweite Vorrichtung durchgeführt. Auch die zweite Aktion der zweiten Vorrichtung wird zeitlich abhängig von dem Übertragungszeitpunkt gestartet. Die zweite Aktion findet nämlich in einem festen zeitlichen Abstand zu dem Übertragungszeitpunkt des Signals mit den Multiplikanden statt. Somit sind beide Aktionen der unabhängigen Vorrichtungen zeitlich festgelegt durch den Übertragungszeitpunkt des Signals mit dem Multiplikanden von der ersten Vorrichtung zu der zweiten Vorrichtung.
-
In einer besonderen Ausgestaltung des Verfahrens kann gewünscht sein, dass die erste Aktion und die zweite Aktion gleichzeitig gestartet werden. Um dies zu erreichen, muss der Aktionszeitpunkt für die erste Aktion die Rohdauer nach dem Übertragungszeitpunkt liegen. Die zweite Aktion startet dann nach dem Übertragungszeitpunkt und der Übertragungsdauer, nachdem die vorgegebene Zeitdauer abgelaufen ist. Nachdem die Rohdauer und die Summe aus Übertragungszeit und vorgegebener Zeitdauer gleich sind, werden die erste Aktion und die zweite Aktion gleichzeitig ausgeführt.
-
Die oben genannte Aufgabe wird erfindungsgemäß auch gelöst durch ein System mit einer ersten Vorrichtung und einer zweiten Vorrichtung, wobei die erste und zweite Vorrichtung ausgebildet sind zum:
- - Senden eines ersten Signals von der ersten Vorrichtung zu einem ersten Zeitpunkt zu der zweiten Vorrichtung,
- - Senden eines zweiten Signals von der zweiten Vorrichtung bei Erhalt des ersten Signals an die erste Vorrichtung,
- - Empfangen des zweiten Signals durch die erste Vorrichtung zu einem zweiten Zeitpunkt,
- - Messen einer ersten Zeitdifferenz zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt durch die erste Vorrichtung,
- - Senden eines dritten Signals von der ersten Vorrichtung zu einem dritten Zeitpunkt zu der zweiten Vorrichtung,
- - Senden eines vierten Signals von der zweiten Vorrichtung ein vorgegebenes Vielfaches der zweiten Taktdauer nach Erhalt des dritten Signals an die erste Vorrichtung,
- - Empfangen des zweiten Signals durch die erste Vorrichtung zu einem vierten Zeitpunkt,
- - Messen einer zweiten Zeitdifferenz zwischen dem dritten Zeitpunkt und dem vierten Zeitpunkt durch die erste Vorrichtung und
- - Berechnen der zweiten Taktdauer als Quotient der Differenz der ersten Zeitdifferenz und der zweiten Zeitdifferenz zu dem vorgegebenen Vielfachen der zweiten Taktdauer durch die erste Vorrichtung und
- - Ermitteln eines Multiplikanden, der multipliziert mit der zweiten Taktdauer eine vorgegebene Zeitdauer ergibt, durch die erste Vorrichtung und
- - Übertragen des Multiplikanden von der ersten Vorrichtung an die zweite Vorrichtung.
-
Die oben im Zusammenhang mit den Verfahren geschilderten Vorteile und Weiterbildungen gelten sinngemäß auch für das erfindungsgemäße System.
-
Das System besitzt also eine erste Vorrichtung, mit der mindestens eine zweite Vorrichtung zeitlich gesteuert werden kann. Dabei besitzt gegebenenfalls die erste Vorrichtung eine erste Taktdauer und die zweite Vorrichtung eine von der ersten unabhängigen zweiten Taktdauer. Die beiden Vorrichtungen stehen miteinander in Kommunikationsverbindung, sodass die erste Vorrichtung den Multiplikanden an die zweite Vorrichtung übertragen kann.
-
In einem Ausführungsbeispiel des Systems sind die erste Vorrichtung und die zweite Vorrichtung jeweils als eine bildgebende Vorrichtung realisiert, und eine der oder die beiden Vorrichtungen sind dazu ausgebildet, auf der Basis des Multiplikanden Messaufnahmen der beiden Vorrichtungen zu synchronisieren. Es liegen in diesem Fall also zwei bildgebende Vorrichtungen bzw. Einzelsysteme vor, die jeweils Messaufnahmen durchführen und korrespondierende Messaufnahmen synchronisieren. Das obige Verfahren kann zur Synchronisation der Messaufnahmen genutzt werden.
-
Insbesondere können die erste Vorrichtung und die zweite Vorrichtung jeweils als Magnetresonanztomograph, Computertomograph oder Emissionstomograph realisiert sein. Bei dem System kann es sich also beispielsweise um ein Hybridsystem aus den genannten Tomographen, z.B. PET/MRT, SPECT/CT oder dergleichen, handeln. Das System kann aber auch andere Vorrichtungspaare repräsentieren, die beispielsweise bei der medizinischen Bildgebung miteinander synchronisiert werden sollten.
-
So sind auch Vorrichtungspaare denkbar, bei denen zumindest eine Vorrichtung ein CT-Gerät (Computertomographie), ein Angiographiegerät oder dergleichen ist. Solche bildgebenden Geräte können aber auch beispielsweise mit Ablationsgeräten zu einem System kombiniert sein. Auch in solchen Fällen kann eine sehr exakte Zeitsynchronisation notwendig sein. Als eine weitere Lösung umfasst die Erfindung auch ein Computerprogramm umfassend Befehle, die bei der Ausführung des Programms durch eine Steuervorrichtung des Systems dieses veranlassen, das genannte Verfahren auszuführen. Ebenso kann ein computerlesbares Speichermedium, umfassend Befehle, die bei der Ausführung durch eine Steuervorrichtung des Systems dieses veranlassen, das genannte Verfahren auszuführen. Das Speichermedium kann z.B. zumindest teilweise als eine nichtflüchtiger Datenspeicher (z.B. als ein Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) ausgestaltet sein. Das Speichermedium kann in einer Prozessorschaltung in deren Datenspeicher realisiert sein. Das Speichermedium kann aber auch beispielsweise als sogenannter App store-Server im Internet betrieben sein. Durch den Computer oder Computerverbund kann eine Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Die Befehle können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. C) bereitgestellt sein.
-
Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.
- 1 ein Zeitdiagramm einer ersten Signalsequenz zwischen zwei Vorrichtungen;
- 2 eine zweite Signalsequenz zwischen den zwei Vorrichtungen;
- 3 eine erste Berechnung einer Taktdrift;
- 4 eine zweite Berechnung einer Taktdrift; und
- 5 ein Ablaufdiagramm zur Berechnung eines erneuten Ermittlungszeitpunkts für die Taktdauer der zweiten Vorrichtung.
-
Die nachfolgend näher geschilderten Ausführungsbeispiele stellen bevorzugt die Ausführungsformen der vorliegenden Erfindung dar.
-
In den folgenden Beispielen soll ein System eine erste Vorrichtung und eine zweite Vorrichtung aufweisen. Es können in dem System auch weitere Vorrichtungen enthalten sein. Die erste Vorrichtung steuert die zweite Vorrichtung (gegebenenfalls auch mehrere Vorrichtungen). Gegebenenfalls werden die Vorrichtungen beziehungsweise deren Aktionen oder Prozesse auch miteinander synchronisiert.
-
Ausgangspunkt der Erfindung ist die Vermeidung eines dritten Zeitsteuergeräts, da es keine hinreichend genaue ZeitSynchronisation bietet. Eine solche Präzision ist zum Beispiel erforderlich, um den Beginn einer MR- und PET-Messung sehr genau (innerhalb von Millisekunden) zu bestimmen. Die hohe Genauigkeit ist für die spätere exakte Bildrekonstruktion von MR-Bildern mit zeitlicher Auflösung unter Verwendung von PET-Informationen oder umgekehrt notwendig.
-
Beispielsweise wird ein System mit folgenden Eigenschaften vorausgesetzt:
- - Die Vorrichtungen des Systems sind vernetzt und unabhängig voneinander und besitzen ihren jeweils eigenen Takt.
- - Es gibt weder eine Absolutzeit noch ein unabhängiges Zeitmessgerät eines Dritten.
- - Eine Taktdrift zwischen unabhängigen Vorrichtungen ist eine unvermeidbare Tatsache aufgrund gewisser Ungenauigkeiten jeder Systemuhr.
-
Der Einfachheit halber sollen hier nur zwei unabhängige Vorrichtungen betrachtet werden, wobei das System aber ohne Weiteres auf eine beliebige Anzahl von vernetzten Vorrichtungen erweitert werden kann. Die erfindungsgemäße Idee kann dann analog eingesetzt werden.
-
Speziell wird ein System mit einer ersten Vorrichtung V und einer zweiten Vorrichtung V' definiert. Die erste Vorrichtung V besitzt einen ersten Takt mit einer ersten Taktdauer τ und die zweite Vorrichtung V' besitzt einen zweiten Takt mit einer zweiten Taktdauer τ'.
-
Die Grundidee besteht darin, dass die erste Vorrichtung V einmalig, mehrmals oder ständig die zweite Taktdauer τ' der zweiten Vorrichtung V' bestimmt. Auf diese Weise kann die erste Vorrichtung V ein relatives Verhältnis (und damit eine Drift) zwischen der ersten Taktdauer τ und der zweiten Taktdauer τ' berechnen. Sobald die erste Vorrichtung die zweite Taktdauer beziehungsweise das Verhältnis (und gegebenenfalls die Drift) bestimmt hat, kann sie immer einen Zeitpunkt (ausgedrückt in dem zweiten Takt) der zweiten Vorrichtung V' bestimmen. Umgekehrt kann auch die zweite Vorrichtung V' den ersten Takt beziehungsweise dieses Verhältnis (und gegebenenfalls die Drift) für die erste Vorrichtung V bestimmen. Der hier vorgeschlagene Prozess der zeitlichen Steuerung beziehungsweise der Zeitsynchronisation umfasst mehrere Schritte. Es wird hier nur die Berechnung für die erste Vorrichtung V erläutert. Die gleiche Logik gilt für die zweite Vorrichtung V' .
-
In einem ersten Schritt, der in 1 dargestellt ist, sendet die erste Vorrichtung V ein erstes Signal zu einem ersten Zeitpunkt t1 zu der zweiten Vorrichtung V'. Die erste Vorrichtung V wartet auf eine sofortige Antwort. Die zweite Vorrichtung V' empfängt das erste Signal s1 und sendet praktisch sofort (d.h. bei Empfang) ein zweites Signal s2 an die erste Vorrichtung V zurück. Das erste Signal s1 besitzt eine Übertragungsdauer 61 von der ersten Vorrichtung V zu der zweiten Vorrichtung V'. Das zweite Signal s2 besitzt eine Übertragungsdauer δ2 von der zweiten Vorrichtung V' zu der ersten Vorrichtung V.
-
Das zweite Signal s2 wird durch die erste Vorrichtung V zu einem zweiten Zeitpunkt t2 empfangen. Damit kann die erste Vorrichtung V eine erste Zeitdifferenz ΔT0 zwischen dem ersten Zeitpunkt t1 und dem zweiten Zeitpunkt t2 messen. Es ergibt sich: ΔT0=δ1+δ2. Die erste Vorrichtung V besitzt einen ersten Takt mit einer ersten Taktdauer τ und die zweite Vorrichtung besitzt einen zweiten Takt mit einer zweiten Taktdauer τ'.
-
Analog hierzu wird eine zweite Signalsequenz gemäß 2 vermessen. Dazu wird ein drittes Signal s3 von der ersten Vorrichtung V zu einem dritten Zeitpunkt t3 zu der zweiten Vorrichtung V' gesendet. Nach Empfang wartet die zweite Vorrichtung V für eine im Voraus bestimmte Anzahl n an zweiten Taktdauern τ'.Die zweite Vorrichtung V' wartet also nach Empfang des dritten Signals s3 die Zeit n·τ'. Unmittelbar nach dieser Wartezeit n·τ' sendet die zweite Vorrichtung V' ein viertes Signal s4 an die erste Vorrichtung, n stellt also ein vorgegebenes Vielfaches der zweiten Taktdauer τ' dar.
-
Das vierte Signal s4 wird durch die erste Vorrichtung V zu einem vierten Zeitpunkt t4 empfangen. Die erste Vorrichtung V kennt somit den dritten Zeitpunkt t3 und den vierten Zeitpunkt t4 und kann damit eine zweite Zeitdifferenz ΔTn messen beziehungsweise bestimmen, die zwischen dem dritten Zeitpunkt t3 und dem vierten Zeitpunkt t4 gegeben ist.
-
Für diese zweite Zeitdifferenz ergibt sich:
-
Für das vorgegebene Vielfache n kann nun die erste Vorrichtung die zweite Taktdauer τ' als Quotient der Differenz der ersten Zeitdifferenz ΔT
0 und der zweiten Zeitdifferenz ΔT
n zu dem vorgegebenen Vielfachen n der zweiten Taktdauer τ' gemäß folgender Formel berechnen:
-
Auf diese Weise kann die erste Vorrichtung V die zweite Taktdauer der zweiten Vorrichtung V' bestimmen.
-
Es gibt einige Möglichkeiten, die Parameter δ1, δ2 und τ' zu bestimmen. Ein möglicher Weg besteht in der Verwendung einer Annäherung auf der Basis des kleinsten Quadrats.
-
Um die Parameter δ1, δ2 und τ' präzise zu bestimmen, können m Experimente aufgesetzt werden, wobei für ein vorgegebenes Vielfaches n die zweite Zeitdifferenz ΔTnm auf folgende Weise bestimmt werden kann: ΔTnm=δ1m+δ2m+n·τ'm
-
Als Ergebnis dieser m Messungen für den variablen Parameter n ergibt sich die folgende Matrixgleichung
-
Diese Matrixgleichung kann wie folgt kompakt geschrieben werden: b = A·x
-
Mithilfe der Näherung auf Basis des kleinsten Quadrats kann der Vektor x̂ folgendermaßen berechnet werden:
-
Daher gilt x̂=(AT·A)-1·AT·b
-
Als Ergebnis erhält man den Schätzvektor: x̂ = (δ1 δ2 τ')
-
Zum Auslösen einer Aktion beziehungsweise eines Ereignisses durch die zweite Vorrichtung unter Steuerung der ersten Vorrichtung kann nun die erste Vorrichtung V einen Multiplikanden ermitteln, der multipliziert mit der zweiten Taktdauer τ' eine vorgegebene Zeitdauer ergibt. Beispielsweise will die erste Vorrichtung V die zweite Vorrichtung V' so ansteuern, dass diese in 10s eine Aktion durchführt. Dazu ermittelt die erste Vorrichtung V', wie viele zweite Takte der zweiten Vorrichtung V' der vorgegebenen Zeitdauer von 10 s entspricht. Die Anzahl der zweiten Takte stellt einen Multiplikanden dar. In einer speziellen Ausgestaltung kann die vorgegebene Zeitdauer auch durch eine Vielzahl an ersten Taktdauern τ dargestellt werden. Beispielsweise stellen die 10 Sekunden 10.000 erste Takte beziehungsweise erste Taktdauern τ dar. Da die erste Vorrichtung V sowohl die erste Taktdauer τ als auch die zweite Taktdauer τ' kennt, kann sie den Multiplikanden auch als Verhältnis der beiden Taktdauern und der Anzahl der ersten Taktdauern (die die vorgegebene Zeitdauer ergeben) an die zweite Vorrichtung V' übermitteln. Falls beispielsweise das Verhältnis von zweiter Taktdauer zu erster Taktdauer 2:1 ist, so ist der Multiplikand in diesem Fall 20.000, wenn die Aktion der zweiten Vorrichtung V' in 10 Sekunden (= 10.000 erste Takte) nach Erhalt der auslösenden Nachricht stattfinden soll. Hierbei kann der Multiplikand 20.000 direkt übertragen werden oder indirekt mit dem Verhältnis 2:1 und der Anzahl 10.000 der ersten Takte. Im letzten Fall würde die zweite Vorrichtung die Anzahl 20.000 aus den empfangenen Daten selbst berechnen.
-
Für eine genaue Steuerung einer Aktion der zweiten Vorrichtung V' muss auch die Übertragungsdauer δ1 eines Signals von der ersten Vorrichtung V zu der zweiten Vorrichtung V' berücksichtigt werden. Sollen beispielsweise eine erste Aktion der ersten Vorrichtung V und eine zweite Aktion der zweiten Vorrichtung V' gleichzeitig ausgeführt werden beziehungsweise synchronisiert werden, so wird beispielsweise für die erste Vorrichtung V eine Rohdauer festgelegt, die vergehen muss, bis die erste Aktion stattfinden soll. Für die zweite Vorrichtung V' muss die zu wartende vorgegebene Zeitdauer berechnet werden, indem von der Rohdauer die Übertragungsdauer 51 für die Übertragung eines Signals mit dem (berechneten oder zu berechnenden) Multiplikanden abgezogen wird. Nach Empfang dieses Signals mit dem Multiplikanden muss dann die zweite Vorrichtung V' eben diese vorgegebene Zeitdauer, die dem Produkt aus dem Multiplikanden mit der zweiten Taktdauer entspricht, warten, um die zweite Aktion zeitgleich mit der ersten Aktion auszuführen. Auf entsprechende Weise können Aktionen der ersten Vorrichtung V und der zweiten Vorrichtung V' in einer spezifischen Reihenfolge beziehungsweise mit einem spezifischen Zeitabstand geplant und durchgeführt werden.
-
Anhand der 3 bis 5 wird nun erläutert, wie die Problematik einer Drift der zweiten Taktdauer τ' in den Griff bekommen werden kann. Um festzustellen, wann eine Neuberechnung des zweiten Takts τ' erforderlich ist, können die nachfolgenden Schritte vorgenommen werden. Die Vorgehensweise kann natürlich analog für die erste Taktdauer herangezogen werden.
-
Zunächst wird zu zwei verschiedenen Ermittlungszeitpunkten et1 und et2 jeweils die zweite Taktdauer τ1' und τ2' gemäß 3 ermittelt. In einem Diagramm der zweiten Taktdauer τ' über der Zeit t kann der Anstieg der zweiten Taktdauer τ' in dem Beispiel von 3 beispielsweise linear extrapoliert werden. Durch diese Extrapolation kann geschätzt werden, wann die zweite Taktdauer τ' mehr als einen vorgegebenen Toleranzwert θ von der zuerst gemessenen zweiten Taktdauer τ1' abweicht. Es kann damit ein dritter Ermittlungszeitpunkt et3 geschätzt werden, zu dem die zweite Taktdauer τ' voraussichtlich um den vorgegebenen Toleranzwert θ von dem ersten Wert τ1' abweicht. Zu diesem dritten Ermittlungszeitpunkt et3 kann dann eine erneute Ermittlung der zweiten Taktdauer τ3' erfolgen. Diese Vorgehensweise kann fortlaufend wiederholt werden.
-
4 zeigt eine erste Wiederholung der obigen Schätzung beziehungsweise Extrapolation, wobei hier die zweite Taktdauer abnimmt, d.h. τ3' < τ2'. Die lineare Funktion fällt also ab und der tatsächlichen Messpunkt τ3' legt für die Zukunft wiederum den Mittelpunkt eines Toleranzbereichs mit dem Toleranzwert θ fest. Entsprechend der linearen Extrapolation wird dieser Toleranzbereich nach einem Ermittlungszeitpunkt et4 verlassen. Zu diesem Zeitpunkt et4 wird dann zum vierten Mal die zweite Taktdauer τ4' ermittelt.
-
Wenn in einem der oben genannten Fälle kein Wertunterschied zwischen den letzten beiden Messungen τk - 1' und τk' besteht, wird der nächste Zeitpunkt, zu dem die Messung durchgeführt wird, zufällig festgelegt, da die vorgegebene Toleranz θ niemals verletzt wird und somit keine neue Zeitmessung erfolgen würde.
-
5 zeigt diesen gesamten Prozess zur wiederholten Ermittlung der zweiten Taktdauer. In Schritt S1 werden zu zwei verschiedenen Ermittlungszeitpunkten et1 und et2 zwei Mal die zweite Taktdauer τ1' und τ2' gemessen beziehungsweise ermittelt. In Schritt S2 wird die Differenz zwischen den beiden Taktdauern τ1' und τ2berechnet. Wenn in Schritt S3 die Differenz 0 ist, wird in Schritt S5 ein neuer Ermittlungszeitpunkt für die zweite Taktdauer τ' zufällig festgelegt. Falls in Schritt S3 die Differenz nicht 0 ist, wird beispielsweise auf der Basis einer linearen Progression und einer vorgegebenen Toleranz der nächste Ermittlungszeitpunkt für die Ermittlung der zweiten Taktdauer τ' berechnet. In Schritt S6 wird schließlich auf den neuen Ermittlungszeitpunkt von Schritt S4 oder Schritt S5 gewartet und der neue Wert für die zweite Taktdauer τ' berechnet. Das Verfahren fährt dann wieder mit Schritt S2 fort.
-
Der Hauptvorteil der vorliegenden Erfindung besteht in der vereinfachten und dezentralen Lösung des Problems der Zeitsynchronisation, bei der kein zentraler Verwalter der absoluten Zeit im System erforderlich ist. Außerdem garantiert der vorliegende Ansatz die gewünschte Präzision der Zeitsynchronisation. Darüber hinaus ergeben sich bei der erfindungsgemäßen Lösung keine Fehler und es besteht die Möglichkeit ohne Weiteres zusätzliche Geräte zu synchronisieren. Das Verfahren kann auch im laufenden Betrieb wiederholt werden, wenn beispielsweise eine der Vorrichtungen neu gestartet werden muss.