Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR SIGNAL PATTERN RECOGNITION
Document Type and Number:
WIPO Patent Application WO/2023/094356
Kind Code:
A1
Abstract:
The invention relates to a method, which can in particular be used for triggering, for signal pattern recognition on the basis of the maintenance or violation of signal amplitude corridors, proceeding from a continuous data stream which is sampled in a time-discrete manner and is divided into blocks which are each formed from a number of sampling values given as a power of two (2n). On each of these blocks, a tree structure of minimum and maximum pairs is built, wherein each of these pairs is a node of the tree and comprises the minimum value and the maximum value of the two directly assigned pairs or values in the next level down. Corridors of a mask which is used for signal pattern recognition are shifted from sampling value to sampling value via the data blocks. The trees are built up, like the depth-first searches, by means of parallel data processing.

Inventors:
HEID OLIVER (DE)
Application Number:
PCT/EP2022/082732
Publication Date:
June 01, 2023
Filing Date:
November 22, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
H NEXT GMBH (DE)
International Classes:
G01R13/02
Domestic Patent References:
WO2014072271A12014-05-15
Foreign References:
EP1837665A22007-09-26
EP0701137A21996-03-13
US20070217694A12007-09-20
US20090153559A12009-06-18
US20080054967A12008-03-06
US20100052653A12010-03-04
US4585975A1986-04-29
US4843309A1989-06-27
DE102014208464A12015-09-03
DE102006021075A12007-11-08
Attorney, Agent or Firm:
MEYER, RUDOLF // MEYER & DÖRRING PATENTANWÄLTE PARTGMBB (DE)
Download PDF:
Claims:
Patentansprüche ahren zur Signal-Mustererkennung, mit folgenden Schritten: Zeitdiskretes Abtasten eines kontinuierlichen Datenstroms (DS), das heißt Erfassen von Abtastwerten, welche eine Signalkurve (SK) bilden, Unterteilung des Datenstroms (DS) in Blöcke (DB), wobei die Anzahl der Abtastwerte pro Block (DB) einer Zweierpotenz entspricht,

Aufbau mindestens eines min-max-Baumes (BA) auf jedem Block (DB), indem die Abtastwerte als erste Schicht (E0) des Baumes (BA) definiert werden und auf dieser Schicht (E0) weitere Schichten (El, E2, ...) des Baumes (BA) aufgebaut werden, die im Unterschied zur ersten Schicht (E0) aus min-max- Paaren gebildet sind, wobei jedes min-max-Paar aus dem Minimum und dem Maximum der beiden in der zuletzt hergestellten oder bereits existierenden Schicht (E0, El, E2, ...) liegenden Paare beziehungsweise Abtastwerte gebildet ist, und wobei der Baumaufbau zumindest in einem Teil der Schichten (E0, El, E2, ...), welcher die erste Schicht (E0) einschließt, durch parallele Datenverarbeitung erfolgt,

Durchführung von teilweise Blockgrenzen überschreitenden Baumdurchläufen für jeden Abtastzeitpunkt, für mindestens eine durch eine Signalmaske (MA) vorgegebene Korridorlänge (L0, LI, L2), wobei innerhalb der gesamten Korridorlänge (L0, LI, L2) zunächst jeder einzelne Abtastwert als min-max- Kandidat (MMK) definiert wird und zwei aufeinanderfolgende min-max- Kandidaten (MMK) durch das als zugehöriger Knotenpunkt in der darüberliegenden Schicht (El, E2, ...) liegende min-max-Paar ersetzt werden, sofern sämtliche diesem min-max-Paar zugeordneten Abtastwerte ebenfalls innerhalb eines die genannte Korridorlänge (L0, LI, L2) aufweisenden Korridors (KO, Kl, K2) liegen, und Identifikation des dem jeweiligen Abtastzeitpunkt und der Korridorlänge (L0, LI, L2) zugeordneten Minimalwertes und Maximalwertes auf Basis der durch den Baumdurchlauf gefundenen min-max-Kandidaten (MMK), wobei ein und derselbe min-max- Baum (BA) für eine Mehrzahl parallel durchzuführender Baumdurchläufe genutzt wird,

Erzeugung einer zur Signalkurve (SK) gehörenden Hüllkurve (Tmin, Tmax) aus den für die Korridorlänge (L0, LI, L2) spezifischen, jeweils einem Abtastzeitpunkt zugeordneten Minimalwerten und Maximalwerten, Prüfung einer durch die Signalmaske (MA) gegeben Triggerbedingung für jeden Abtastzeitpunkt durch Vergleich mit der Hüllkurve (Tmin, Tmax), wobei zumindest ein Teil des Prüfungsverfahrens durch parallele Datenverarbeitung durchgeführt wird und abtastwertweise boolesche Triggerwertsignale generiert werden. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Korridorlänge (L0, LI, L2), zu welcher die Baumdurchläufe erfolgen, geringer als die Blocklänge eines jeden Datenblocks (DB) ist. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass mindestens eine Hüllkurve (Tmin, Tmax) für einen Korridor (KO, Kl, K2) mit über die gesamte Korridorlänge (L0, LI, L2) konstanter Ober- und Untergrenze generiert wird. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass mindestens eine Hüllkurve (Tmin, Tmax) für einen Korridor (KO, Kl) mit über die Korridorlänge (L0, LI) variierender Ober- und/oder Untergrenze generiert wird, wobei die Hüllkurve (Tmin, Tmax) entsprechend der Abweichung der Oberbeziehungsweise Untergrenze von einer an einem Testpunkt (KE-0, KE-1) des Korridors (KO, Kl) gegebenen Grenze im Vergleich zu einer Hüllkurve für einen Korridor (KO, Kl, K2) mit konstanter Ober- und Untergrenze verzerrt wird. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Hüllkurve (Tmin, Tmax) für einen Korridor (KO, Kl) mit abschnittsweise konstanter Steigung der Ober- und/oder Untergrenze generiert wird. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die Hüllkurve (Tmin, Tmax) für einen Korridor (KO, Kl) generiert wird, welcher ausschließlich Abschnitte aufweist, in denen die Steigungen der Obergrenze des betreffenden Abschnitts einerseits und der Untergrenze desselben Abschnitts andererseits unterschiedliche Vorzeichen haben. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der Block (DB), auf welchem der min-max-Baum (BA) aufzubauen ist, mindestens 210 und höchstens 230 Abtastwerte umfasst. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Aufbau des min-max-Baumes (BA), ausgehend von den Abtastwerten, mindestens bis zur Hälfte der Schichten (EO, El, E2, ...) des Baumes (BA) durch parallele Datenverarbeitung erfolgt. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Anzahl der parallel durchgeführten Baumdurchläufe mindestens der Quadratwurzel der Anzahl der Abtastwerte pro Block (DB) entspricht. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Abtastwerte in zeitlichen Abständen von nicht mehr als 10 ns erfasst werden. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass der Aufbau der min-max-Bäume (BA) sowie die Baumdurchläufe in Rechenschritten erfolgen, welche länger als der zeitliche Abstand zwischen zwei aufeinanderfolgenden Abtastwerten sind, wobei durch die Parallelität der Datenverarbeitung die Gesamtzahl serieller Rechenschritte pro Position der Signalmaske (MA) geringer als Eins ist. Verfahren nach einem der Ansprüche 1 bis 11, gekennzeichnet durch Festsetzung eines Triggerzeitpunkts bei Wechsel des booleschen Triggerwertsignals von „wahr" auf „falsch" und Eintragung der Triggerzeitpunkte in eine Liste (TLI). Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass Einträge in die Liste (TLI) unter Berücksichtigung eines Trigger-Hold-Off-Zeitraums erfolgen. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass Einträge in die Liste (TLI) ausschließlich nach Freigabe durch einen Trigger-Zähler erfolgen. Vorrichtung zur Signal-Mustererkennung, mit einer Datenerfassungseinrichtung (2) und einer mit dieser gekoppelten, zur Durchführung des Verfahrens nach Anspruch 1 ausgebildeten Triggervorrichtung (3). Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass die Triggervorrichtung (3) mindestens 128 für parallele Datenverarbeitung im Zuge des Aufbaus der min-max-Bäume (BA) sowie der Baumdurchläufe ausgebildete Rechenwerke (5) umfasst. Vorrichtung nach Anspruch 16, dadurch gekennzeichnet, dass die Rechenwerke (5) zusätzlich für die graphische Anzeige von Abtastwerten vorgesehen sind. Vorrichtung nach einem der Ansprüche 15 bis 17, dadurch gekennzeichnet, dass die Triggervorrichtung (3) einen Ringspeicher (4) umfasst, welcher zur Speicherung von mindestens drei Blöcken (DB) des Datenstroms (DS) vorgesehen ist, womit die Triggervorrichtung (3) zur unterbrechungsfreien Verarbeitung ungefilterter Abtastwerte ausgebildet ist.

