EP4437350A1 - Verfahren und vorrichtung zur signal-mustererkennung - Google Patents

Verfahren und vorrichtung zur signal-mustererkennung

Info

Publication number
EP4437350A1
EP4437350A1 EP22821897.0A EP22821897A EP4437350A1 EP 4437350 A1 EP4437350 A1 EP 4437350A1 EP 22821897 A EP22821897 A EP 22821897A EP 4437350 A1 EP4437350 A1 EP 4437350A1
Authority
EP
European Patent Office
Prior art keywords
max
tree
corridor
trigger
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22821897.0A
Other languages
English (en)
French (fr)
Inventor
Oliver Heid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
H Next GmbH
Original Assignee
H Next GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by H Next GmbH filed Critical H Next GmbH
Publication of EP4437350A1 publication Critical patent/EP4437350A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • G01R13/0218Circuits therefor
    • G01R13/0254Circuits therefor for triggering, synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Definitions

  • the invention relates to a method for signal pattern recognition, in particular for the purpose of triggering. Furthermore, the invention relates to a device suitable for carrying out such a method.
  • US 2007/0217694 A1 discloses a digital acquisition system which compresses sampled data prior to storage.
  • the acquisition system includes means for digitizing an electrical signal, thereby generating a sampled data stream.
  • means for parallel compression of the sampled data stream are to be attributed to the digital acquisition system.
  • Various compression schemes, including a low-pass filter scheme, are used here.
  • the digital acquisition system should be particularly suitable for detecting peaks. For this purpose, for example, a data block comprising 128 values is first divided into 64 pairs of values. Each pair of values is to be understood here as a combination of a minimum value and a maximum value.
  • a method for automatically generating a frequency range mask for a selected input signal is known from US 2009/0153559 A1.
  • frequency domain data representing the selected input signal is reduced to produce a reduced waveform.
  • the reduced waveform can be drawn using a user selected frequency offset.
  • US 2008/0054967 A1 describes a method for correcting errors in a sequential sampling time base, a sampling time for the sequential sampling time base being defined by a time duration of a combination of a fine analog delay and a coarse delay.
  • the method according to US 2008/0054967 A1 includes measuring a time difference between a trigger at which the fine analog delay starts the measurement time and the occurrence of a digital pulse of a stable clock.
  • a digital oscilloscope with glitch detection described in US 2010/0052653 A1 includes, among other things, a synchronous random access memory, a digital signal processing unit, an analog-to-digital converter and a digital signal processor. A large number of processing blocks are allocated to the latter processor, which are designed to process the digitized analog signal data and to detect glitches in this data.
  • a device for determining a trigger condition for a rare signal event is known from WO 2014/072271 A1. With the help of the known device, level or time-based statistical parameters are recorded and frequency distributions are continuously updated. A level-based and/or time-based threshold value can be present as a trigger condition, which the detected signal must exceed or fall below. Frequency distributions can be determined for different level-based threshold values.
  • US 4,585,975 A discloses a multi-channel oscilloscope with digital trigger signal channels.
  • the oscilloscope includes a trigger threshold value generator and works with Boolean functions, among other things.
  • US 4,843,309 A describes a waveform timing method for digital oscilloscopes.
  • first and second data recordings are made from a periodic signal, relating to first and second waveforms, respectively.
  • an autocorrelation value is generated from the first data record.
  • a cross-correlation value is generated between the first and second waveforms. A misalignment between the waveforms should be recognizable by comparing the auto-correlation value with the cross-correlation value.
  • a digital oscilloscope with parallel acquisition and signal post-processing is known from DE 10 2014208464 A1.
  • samples of a signal are acquired in individual time ranges, which are each defined in relation to a trigger time of a trigger event.
  • a post-processing of the samples acquired in the individual time ranges is then provided.
  • triggering can be triggered by an analog or by a digital signal.
  • triggering means that a trigger signal is triggered when a threshold value is exceeded or not reached.
  • the generation of a trigger signal means more computing effort.
  • Complicated trigger conditions in particular in the form of time-extended signal amplitude corridors, require such a large computational effort that time gaps arise in which the signal cannot be analyzed. In order to avoid such dead times, it is known that redundant means for signal detection and processing can be provided, which inevitably increases the outlay on equipment.
  • the invention is based on the object of expanding the possibilities of signal pattern recognition, in particular in connection with triggering, compared to the prior art mentioned, with the signal analysis effort being essentially independent of the complexity of the trigger condition and on a large number of arithmetic units can be parallelized, so that a complete signal evaluation should be possible even with a high data rate and complex trigger conditions and a particularly favorable ratio between the complexity of a signal pattern to be recognized and the outlay on equipment required for the recognition.
  • the signal pattern recognition process includes the following steps:
  • Time-discrete sampling of a continuous data stream i.e. acquisition of sampled values that form a signal curve
  • each min-max tree is built up at least in part of the layers, which includes the first layer, by parallel data processing,
  • Execution of tree passes that partially cross block boundaries, i.e. extend beyond a tree into at least one neighboring tree, for each sampling time, each beginning in the first layer, for at least one corridor length specified by a signal mask, with each individual sampling value within the entire corridor length initially being min-max candidate is defined and two consecutive min-max candidates by the as associated Node in the next layer lying min-max pair are replaced, provided that all samples assigned to this min-max pair are also within the corridor, and identification of the respective sampling time and the corridor length associated minimum and maximum value based on the found through the tree traversal min-max candidates, with one and the same min-max tree being used for a number of tree traversals to be carried out in parallel,
  • the first thing to do here is the structure of the min-max trees on the individual blocks into which the data stream is divided. Only a single min-max tree needs to be generated per block.
  • the min-max trees represent a multiple-use basis for the further procedure.
  • the invention is based on the consideration that two fundamentally different approaches can be used to check whether a condition given by a mask, in particular a trigger condition, is fulfilled by a section of a signal sequence:
  • a mask with which a data stream is to be examined is shifted in the smallest possible steps, ie from sample to sample. If, for example, a signal sequence has a clock rate of 1 ns, a mask with which this signal sequence is examined could, in the extreme case, likewise only extend over a duration of 1 ns.
  • masks with significantly more extensive corridors conceivable. For example, a corridor could extend over a period of 1 ms, i.e. 1 million samples. Accordingly, in this case there were 10 6 possible mask positions within the corridor length. If, for every possible mask position, all comparisons between sampled values that fall within the mask are to be carried out, the limits of current data processing systems are quickly reached. Conversely, this means that you can only work with a few masks that are not too long.
  • the data stream is evaluated using an incremental search algorithm.
  • This approach assumes that the time required to perform the search algorithm for each new sample is shorter than the time interval between two samples. Otherwise, the difference between the time required by the search algorithm and the clocking of the data stream from sample to sample would add up, so that a real-time examination of the data stream cannot be sustained over a longer period of time.
  • This shortcoming could be counteracted, for example, by not including each of the consecutive sample values in the examination or by pre-processing several consecutive sample values.
  • measures could be at the expense of information originally contained in the data stream, which is given, for example, in the form of very brief signal changes.
  • the invention departs from the approaches described in that block-by-block processing, in which adjacent blocks of the data stream are processed separately, is only carried out in an initial method step, with a very high processing speed already being achievable in this method step due to the parallelism of the data processing .
  • this parallelism can enable higher sampling value evaluation rates than the clock frequency of an individual arithmetic unit.
  • the first level of the min-max tree can be built up in up to 1 x 2 n simultaneous calculation steps. In higher levels, the degree of possible parallelism is reduced.
  • the construction of the second level can still take place in up to 1/4 x 2 n computing steps running simultaneously; in the third level there are still a maximum of 1/8 x 2 n processes that can be carried out in parallel, and so on.
  • the top of the tree is formed by a single pair of minimum and maximum values. With a sufficiently large number of parallel arithmetic units, only n serial arithmetic steps are required to generate a tree over 2 n samples. In order to generate the highest possible degree of parallelism, it is assumed here that the number of arithmetic units corresponds to at least half the number of samples per data block.
  • Each tree contains the min-max pairs of sample intervals starting at index positions that are integer multiples of powers of two.
  • the desired min-max pairs with any given corridor length are obtained at each sampled value position in the form of tree traversals.
  • Each corridor slope A or B requires its own tree and tree traversals to generate its own envelope signal.
  • these tree traversals are not bound to the block boundaries, but can extend into one or more adjacent neighboring trees, so that the resulting envelope curve can be generated without gaps.
  • each corridor length is preferably less than the block length into which the data stream is divided.
  • a common Boolean trigger function is generated for each possible mask position along the data stream, which represents whether the signal fulfills the entire signal mask or not.
  • the method for signal pattern recognition that can be used for triggering based on compliance with or violation of signal amplitude corridors is based on a time-discretely sampled continuous data stream, which is divided into blocks, each consisting of a number of samples given as a power of two (2 n ). are formed. On every of these blocks, a tree structure of minimum-maximum pairs is built up, with each of these pairs representing a node of the tree and the minimum and maximum value of the two directly associated pairs or values (exclusively in the zeroth level, i.e. the level of the samples) in the next lower level of the tree.
  • Corridors of a mask which is used for signal pattern recognition, are shifted from sample to sample across the data blocks, regardless of their boundaries, with depth sweeps depending on the corridor length being carried out through at least one of the trees already created for each position of the corridor.
  • the structure of the trees is done by means of parallel data processing. Compared to a block-by-block data evaluation of all samples falling in a corridor for each possible mask position, the evaluation based on the already existing tree structures only requires a much less extensive comparison between already found minimum and maximum values. The method is thus able to evaluate the data stream without interruption even at a high clock frequency of sampled values of, for example, more than 100 MHz.
  • the signal pattern recognition method is suitable, for example, for signal masks with a single corridor or a plurality of corridors, each corridor having a constant upper and lower limit. In this case, there can also be an overlap between different corridors in terms of time and/or with regard to the upper and lower limits of the corridors. Similarly, corridor boundaries cannot be defined in absolute terms, but rather in relation to the boundaries of other corridors.
  • the method according to the application does not work with decimation of data. Rather, minimum and maximum values which lie within a time interval which is specified by a signal mask, ie corresponds to a corridor length, are determined for each individual sampled value, ie digitized value of the input signal. The original sampling rate, with which the continuous data stream is sampled, is retained.
  • the signal pattern recognition method is designed for use with signal masks which have at least one corridor with a lower and/or upper limit that varies over its length. In such a case, the envelopes are generated with a distortion that reflects the deviations of the corridor boundaries from constant boundaries.
  • a corridor is not defined by corridor limits, which are constant over the entire length of the corridor, lower and upper limits of the corridor with a constant gradient can be given in sections, for example.
  • the corridor can only have sections in which the slopes of the upper limit of the relevant section on the one hand and the lower limit of the same section on the other hand have different signs.
  • the corridor as a whole can, for example, describe the shape of a rhombus or a dovetail shape. If a signal is required to be above a lower limit and below an upper limit of a corridor, this corridor represents a so-called positive window. Conversely, if there is a requirement that a signal either falls below a lower limit of a corridor or an upper limit of the same corridor, a negative window is defined.
  • the block on which to build the min-max tree comprises at least 2 10 and at most 2 30 samples.
  • the min-max tree which is generated based on the sample values, can cover at least half of the layers, i.e. levels of the Tree can be built by parallel data processing.
  • the number of tree passes carried out in parallel corresponds in particular to at least the square root of the number of samples per block.
  • the signal pattern recognition method is particularly suitable for use in the case of signal sequences with short clocking, for example acquisition of sampled values at time intervals of no more than 10 ns, in particular no more than 2 ns or 1 ns.
  • a particular advantage achieved by the parallelism of the data processing in several processing phases is that the construction of the min-max trees and the tree runs can be carried out in calculation steps which are longer than the time interval between two consecutive sample values, whereby the parallelism of the data processing the total number of serial calculation steps per position of the signal mask is less than one.
  • a trigger time is set when the Boolean trigger value signal changes from "true” to "false".
  • the trigger time found is entered in a list. Entries in the list can be made without any other conditions or, for example, taking into account a trigger hold-off period. It is also possible, for example, to make entries in the list only after approval by a trigger counter, for example only for every second or third event that is evaluated as a trigger event.
  • the device for signal pattern recognition generally comprises a data acquisition device provided for recording a clocked signal and a trigger device coupled to this device and designed to carry out the method according to the application.
  • the trigger device can have 128 or more, in particular 1,000 or more, arithmetic units designed for parallel data processing in the course of the construction of the min-max trees and the tree traversals.
  • the arithmetic units can also be used for the graphic display of sampled values.
  • the trigger device includes a ring memory, which is provided for storing at least three blocks of the data stream, whereby the trigger device is designed for the uninterrupted processing of unfiltered samples.
  • the advantage of the invention lies in particular in the fact that even in a rapidly clocked, time-discretely sampled, continuous data stream, the temporal positions of a predetermined signal pattern can be recognized without dead times. This applies, among other things, to the detection of data frames, eye diagrams and their errors, which occur in particular in the form of so-called glitches and can be of extremely short duration.
  • FIG. 1 shows a schematic representation of a method for signal pattern recognition that is suitable as a digital trigger method, starting from a sequence of sampled values
  • FIG. 5 formed envelope, 8 shows a block diagram of a device for carrying out the signal I pattern recognition method.
  • a trigger method can be carried out using a signal processing device 1 shown symbolically in Figure 8.
  • Components of the signal processing device 1 are a data acquisition device 2, which is designed to acquire a data stream DS, and a data acquisition device 2 downstream trigger device 3.
  • the Trigger device 3 comprises a ring memory 4 and a large number of arithmetic units 5, in the present case more than a thousand. Embodiments with a smaller number of arithmetic units 5, for example one hundred and twenty-eight units, are also possible.
  • a display device 6 can be used in particular as a display of an oscillograph, in particular for displaying data frames or eye diagrams, which are recognized by means of the trigger device 3 .
  • the data stream DS is sampled in a time-discrete manner, with a subdivision into data blocks DB taking place, which are also referred to as blocks for short.
  • data blocks DB are also referred to as blocks for short.
  • FIG. 1 the left half of the representation shows the data present and the right half of the representation shows the processing of the data.
  • the start of the data processing procedure is denoted by PS.
  • the designation LV is used for read operations and the designation SV is used for write operations.
  • Data blocks DB are read into ring memory 4. As soon as a complete data block DB is available, construction of a min-max tree BA can be started in a first parallel process PPI.
  • the digitized sampling values of the data stream DS, from which the data block DB is formed, represent the zeroth level E0 of the min-max tree BA.
  • a signal curve generally denoted by SK results from the sampled values s recorded at equal time intervals.
  • the data blocks DB into which the signal curve SK is subdivided can each actually extend over far more than sixty-four samples s. For example, on the order of a million or more samples s can fall into a data block DB.
  • the structure of the min-max tree BA takes place independently of the subsequent use of a mask MA. Pairs of samples s are formed in plane E0, that is to say thirty-two pairs in total in the case of FIG. One of the two values of each pair represents a minimum value, the other value represents a maximum value, it also being possible for the two values to match. In any case, the corresponding min-max pair is written to level El. This takes place, as indicated in step PPI in FIG.
  • the next min-max pair selected in this way is written to the next higher level E2.
  • This process is also carried out by parallel data processing. Synchronization takes place to the extent necessary, referred to as sync for short in FIG.
  • the structure of the min-max tree BA is complete when the min-max pair of the entire tree BA, lying in the sixth level in FIG. 3, is found.
  • the min-max trees BA which are each built up on a data block DB, represent static structures for the further process, which can be used multiple times, in particular for different masks MA.
  • step PP2 depth sweeps are carried out in step PP2, also using parallel processes.
  • step PP2 depth sweeps are carried out in step PP2, also using parallel processes.
  • the shape of the applied mask MA plays a role.
  • a possible mask MA is visualized in FIG.
  • This mask MA comprises three corridors KO, Kl, K2, separated in time which extend over different durations and each have a lower and upper limit for a
  • the lengths of the corridors KO, Kl, K2 are denoted by L0, LI, L2.
  • a corridor of the mask MA extends from the seventh position to the forty-fourth position of the data block DB. In the depth scan, the seventh position is considered first.
  • the associated min-max pair in the next level that of level El, is considered.
  • level E1 a search is in turn made for associated values in the lower level, i.e. level E0, which in this case are the values in the sixth and seventh positions.
  • the value at the sixth position is outside the examined interval, so that the min-max pair in the level El, which is assigned to the values at the sixth and seventh position, has no significance as to what minima and maxima in the examined interval, the that is, in the interval from the seventh to the forty-fourth position. Rather, in this case, the value in the seventh position itself already represents a min-max candidate of the interval examined.
  • the search for min-max candidates is then continued at the eighth position of the data block DB, ie at the second position of the interval considered.
  • a common node in level El of the min-max tree BA is assigned to the eighth and the ninth value of the data block DB. This node is initially considered a new min-max candidate.
  • the samples at the tenth and eleventh position of the data block DB have a common minimum max candidate in the El level.
  • a multiplicity of such individual steps of the depth sweep are processed in parallel by means of the arithmetic units 5 .
  • a node which is valid in a certain level E1, E2, ... of the tree BA as a min-max candidate MMK and the node directly next to it in the same level E1, E2, ... also represents a min-max candidate it is checked whether the associated node lying in the next level E2, E3, ... is also to be classified as a min-max candidate MIVIK.
  • a common min-max candidate MMK lying in level E3 is found in this way for the values in the eighth to fifteenth positions.
  • min-max candidates are then continued at the sixteenth position in the data block DB.
  • a further min-max candidate MMK is found in the manner described, which covers the range from the sixteenth to the thirty-first position and is arranged in the plane E4.
  • Other min-max candidates MMK cover the range from the thirty-second to the thirty-ninth or from the fortieth to the forty-third position.
  • a sample value can be found, comparable to the beginning of the interval, which is also considered a min-max candidate, since all associated nodes in higher layers are also assigned sample values that lie outside the interval considered .
  • Interval boundaries lying samples found four min-max candidates MMK.
  • the number of min-max candidates MMK is thus significantly below the number of samples in the interval examined. This effect increases with longer intervals. This also applies to cases where interval boundaries extend across data block boundaries.
  • the depth sweeps are made for all mask lengths LO, LI, L2 and for all N possible positions of the mask MA.
  • N designates the length of the data block DB.
  • each sampling time and each corridor length LO, LI, L2 is assigned a pair of a minimum value and a maximum value, which was obtained by comparing the min-max candidates MMK of the interval under consideration.
  • the minimum and maximum values are thus to be selected from two individual values, which lie in level E0, and four pairs of values, which can be found in levels E2 to E4.
  • the minimum and maximum values found are assigned to corridor end points KE-0, KE-1 and KE-2, based on the representation according to FIG. It is thus possible to check trigger conditions by carrying out tests which only relate to individual points in time at which the corridor end points KE-O, KE-1, KE-2 are located as test points.
  • the search of the entire windows of the mask MA, which have the lengths LO, LI, L2 is thus replaced by simple comparisons that can be carried out much more quickly.
  • an envelope curve Tmin, Tmax results, also still within the framework of step PP2, which is dependent on the signal curve SK and the mask MA used, specifically the corridor length L, and is shown by way of example in FIG. According to FIG. 4, the signal curve SK has a modified sinusoidal shape. It is clearly recognizable that, due to the predetermined corridor length L, minima and maxima are each recorded for the corresponding duration, which is expressed in horizontal sections of the envelope curve Tmin, Tmax.
  • Step PP3 is also carried out in the form of parallel data processing.
  • the decisive advantage here is the fact that compliance with the trigger condition can be checked using the envelope curve Tmin, Tmax for a large number of sampling times at the same time. The evaluation at point j+1 therefore does not have to wait for the result of the evaluation at point j.
  • step PP4 it is determined at which points the Boolean trigger value signal changes. If such a change is detected, entries j0, j1, j2 are made in a trigger list TLI. The entries jO, jl, j2, ... are used as trigger times for the oscillographic display.
  • FIGS. 5 to 7 relate to a mask MA that is modified compared to FIG. In contrast to FIG. 2, in this case the mask MA is designed as a negative window. This means that all values that are either above an upper limit or below a lower limit are considered to be in the mask MA.
  • the mask MA is composed of two corridors KO, Kl.
  • the corridor KO has a rising upper limit and a falling lower limit.
  • the corridor Kl there is a falling upper limit and a rising lower limit, so that the mask MA describes a rhombus shape overall.
  • the envelope curves Tmin, Tmax, which are assigned to the corridors KO, Kl, are generated in basically the same way as in the case of FIGS. However, in the case of Figure 5, it must be taken into account that that the corridor boundaries do not represent constant values.
  • the corridor limits that vary over the course of the corridors KO, KI are included in the construction of the curves Tmin, Tmax in such a way that the slopes of the limits of the corridors KO, KI are also expressed in slopes of the envelope curves Tmin, Tmax.
  • the sampled values are used unchanged for constructing the envelope curve Tmin, Tmax.

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

