-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft die Datenaufzeichnung zur Anzeige und Analyse.
Insbesondere – aber
nicht ausschließlich – betrifft
die Erfindung die Steigerung der Geschwindigkeit, mit der ein Computer
eine Benutzerauswahl aufgezeichneter Daten-Samples aus einer aufgezeichneten
Datendatei anzeigen kann, und die Steigerung der Geschwindigkeit,
mit der ein Computer relevante statistische Daten für diese
Auswahl aufgezeichneter Daten berechnen und anzeigen kann, insbesondere
wenn es um extrem große
Dateien geht.
-
Hintergrund
der vorliegenden Erfindung
-
In
der Datenerfassungs- und Speicherungsindustrie ist das Aufzeichnen
großer
Datenmengen alltäglich.
Die Menge der gespeicherten Daten nimmt rasch zu. Dem entsprechend
nimmt auch die Kapazität
der Computerspeichermedien, wie beispielsweise Festplatten, jedes
Jahr zu, und es werden neue Technologien entwickelt, mit denen mehrere
Platten gemeinsam verwendet werden können. Um Schritt zu halten,
wurden Datenübertragungsverfahren
zur Bewegung größerer Datenvolumina
entwickelt, wie anhand der zunehmenden Nutzung von Firewire®,
USB2 und Gigabit-Ethernet-Technologien zum Datentransfer durch Main Strom-Computerproduzenten
dokumentiert wird. Da immer größere Datenmengen
in Echtzeit aufgezeichnet und übertragen
werden können,
hat die Größe der aufgezeichneten
Dateien zugenommen, um eine größere Messpräzision zu
ermöglichen.
Dies schafft ein Problem bei der Verarbeitung der resultierenden
Datendateien mit den bürotypischen
Computern, z.B. zur Analyse industrieller oder wissenschaftlicher
Messungen. Denn obgleich selbst Personalcomputer ihre Geschwindigkeit
und Kapazität
gesteigert haben, können
diese immer noch nicht ganze Aufzeichnungsdateien im Gigabytebereich
in Echtzeit bearbeiten, wie dies vom Benutzer erwartet wird.
-
In
der realen Welt erfordert die Bearbeitung großer Datenmengen unter Verwendung
eines Personalcomputers in der Regel das Einlesen der Daten von
der Festplatte in einen Speicher, die Verarbeitung der Daten im
Speicher je nach Bedarf und dann das Speichern der Ergebnisse oder
das Ablegen der verarbeiteten Werte. Wenn die aufgezeichneten Datendateien
größer sind
als die 256 MB bis 512 MB des integrierten Speicherbausteins hoher
Bandbreite (auch bekannt als „Random
Access Memory" – Direktzugriffsspeicher), die
derzeit in Personalcomputern zur Anwendung kommen, können die
Daten nicht vollständig
in diesem integrierten Speicherbaustein gespeichert werden, und
müssen
partiell oder ganz entweder direkt von der Festplatte oder unter
Verwendung einer Speichersubstitutionsdatei eingelesen werden, die
in der Branche als Auslagerungsdatei bekannt ist, mit all den damit
verbundenen Geschwindigkeitseinbußen, bevor der Prozessor ausgewählte mathematische
Operationen an den Daten ausführen
kann.
-
In
Zukunft werden Computer zweifellos größere integrierte Speicherbausteine
und eine höhere
Verarbeitungsleistung haben, doch wenn die Größe der Datendateien im gleichen
Tempo wie die Kapazität
der Personalcomputer zunimmt, bleibt dieses Problem bestehen.
-
Das
Ziel der Erfindung besteht folglich darin, die genannten Probleme
zu überwinden.
-
Zusammenfassung der vorliegenden
Erfindung
-
Die
vorliegende Erfindung schafft folglich ein Verfahren zur Bereitstellung
eines Displaysignals, wobei anzuzeigende Digitaldaten mit statistischen
Werten assoziiert sind, die für
Digitaldatenblöcke
vorbestimmter Größe vorgesehen
sind, wobei das Verfahren folgende Schritte umfasst: Feststellen
von Displayskalierungsparametern; auf Basis der Displayskalierungsparameter
das Feststellen des Ausmaßes,
in dem die statistischen Werte geeignet sind, anstelle einiger oder
aller digitalen Daten verwendet zu werden, wenn festgestellt wird,
welche Datenpunkte der Digitaldaten und/oder statistischen Werte
anzuzeigen sind; Feststellen der anzuzeigenden Datenpunkte; Einlesen
der anzuzeigenden Digitaldaten und/oder statistischen Werte; und
Generieren des Displaysignals von den Digitaldaten und/oder statistischen
Werten.
-
Die
vorliegende Erfindung schafft ein System zur Bereitstellung eines
Displaysignals, wobei die anzuzeigenden Digitaldaten mit statistischen
Werten assoziiert sind, die für
Digitaldatenblöcke
vorbestimmter Größe vorgesehen sind, Folgendes umfassend: Feststellungsmittel
für Displayskalierungsparameter;
Verarbeitungsmittel zur auf den Displayskalierungsparametern basierenden
Feststellung des Ausmaßes,
in dem die statistischen Werte zur Verwendung anstelle einiger oder
aller Digitaldaten geeignet sind, wenn festgestellt wird, welche
Datenpunkte der Digitaldaten und/oder statistischen Werte anzuzeigen
sind; Verarbeitungsmittel zur Feststellung, welche Datenpunkte anzuzeigen
sind; Dateneinlesemittel zum Einlesen der anzuzeigenden Digitaldaten
und/oder statistischen Werte; und Displaymittel zum Erzeugen des
Displaysignals aus den Digitaldaten und/oder statistischen Werten.
-
Die
vorliegende Erfindung schafft ein Computerprogrammprodukt zur Bereitstellung
eines Displaysignals, wobei das Computerprogrammprodukt ein Computer-verwendbares
Medium mit einem Computer lesbaren Code darauf umfasst, einschließlich eines
Programmcodes, der Folgendes umfasst: Befehle und Daten zur Veranlassung
eines Prozessors, die Feststellung von Displayskalierungsparametern
vorzunehmen; Feststellung auf der Grundlage der Displayskalierungsparameter,
in welchem Ausmaß die
statistischen Werte geeignet sind, anstelle einiger oder aller der
Digitaldaten verwendet zu werden, wenn festgestellt wird, welche Datenpunkte
der Digitaldaten und/oder statistischen Werte anzuzeigen sind; Feststellung
der anzuzeigenden Datenpunkte; Einlesen der anzuzeigenden Digitaldaten
und/oder statistischen Werte; und Erzeugen des angezeigten Signals
von den Digitaldaten und/oder statistischen Werten.
-
Auf
Basis der Vorteile der vorliegenden Erfindung wird ein Verfahren
geschaffen, mit dem vermieden wird, dass eine sehr große Datendatei
in ihrer Gesamtheit eingelesen wird, und mit dem rasch eine Anzeige aller
oder eines Teils der Daten produziert wird, ohne wesentliche Merkmale
der Daten, wie Scheitelpunkte, zu verlieren.
-
Des
weiteren kann das genannte Verfahren auf die immer größeren Datendateien
angewendet werden, die in der vorhersehbaren Zukunft aufgrund der
Verwendung zusätzlicher
statistischer Ströme
zu erwarten sind.
-
Zudem
kann die vorliegende Erfindung eine schnellere Methode des Berechnens
unterschiedlicher statistischer Daten bereitstellen, die ein die
Daten ansehender Benutzer bezüglich
aller oder eines Teils der Daten wünscht, nachdem die Daten angezeigt
worden sind.
-
Weitere
Merkmale und Vorteile der Erfindung werden aus den Ansprüchen ersichtlich,
auf die der Leser hiermit verwiesen wird, und des weiteren aus einer
Betrachtung der nachstehenden Beschreibung der bevorzugten Ausführungsbeispiele
der Erfindung und von Variationen derselben, die unter Bezugnahme
auf die begleitenden Zeichnungen verfasst wurde, in denen gleiche
Bezugszeichen sich auf die selben oder ähnliche Komponenten beziehen.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm, in dem ein Standard-Personalcomputer dargestellt
ist, der über
ein Standard-Ethernet-Datennetz mit einer Datenabfrage- und Aufzeichnungsvorrichtung
verbunden ist, welche von der vorliegenden Erfindung verkörpert wird;
-
2 ist
ein Blockdiagramm, in dem weitere Details der Datenabfrage- und
Aufzeichnungsvorrichtung der 1 dargestellt
sind;
-
3 ist
ein vereinfachtes Blockdiagramm, in dem interne Details für den Personalcomputer
dargestellt sind, die zur Verwendung mit dem Ausführungsbeispiel
der 1 geeignet sind;
-
4 ist
eine Repräsentation,
in der die Rohdaten entlang zweier möglicher dezimierter statistischer Ströme gemäß dem bevorzugten
Ausführungsbeispiel
der vorliegenden Erfindung dargestellt sind;
-
5 ist
ein Fließdiagramm,
in dem eine kurze Skizze des Verfahrens der Abfrage und des Speicherns
aufgezeichneter Daten dargestellt ist;
-
6 ist
ein Fließdiagramm,
in dem eine Skizze des Verfahrens dargestellt ist, in dem die Verwendung dezimierter
Daten die Anzeige benutzergewählter
Daten beschleunigen kann;
-
7 ist
ein Fließdiagramm,
in dem eine Skizze des Niveau-Überschreitungs-Feststellungsverfahrens dargestellt
ist; und
-
8 ist
ein Fließdiagramm,
in dem eine Skizze des Verfahrens der Erzeugung dezimierter Ströme bei der
Abfrage eines Signals und Produktion von Rohdaten dargestellt ist.
-
Beschreibung
der bevorzugten Ausführungsbeispiele
-
Die
Daten sind typischerweise zeitvariante Werte einer gemessenen physischen
Quantität,
wie Temperatur, Position, Geschwindigkeit, Konzentration oder Lichtstärke. Es
besteht folglich die Wahrscheinlichkeit, dass die Werte in den für diese
Erfindung vorgesehenen Anwendungen kontinuierlich als Funktion der
Zeit variieren. Es können
jedoch auch Werte mit signifikanten Diskontinuitäten verwendet werden.
-
Das
bevorzugte Ausführungsbeispiel
der vorliegenden Erfindung schafft ein Datenerfassungssystem, das
auf den Empfang eines Analogsignals ausgelegt ist, zum Abfragen
des Signals mit einer festgelegten Samplingrate und Aufzeichnen
der abgefragten Daten in einer Rohdatendatei. Der Benutzer des Systems kann
individuelle Messprotokolle erstellen, um diese Daten auf Basis
seiner Messbedürfnisse
aufzuzeichnen. Gleichzeitig mit der Aufzeichnung dieser Daten berechnet
das System eine statistische Zusammenfassung für Blöcke von Rohdaten einer bestimmten
Größe und speichert
diese statistischen Daten, so dass sie mit der Rohdatendatei der
von dem Signal genommenen Samples assoziiert sind. Die vom Endbenutzer
als nützlich erachteten
Daten können
dann gespeichert und analysiert werden.
-
Das
Datenerfassungssystem des vorliegenden Ausführungsbeispiels wird vorzugsweise
in einer unabhängigen
Einheit bereitgestellt, die die Aufzeichnungsvorrichtung, den Speicher,
auf dem die Datendateien aufgezeichnet sind, die Computerausrüstung zur
Verarbeitung der Ergebnisse und ein Display zum Ansehen der Ergebnisse
umfasst. Es ist jedoch vorgesehen, dass einige oder alle dieser
Komponenten in getrennten Modulen bereitgestellt werden können, deren
jedes die Fähigkeit
besitzt, über
ein Kommunikationssystem zu interagieren, wie beispielsweise eine
Ethernet-Verbindung zwischen der Aufzeichnungsausrüstung und
der Computer- und Displayausrüstung
gemäß Darstellung
in 1.
-
Bezug
nehmend auf 1, in der die oben erwähnte Methode
mit getrennten Modulen dargestellt ist, wird ein Personalcomputer 1 dargestellt,
der über
ein Ethernet-Datennetz 2 mit einer Datenaufzeichnungsvorrichtung 3 verbunden
ist. Der Personalcomputer 1 ist mit Displaymitteln ausgestattet,
auf denen Ergebnisse angezeigt werden können. Die Datenaufzeichnungsvorrichtung 3 enthält das Aufzeichnungssystem
und eine Netzschnittstellensteuerung zur Kommunikation mit dem Personalcomputer 1 über das
Ethernet-Datennetz. Der Personalcomputer 1 kann die aufgezeichneten
Daten anzeigen, die auf jedem geeigneten Speichermedium gespeichert
werden können,
das sich beispielsweise im Datenaufzeichnungssystem 3 oder
auf dem Computer 1 befindet.
-
Es
ist vorgesehen, dass andere Kommunikationsverfahren genutzt werden
können,
um der Aufzeichnungsvorrichtung die Kommunikation mit dem Computer
zu ermöglichen,
und auch dem Computer mit dem Display. Diese Verfahren umfassen – ohne darauf
beschränkt
zu sein – drahtlose
Networking-Geräte,
wie Bluetooth und 802.11b, und direkte Kabelverbindungen, wie USB
und/oder Firewire. Es ist auch vorgesehen, dass der Personalcomputer 1 jede
Rechnervorrichtung sein kann, die zur Verarbeitung der gespeicherten
Datensamples in einer Weise geeignet ist, dass diese angezeigt werden,
und deshalb die Form eines Standard-Desktopcomputers oder Laptops einnehmen
kann, wie beispielsweise eines IBM-kompatiblen PCs auf Intel oder
AMD-Basis, oder sogar eines Handheld-Geräts, wie eines Pocket-PCs.
-
Die
Daten 101 werden von einer Analogdatenquelle empfangen,
etwa von einem Sensor, beispielsweise einem Wärmesensor, Drucksensor oder
dergleichen. Die empfangenen Daten werden dann in einem Analog-Digital-Wandler
(ADC) 102 eingespeist. Der ADC 102 fragt das Analogsignal 101 in
einer bestimmten Samplingrate ab und speist die digitalen, abgefragten
Daten in einen Signalprozessor ein. In alternativen Ausführungsbeispielen
ist das eingegebene Signal möglicherweise
bereits digital oder kann aus einer zuvor gefüllten Speichervorrichtung geladen
werden. Wenn die Daten bereits in digitaler Form vorliegen, können sie den
Analog-Digital-Konvertierungsschritt auslassen, oder von einem Digitalwandler
in das korrekte Format für den
Signalprozessor 103 gebracht werden.
-
Wie
in 8 dargestellt, verarbeitet der Signalprozessor 103 das
vom ADC 102 empfangene Signal. Er empfängt die Daten und berechnet
unterschiedliche Statistiken für
Blöcke
bestimmter Größe der eingegebenen
abgefragten Daten und gibt ein oder mehrere dezimierte Ströme statistischer
Daten aus, die mit den Roheingabedaten assoziiert sind. Im einfachsten
Ausführungsbeispiel
protokollieren diese separaten, dezimierten Datenströme die Minimum-
und Maximum-Samplewerte für
jeden Datenblock vorbestimmter Größe. In diesem Ausführungsbeispiel
gibt es dezimierte Datenströme,
welche die absoluten Maximal- und die absoluten Minimal-Sample-Werte
für Blöcke von
500 Daten-Samples speichern, es ist aber vorgesehen, dass auch Datensätze anderer
Größe verwendet
werden können.
-
Die
Form des Signalprozessors 103 kann von erfahrenen Fachpersonen
je nach Bedarf festgelegt werden, je nach dem Volumen und der Rate,
mit der die Daten abgefragt werden müssen, und soll die Form eines „Field
Programmable Gate Array" (FPGA
-Feldprogrammierbarer Gate-Array) annehmen, wenn ein großes Datenvolumen
verarbeitet werden muss, oder eines Software-basierten DSP (Digital
Signal Processor), wenn ein kleineres Datenvolumen vorliegt. Die
schnellere FPGA-Vorrichtung würde
benötigt,
wenn viele statistische Ströme
erforderlich sind.
-
Zur
Erzeugung der dezimierten Datenströme können mehrere Methoden angewendet
werden, die entweder in der Hardware oder in der Software implementiert
werden können.
Jeder Software-basierte Digitale Signalprozessor (DSP) ist in der
Lage, die Rohdaten-Samples zu multiplizieren und zu addieren. DSPs
verfügen über dedizierte
Multiplizier- und Addiervorrichtungen, um diese Funktion auszuführen. Wenn
die Sample-Raten zuzunehmen beginnen, wäre eine Hardware-basierte Lösung geeigneter,
zumal beispielsweise moderne FPGAs und/oder CPLDs mit dedizierter
Multiplizier- und Addierunterstützung
verfügbar
sind. Wenn in Zukunft unsere Sample-Raten zuzunehmen beginnen, sollte
auch die Leistung von DSPs sowie die Geschwindigkeit von FPGA/CPLDs
entsprechend zunehmen. Um den dezimierten Datenstrom in Echtzeit
aus dem Roh-Samplestrom zu extrahieren, kann somit die beste Abstimmung
zwischen Software-basiertem DSP oder Hardware-basierter FPGA/CPLD-Methode
gewählt
werden.
-
Die
dezimierten Ströme
können
ohne Rohdaten verwendet werden, um einem Benutzer zu erlauben, große Mengen
abgefragter Daten in einem Displaybereich beschränkter Größe anzuzeigen, ohne dass es
zu einer merkbaren Verzögerung
infolge der Verarbeitung aller Rohdaten durch den Computer kommt.
Diese Verwendung der dezimierten Ströme ermöglicht zudem die Erhaltung
der charakteristischen Merkmale der Rohdaten, wie Scheitel- und
Talpunkte, wie weiter unten angesichts der Beschreibung des Verfahrens
der Datenanzeige zu erklären
sein wird.
-
Der
Signalprozessor 103 kann auf Wunsch so adaptiert werden,
dass er zusätzliche
statistische Berechnungen zur Unterstützung der späteren statistischen
Analyse benutzergewählter
Teile der Daten listet, und dies erneut ohne für den Benutzer merkbare Verarbeitungsverzögerungen.
Je nach dem, welche statistischen Parameter gespeichert sind, können weitere
statistische Berechnungen rasch angezeigt werden, beispielsweise:
das quadratische Mittel (RMS); die Standardabweichung (STD) und
das Mittel (Durchschnittswert) eines benutzergewählten Datenteils.
-
Die
rasche Berechnung dieser weiteren Statistiken nach Auswahl eines
Datenteils durch einen Benutzer erfordert die rasche Bereitstellung
bestimmter Werte. Beispielsweise verlangen die genannten statistischen
Berechnungen von den Start- und Endpunkten der gewählten Rohdaten
die Definition, auf welchem Teil der Daten die mathematischen Funktionen
durchzuführen
sind. Diese Werte stehen rasch zur Verfügung, nachdem der Benutzer
die Daten gewählt
hat.
-
Für dieselben
Berechnungen müssen
jedoch die Summe der Samples und die Summe der Quadrate der Samples
in einem Block für
den benutzergewählten
Teil der Daten berechnet werden. Dies würde für ein großes Datenvolumen eine beträchtliche
Zeit in Anspruch nehmen. Deshalb werden in einem fortgeschritteneren
Ausführungsbeispiel,
in dem der Rechenprozess beschleunigt ist, eine oder beide von Sample-Summe und
Samplequadrat-Summe vom Signalprozessor auf der Aufzeichnungsstufe
voraus berechnet und in einen oder mehrere zusätzliche statistische Ströme einbezogen.
-
Beispielsweise
kann die oben erwähnte
Berechnung des quadratischen Mittels (RMS) durch den Computer für eine Sammlung
von N Werten {x
1, x
2,
..., x
N} der Rohdaten unter Anwendung der
folgenden Gleichung erfolgen:
des Mittelwerts
für eine
Sammlung von N Werten {x
1, x
2,
..., x
N} unter Anwendung der folgenden Gleichung
erfolgen:
und der Standardabweichung
für eine
Sammlung von N Werten {x
1, x
2,
..., x
N} unter Anwendung der folgenden Gleichung
erfolgen:
-
Um
diese Gleichungen mit erhöhter
Geschwindigkeit zu evaluieren, könnte
der Computer folglich vorher gespeicherte Werte von einer oder beiden
der Sample-Summe und der Samplequadrat-Summe verwenden und diese
in die Gleichung einsetzen, ohne große Datenmengen einlesen und
eine Berechnung vornehmen zu müssen.
-
In
dem Ausführungsbeispiel
sind für
die oben aufgeführten
Beispielsberechnungen die Summe der Werte und die Summe der Quadratwerte
für Datenblöcke von
500 Samples gespeichert. Sobald der Computer eine RMS-Berechnung
durchzuführen
hat, kann er die benötigten
Werte von diesen dezimierten Datenströmen extrahieren und ein einzelnes
Zwischenergebnis für
jeden Datensatz von 500 Samples benützen, anstatt alle 500 Rohdaten-Samples
zu bearbeiten. Dies ermöglicht
dem Benutzer schnellen Zugriff auf den RMS-Wert eines ausgewählten Abschnitts
der sequenziellen Rohdaten, also jede gewählte Periode während der Übertragung
der Rohdaten in Echtzeit.
-
In
einem anderen Ausführungsbeispiel
besitzt der Signalprozessor 103 die zusätzliche Fähigkeit, dezimierte Ströme für größere Datenblöcke auszugeben.
Um diesen Prozess für
sehr große
Datendateien zu beschleunigen, werden die Summe der Samples und
die Summe der Sample-Quadrate für
je 100.000 Samples in einem oder mehreren getrennten dezimierten
Ströme
gespeichert. Für
noch größere Dateien
werden die summierten Ergebnisse für je 10.000.000 Samples zu
einem oder mehreren weiteren dezimierten Datenströmen hinzugefügt. Mit
zunehmenden Dateigrößen ist
vorgesehen, dass dieses Konzept durch die Bereitstellung von Summierungsergebnissen
für noch
größere Datenblöcke erweitert
wird. Es ist zu beachten, dass die Größen der Datenblöcke, die
als Beispiele gewählt
wurden, nicht auf diese willkürlichen
Werte beschränkt
sind, und dass es demnach möglich
ist, die Größe des Datenblocks
entsprechend größer oder
kleiner zu wählen.
-
Die
oben aufgeführten
Gruppengrößen wurden
durch Experiment als sehr adäquate
Größen ermittelt, so
dass die zusätzliche
für die
statistischen Daten benötigte
Speicherung nicht signifikant beeinträchtigt ist. Die Verwendung
von Datenblockgrößen von
500, 100.000 und 10.000.000 Samples zur Erzeugung dezimierter Ströme für alle in
den Ausführungsbeispielen
oben genannten statistischen Berechnungen erhöht den von den aufgezeichneten
Daten benötigten
Speicherbedarf um nur etwa 2,5%. Es besteht allerdings keine Notwendigkeit
zur Verwendung fester Dezimierungsgrößen, und jede Dezimierungsgröße sowie
jede Zahl dezimierter Datenströme
sind möglich.
-
Es
ist möglich,
das Ausmaß des
benötigten
zusätzlichen
Plattenspeicherplatzes im Vergleich zur Notwendigkeit einer Beschleunigung
der mathematischen Funktionen während
der Anzeige zu optimieren, um ein zufrieden stellendes Leistungsniveau
des Computers zu erreichen, wenn die Bearbeitung der Daten zur Anzeige
für den
Endbenutzer als getrennte Dateien gespeichert werden kann. Mit Hilfe
intelligenter Software kann die optimale Größe und Anzahl der Dezimierungsströme festgestellt
werden. Beispielsweise kann Software auf der Workstation ausgeführt werden,
welche die Enddaten bearbeitet, um die Reaktionsbereitschaft der
Workstation bei der Verwendung von Daten mit unterschiedlichen Dezimierungsfaktoren
zu bestimmen, indem der Dezimierungsfaktor schrittweise erhöht wird.
Sobald das Reaktionsniveau der Workstation eine bestimmte Höhe erreicht,
die eine zufrieden stellende Reaktion aufweist, werden die Anzahl
und Größe der Dezimierungsströme auf Basis
der Ergebnisse festgelegt. Als Alternative könnte das Verhältnis zwischen
CPU und Festplattengeschwindigkeiten auf Basis früherer Testergebnisse
herangezogen werden, um eine geeignete Anzahl und Größe für die Dezimierungsströme zu bestimmen.
Im vorliegenden Ausführungsbeispiel
wurden die Anzahl und Größe der dezimierten
Ströme
jedoch manuell bestimmt.
-
Der
dezimierte Datenstrom lässt
einen Datenblock jeder Größe zu. Die
Länge des
Datensatzes, d. h. die Größe des Datenblocks,
ist in einem Strom-Information-Header für den Datenstrom gespeichert.
Dies ermöglicht
mehrere Datenströme,
von denen ein jeder seine spezifische Datensatzlänge besitzt, die den nächst höheren Dezimationsfaktor
erfasst und aus seinem Information-Header identifizierbar ist. Das
Aufzeichnungsdateiformat, in dem die Ströme gespeichert sind, ist so
organisiert, dass es von Null bis zu einer beliebigen Zahl dezimierter
Datenströme
enthalten kann.
-
In
einem anderen Ausführungsbeispiel
können
die Anzahl der Ströme
und die Größe der benötigten (oder
möglichen)
Samples durch die Aufzeichnungsanwendung oder -Vorrichtung je nach
Notwendigkeit von Geschwindigkeit versus festgestelltem Speicherplatzbedarf
berechnet werden. Bezug nehmend auf 8, würde der
zweite Schritt der Feststellung der Blockgröße und der zu berechnenden
Statistik insofern geändert, dass
der Schritt der Feststellung der optimalen Anzahl von Strömen und
der Sample-Größe auf Basis
der verfügbaren
Hardware und der Anwendung, für
die sie verwendet werden sollen, hinzugefügt wird. Im einfachsten Ausführungsbeispiel
wird zur Feststellung, an welchem Punkt die unterschiedlichen Dezimierungsfaktoren
verwendet werden, ein einfacher Algorithmus verwendet. Sobald zwanzig
Ergebnisse für
jeden Dezimierungs-Strom vorlie gen, wird dieser Dezimierungs-Strom
berechnet und gespeichert. Wenn wir also den Dezimierungs-Strom
mit einem Faktor von 1 in 500 betrachten, sind 10.000 Roh-Samples
erforderlich. Für
den Strom mit einem Dezimierungsfaktor 1 in 100.000 sind 2.000.000
Roh-Samples erforderlich.
-
Die
verarbeiteten abgefragten Daten werden dann in einem Speicher 104 abgelegt
und können
von einem Mikroprozessor 105 manipuliert und/oder auf einer
Speichervorrichtung 106 gespeichert werden. Der Speicher 104 kann
jede Art von Speicher sein, der zum Speichern des Datenausgangs
durch den Signalprozessor 103, bis diese gespeichert sind,
geeignet ist, und soll beispielsweise die Form eines Standard-Computer-RAM
oder Flash-Speichers annehmen. Die Speichervorrichtung 106 ist
vorzugsweise ein Festplattenlaufwerk, kann aber auch andere Formen
von Speichervorrichtungen umfassen, wie einen integrierten Speicherbaustein,
und muss nicht in der Aufzeichnungsvorrichtung 3 untergebracht
sein. Es ist vorgesehen, dass die verarbeiteten abgefragten Daten überall dort
gespeichert werden können,
wo auf sie zur gleichen Zeit wie auf die Rohdaten zugegriffen werden
kann.
-
Zur
Anzeige der Daten kann der Computer die Daten oder die dezimierten
Ströme
von einem lokalen Speichermedium oder über ein Kommunikationsmedium
wie ein Ethernet-Netzwerk von der Datenaufzeichnungsvorrichtung
einlesen.
-
Bei
der Anzeige der Daten muss die Größe des Displaybereichs bekannt
sein, in dem die Daten, in Form eines Ablaufs oder dergleichen,
anzuzeigen sind. Nachdem dies bekannt ist, kann ein Skalierungsfaktor bestimmt
werden, mit dem die Daten skaliert werden müssen, um in den Displaybereich
zu passen. Der Displaybereich kann ein Teil oder der gesamte verfügbare Displaybereich
sein. Wenn beispielsweise der gesamte Displaybereich 1024 Pixel
mal 768 Pixel ausmacht, kann der Bereich dieses Displays, der der
Anzeige der Datenachsen zugeteilt ist, 800 Pixel mal 600 Pixel ausmachen.
-
In
dieser Implementierung ist jedes Pixel einem Datenpunkt zugeteilt,
es ist jedoch auch vorgesehen, dass ein Datenpunkt jedem zweiten
Pixel zugeordnet sein kann, was bedeutet, dass nur 400 Datenpunkte
zur Darstellung eines Ablaufs benötigt werden. Datenpunkte können auch
einer beliebigen Pixelzahl zugeordnet werden, was bedeutet, dass
noch weniger Datenpunkte angezeigt werden.
-
Wenn
der Benutzer einen Datenanteil zur Anzeige auswählt, liest der Computer die
Rohdaten ein. Wenn ebenso viele abgefragte Datenpunkte wie Pixel
vorhanden sind (in diesem Beispiel, bei Anzeige der einzelnen Datenpunkte
entlang der horizontalen Achse, 800 Datenpunkte), werden die ausgewählten Daten-Samples eingelesen
und als Ablauf auf dem Display dargestellt. Wenn zweimal so viele
Datenpunkte wie Pixel vorhanden sind, wird jeder zweite Datenpunkt
dargestellt. Dieses Verhältnis
zwischen Datenpunkten und Pixeln bleibt erhalten, so dass wenn x
Datenpunkte angezeigt werden müssen,
1 in x Punkten pro Pixel angezeigt werden.
-
Die
im reduzierten Datenstrom gespeicherten Maximal- und Minimalwerte
können
anstelle des Einlesens der Rohdaten verwendet werden, wenn der Reduzierungsfaktor
den Reduzierungsfaktor des ursprünglich
reduzierten Datenströme
erreicht, der in diesem Beispiel 500 ist. Wenn 500 mal so viele
Daten-Samples wie Display-Pixels zur Verfügung stehen, kann der reduzierte
Datenstrom anstelle der Rohdaten-Samples verwendet werden, um den
angezeigten Ablauf zu erzeugen. Da in diesem Ausführungsbeispiel
der reduzierte Datenstrom zur Erzeugung des Ablaufs verwendet wird,
wird die Menge der vom Computer einzulesenden Daten um einen Faktor
500 reduziert.
-
Die
Verwendung zusätzlicher
reduzierter Datenströme
kann auf die gleiche Art und Weise erfolgen. Unter Verwendung eines
um 100.000 reduzierten dezimierten Datenströme und wenn mindestens 100.000
mal mehr Datenpunkte als Pixel zum Anzeigen des Ablaufs verfügbar sind,
kann dieser zusätzliche
dezimierte Strom anstelle der Rohdaten verwendet werden. Das selbe
Prinzip kann unter Anwendung dezimierter Ströme unterschiedlicher Reduzierungsfaktoren
angewendet werden.
-
Bei
Betrachtung eines benutzergewählten
Teils von Daten, der einen partiellen Block erfasst, für den statistische
Werte festgestellt und in einem reduzierten Datenstrom gespeichert
wurden und so nicht allein von einem reduzierten Datenstrom gelesen
werden können,
muss der Computer ein Edge-Processing (Kantenbearbeitung) ausführen, wie
in 6 skizziert.
-
Das
Edge-Processing umfasst die Berechnung statistischer Werte für Datenblöcke ohne
vorher berechnete Statistik. Wenn beispielsweise eine Benutzerauswahl
von Daten in Blöcke
von Daten unterteilt werden kann, für die statistische Werte bereits
berechnet wurden, ausgenommen für
die Anfangs- und Abschlussteile der Daten, die nur Teile von Datenblöcken sind,
für die
die statistischen Werte vorberechnet wurden, besteht die Notwendigkeit
zur Berechnung der relevanten statistischen Werte für diese
Daten.
-
Bei
Bedarf können
andere berechnete statistische Daten, wie RMS und Standardabweichung
für alle Daten
oder Datenauswahlen auf dem Bildschirm mit den Datenpunkten oder
anstelle dieser angezeigt werden.
-
Da
die verarbeiteten statistischen Daten nur für vorher bestimmte Datenblöcke verfügbar sind,
beginnt eine Benutzerauswahl der Rohdaten wahrscheinlich innerhalb
eines Blocks und endet innerhalb eines Blocks, d. h. sie umspannt
Teile von Blöcken
sowie ganze Blöcke,
für die
statistische Daten berechnet wurden. Wenn die Datenauswahl des Benutzers
einen Teil eines Datenblocks enthält, für den statistische Daten berechnet wurden,
und wenn irgendwelche statistischen Datenströme, die kleinere Datenblockgrößen verwenden,
anwesend sind, wird der statistische Datenstrom mit dem höchstmöglichen
Reduzierungsfaktor verwendet. Wenn kein geeigneter statistischer
Datenstrom verfügbar
ist, müssen
die Rohdaten verwendet werden. Somit wendet die Berechnung folgende
Methode an, unter Bezugnahme auf das in 4 dargestellte
Beispiel:
-
Der
Rohdatenstrom R0 wird in zusammenhängende Blöcke gleicher Größe unterteilt,
die Blocksequenz mit der Serie B1 ... Bn bezeichnet, und die dezimierten
Ströme
statistischer Daten mit der Serie R1 ... Rn bezeichnet (jeweils
mit zunehmender Blockgröße).
-
Das
vom Benutzer gewählte
Datenintervall, dargestellt als Δ,
wird von zwei Teilblöcken
der dezimierten statistischen Daten für die Blöcke R1 B2 und R1 B6 erfasst,
wobei die vollen Blöcke
der dezimierten statistischen Daten dazwischen liegen. Zur Ermittlung
der Summe der Quadrate dieser partiellen Blöcke, muss der Computer die
Roh-Samples einlesen und die Summe der Quadrate jedes einzelnen
partiellen Blocks berechnen. Mit dem in diesem Ausführungsbeispiel
verwendeten Dezimierungsfaktor bedeutet dies ein Maximum von 499
Samples auf beiden Blöcken.
Bezug nehmend auf das Fließdiagramm
in
6, wird der angewendete Prozess dargestellt. Unter
Anwendung des Prozesses werden alle dezimierten Ströme in der
Benutzerdatenauswahl erfasst und in der Reihenfolge abnehmender
Größe benützt, bis
keine dezimierten Ströme
zur Verfügung
stehen; dann werden die relevanten Blöcke von Rohdaten eingelesen,
und alle relevanten statistischen Daten werden berechnet oder die
Werte werden angezeigt Die Blöcke
R1 B3 und R1 B4 sind jedoch vom Reduzierungsfaktor erfasst. Der
Computer muss also nur die Ergebnisse von R2 B2 einlesen. Die zur
Berechnung benötigte
Gleichung hat deshalb folgende Form:
-
Nun
muss der Computer die Ergebnisse der Teilsummen von den Rohdaten,
die R2 B2 Ergebnisse und die R1 B5 Ergebnisse hinzufügen und
kann die Evaluierung der Gleichungen beginnen. Eine Abbildung der
Originaldaten hätte
demgegenüber
bedeutet, dass der Computer 100.000.000 Samples lesen und verarbeiten
muss.
-
In
dieser Implementierung mit dezimierten Ströme, welche Datenblöcke mit
einer Sample-Größe von 500
und 100.000 umfassen, ist deshalb die maximale Datenmenge, die der
Computer einlesen muss:
- • 2 mal 500 Samples Rohdaten
= 1000 Samples;
- • 2
mal 200 ReduziertUm500-Ergebnisse = 400 Ergebnisse;
- • 1000
ReduziertUm100k-Ergebnisse = 1000 Ergebnisse;
wodurch
sich eine Gesamtlesegröße von 2400
Ergebnissen oder Samples ergibt.
-
Ohne
diese Datenströme
wäre das
Einlesen von 100 Millionen Samples und die Verarbeitung der verlangten
Quadratoperationen und Additionen erforderlich gewesen, um dem oben
beschriebenen Verfahren zu entsprechen.
-
Mit
der zusätzlichen
Verwendung des Datenstroms für
Blöcke
von je 10.000.000 Samples würde
die Anzahl der Einlesungen, die der Computer ausführen muss,
reduziert auf:
- • 2 mal 500 Samples Rohdaten
= 1000 Samples;
- • 2
mal 200 RedziertUm500-Ergebnisse = 400 Ergebnisse;
- • 2
mal 100 ReduziertUm100k-Ergebnisse = 200 Ergebnisse;
- • 10
mal ReduziertUm100k-Ergebnisse = 10 Ergebnisse;
wodurch
sich eine Gesamtlesegröße von 1610
Ergebnissen oder Samples ergibt.
-
Dies
ist keine so signifikante Reduzierung der Einlesezahl wie die Reduzierung
zwischen der Anzahl der Einlesungen, die für die Verarbeitung der ursprünglichen
Daten benötigt
wird, und der Anzahl der Einlesungen, die unter Verwendung des statistischen
Datenstroms für
je 500 Samples benötigt
wird. Sobald jedoch die Aufzeichnungsdateien auf Größen von
mehr als Giga-Samples anwachsen, wird die Differenz bei Verwendung
des Datenstroms für
jeweils 10.000.000 Samples extrem signifikant.
-
Da
die zusätzlichen
absoluten Minimal- und absoluten Maximalwerten bereits im ersten
reduzierten Datenstrom gespeichert sind, kann der Computer auch
Suchfunktionen mit erhöhter
Geschwindigkeit bereitstellen. Werte wie das absolute Minimum oder
Maximum wären
rasch zugreifbar, indem zuerst die statistischen Ströme abgesucht
werden. Jede Niveauüberschreitung
kann gesucht werden, indem geprüft
wird, wo das Minimum niedriger und das Maximum höher ist als ein bestimmter
Wert. Wenn der Minimal- und Maximalwert eines Datensatzes diesen
Kriterien entsprechen, müsste
der Computer den relevanten Teil des niedrigeren reduzierten Datensatzes
lesen, und schließlich
durch die entsprechenden Rohdaten-Samples, um das exakte Sample
zu ermitteln, das den gewählten
Level überschreitet.
-
Bezug
nehmend auf 7, wo das Niveauüberschreitungs-Bestimmungsverfahren
skizziert wird, werden die Minimal- und Maximalwerte der höchst dezimierten
Datenströme
mit dem gewählten
Niveauüberschreitungswert
verglichen. Wenn die Kriterien nicht erfüllt werden, kann der gesamte
Sample-Block unterhalb dieses dezimierten Datensatzes als keine
Niveauüberschreitung
enthaltend markiert werden. Wenn die Suchkriterien entsprechen,
geht der Computer durch jeden statistischen Datenstrom mit niedrigerer
Blockgröße, bis das
tatsächliche
Sample, das den ausgewählten
Level überschreitet,
in den Rohdaten gefunden wurde.
-
Zur
Anzeige des gesamten Verlaufs mit Darstellung der Daten in der vertikalen
Achse muss ein geeigneter Skalierungsfaktor für den Verlauf bestimmt werden.
Der Computer benötigt
einen absoluten Minimal- und Maximalwert für den anzuzeigenden Verlauf,
bevor er beginnen kann, die vertikale Skala für den Displaybereich zu bestimmen.
Der Computer bestimmt unter Verwendung des verfügbaren dezimierten Stroms mit
der höchsten
Blockgröße und Abwärtsfortschreiten
durch die niedrigeren Ströme,
bis er schließlich
zu den Rohdaten gelangt, das absolute Maximum und Minimum für die ausgewählten Daten.
Dieser Prozess wird hier als Autoskalierung bezeichnet. Ist dieser
deaktiviert, kann der Endbenutzer die Skalierung auf jede gewünschte Einstellung
stellen.
-
Nachdem
der Verlauf auf dem Display angezeigt wurde, und wenn zuvor gespeicherte
Werte, wie etwa die Summe der Samples und die Summe der Quadrate
der Samples, für
jeden Block in zusätzlichen
dezimierten Datenströmen
gespeichert sind, kann eine Statistik für den angezeigten Datenteil
berechnet werden. Alternativ dazu oder zusätzlich kann der Benutzer einen
Teil des angezeigten Datenabschnitts auswählen, und für diesen Teil kann die Statistik
berechnet und angezeigt werden.
-
Beispielsweise
kann in einem Ausführungsbeispiel,
in dem statistische Ströme
für das
absolute Minimum, das absolute Maximum, die Summe der Werte und
die Summe der Quadrate der Werte berechnet werden, und für Blockgrößen von
500 berechnet werden, das quadratische Mittel (RMS) vom Computer
für eine Sammlung
von N Werten {x
1, x
2,
..., x
N} der Rohdaten unter Anwendung der
folgenden Gleichung berechnet werden:
der Mittelwert (M) für eine Sammlung
von N Werten {x
1, x
2,
..., x
N} unter Anwendung der folgenden Gleichung berechnet
werden:
und die Standardabweichung
(STD) für
eine Sammlung von N Werten {x
1, x
2, ..., x
N} unter
Anwendung der folgenden Gleichung berechnet werden:
-
In
dem bevorzugten Ausführungsbeispiel
sind alle der oben aufgeführten
mathematischen Berechnungen möglich,
und es werden dezimierte Datenströme für Blockgrößen von 500, 100.000 und 10.000.000
geschaffen, die Folgendes enthalten:
- • den Wert
des Samples, das den niedrigsten Wert im Datenblock darstellt;
- • den
Wert des Samples, das den höchsten
Wert im Datenblock darstellt;
- • die
Summe der Samples aller Samples im Datenblock:; und
- • die
Summe der Quadrate aller Samples aller Samples im Datenblock
-
Abschließend ist
festzustellen, dass wie in der vorangehenden Beschreibung dargelegt,
ein innovatives Verfahren zum Speichern der statistischen Merkmale
eines Datenstroms in begleitenden Datenströmen und zusammen mit den Rohdaten
geschaffen wird. Dieses Verfahren ermöglicht einem Benutzer die Anzeige sehr
großer
Datendateien unter wesentlich effektiverer Verwendung eines Computers,
da der Computer die Rohda ten durch die statistischen Daten ersetzen
kann, um die Anzeige schneller zu machen als bei der Verwendung
konventioneller Verfahren, bei denen Rohdaten direkt verarbeitet
werden.
-
Eine
Anwendung für
die statistischen Daten könnte
die Schaffung einer neuen Wellenform sein, welche alle Ergebnisse
enthält,
die in den dezimierten statistischen Daten gespeichert sind. Beispielsweise
kann für
je 500 Rohdatenpunkte ein neues Sample bereitgestellt werden, von
dem einer oder mehrere der Mittelwerte, RMS-Werte und Standardabweichungen
der Rohdaten abgeleitet werden können.
Indem alle diese Werte, z.B. RMS-Werte, in diesen neuen Verlauf
versetzt werden, wird ein vom Originalkanal abgeleiteter mathematischer
Kanal produziert. Die statistischen Abläufe würden zeigen, was als Trendsignale
bezeichnet wird.