Description:
Verfahren und Vorrichtung zur Signal-Mustererkennung

Die Erfindung betrifft ein Verfahren zur Signal-Mustererkennung, insbesondere zum Zweck der Triggerung. Ferner betrifft die Erfindung eine zur Durchführung eines solchen Verfahrens geeignete Vorrichtung.

Die US 2007/0217694 Al offenbart ein digitales Erfassungssystem, welches abgetastete Daten vor der Speicherung komprimiert. Das Erfassungssystem umfasst eine Einrichtung zum Digitalisieren eines elektrischen Signals, womit ein abgetasteter Datenstrom erzeugt wird. Darüber hinaus sind dem digitalen Erfassungssystem Mittel zum parallelen Komprimieren des abgetasteten Datenstroms zuzurechnen. Hierbei kommen verschiedene Kompressionsschemata, unter anderem ein Tiefpassfilterschema, zum Einsatz. Zugleich soll das digitale Erfassungssystem besonders zur Detektion von Peaks geeignet sein. Zu diesem Zweck wird beispielsweise ein 128 Werte umfassender Datenblock zunächst in 64 Wertepaare eingeteilt. Jedes Wertepaar ist hierbei als Kombination eines Minimalwertes und eines Maximalwertes zu verstehen. Im nächsten Schritt des Datenerfassungs- und Verarbeitungssystems nach der US 2007/0217694 Al wird der Maximalwert zweier benachbarter Min-Max-Paare ermittelt. Entsprechend wird bei den Minimalwerten vorgegangen. Auf diese Weise wird eine nächste Schicht an Daten aufgebaut, die nur noch 32 Max-Werte und 32 Min-Werte umfasst. Dieses Schema wird fortgesetzt, bis die beiden Extremwerte aller ursprünglich 128 Werte extrahiert sind.

Aus der US 2009/0153559 Al ist ein Verfahren zum automatischen Erzeugen einer Frequenzbereichsmaske für ein ausgewähltes Eingangssignal bekannt. Im Rahmen des bekannten Verfahrens werden Frequenzbereichsdaten, die das ausgewählte Eingangssignal darstellen, reduziert, um eine reduzierte Wellenform zu erzeugen. Die reduzierte Wellenform kann unter Verwendung eines vom Benutzer ausgewählten Frequenzversatzes gezeichnet werden. Die US 2008/0054967 Al beschreibt ein Verfahren zum Korrigieren von Fehlern in einer sequentiellen Abtast-Zeitbasis, wobei eine Abtastzeit für die sequentielle Abtast-Zeitbasis durch eine Zeitdauer einer Kombination einer feinen analogen Verzögerung und einer groben Verzögerung definiert ist. Das Verfahren nach der US 2008/0054967 Al umfasst das Messen einer Zeitdifferenz zwischen einem Trigger, bei dem die feine analoge Verzögerung die Messzeit startet, und dem Auftreten eines digitalen Impulses eines stabilen Takts.

Ein in der US 2010/0052653 Al beschriebenes digitales Oszilloskop mit Störspitzendetektion umfasst unter anderem einen synchronen Direktzugriffsspeicher, eine Digitalsignal- Verarbeitungseinheit, einen Analog-Digital-Wandler und einen digitalen Signalprozessor. Dem letztgenannten Prozessor sind eine Vielzahl von Verarbeitungsblöcken zuzurechnen, die zum Verarbeiten der digitalisierten Analogsignaldaten und Detektieren von Störspitzen in diesen Daten ausgebildet sind.

Aus der WO 2014/072271 Al ist eine Vorrichtung zur Bestimmung einer Triggerbedingung für ein seltenes Signalereignis bekannt. Mit Hilfe der bekannten Vorrichtung werden pegel- oder zeitbasierte statistische Kenngrößen erfasst und Häufigkeitsverteilungen kontinuierlich aktualisiert. Als Triggerbedingung kann ein pegelbasierter und/oder zeitbasierter Schwellwert vorliegen, der vom erfassten Signal zu über- oder unterschreiten ist. Häufigkeitsverteilungen können für unterschiedliche pegelbasierte Schwellwerte ermittelt werden.

Die US 4,585,975 A offenbart einen mehrkanaligen Oszillographen mit digitalen Triggersignalkanälen. Der Oszillograph umfasst einen Triggerschwellwertgenerator und arbeitet unter anderem mit booleschen Funktionen.

Die US 4,843,309 A beschreibt ein Verfahren zur zeitlichen Abstimmung einer Wellenform für digitale Oszilloskope. Im Rahmen dieses Verfahrens erfolgen erste und zweite Datenaufzeichnungen aus einem periodischen Signal, die sich auf eine erste beziehungsweise zweite Wellenform beziehen. Für die erste Wellenform wird ein Autokorrelationswert aus der ersten Datenaufzeichnung erzeugt. Weiter wird ein Quer-Korrelationswert zwischen den ersten und zweiten Wellenformen erzeugt. Eine Fehlausrichtung zwischen den Wellenformen soll erkennbar sein, indem der Autokorrelationswert mit dem Quer-Korrelationswert verglichen wird.

Aus der DE 10 2014208464 Al ist ein digitales Oszilloskop mit paralleler Akquisition und Signalnachverarbeitung bekannt. Hierbei werden Abtastwerte eines Signals in einzelnen Zeitbereichen akquiriert, die jeweils in Relation zu einem Triggerzeitpunkt eines Triggerereignisses definiert sind. Anschließend ist eine Nachverarbeitung der in einzelnen Zeitbereichen akquirierten Abtastwerte vorgesehen.