Ein insbesondere zur Triggerung nutzbares Verfahren zur Signal-Mustererkennung anhand der Einhaltung oder Verletzung von Signal-Amplitudenkorridoren geht von einem zeitdiskret abgetasteten kontinuierlichen Datenstrom aus, welcher in Blöcke unterteilt wird, die jeweils aus einer als Zweierpotenz (2n) 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 in der nächst niedrigeren Ebene umfasst. Korridore einer Maske, die zur Signal-Mustererkennung verwendet wird, werden von Abtastwert zu Abtastwert über die Datenblöcke geschoben. Der Aufbau der Bäume geschieht ebenso wie die Tiefendurchläufe mittels paralleler Datenverarbeitung.

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 106 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 2n Abtastwerten pro Datenblock kann die erste Ebene des min-max- Baumes in bis zu 1 x 2n 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 2n gleichzeitig ablaufenden Rechenschritten erfolgen; in der dritten Ebene sind es noch maximal 1/8 x 2n 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 2n 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*2k-2k +l ... j*2k-l} für j = {0... 2n 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 (2n) 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 210 und höchstens 230 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=26 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

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.
EP22821897.0A 2021-11-24 2022-11-22 Verfahren und vorrichtung zur signal-mustererkennung Pending EP4437350A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102021130772.4A DE102021130772A1 (de) 2021-11-24 2021-11-24 Verfahren und Vorrichtung zur Signal-Mustererkennung
PCT/EP2022/082732 WO2023094356A1 (de) 2021-11-24 2022-11-22 Verfahren und vorrichtung zur signal-mustererkennung

Publications (1)

Publication Number Publication Date
EP4437350A1 true EP4437350A1 (de) 2024-10-02

Family

ID=84487581

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22821897.0A Pending EP4437350A1 (de) 2021-11-24 2022-11-22 Verfahren und vorrichtung zur signal-mustererkennung

Country Status (5)

Country Link
US (1) US20250013720A1 (de)
EP (1) EP4437350A1 (de)
CN (1) CN118302679A (de)
DE (1) DE102021130772A1 (de)
WO (1) WO2023094356A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023113559A1 (de) 2023-05-24 2024-11-28 H-Next Gmbh Verfahren und Vorrichtung zur Signalverarbeitung und -darstellung
CN116991852B (zh) * 2023-08-15 2026-01-16 瀚高基础软件股份有限公司 分布式数据库的样本索引树构建及近似计算方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070217694A1 (en) * 2006-03-20 2007-09-20 Sullivan Steven K Waveform compression and display
US20080054967A1 (en) * 2005-02-07 2008-03-06 Lecroy Corporation Sequential timebase
US20090153559A1 (en) * 2007-12-13 2009-06-18 Tektronix, Inc. Automatic generation of frequency domain mask
US20100052653A1 (en) * 2008-08-26 2010-03-04 Spx Corporation Digital Oscilloscope Module with Glitch Detection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4585975A (en) 1983-04-21 1986-04-29 Tektronix, Inc. High speed Boolean logic trigger oscilloscope vertical amplifier with edge sensitivity and nested trigger
US4843309A (en) 1988-03-21 1989-06-27 Tektronix, Inc. Waveform timing alignment system for digital oscilloscopes
US5684507A (en) * 1994-09-07 1997-11-04 Fluke Corporation Method of displaying continuously acquired data on a fixed length display
DE102006021075A1 (de) 2006-05-05 2007-11-08 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur digitalen Triggerung eines mit einem Rauschsignal überlagerten Messsignals
DE102013200941A1 (de) 2012-11-12 2014-05-15 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Bestimmung einer Triggerbedingung für ein seltenes Signalereignis
DE102014208464A1 (de) 2014-02-28 2015-09-03 Rohde & Schwarz Gmbh & Co. Kg Digitales Oszilloskop und Verfahren mit paralleler Akquisition und Signalnachverarbeitung

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080054967A1 (en) * 2005-02-07 2008-03-06 Lecroy Corporation Sequential timebase
US20070217694A1 (en) * 2006-03-20 2007-09-20 Sullivan Steven K Waveform compression and display
US20090153559A1 (en) * 2007-12-13 2009-06-18 Tektronix, Inc. Automatic generation of frequency domain mask
US20100052653A1 (en) * 2008-08-26 2010-03-04 Spx Corporation Digital Oscilloscope Module with Glitch Detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2023094356A1 *

Also Published As

Publication number Publication date
CN118302679A (zh) 2024-07-05
WO2023094356A1 (de) 2023-06-01
DE102021130772A1 (de) 2023-05-25
US20250013720A1 (en) 2025-01-09

Similar Documents

Publication Publication Date Title
DE60025693T2 (de) Gerät und Verfahren zur Erkennung der Ursache einer Teilentladung
DE2820425C2 (de) Binärer Zufallsrauschgenerator zur stochastischen Kodierung
DE3327139C2 (de) Verfahren und Vorrichtung von für die Rekonstruktion einer Wellenform vorgesehenen Daten
DE69830932T2 (de) Teilentladungsmesssystem unter verwendung von spitzendetektion
DE60028684T2 (de) Verfahren und Anordnung zur Bestimmung der Anzahl von Teilentladungsquellen
DE2751973A1 (de) Schaltungsanordnung fuer die ueberwachung von stromversorgungsnetzen auf stoerungen
WO2023094356A1 (de) Verfahren und vorrichtung zur signal-mustererkennung
DE3436681A1 (de) Kapazitives verschiebungsmessgeraet
DE2000062A1 (de) Phasenempfindliche Schaltung
DE2407399A1 (de) Verfahren und vorrichtung zur herzfrequenzueberwachung
DE102014208464A1 (de) Digitales Oszilloskop und Verfahren mit paralleler Akquisition und Signalnachverarbeitung
EP3798361A1 (de) Überwachungsvorrichtung für einen gleitschalungsfertiger zur überwachung der verdichtung von beton und verfahren zur überwachung der verdichtung von beton während des betriebs eines gleitschalungsfertigers
DE69531149T2 (de) Verfahren zur wellenformanalyse
DE69828314T2 (de) System zur digitalen messung der durchbruchsspannung von hochspannungsproben
DE69322530T2 (de) Jitterkorrektion für Mehrkanaltriggeranordnung
DE19524387C1 (de) Schaltungsanordnung und Verfahren zum Messen eines Kapazitätsunterschiedes zwischen einer ersten Kapazität C1 und einer zweiten Kapazität C2
DE1938090C2 (de) Analysator von Massenspektren
DE2431458C2 (de) Verfahren und Anordnung zur automatischen Sprechererkennung
DE102005044194B4 (de) Messvorrichtung und Verfahren zum Messen von relativen Phasenlagen von digitalen Signalen
DE2453873A1 (de) Fourier-analysator
DE102019126926B4 (de) Graphische darstellung von diskontinuierlichen wellenformdaten
EP0135869A1 (de) Verfahren und Vorrichtung zur Messung eines in einer Schaltung auftretenden elektrischen Signals
DE3629534C2 (de)
WO2003016927A1 (de) Verfahren und vorrichtung zum bestimmen des spektralen verlaufs von elektromagnetischen signalen innerhalb eines vorgegebenen frequenzbereichs
DE102011078863B4 (de) Vorrichtung und Verfahren zur Ermittlung absoluter Pegelwerte eines digitalen Signals für ein digitales Oszilloskop

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240506

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20250527