Eine weitere Vorrichtung zur digitalen Triggerung ist in der DE 10 2006 021 075 Al beschrieben. In diesem Fall wird von einem mit einem Rauschsignal überlagerten Messsignal ausgegangen.

Grundsätzlich kann eine Triggerung durch ein analoges oder durch ein digitales Signal ausgelöst werden. Im einfachsten Fall bedeutet eine Triggerung, dass ein Triggersignal bei einer Schwellwertunter- oder Überschreitung ausgelöst wird. Sind kompliziertere Triggermuster gegeben, was insbesondere bei einer digitalen Signalverarbeitung in Betracht kommt, so bedeutet die Erzeugung eines Triggersignals einen höheren Rechenaufwand. Kompliziertere Triggerbedingungen insbesondere in Form von zeitlich ausgedehnten Signal- Amplitudenkorridoren erfordern derartig großen Rechenaufwand, dass Zeitlücken entstehen, in welchen das Signal nicht analysiert werden kann. Um derartige Totzeiten, zu vermeiden, können bekanntermaßen redundante Mittel zur Signalerfassung und -Verarbeitung vorgesehen sein, was den apparativen Aufwand zwangsläufig vergrößert.

Der Erfindung liegt die Aufgabe zu Grunde, Möglichkeiten der Signal-Mustererkennung, insbesondere im Zusammenhang mit einer Triggerung, gegenüber dem genannten Stand der Technik zu erweitern, wobei der Signal-Analyseaufwand im Wesentlichen unabhängig von der Komplexität der Triggerbedingung ist und auf eine große Zahl Rechenwerke parallelisierbar ist, so dass auch bei einer hohen Datenrate und komplexen Triggerbedingungen eine lückenlose Signalauswertung möglich sein soll und ein besonders günstiges Verhältnis zwischen der Komplexität eines zu erkennenden Signal-Musters und dem für die Erkennung erforderlichen apparativen Aufwand angestrebt wird.

Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zur Signal-Mustererkennung gemäß Anspruch 1. Das Verfahren ist durchführbar mit einer Vorrichtung nach Anspruch 15. Im Folgenden im Zusammenhang mit der Signal-Mustererkennungsvorrichtung erläuterte Ausgestaltungen und Vorteile der Erfindung gelten sinngemäß auch für das Mustererkennungsverfahren und umgekehrt.

Das Signal-Mustererkennungsverfahren umfasst folgende Schritte:

Zeitdiskretes Abtasten eines kontinuierlichen Datenstroms, das heißt Erfassen von Abtastwerten, welche eine Signalkurve bilden,

Unterteilung des Datenstroms in Blöcke, wobei die Anzahl der Abtastwerte pro Block einer Zweierpotenz entspricht,

Aufbau mindestens eines min-max-Baumes auf jedem Block, indem die Abtastwerte als erste Schicht des Baumes definiert werden und auf dieser Schicht weitere Schichten des Baumes aufgebaut werden, die im Unterschied zur ersten Schicht aus min-max-Paaren gebildet sind, wobei jedes min-max- Paar aus dem Minimum und dem Maximum der beiden in der zuletzt hergestellten oder bereits existierenden Schicht liegenden Paare beziehungsweise Abtastwerte gebildet ist, und wobei der Baumaufbau zumindest in einem Teil der Schichten, welcher die erste Schicht einschließt, durch parallele Datenverarbeitung erfolgt,

Durchführung von teilweise Blockgrenzen überschreitenden, das heißt sich über einen Baum hinaus in mindestens einen Nachbarbaum erstreckenden, Baumdurchläufen für jeden Abtastzeitpunkt, jeweils beginnend in der ersten Schicht, für mindestens eine durch eine Signalmaske vorgegebene Korridorlänge, wobei innerhalb der gesamten Korridorlänge zunächst jeder einzelne Abtastwert als min-max-Kandidat definiert wird und zwei aufeinanderfolgende min-max-Kandidaten durch das als zugehöriger Knotenpunkt in der nächsten Schicht liegende min-max-Paar ersetzt werden, sofern sämtliche diesem min-max-Paar zugeordneten Abtastwerte ebenfalls innerhalb des Korridors liegen, und Identifikation des dem jeweiligen Abtastzeitpunkt und der Korridorlänge zugeordneten Minimalwertes und Maximalwertes auf Basis der durch den Baumdurchlauf gefundenen min-max- Kandidaten, wobei ein und derselbe min-max-Baum für eine Mehrzahl parallel durchzuführender Baumdurchläufe genutzt wird,

Erzeugung einer zur Signalkurve gehörenden Hüllkurve aus den für die Korridorlänge spezifischen, jeweils einem Abtastzeitpunkt zugeordneten Minimalwerten und Maximalwerten,

Prüfung einer durch die Signalmaske gegeben Triggerbedingung für jeden Abtastzeitpunkt durch Vergleich mit der Hüllkurve statt dem Originalsignal, wobei zumindest ein Teil des Prüfungsverfahrens durch parallele Datenverarbeitung durchgeführt wird und abtastwertweise boolesche Triggerwertsignale generiert werden.

Somit erfolgt in mehreren Phasen des Verfahrens jeweils eine parallele Datenverarbeitung. Hierbei handelt es sich zunächst um den Aufbau der min-max-Bäume auf den einzelnen Blöcken, in die der Datenstrom unterteilt wird. Pro Block ist lediglich ein einziger min-max- Baum zu erzeugen. Die min-max-Bäume stellen einen mehrfach genutzten Grundstock für das weitere Verfahren dar.

Die Erfindung geht von der Überlegung aus, dass mit zwei grundlegend verschiedenen Ansätzen überprüfbar ist, ob durch einen Abschnitt einer Signalfolge eine durch eine Maske gegebene Bedingung, insbesondere Triggerbedingung, erfüllt wird:

Gemäß eines ersten denkbaren Ansatzes wird eine Maske, mit welcher ein Datenstrom untersucht werden soll, in kleinstmöglichen Schritten, das heißt von Abtastwert zu Abtastwert, verschoben. Weist eine Signalfolge beispielsweise eine Taktung von 1 ns auf, so könnte eine Maske, mit der diese Signalfolge untersucht wird, sich im Extramfall ebenfalls nur über eine Dauer von 1 ns erstrecken. Ebenso sind Masken mit deutlich ausgedehnteren Korridoren denkbar. Beispielsweise könnte sich ein Korridor über eine Dauer von 1 ms, das heißt 1 Million Abtastwerte, erstrecken. Dementsprechend existierten in diesem Fall 10 6 mögliche Maskenpositionen innerhalb der Korridorlänge. Sollen für jede mögliche Maskenposition sämtliche Vergleich zwischen Abtastwerten, die in die Maske fallen, durchgeführt werden, so werden die Grenzen gängiger Datenverarbeitungsanlagen rasch erreicht. Dies bedeutet im Umkehrschluss, dass auf diese Weise lediglich mit wenigen, nicht zu langen Masken gearbeitet werden kann.

Gemäß eines ebenfalls denkbaren Ansatzes wird der Datenstrom mit einem inkrementellen Suchalgorithmus ausgewertet. Dieser Ansatz setzt voraus, dass die Zeit, welche für die Durchführung des Suchalgorithmus für jeden neuen Abtastwert benötigt wird, kürzer als der zeitliche Abstand zwischen zwei Abtastwerten ist. Andernfalls würde sich die Differenz zwischen der vom Suchalgorithmus benötigten Zeit und der Taktung des Datenstroms von Abtastwert zu Abtastwert addieren, so dass eine Echtzeituntersuchung des Datenstroms nicht über eine längere Dauer aufrechterhalten werden kann. Diesem Manko könnte beispielsweise begegnet werden, indem nicht jeder der aufeinander folgenden Abtastwerte in die Untersuchung einbezogen wird oder eine Vorverarbeitung mehrerer aufeinander folgender Abtastwerte erfolgt. Solche Maßnahmen könnten jedoch zu Lasten ursprünglich im Datenstrom enthaltener Informationen gehen, welche beispielsweise in Form sehr kurzzeitiger Signaländerungen gegeben sind.

Die Erfindung wendet sich von den beschriebenen Ansätzen ab, indem eine blockweise Bearbeitung, in welcher aneinander gesetzte Blöcke des Datenstroms separat bearbeitet werden, nur in einem anfänglichen Verfahrensschritt durchgeführt wird, wobei bereits in diesem Verfahrensschritt eine sehr hohe Bearbeitungsgeschwindigkeit durch die Parallelität der Datenverarbeitung erzielbar ist. Diese Parallelität kann prinzipiell höhere Abtastwert- Auswerteraten als die Taktfrequenz eines einzelnen Rechenwerks ermöglichen. Ausgehend von einer Anzahl von 2 n Abtastwerten pro Datenblock kann die erste Ebene des min-max- Baumes in bis zu 1 x 2 n gleichzeitig ablaufenden Rechenschritten aufgebaut werden. In höheren Ebenen reduziert sich der Grad der möglichen Parallelität. Der Aufbau der zweiten Ebene kann noch in bis zu 1/4 x 2 n gleichzeitig ablaufenden Rechenschritten erfolgen; in der dritten Ebene sind es noch maximal 1/8 x 2 n parallel durchführbare Prozesse, und so weiter. Die Spitze des Baums ist schließlich durch ein einziges Paar aus einem Minimalwert und einem Maximalwert gebildet. Auf ausreichend vielen parallelen Rechenwerken sind also nur n serielle Rechenschritte erforderlich, um einen Baum über 2 n Abtastwerten zu erzeugen. Um den höchstmöglichen Grad an Parallelität zu erzeugen, wird hierbei davon ausgegangen, dass die Anzahl an Rechenwerken mindestens die Hälfte der Anzahl an Abtastwerten pro Datenblock entspricht.

Jeder Baum enthält die min-max-Paare von Abtastwertintervallen, die an Indexpositionen beginnen, die ganzzahlige Vielfache von Zweierpotenzen sind. Die Intervalllängen sind ebenfalls Zweierpotenzen. Genauer sind auf Ebene k = {l...n} die min-max-Werte

(min,max){j*2 k -2 k +l ... j*2 k -l} für j = {0... 2 n k -l} gespeichert.

In einem zweiten, parallelisierbaren Schritt der Datenverarbeitung im Rahmen des anmeldungsgemäßen Verfahrens werden die gewünschten min-max-Paare mit beliebiger gegebener Korridorlänge an jeder Abtastwertposition in Form von Baumdurchläufen gewonnen.

Für Korridore mit zeitlich ansteigenden oder abfallenden Ober- und Untergrenzen der Steigungen A und B pro Abtastwert erfolgt die rekursive min-max-Vereinigung zweier aneinandergrenzender min-max-Paare (min,max){i+l...j}, (min,max){j+l...k} während der Baumerzeugung und den Baumdurchläufen gemäß min {i+1... k} = min( min{i+l,j}+B(k-j), min{j+l..k} ) max {i+1... k} = max( max{i+l,j}+A(k-j), max(j+l..k} ).

Jede Korridorsteigung A bzw. B erfordert einen eigenen Baum und eigene Baumdurchläufe zur Erzeugung eines eigenen Hüllsignals. Im Unterschied zu dem Aufbau der min-max-Bäume sind diese Baumdurchläufe nicht an die Blockgrenzen gebunden, sondern können sich in einen oder mehrere angrenzende Nachbarbäume erstrecken, sodass die resultierende Hüllkurve lückenlos erzeugt werden kann.

Der Rechenaufwand, die gewünschten min-max-Paare für jede Korridorposition und -länge durch Baumerzeugung und darauf folgende Baumdurchläufe zu finden, ist weit geringer als der Rechenaufwand, die Anzahl der Abtastwerte in der entsprechenden Korridorlänge für jede Korridorposition sequentiell zu erfassen. Somit ist bereits an dieser Stelle des Signa I - Mustererkennungsverfahrens eine deutliche Einsparung an Datenverarbeitungsschritten gegenüber herkömmlichen Datenverarbeitungsmethoden gegeben, bei welchen für jedes zu untersuchende Intervall sämtliche Werte dieses Intervalls explizit in die Untersuchung einzubeziehen sind. Daneben ist es möglich, jeden der beiden Rechenschritte auf einer großen Zahl Rechenwerken zu parallelisieren, sodass sich der absolute Zeitbedarf zur Analyse eines Blockes von Abtastwerten proportional verringert und eine entsprechend größere Zahl Abtastwerte pro Zeiteinheit analysiert werden kann.

Für jede Korridorlänge und für jede Korridorsteigung sind gesonderte Baumdurchläufe durchzuführen. Sofern verschiedene Korridore der Signalmaske die gleiche Länge aufweisen, werden Baumdurchläufe für die entsprechende Mehrzahl an Korridoren durchgeführt. Unabhängig davon, inwieweit Korridorlängen mehrfach auftauchen, ist jede Korridorlänge vorzugsweise geringer als die Blocklänge, in welche der Datenstrom unterteilt wird.

Aus den einzelnen booleschen Testergebnissen des Signals gegen die einzelnen Korridore, d.h. der min-max-Paare gegen die Korridorunter - und Obergrenzwerte, wird für jede mögliche Maskenposition entlang des Datenstroms eine gemeinsame boolesche Triggerfunktion erzeugt, die darstellt, ob das Signal die gesamte Signalmaske erfüllt oder nicht.

In jedem Fall geht das zur Triggerung nutzbare Verfahren zur Signal-Mustererkennung anhand der Einhaltung oder Verletzung von Signal-Amplitudenkorridoren von einem zeitdiskret abgetasteten kontinuierlichen Datenstrom aus, welcher in Blöcke unterteilt wird, die jeweils aus einer als Zweierpotenz (2 n ) gegebenen Anzahl an Abtastwerten gebildet sind. Auf jedem dieser Blöcke wird eine Baumstruktur an Minimum-Maximum-Paaren aufgebaut, wobei jedes dieser Paare einen Knotenpunkt des Baumes darstellt und den Minimalwert und Maximalwert der beiden direkt zugeordneten Paare beziehungsweise Werte (ausschließlich in der nullten Ebene, das heißt der Ebene der Abtastwerte) in der nächst niedrigeren Ebene des Baumes umfasst. Korridore einer Maske, die zur Signal-Mustererkennung verwendet wird, werden von Abtastwert zu Abtastwert über die Datenblöcke, unabhängig von deren Grenzen, geschoben, wobei für jede Position des Korridors von der Korridorlänge abhängige Tiefendurchläufe durch mindestens einen der bereits erstellten Bäume erfolgen. Der Aufbau der Bäume geschieht ebenso wie die Tiefendurchläufe mittels paralleler Datenverarbeitung. Im Vergleich zu einer blockweisen Datenauswertung sämtlicher in einen Korridor fallenden Abtastwerte für jede mögliche Maskenposition hat bei der Auswertung auf Basis der bereits vorhandenen Baumstrukturen lediglich ein wesentlich weniger umfangreicher Vergleich zwischen bereits aufgefundenen Minimal- und Maximalwerten stattzufinden. Das Verfahren ist damit in der Lage, auch bei einer hohen Taktfrequenz an Abtastwerten von beispielsweise mehr als 100 MHz den Datenstrom unterbrechungsfrei auszuwerten.

Das Signal-Mustererkennungsverfahren eignet sich beispielsweise für Signalmasken mit einem einzigen Korridor oder einer Mehrzahl an Korridoren, wobei jeder Korridor eine konstante Ober- und Untergrenze aufweist. Hierbei kann auch ein Überlapp zwischen verschiedenen Korridoren in zeitlicher Hinsicht und/oder hinsichtlich der Ober- und Untergrenzen der Korridore gegeben sein. Ebenso können Grenzen von Korridoren nicht absolut, sondern in Relation zu Grenzen anderer Korridore definiert sein.

Im Unterschied zu bekannten Verfahren, wie sie unter anderem in dem Dokument US 2007/0217694 Al beschrieben sind, arbeitet das anmeldungsgemäße Verfahren nicht mit einer Dezimation von Daten. Vielmehr werden Minimum- und Maximumwerte, welche innerhalb eines Zeitintervalls, das durch eine Signalmaske vorgegeben ist, das heißt einer Korridorlänge entspricht, liegen, für jeden einzelnen Abtastwert, das heißt digitalisierten Wert des Eingangssignals, ermittelt. Die ursprüngliche Abtastrate, mit welcher der kontinuierliche Datenstrom abgetastet wird, bleibt hierbei erhalten. In weiterentwickelten Ausgestaltungen ist das Signal-Mustererkennungsverfahren für die Anwendung mit Signalmasken konzipiert, welche mindestens einen Korridor mit über dessen Länge variierender Unter- und/oder Obergrenze aufweisen. In einem solchen Fall werden die Hüllkurven mit einer Verzerrung generiert, welche die Abweichungen der Korridorgrenzen von konstanten Grenzen wiedergibt. Auf diese Weise wird erreicht, dass - ebenso wie bei Korridoren mit konstanten Grenzen - für jeden Abtastzeitpunkt durch Vergleich des entsprechenden Abtastwertes mit einem einzigen, durch die Hüllkurve gegebenen Min-Max- Paar die Einhaltung einer Triggerbedingung, welche sich auf einen ausgedehnten Zeitraum, nämlich einen Zeitraum, der sich über die Korridorlänge erstreckt, bezieht, überprüfbar ist. Der Abtastzeitpunkt stellt hierbei einen Testpunkt dar.

Sofern ein Korridor nicht durch Korridorgrenzen, welche über die gesamte Länge des Korridors konstant sind, definiert ist, können beispielsweise abschnittsweise Unter- und Obergrenzen des Korridors mit konstanter Steigung gegeben sein. Insbesondere kann der Korridor ausschließlich Abschnitte aufweisen, in denen die Steigungen der Obergrenze des betreffenden Abschnitts einerseits und der Untergrenze desselben Abschnitts andererseits unterschiedliche Vorzeichen haben. Existieren zwei aneinandergrenzende derartige Abschnitte, so kann der Korridor insgesamt beispielweise die Form einer Raute oder eine Schwalbenschwanzform beschreiben. Wird gefordert, dass ein Signal über einer unteren Grenze und unter einer oberen Grenze eines Korridors liegt, so stellt dieser Korridor ein sogenanntes positives Fenster dar. Existiert dagegen umgekehrt die Forderung, dass ein Signal entweder einen unteren Grenzwert eines Korridors unterschreitet oder einen oberen Grenzwert desselben Korridors überschreitet, so ist damit ein negatives Fenster definiert.

Was die Größe der Blöcke betrifft, in die der kontinuierliche Datenstrom unterteilt wird, existieren weit gespannte Gestaltungsmöglichkeiten. Beispielsweise umfasst der Block, auf welchem der min-max-Baum aufzubauen ist, mindestens 2 10 und höchstens 2 30 Abtastwerte.

Ebenso sind verschiedenste Gestaltungsvarianten, was die Parallelität der Datenverarbeitung betrifft, möglich. So kann der min-max-Baum, welcher ausgehend von den Abtastwerten generiert wird, beispielsweise mindestens bis zur Hälfte der Schichten, das heißt Ebenen des Baumes durch parallele Datenverarbeitung aufgebaut werden. Die Anzahl der parallel durchgeführten Baumdurchläufe entspricht insbesondere mindestens der Quadratwurzel der Anzahl der Abtastwerte pro Block.

Das Signal-Mustererkennungsverfahren ist besonders zur Anwendung bei Signalfolgen mit kurzer Taktung, beispielsweise einer Erfassung von Abtastwerten in zeitlichen Abständen von nicht mehr als 10 ns, insbesondere nicht mehr als 2 ns oder 1 ns, geeignet. Ein besonderer, durch die Parallelität der Datenverarbeitung in mehreren Bearbeitungsphasen erzielter Vorteil liegt darin, dass der Aufbau der min-max-Bäume sowie die Baumdurchläufe in Rechenschritten erfolgen können, welche länger als der zeitliche Abstand zwischen zwei aufeinanderfolgenden Abtastwerten sind, wobei durch die Parallelität der Datenverarbeitung die Gesamtzahl serieller Rechenschritte pro Position der Signalmaske geringer als Eins ist.

Unabhängig von der Komplexität der Signalmaske wird beispielsweise ein Triggerzeitpunkt festgesetzt, wenn das boolesche Triggerwertsignal von „wahr" auf „falsch" wechselt. In diesem Fall wird der gefundene Triggerzeitpunkt in eine Liste eingetragen. Einträge in die Liste können ohne jegliche sonstigen Bedingungen oder beispielsweise unter Berücksichtigung eines Trigger-Hold-Off-Zeitraums erfolgen. Ebenso ist es zum Beispiel möglich, Einträge in die Liste ausschließlich nach Freigabe durch einen Trigger-Zähler, etwa nur bei jedem zweiten oder dritten Ereignis, das als Trigger-Ereignis gewertet wird, vorzunehmen.

Die Vorrichtung zur Signal-Mustererkennung umfasst allgemein eine zur Aufnahme eines getakteten Signals vorgesehene Datenerfassungseinrichtung und eine mit dieser Einrichtung gekoppelte, zur Durchführung des anmeldungsgemäßen Verfahrens ausgebildete Triggervorrichtung. Die Triggervorrichtung kann 128 oder mehr, insbesondere 1.000 oder mehr, für parallele Datenverarbeitung im Zuge des Aufbaus der min-max-Bäume sowie der Baumdurchläufe ausgebildete Rechenwerke aufweisen. Optional werden die Rechenwerke zusätzlich für die graphische Anzeige von Abtastwerten genutzt. Gemäß verschiedener möglicher Ausgestaltungen umfasst die Triggervorrichtung einen Ringspeicher, welcher zur Speicherung von mindestens drei Blöcken des Datenstroms vorgesehen ist, womit die Triggervorrichtung zur unterbrechungsfreien Verarbeitung ungefilterter Abtastwerte ausgebildet ist.

Der Vorteil der Erfindung liegt insbesondere darin, dass auch in einem schnell getakteten, zeitdiskret abgetasteten kontinuierlichen Datenstrom die zeitlichen Positionen eines vorgegebenen Signalmusters ohne Totzeiten erkennbar sind. Dies gilt unter anderem für die Erkennung von Daten-Rahmen, Augendiagrammen und deren Fehler, welche insbesondere in Form sogenannter glitches auftreten und von äußerst kurzer Dauer sein können.

Nachfolgend werden mehrere Ausführungsbeispiele der Erfindung anhand einer Zeichnung näher erläutert. Hierin zeigen:

Fig. 1 in einer schematischen Darstellung ein als digitales Triggerverfahren geeignetes Verfahren zur Signal-Mustererkennung, ausgehend von einer Folge an Abtastwerten,

Fig. 2 eine in dem Triggerverfahren verwendbare Signalmaske,

Fig. 3 den Aufbau eines min-max-Baumes, welcher auf der Folge an Abtastwerten aufgebaut ist und im Rahmen des Triggerverfahrens mehrfach genutzt wird,

Fig. 4 in einem Diagramm eine mögliche Folge an Abtastwerten sowie eine mit Hilfe eines Korridors der Signalmaske gebildete Hüllkurve,

Fig. 5 eine als negative Maske ausgebildete Signalmaske,

Fig. 6 und 7 in jeweils einem Diagramm eine Folge an Abtastwerten sowie eine mit Hilfe der

Maske nach Fig. 5 gebildete Hüllkurve, Fig. 8 in einem Blockdiagramm eine Vorrichtung zur Durchführung des Signa I- M uste re rke n n u ngsve rfa h re ns.

Die folgenden Erläuterungen beziehen sich, soweit nicht anders angegeben, auf sämtliche Ausführungsbeispiele.

Ein allgemein als Verfahren zur Signal-Mustererkennung bezeichnetes Triggerverfahren ist durchführbar mittels einer in Figur 8 symbolisiert dargestellten Signalverarbeitungsvorrichtung 1. Komponenten der Signalverarbeitungsvorrichtung 1 sind eine Datenerfassungsvorrichtung 2, welche zur Erfassung eines Datenstroms DS ausgebildet ist, sowie eine der Datenerfassungseinrichtung 2 nachgeschaltete Triggervorrichtung 3. Die Triggervorrichtung 3 umfasst einen Ringspeicher 4 und eine Vielzahl an Rechenwerken 5, im vorliegenden Fall mehr als tausend Stück. Auch Ausführungsformen mit einer geringeren Anzahl an Rechenwerken 5, beispielsweise einhundertachtundzwanzig Stück, sind möglich. Eine Anzeigevorrichtung 6 ist insbesondere als Anzeige eines Oszillographen, insbesondere zur Darstellung von Daten-Rahmen oder Augendiagrammen, welche mittels der Triggervorrichtung 3 erkannt werden, nutzbar.

Der Datenstrom DS wird zeitdiskret abgetastet, wobei eine Unterteilung in Datenblöcke DB erfolgt, welche kurz auch als Blöcke bezeichnet werden. Was die Verarbeitung der Datenblöcke DB mittels der Signalverarbeitungsvorrichtung 1 betrifft, wird im Folgenden auf Figur 1 verwiesen. In Figur 1 veranschaulicht die linke Hälfte der Darstellung vorliegende Daten und die rechte Hälfte der Darstellung die Verarbeitung der Daten. Der Start der Datenverarbeitungsprozedur ist mit PS bezeichnet. Für Lesevorgänge wird die Bezeichnung LV, für Schreibvorgänge die Bezeichnung SV verwendet. Datenblöcke DB werden in den Ringspeicher 4 eingelesen. Sobald ein kompletter Datenblock DB vorliegt, kann in einem ersten parallelen Prozess PPI mit dem Aufbau eines min-max-Baumes BA begonnen werden.

Die digitalisierten Abtastwerte des Datenstroms DS, aus welchen der Datenblock DB gebildet ist, stellen die nullte Ebene E0 des min-max-Baumes BA dar. Die Breite des min-max-Baumes BA entspricht einer Zweierpotenz an Abtastwerten. Im in Figur 3 skizzierten Fall erstreckt sich der min-max-Baum BA über 64=2 6 Abtastwerte, für welche allgemein die Bezeichnung s verwendet wird. Aus den in gleichen zeitlichen Abständen erfassten Abtastwerten s ergibt sich eine allgemein mit SK bezeichnete Signalkurve. Die Datenblöcke DB, in welche die Signalkurve SK unterteilt ist, können sich tatsächlich über jeweils weit mehr als vierundsechzig Abtastwerte s erstrecken. Beispielsweise können größenordnungsmäßig eine Million oder mehr Abtastwerte s in einen Datenblock DB fallen.

Der Aufbau des min-max-Baumes BA erfolgt unabhängig von der späteren Anwendung einer Maske MA. In der Ebene E0 werden Paare an Abtastwerten s gebildet, das heißt im Fall von Figur 3 insgesamt zweiunddreißig Paare. Einer der beiden Werte eines jeden Paares stellt einen Minimalwert, der andere Wert einen Maximalwert dar, wobei auch eine Überstimmung beider Werte gegeben sein kann. In jedem Fall wird das entsprechende min-max-Paar in die Ebene El geschrieben. Dies erfolgt, wie in Figur 1 beim Schritt PPI angedeutet ist, auf Basis einer Vielzahl paralleler Datenverarbeitungsprozesse, welche mittels der Rechenwerke 5 durchgeführt werden.

Ab der Ebene El werden nicht mehr einzelne Werte, sondern Paare an Werten verglichen. Bei jedem Vergleich liegen somit insgesamt vier Werte vor, aus welchen das Minimum und das Maximum ausgewählt werden. Das auf diese Weise ausgewählte nächste min-max-Paar wird in die nächsthöhere Ebene E2 geschrieben. Auch dieser Vorgang erfolgt durch parallele Datenverarbeitung. Soweit erforderlich, erfolgt eine Synchronisierung, in Figur 1 kurz mit sync bezeichnet. Der Aufbau des min-max-Baumes BA ist abgeschlossen, wenn das min-max-Paar des gesamten Baumes BA, in Figur 3 in der sechsten Ebene liegend, gefunden ist. Die min- max-Bäume BA, welche jeweils auf einem Datenblock DB aufgebaut sind, stellen für das weitere Verfahren statische Gebilde dar, die mehrfach, insbesondere für unterschiedliche Masken MA, nutzbar sind.

Nach der parallelen Baumerzeugung, welche im Schritt PPI erfolgte, werden im Schritt PP2, ebenfalls durch parallele Prozesse, Tiefendurchläufe durchgeführt. An dieser Stelle spielt die Gestalt der angewandten Maske MA eine Rolle. Eine mögliche Maske MA ist in Figur 2 visualisiert. Diese Maske MA umfasst drei zeitlich voneinander getrennte Korridore KO, Kl, K2, die sich über verschiedene Dauern erstrecken und jeweils eine Unter- und Obergrenze für ein

Signal festlegen. Die Längen der Korridore KO, Kl, K2 sind mit L0, LI, L2 bezeichnet.

Wollte man auf herkömmliche Weise prüfen, ob eine Triggerbedingung während der gesamten Dauer eines Korridors erfüllt ist, so müsste man sämtliche Signalwerte, die in das entsprechende, durch die Korridorlänge gegebene Zeitintervall fallen, einzeln mit den Korridorgrenzen vergleichen. Diesen Vorgang müsste man an jedem möglichen Startpunkt des Korridors, das heißt für jede mögliche Maskenposition, wiederholen. Der hierfür erforderliche sehr hohe Aufwand wird nach dem anmeldungsgemäßen Verfahren zur Signa I- Mustererkennung größtenteils vermieden, indem im Schritt PP2 auf die bereits erzeugten Bäume BA zurückgegriffen wird. In dem willkürlichen Beispiel nach Figur 3 erstreckt sich ein Korridor der Maske MA von der siebten Position bis zur vierundvierzigsten Position des Datenblocks DB. Bei dem Tiefendurchlauf wird zunächst die siebte Position betrachtet.

Ausgehend von dieser Position wird das zugehörige min-max-Paar in der nächsten Ebene, das der Ebene El, betrachtet. Von dieser Position in der Ebene El aus wiederum wird nach zugeordneten Werten in der niedrigeren Ebene, das heißt der Ebene E0, gesucht, was in diesem Fall die Werte an der sechsten und siebten Position sind. Der Wert an der sechsten Position liegt außerhalb des untersuchten Intervalls, sodass das min-max-Paar in der Ebene El, welches den Werten an der sechsten und siebten Position zugeordnet ist, keine Aussagekraft hat, was Minima und Maxima in dem betrachteten Intervall, das heißt in dem Intervall von der siebten bis zur vierundvierzigsten Position, betrifft. Vielmehr stellt in diesem Fall der Wert an der siebten Position selbst bereits einen min-max-Kandidaten des untersuchten Intervalls dar.

Die Suche nach min-max-Kandidaten, welche in Figur 3 mit MMK bezeichnet sind, wird anschließend an der achten Position des Datenblocks DB, das heißt an der zweiten Position des betrachteten Intervalls, fortgesetzt. Dem achten und dem neunten Wert des Datenblocks DB ist ein gemeinsamer Knotenpunkt in der Ebene El des min-max-Baumes BA zugeordnet. Dieser Knotenpunkt gilt zunächst als neuer min-max-Kandidat. In gleicher Weise ist den Abtastwerten an der zehnten und elften Stelle des Datenblocks DB ein gemeinsamer min- max-Kandidat in der Ebene El zugeordnet. In der Ebene El existieren somit zu diesem Zeitpunkt des Baumdurchlaufs, das heißt Tiefendurchlaufs, bereits zwei nebeneinander angeordnete min-max-Kandidaten. Eine Vielzahl derartiger Einzelschritte des Tiefendurchlaufs werden mittels der Rechenwerke 5 parallel abgearbeitet.

Solange ein Knotenpunkt, welcher in einer bestimmten Ebene El, E2, ... des Baumes BA als min-max-Kandidat MMK gilt und der in derselben Ebene El, E2, ... direkt danebenliegende Knotenpunkt ebenfalls einen min-max-Kandidaten darstellt, wird geprüft, ob der zugehörige in der nächsten Ebene E2, E3, ... liegende Knotenpunkt ebenfalls als min-max-Kandidat MIVIK einzustufen ist. Im Beispiel nach Figur 3 wird auf diese Weise unter anderem ein in der Ebene E3 liegender gemeinsamer min-max-Kandidat MMK zu den Werten an der achten bis fünfzehnten Stelle gefunden. Geht man von diesem min-max-Kandidaten MMK eine Ebene weiter nach oben, das heißt in die Ebene E4, so findet man an dieser Stelle keinen min-max- Kandidaten mehr, da sich die zugehörigen Abtastwerte auf den Bereich von der nullten bis zur fünfzehnten Position verteilen und damit teilweise außerhalb des untersuchten Intervalls liegen. Der gefundene, in der Ebene E3 liegende min-max-Kandidat MMK wird somit als endgültiger min-max-Kandidat festgehalten.

Die Suche nach min-max-Kandidaten wird anschließend an der sechzehnten Stelle des Datenblocks DB fortgesetzt. Auf die beschriebene Art wird ein weiterer min-max-Kandidat MMK gefunden, welcher den Bereich von der sechzehnten bis zur einunddreißigsten Stelle abdeckt und in der Ebene E4 angeordnet ist. Weitere min-max-Kandidaten MMK decken den Bereich von der zweiunddreißigsten bis zur neununddreißigsten beziehungsweise von der vierzigsten bis zur dreiundvierzigsten Stelle ab. Am Ende des untersuchten Intervalls ist schließlich, vergleichbar mit dem Beginn des Intervalls, ein Abtastwert zu finden, welcher zugleich als min-max-Kandidat gilt, da sämtlichen zugehörigen, in höheren Schichten liegenden Knotenpunkte auch Abtastwerten zugeordnet sind, die außerhalb des betrachteten Intervalls liegen.

Somit wurden im in Figur 3 betrachteten Fall, abgesehen von den beiden an den

Intervallgrenzen liegenden Abtastwerten, vier min-max-Kandidaten MMK aufgefunden. Die Anzahl der min-max-Kandidaten MMK liegt somit deutlich unterhalb der Anzahl der Abtastwerte im untersuchten Intervall. Bei längeren Intervallen verstärkt sich dieser Effekt. Dies gilt auch für Fälle, in denen sich Intervallgrenzen über Datenblockgrenzen hinweg erstrecken.

Die Tiefendurchläufe erfolgen für sämtliche Maskenlängen LO, LI, L2 und für alle N möglichen Positionen der Maske MA. Hierbei bezeichnet N die Länge des Datenblocks DB. Als Ergebnis der Tiefendurchläufe wird, ebenfalls noch im Schritt PP2, eine Tabelle mit N Zeilen, deren Spaltenzahl der Anzahl an verschiedenen Korridorlängen in LO, LI, L2 entspricht, mit Minimalwerten und Maximalwerten ausgefüllt. Hierbei wird jedem Abtastzeitpunkt und jeder Korridorlänge LO, LI, L2 ein Paar aus einem Minimalwert und einem Maximalwert zugeordnet, welches durch Vergleich der min-max-Kandidaten MMK des betrachteten Intervalls gewonnen wurde. Im Fall von Figur 3 sind die Minimal- und Maximalwerte somit aus zwei einzelnen Werten, welche in der Ebene E0 liegen, und vier Wertepaaren, welche in den Ebenen E2 bis E4 zu finden sind, auszuwählen. Die aufgefundenen Minimalwerte und Maximalwerte sind, bezogen auf die Darstellung nach Figur 2, Korridorendpunkten KE-O, KE-1 und KE-2 zugeordnet. Die Überprüfung von Triggerbedingungen ist damit möglich, indem Prüfungen durchgeführt werden, die sich nur noch auf einzelne Zeitpunkte, an welchen die Korridorendpunkte KE-O, KE-1, KE-2 als Testpunkte liegen, beziehen. Das Absuchen der gesamten Fenster der Maske MA, welche die Längen LO, LI, L2 aufweisen, wird somit durch sehr viel schneller durchführbare, einfache Vergleiche ersetzt.

Aus den Minimalwerten und Maximalwerten, welche in der Tabelle TA eingetragen sind, ergibt sich, ebenfalls noch im Rahmen des Schrittes PP2, eine Hüllkurve Tmin, Tmax, welche von der Signalkurve SK und der angewandten Maske MA, speziell der Korridorlänge L, abhängig ist und beispielhaft in Figur 4 dargestellt ist. Die Signalkurve SK hat nach Figur 4 eine modifizierte Sinusform. Deutlich erkennbar ist, dass Minima und Maxima aufgrund der vorgegebenen Korridorlänge L jeweils über die entsprechende Dauer festgehalten werden, was sich in waagrechten Abschnitten der Hüllkurve Tmin, Tmax ausdrückt. Soll zu einem bestimmten Zeitpunkt geprüft werden, ob das Signal nicht nur zu diesem Zeitpunkt, sondern bereits in dem gesamten zurückliegenden Zeitintervall, welches sich über die Dauer L des angewandten Korridors KO, Kl, K2 erstreckt, die Triggerbedingung erfüllt, so genügt ein Vergleich von Tmin und Tmax mit den Korridorgrenzen. Auf diese Weise wird für jeden der Abtastwerte, welche beispielsweise mit j indiziert sind, die Einhaltung der Triggerbedingung überprüft, was im Schritt PP3 erfolgt. Als Ergebnis dieser Prüfung wird eine Triggerfunktionsliste TFL für jeden Datenblock DB ausgefüllt. In die Triggerfunktionsliste TFL werden boolesche Werte eingetragen, die angeben, ob die Triggerbedingung an der jeweiligen Abtastposition j erfüllt ist. Diese Werte werden als Triggerwertsignale bezeichnet. Auch der Schritt PP3 wird in Form paralleler Datenverarbeitung durchgeführt. Von entscheidendem Vorteil ist hierbei die Tatsache, dass die Überprüfung auf Einhaltung der Triggerbedingung anhand der Hüllkurve Tmin, Tmax für eine Vielzahl von Abtastzeitpunkten gleichzeitig durchgeführt werden kann. Die Auswertung an der Stelle j+1 muss also nicht auf das Ergebnis der Auswertung an der Stelle j warten.

Nach dem vollständigen Ausfüllen der Triggerfunktionsliste TFL wird im Schritt PP4 ermittelt, an welchen Stellen sich das boolesche Triggerwertsignal ändert. Wird eine solche Änderung festgestellt, so erfolgen Einträge jO, jl, j2, in eine Triggerliste TLI. Die Einträge jO, jl, j2, ... werden als Triggerzeitpunkte für die oszillographische Darstellung genutzt.

Die Figuren 5 bis 7 beziehen sich auf eine im Vergleich zu Figur 2 modifizierte Maske MA. Im Gegensatz zu Figur 2 ist in diesem Fall die Maske MA als negatives Fenster ausgebildet. Dies bedeutet, dass sämtliche Werte, die entweder über einer oberen Grenze oder unter einer unteren Grenze liegen, als in der Maske MA liegend gelten.

Im Fall von Figur 5 setzt sich die Maske MA aus zwei Korridoren KO, Kl zusammen. Der Korridor KO weist eine ansteigende Obergrenze und eine abfallende Untergrenze auf. Im Korridor Kl ist umgekehrt eine abfallende Obergrenze und eine ansteigende Untergrenze gegeben, sodass die Maske MA insgesamt eine Rautenform beschreibt. Die Hüllkurven Tmin, Tmax, welche den Korridoren KO, Kl zugeordnet sind, werden in prinzipiell gleicher Weise wie im Fall der Figuren 2 bis 4 erzeugt. Jedoch ist im Fall von Figur 5 darauf Rücksicht zu nehmen, dass die Korridorgrenzen keine konstanten Werte darstellen. Die über den Verlauf der Korridore KO, Kl variierenden Korridorgrenzen werden derart in die Konstruktion der Kurven Tmin, Tmax einbezogen, dass sich die Steigungen der Grenzen der Korridore KO, Kl auch in Steigungen der Hüllkurven Tmin, Tmax ausdrücken. An den Korridorendpunkten KE-0, KE-1 werden die Abtastwerte unverändert für die Konstruktion der Hüllkurve Tmin, Tmax verwendet.

Je weiter ein Zeitpunkt von den Korridorendpunkten KE-0, KE-1 entfernt ist, desto mehr wird der an dem entsprechenden Zeitpunkt abgetastete Messwert, entsprechend der Steigung der Grenzen der Korridore KO, Kl, heraufgesetzt oder herabgesetzt, um die Form der Korridore KO, Kl nachzubilden. Insgesamt bedeutet dies, dass die Signalkurve SK in Anpassung an die Form der Korridore KO, Kl verzerrt wird, um die Hüllkurven Tmin, Tmax zu bilden. Dies drückt sich in den Figuren 6 und 7 in ansteigenden und abfallenden, an Minima und Maxima der Signalkurve SK anschließenden Abschnitten der Hüllkurven Tmin, Tmax aus. Sobald die modifizierten Hüllkurven Tmin, Tmax generiert sind, wird die Datenverarbeitung entsprechend dem anhand Figur 1 bereits erläuterten Ablauf fortgesetzt.

Bezugszeichenliste

1 Signalverarbeitungsvorrichtung

2 Datenerfassungseinrichtung

3 Triggervorrichtung

4 Ringspeicher

5 Rechenwerk

6 Anzeigevorrichtung

BA min-max-Baum

DB Datenblock

DS Datenstrom

E0, El, E2, ... Ebenen

K0, Kl, K2, ... Korridore

KE-O, KE-1, ... Korridorendpunkte, Testpunkte

L0, LI, L2, ... Korridorlängen

LV Lesevorgang

MA Maske

MMK min-max-Kandidat

PPI ... PP4 parallele Prozesse

PS, PE Start- bzw. Endpunkt

SK Signalkurve

SV Schreibvorgang

TA Tabelle

TFL Triggerfunktionsliste

TLI Triggerliste

Tmin, Tmax Hüllkurve