-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft die Verarbeitung von erfassten Daten der Spannung
als Funktion der Zeit, die die Aktivität eines unter Beobachtung stehenden
Signals darstellen, in eine Form, die zur Anzeige durch ein digitales
Oszilloskop geeignet ist, und insbesondere die effiziente Hochgeschwindigkeitserfassung
und -rasterisierung solcher Daten in eine Form, die eine Intensitätsinformation
mit mehreren Bits pro Pixel für
Anzeigen mit variabler Intensität
umfasst.
-
HINTERGRUND
DER ERFINDUNG
-
Digitale
Oszilloskope verwenden im Allgemeinen Rasterabtastanzeigen, um die
Aktivität
von elektrischen Signalen ihren Benutzern zu präsentieren. Jede Rasterabtastanzeige,
wie z.B. jene, die jeden Tag auf Computerbildschirmen zu sehen sind,
bestehen aus einer zweidimensionalen Matrix von Pixeln, wobei jede Pixelstelle
durch eine Zeilennummer und Spaltennummer eindeutig definiert ist.
Die einfachsten und kostengünstigsten
Versionen solcher Anzeigen sind "Ein-Bit"-Anzeigen, bei denen der Speicher, aus
dem sie die anzuzeigende Information gewinnen, nur ein Bit einer
Intensitätsinformation
aufweist, die jedem Pixel zugeordnet ist. Bei einer solchen Anzeige
bestimmt dieses einzelne Informationsbit, ob das diesem zugeordnete
Pixel entweder "ein" oder "aus" ist, wobei "ein" vorgibt, dass ein
vorbestimmtes Ausmaß an
Intensität
verwendet werden soll, um das Pixel zu beleuchten, und "aus" angibt, dass das
Pixel überhaupt
nicht beleuchtet werden soll.
-
Die
komplexere und teurere Alternative für eine Ein-Bit-Anzeige ist
eine Mehr-Bit-Anzeige,
die eine variable Intensität
(auch als "Graustufe" bekannt) oder Farbvariationen
als Ersatzindikator für
die Helligkeit bereitstellen kann. Die jedem Pixel einer Anzeige
mit variabler Intensität
zugeordneten Speicherstellen enthalten mehrere Bits für die Intensitätsinformation,
die die Anzahl von veränderlichen
Intensitätspegeln
angeben, mit denen sie beleuchtet werden können. Wie die Pixel von Ein-Bit-Anzeigen
können
jene von Mehr-Bit-Anzeigen einen "Aus"-
oder dunklen Zustand aufweisen, aber anstatt eines Beleuchtungswerts
weisen sie mehrere Werte auf. Typischerweise ist die verfügbare Anzahl
von Werten 2N–1, wobei N die Speichertiefe
an jeder Adresse des Rasterspeichers ist. Ein vier Bit tiefer Rasterabtastspeicher
kann somit beispielsweise fünfzehn
Pegel von teilweiser bis maximaler Beleuchtung sowie den dunklen
oder "Aus"-Zustand unterstützen. Die
Pixelintensität kann
auch in verschiedene Farben sowie Intensität oder "Helligkeit" umgesetzt werden.
-
Mit
dieser größeren Datenmenge
können
Mehr-Bit-Anzeigen mehr Information über das Verhalten von beobachteten
elektrischen Signalwellenformen übermitteln,
insbesondere wenn das Signal nicht vollkommen wiederholt ist und
daher in einigen Teilen weniger Aktivität aufweist als in anderen.
Das US-Patent 4 940 931, Katayama et al., über "Digital Waveform Measuring Apparatus
Having A Shading-tone Display",
beschreibt ein System zum Erzeugen von digitalen Anzeigen mit variabler
Intensität.
-
Typischerweise
erfassen digitale Oszilloskope eine Information über das Verhalten eines Schaltungsknotens
durch periodisches Abtasten der am Knoten vorliegenden Spannung.
Die Oszilloskop-Sondenspitze wird mit dem Knoten in Kontakt gebracht
und die Sonde und der Vorrechner des Oszilloskops kopieren das Signal
oder einen gewissen vorbestimmten Bruchteil oder ein Vielfaches
des Signals genau, und übergeben es
an einen Analog-Digital-Wandler. Das Ausgangssignal des Analog-Digital-Wandlers
ist eine Reihe von digitalen Mehr-Bit-Worten, die in einem Erfassungsspeicher
gespeichert werden. Nacheinander erfasste Abtastwerte werden in
fortlaufend zugehörigen
Adressen im Erfassungsspeicher gespeichert und werden dadurch mit
einem Zeitmaßstab
in Beziehung gebracht. Diese Adressen werden schließlich wieder
in einen Zeitmaßstab
umgewandelt, von denen einer als horizontaler Abstand entlang der
x-Achse der Rasterabtastanzeige des Oszilloskops dargestellt wird.
-
In
einem typischen digitalen Oszilloskop bestimmen Spannungsamplitudenwerte,
die vom Dateninhalt einer Erfassungsspeicherstelle gewonnen werden,
den vertikalen Ort (Zeilennummer) eines beleuchteten Pixels, während Zeitwerte,
die von den Adressen des Erfassungsspeichers gewonnen werden, den
horizontalen Ort (Spaltennummer) bestimmen. Der Prozess der Erweiterung
des Inhalts und der Adressen eines Erfassungsspeichers zum Erzeugen
eines Inhalts für
einen zweidimensionalen Rasterspeicher ist als "Rasterisierung" bekannt.
-
Das
Ausgangssignal eines Rasterisierungsprozesses wird gewöhnlich mit
einem gewissen vorexistierenden Inhalt eines Rasterspeichers kombiniert
und der resultierende zusammengesetzte Rasterinhalt kann anschließend regulär einer
gewissen Art Abklingprozess unterzogen werden. Für mehr Information über die digitale
Beständigkeit
und das Abklingen siehe die folgenden US-Patente 5 440 676, Alappat
et al., über "Raster Scan Waveform
Display Rasterizer With Pixel Intensity Gradation"; 5 387 896, Alappat
et al., über "Rasterscan Display
With Adaptive Decay";
5 254 983, Long et al., über "Digitally Synthesized
Gray Scale For Raster Scan Oscilloscope Displays".
-
Für irgendeine
spezielle Kombination von Einstellungen der Oszilloskopanzeige und
erfassten Wellenformdaten gibt es eine gewisse Funktion, die die
erfassten Datenpunkte in das Anzeigeraster der Zeit (x-Achse) gegen
die Spannung (y-Achse)
abbildet. Diese Abbildungsfunktion umfasst ein gewisses Verhältnis zwischen
der Anzahl von abzubildenden Abtastwerten und der Anzahl von Pixelspalten
in der Rasteranzeige. Obwohl dieses Verhältnis 1:1 sein kann, ist es
gewöhnlich
N:1 oder 1:N. Wenn mehr Datenpunkte als Spalten von Pixeln vorhanden
sind, in die sie abgebildet werden müssen, wird eine gewisse Form
von Datenkompression und/oder -dezimierung verwendet. Dezimierung
bedeutet das Verwerfen aller, bis auf jeden N-ten Datenpunkt, wodurch
auf einen Teil der verfügbaren
Information verzichtet wird. Kompression bedeutet andererseits eine Abbildung
von Daten von mehreren Zeitstellen im Erfassungsspeicher in eine
horizontale Stelle, d.h. eine einzelne Spalte von Pixeln, in der
Rasterabtastanzeige. Wenn weniger Datenpunkte als Spalten von Pixeln
vorhanden sind, d.h. der obige Fall 1:N, dann wird im Allgemeinen
eine gewisse Art von Interpolation oder Äquivalenzzeitabtastung verwendet.
Im Fall der vorliegenden Erfindungen wird eine Äquivalenzzeitabtastung, die nachstehend
viel genauer erörtert
wird, verwendet.
-
Für viele
Jahre waren digitale Oszilloskope im Prozentsatz an Aktivität an der
Sondenspitze, die sie effektiv verarbeiteten und für den Benutzer
anzeigten, begrenzt. Obwohl weniger anspruchsvolle Benutzer und diejenigen,
die nur mit analogen Oszilloskopen vertraut waren, den Eindruck
hatten, dass sie an der Sondenspitze ihres digitalen Oszilloskop
das meiste oder alles der Aktivität sahen, zeigte die Anzeige
unter vielen Umständen
wirklich nur einen kleinen Prozentsatz der tatsächlichen dort auftretenden
Aktivität.
Dies lag daran, dass diese Oszilloskope viel mehr Zeit aufwendeten,
um Signale zu verarbeiten, als um sie zu erfassen. Wenn ein Signal
vollkommen wiederholt ist, ist dieser Verlust an "Einschaltzeit" kein Problem, da
eine Wellenform genau wie die andere aussieht. Wenn jedoch ein Signal
eine gewisse Art von unstetigem anomalen Verhalten zeigt, kann ein
niedriger Prozentsatz an Einschaltzeit verhindern, dass eine solche
Anomalie erkannt wird. Daher war die Erhöhung des Wellenformdurchsatzes
und des Prozentsatzes an Signalaktivität an der Sondenspitze, die
tatsächlich
vom Benutzer beobachtet werden kann, zunehmend das Ziel der jüngeren Konstruktionen
von digitalen Oszilloskopen. Das US-Patent 5 412 579, Meadows, et
al., über "Slow Display Method
for Digital Oscilloscope With Fast Acquisition System" beschreibt ein Oszilloskopsystem,
in dem Erfassungen in abwechselnden (auch bekannt als "Ping-Pong") Anzeigepuffern
zusammengesetzt werden, so dass, während der Inhalt eines Anzeigepuffers
als Quelle für
angezeigte Daten verwendet wird, der andere verwendet wird, um mehr
Daten zu sammeln und zusammenzusetzen. Die langsame Anzeige der
Konstruktion, die in diesem Patent beschrieben ist, stellte jedoch
nur ein einziges Bit von Intensitätsdaten pro Pixel bereit und
hatte daher keine Fähigkeit
zur analogartigen Grauabstufung, d.h. variablen Intensität.
-
Die
Fähigkeit,
eine große
Anzahl von Wellenformen zu verarbeiten, ist eine hocherwünschte Eigenschaft
in einem digitalen Oszilloskop. Das US-Patent 5 530 454, Etheridge
et al., über "Digital Oscilloscope Architecture
For Signal Monitoring With Enhanced Duty Cycle", beschreibt ein Oszilloskop, das in
der Lage ist, bis zu 400000 Wellenformen pro Sekunde zu erfassen,
wenn jeder Wellenformdatensatz kurz ist und die Frequenz von Triggerereignissen
hoch genug ist. Dieses Oszilloskop emuliert etwas die Leistung eines
analogen Oszilloskops mit einem "Einschaltzeit"-Prozentsatz", der von etwa 6%
bis fast 99% in Abhängigkeit
von den Zeitbasiseinstellungen, der Anzahl von eingeschalteten Kanälen und
der Triggerereignisverfügbarkeit
variiert.
-
Die
Geschwindigkeit der im 454-Patent von Etheridge beschriebenen Architektur
wurde unter Verwendung von zwei Rasterspeichern, einem im Erfassungssystem
und dem anderen im Anzeigesystem, erreicht. Der erste dieser Rasterspeicher,
der als "Rastererfassungsspeicher" bezeichnet wird,
wurde fast konstant mit erfassten Wellenformen beliefert. Diese
Wellenformen wurden rasterisiert und in diesem Rastererfassungsspeicher
durch einen Erfassungsrasterizer mit hoher Geschwindigkeit und einen
ebenso schnellen Bildkombinator fast so schnell zusammengesetzt,
wie sie erfasst wurden. Nachdem viele Wellenformen so zusammengesetzt
worden waren, wurde der Inhalt des Rastererfassungsspeichers mit
einem Bit pro Pixel zu einem Anzeigerasterspeicher mit mehreren
Bits pro Pixel übertragen,
wo er mit vorher angezeigten Daten kombiniert wurde. Der Inhalt
dieses Anzeigerasterspeichers wurde einer digitalen Beständigkeitssteuerung
unterzogen, wie z.B. jener, die vorstehend beschrieben wurde, und
die Intensität
jedes Pixels wurde dadurch über
die Zeit abklingen lassen.
-
Für viele
Benutzer, insbesondere jene mit einer gewissen Erfahrung mit analogen
Oszilloskopen, übermittelt
eine variable Helligkeit nützlicherweise
eine Information über
die Aktivität
des beobachteten Signals. Viele von diesen Benutzern hatten eine
starke Vorliebe für
einige Verhaltensweisen, die jenen von analogen Oszilloskopen ähneln. Da
ein analoges Oszilloskop beispielsweise vertikale Ausschläge während eines
horizontalen Durchlaufintervalls erzeugt, um ein Echtzeitbild der
Signalaktivität
an der Sondenspitze bereitzustellen, variieren sie von Natur aus
gewöhnlich
die Helligkeit der Anzeige als inverse Funktion der Steigung der Linie,
die sie erzeugen. Dies geschieht, da die Kathodenelektronenkanone
der CRT eine konstante Zufuhr von Elektronen erzeugt, die von der
Einstellung einer "Helligkeits"-Steuerung abhängt, und
die Länge
der in einer Zeiteinheit zurückgelegten
Bahn durch den X-Achsen-Abstand, der zu irgendeiner speziellen Durchlaufgeschwindigkeit
gehört,
minimal festgelegt ist, aber durch jegliche y-Achsen-Ausschläge erhöht wird.
Und ein y-Achsen-Ausschlag
kann ein großes
Vielfaches des entsprechenden x-Achsen-Abstandes sein, so dass die konstante
verfügbare
Elektronenstrahlenergie um einen großen Faktor verringert werden
kann, wenn sie über diesen
viel längeren
Abstand ausgebreitet wird. Somit verändern analoge Oszilloskope
von Natur aus die Helligkeit der Linie, die sie zeichnen, als inverse
Funktion der Steigung dieser Linie.
-
Ein
weiteres noch stärker
erwünschtes
Merkmal eines analogen Oszilloskops oder eines digitalen Oszilloskops
mit einem hohen Wellenformdurchsatz ist die Fähigkeit, ein diskontinuierliches
Signal anomal zu erfassen, das in einem ansonsten wiederholten Signal
auftritt. Ältere
digitale Oszilloskope mit niedriger "Einschaltzeit" machen die Beobachtung der Aktivität eines
diskontinuierlichen Signals unwahrscheinlich, zumindest bei Abwesenheit
von speziellen Triggerbetriebsarten, die dazu ausgelegt sind, bestimmte
Klassen einer Aktivität
eines diskontinuierlichen Signals zu erfassen. Analoge Oszilloskope
zeigen eine schwache Leuchtspur, die auf die Anwesenheit dieses
Verhaltens eines diskontinuierlich anomalen Signals hinweisen. Wenn das
Signal zu diskontinuierlich wird, ist die Leuchtspur natürlich so
schwach in der Helligkeit, dass sie von der Oszilloskopbedienperson
vollständig übersehen
werden kann.
-
Was
erwünscht
ist, ist eine Digitaloszilloskoparchitektur, die sehr große Zahlen
von Wellenformdatensätzen
schnell erfassen und rasterisieren kann, wobei sie, wie geeignet,
mit einem Maximum an Effizienz zu einer Darstellung mit variabler
Intensität
zusammengesetzt und komprimiert werden, und diese Darstellungen effizient
in einen geeigneten Anzeigeabschnitt ohne Verschwendung von Betriebsmitteln
oder Verlust an Geschwindigkeit bewegen kann.
-
EP-A-822
416 betrifft ein Verfahren zum Anzeigen von digitalen Abtastwerten
mit verbesserten Bilddetails auf einer Rasteranzeige, wobei eine
Intensitätsinformation
mit hoher Auflösung
auf eine Helligkeitsinformation mit niedriger Intensität abgebildet
wird und eine Rasteranzeigevorrichtung verwendet wird, um das Bild
in einem Anzeigespeicher anzuzeigen.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der Erfindung,
wie durch Anspruch 1 definiert, wird eine Digitaloszilloskoparchitektur
für einen hohen
Wellenformdurchsatz mit einer variablen Intensitäts- oder Farbanzeige bereitgestellt.
Diese Architektur umfasst einen Anzeigeabschnitt und einen oder
mehreren Erfassungsspeicher- und Rasterisierungsabschnitte. Der
Anzeigeabschnitt umfasst zwei Anzeigerasterspeicher, einen Rasterkombinator
und eine Rasteranzeige. Die zwei Anzeigerasterspeicher wechseln
bei der Durchführung
von zwei Funktionen ab. Während
einer Daten anzeigt und eine Kopie dieser Daten zum Rasterkombinator
liefert, empfängt
der andere die Ausgabe des Rasterkombinators. Der Rasterkombinator
empfängt
alte Rasterdaten vom Anzeigerasterspeicher, der die Anzeige mit
Daten versorgt, und kombiniert sie mit neuen Daten, die von einem
oder mehreren Erfassungsspeicher- und Rasterisierungsabschnitten
ankommen. Die Ausgabe des Rasterkombinators geht zum anderen Anzeigerasterspeicher.
Jeder Erfassungsspeicher- und Rasterisierungsabschnitt umfasst einen
Erfassungsspeicher, um Wellenformdatensätze zu speichern, wenn sie
erfasst werden, einen Rasterizer, um erfasste Wellenformdatensätze vom
Erfassungsspeicher zu kombinieren und zu komprimieren und die resultierenden
Daten mit mehreren Bits pro Pixel in einen Erfassungsrasterspeicher
zu geben. Die Daten vom Erfassungsrasterspeicher werden in einen
Erfassungsrasterspeicher mit weniger Bits pro Pixel "abgebildet". Die Daten in diesem
Erfassungsrasterspeicher mit weniger Bits pro Pixel werden als nächstes zum
Rasterkombinator des Anzeigeabschnitts übertragen. In einem bevorzugten
Ausführungsbeispiel
wird dies durch einen direkten Speicherzugriffsprozess bewerkstelligt.
-
KURZBESCHREIBUNG
DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
-
1 ist
ein vereinfachtes Blockdiagramm des Flusses von erfassten Daten,
während
sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt
und in den Anzeigeabschnitt eines Oszilloskops bewegen, gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
2 ist
ein Blockdiagramm, das zeigt, wie der Rasterisierungsprozess Daten
verarbeitet, die vom Erfassungsspeicher geliefert werden, und Daten
für den
Erfassungsrasterspeicher erzeugt.
-
3 ist
ein detailliertes Blockdiagramm, das die Eingangssignale, Ausgangssignale
und Unterteile des in 2 & 4 gezeigten
Zähler-
und Zwischenspeicherblocks zeigt.
-
4 ist
ein Blockdiagramm eines besonders bevorzugten Ausführungsbeispiels
des Rasterizers mit variabler Intensität.
-
5 ist
ein vereinfachtes Blockdiagramm, das zeigt, wo im Anzeigevorbereitungsprozess
die Intensitätsabbildung
und die Betonung seltener Ereignisse angewendet werden.
-
6A & 6B sind
Blockdiagramme, die zwei Weisen zeigen, in denen eine Nicht-Linearitäts-Korrektur
durchgeführt
werden kann.
-
7 ist
ein schematisches Diagramm der Intensitätsabbildungsschaltung zum Durchführen einer Verringerung
von Bits pro Pixel in einer Weise, in der die Skalierung und Verstärkung steuerbar
sind.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Mit
Bezug zunächst
auf 1 sehen wir ein vereinfachtes Blockdiagramm des
Flusses von erfassten Daten, während
sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt 200 und
in den Anzeigeabschnitt 300 eines Oszilloskops gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung bewegen. Vertikale Skalierungs- und vertikale
Versatzfunktionen werden vor der Digitalisierung angewendet und
sind daher in dieser Figur nicht direkt sichtbar, sondern sind vielmehr
ein Teil des Erfassungsprozesses 10. Die Triggerschaltung 15 überwacht
unter der Leitung der Prozesssteuereinheit 180 das Eingangssignal
und andere Kriterien (nicht dargestellt) und überträgt das Auftreten der Zufriedenstellung
der Triggerbedingungen zur Erfassungsschaltung 10 und zur
Prozesssteuereinheit 180.
-
Die
Prozesssteuereinheit 180 enthält Zeitgeber und Zustandsmaschinen,
die ermöglichen,
dass sie den gesamten Erfassungs- und Rasterisierungsprozess, einschließlich einiger
der wahlweisen Prozesse, die nachstehend erörtert werden und in 1 nicht
gezeigt sind, steuert. Wie zu sehen ist, sendet sie einen Befehl und
eine Information zu fast jedem Teil des Erfassungsspeicher- und
Rasterisierungsabschnitts 200 sowie zur Trigger- 15 und
Erfassungsschaltung 10 und empfängt verschiedene Signale von
diesen. Sie benachrichtigt den Rasterkombinator 80, wenn
Daten bereit sind. Die Prozesssteuereinheit 180 überwacht
die Triggerschaltung 15 und startet die Erfassungsschaltung 10 und
den Rasterizer 30 zu geeigneten Zeitpunkten, d.h. wenn genügend Erfassungen
zum Rasterisieren vorhanden sind oder ansonsten so viel Zeit seit
dem ersten Trigger oder der letzten Anzeigeaktualisierung abgelaufen
ist, dass neue Daten an der Anzeige 110 fällig sind.
-
Wenn
Daten an der Anzeige 110 fällig sind, startet die Prozesssteuereinheit 180 die
Intensitätsabbildung 50 und
anschließend
die DMA-Schaltung 70. Wie nachstehend genauer erörtert wird,
bestimmt die Prozesssteuereinheit 180 auch, wann Erfassungsabbrüche erforderlich
sind, veranlasst einen Triggerpositionsrechner zum Laufen und berechnet
Unterbrechungspunkte.
-
Als
Ausgabe des Erfassungsprozesses 10 werden Daten-Adressen-Paare
der Spannung als Funktion der Zeit in einem Erfassungsspeicher 20 gespeichert.
Der Erfassungsspeicher 20 kann zwei Wellenformdatensätze halten,
die bis zu 512K Abtastwerte lang sind, oder kann partitioniert sein,
um bis zu 256 kürzere
Wellenformdatensätze
zu halten, die jeweils 768 Abtastwerte enthalten. Jede Abtastwertstelle
enthält
8 Informationsbits, die einen von 256 möglichen Spannungsamplitudenpegel
definieren. 200 dieser Spannungsamplitudenpegel entsprechen
einer der 200 Pixelstellen in jeder Spalte des 200 × 500 Erfassungsrasterspeichers 40 mit
21 Bits pro Pixel.
-
Jeder
Erfassungsspeicher- und Rasterisierungsabschnitt 200 kann
100000 Wellenformdatensätze
pro Sekunde erfassen, wobei jeder Datensatz 500 Datenpunkte enthält und wobei
jeder Datenpunkt in Intervallen von 1 ns für insgesamt 500 ns pro Erfassung
erfasst wird. Mehrere Erfassungsspeicher- und Rasterisierungsabschnitte 20,
insbesondere zwei oder vier, können
ineinander verschachtelt sein, um den Gesamtdurchsatz, der auf einem
Oszilloskopkanal zur Verfügung
steht, zu verdoppeln oder vervierfachen. Der Rasterkombinator 80 des
Anzeigeabschnitts 300 kann die Ausgangssignale dieser mehreren
Erfassungsspeicher- und Rasterisierungsabschnitte 20 im
Anzeigeabschnitt 300 wieder miteinander multiplexieren.
-
Im
Gegenteil kann mehr als ein Kanal in einen Erfassungsspeicher- und
Rasterisierungsabschnitt 200 multiplexiert werden. Und
eine alternative Version des Rasterkombinators 80 kann
diese mehreren Kanäle
aus weniger Erfassungsspeicher- und Rasterisierungsabschnitten 200 demultiplexieren
und durch die Verwendung von zusätzlichen "Kennzeichen"-Bits in jeder Pixelstelle
der Anzeigerasterspeicher 90 und 100 bewirken, dass
sie als separate Kanäle
auf der Rasteranzeige 110 angezeigt werden. Die Kennzeichenbits
ermöglichen, dass
die Kanäle
priorisiert oder "geschichtet" werden, so dass
nur die Intensität
desjenigen an der Oberseite angezeigt wird, wenn zwei oder mehr
Kanäle überlappen.
Alternativ können
die Intensitäten
von zwei oder mehr Kanälen
zusammenaddiert werden, wenn sie überlappen, wenn dies erwünscht ist.
-
Der
Rasterkombinator 80 kann auch veranlasst werden, Intensitätsvariationen
in Farbvariationen umzusetzen, wobei geeignete Unterstützungsänderungen
in den Anzeigerasterspeichern 90 und 100 und in
der Rasteranzeige 110 vorgenommen werden, falls erforderlich.
-
Mit
Bezug als nächstes
auf 2 beachte man bitte, dass der Einfachheit halber
Takt- und Zeitsignale und Steuersignale von der Prozesssteuereinheit 180 in
dieser Figur nicht gezeigt sind. Der Rasterisierungsprozess 30 greift
auf geeignete Abtastwerte vom Erfassungsspeicher 20 gemäß den von
der Adressensteuereinheit 31 erzeugten Adressen zu. Die
Adressensteuereinheit 31 empfängt Einstellungen der Zeit
pro Unterteilung und ist mit einem Teil der in Tabelle 1 gezeigten
Information vorprogrammiert. Sie kann dadurch diejenigen Einstellungen
der Zeit pro Unterteilung in Adressen umwandeln, die die gewünschte Kombination
von Kompressionsbreite und Erfassungstiefe widerspiegeln, die in
der Bestimmung der Intensität
für jedes
Pixel enthalten sind. Der Rest des Inhalts von Tabelle 1 ist der
Prozesssteuereinheit 180 bekannt.
-
Die
Adressensteuereinheit 31 ruft Erfassungsdaten ab, wie durch
die Prozesssteuereinheit 180 (in 1 gezeigt)
veranlasst, während
fortlaufende Abtastwertversätze
und Pufferauswahlinformationen zum Datenpuffer 32 geliefert
werden. Die Adressensteuereinheit 31 identifiziert auch
das Ende jeder Spalte, so dass der Zählerblock 36 geeignet
zurückgesetzt
und zwischengespeichert werden kann. Diese Steuerungen verlaufen
tatsächlich
entlang der Datenpipelines, so dass die Steuerung den Fluss der
Daten verfolgt. Wenn die Rasteraktualisierung länger dauert als der Kompressionsprozess,
wird der Kompressionsprozess am Ende der dann laufenden Kompressionsoperation
unterbrochen.
-
TABELLE
1 – ZEIT/UNTERTEILUNGS-PROGRAMMIERUNG
-
-
Tabelle
1 enthält
die für
verschiedene Einstellungen der Zeit pro Unterteilung verwendeten
Werte. Die in Tabelle 1 ganz links gezeigte Spalte enthält eine
Indexnummer, die einen Bezug auf spezielle Zeilen und die Sätze von
Daten, die sie enthalten, ermöglicht.
Die nächste
Spalte "Zeit pro
Unterteilung" enthält einen
Eintrag für
jede horizontale Einstellung des ersten Oszilloskops, das die vorliegende
Erfindung verkörpert.
Die "Zählwert"-Spalte gibt an,
wie viele Erfassungsdatensätze
als Eingangssignal in jeden Rasterisierungsprozess mit der entsprechenden
Einstellung der "Zeit
pro Unterteilung" verwendet
werden. Im Äquivalenzzeitbetrieb
(nachstehend weiter beschrieben) wird nur einer der 256 Datensätze während jedes
Rasterisierungszyklus verarbeitet. Die Anzahl von Puffern im Speicher,
256, ist jedoch zweimal die Anzahl 128, in der einzigen vergleichbaren
Nicht-Ä.Z.-Einstellung,
Index #9,50 ns pro Unterteilung. Die "Größen"-Spalte gibt an,
wie viele Datenpunkte in jedem Rasterisierungsdatensatz bei dieser
Einstellung gespeichert werden, während die "Verwendet"-Spalte angibt, wie viele Datenpunkte
beim Durchführen
der Rasterisierung tatsächlich
verwendet werden.
-
Die
Spalte "Ä.Z. oder
Dezimierung" enthält eine
Information, die sich auf die Menge an "Äquivalenzzeit"-Einfüllung oder
Dezimierung (effektiv "Herausschmeißen") bezieht, die von
der Erfassungshardware durchgeführt
wird. Die Äquivalenzzeitabtastung
ist ein Verfahren zum effektiven Erfassen von Daten durch mehrere
Erfassungen, das einer Durchlaufgeschwindigkeit oder Abtastrate
entspricht, die tatsächlich
schneller ist als die Erfassungshardware durchführen kann. In dem durch die Äquivalenzzeitabtastung
erzeugten Erfassungsdatensatz können
Anomalien erscheinen, die sich aus der hypothetischen Art des Erfassungsdatensatzes,
der durch die nicht-sequentielle Erfassung von "aufeinander folgenden" Datenpunkten erzeugt
wird, und die Tatsache, dass die zur Erzeugung dieses Datensatzes
abgetasteten Wellenformen nicht vollkommen wiederholt sein können, ergeben.
-
Die
vorletzte Spalte "Erweiterung/Kompression" enthält eine
Information, die sich auf das Ausmaß an Erweiterung oder Kompression
bezieht, die während
des Rasterisierungsprozesses durchgeführt wird. Es ist die Kombination
dieser Faktoren, Erweiterung und Kompression, und derjenigen aus
der vorangehenden Spalte, Äquivalenzzeiteinfüllung oder
Dezimierung, die festlegen, welche Abtastwerte zum Datensatz im
Erfassungsspeicher 20 beitragen, und letztlich, welche
Abtastwerte sich auf das Rasterisierungsergebnis auswirken, das
zum Erfassungsrasterspeicher 40 gesandt wird. Für einen
einzelnen Erfassungsspeicher- und Rasterisierungsabschnitt, der
in seiner Ein-Kanal-Betriebsart
arbeitet, werden 6% der Echtzeit mit der Erfassung verbracht, im Vergleich
zu 94%, die mit der Verarbeitung der erfassten Erfassungen verbracht
werden.
-
Die
Indexzeile #9, die Zeile 50 ns Zeit pro Unterteilung, enthält die schnellsten
Echtzeiteinstellungen. Alle Zeilen oberhalb der Zeile #9, diejenigen
mit Einstellungen der Zeit pro Unterteilung, die schneller sind
als 50 ns pro Unterteilung, erfordern die Verwendung einer Äquivalenzzeitabtastung,
d.h. die Sammlung von mehreren Datensätzen und die Verwendung von
nur einigen Datenpunkten von jedem, um einen zusammengesetzten Datensatz
aufzubauen. In der Zeile #0 wird beispielsweise 200 ps pro Unterteilung
unter Verwendung von nur zwei Datenpunkten jeweils von 250 Erfassungen
erreicht. Das Oszilloskop erfasst Abtastwerte einmal pro jeder Nanosekunde,
so dass nur zwei Datenpunkte pro Datensatz innerhalb des Zeitrahmens
eines Datensatzes liegen. Bei 200 ps pro Unterteilung auf der horizontalen
Zeitbasis und 10 Unterteilungen pro Anzeige ist jede Anzeige nur
2 Nanosekunden von Seite zu Seite. Durch Kombinieren von zwei Abtastwerten
von jeweils 250 Datensätzen,
können
500 Datensätze
pro Anzeige zu einem Äquivalenzzeitbild
zusammengesetzt werden.
-
In
den Zeilen unterhalb des Index #9 wird eine Dezimierung verwendet,
um die Datensatzlänge
zu begrenzen, und eine Kompression wird verwendet, um den auf dem
Bildschirm von den im Datensatz enthaltenen Punkten eingenommenen
Abstand zu verkürzen.
Bei 500 ms pro Unterteilung stellt der 10 Unterteilungen breite
Bildschirm beispielsweise 5 Sekunden dar. Bei der Abtastrate von
einem Abtastwert pro Nanosekunde stehen während dieser 5 Sekunden 5 Milliarden
Abtastwerte zur Verfügung.
Eine Dezimierung um 10000 ermöglicht,
dass 500000 Datenpunkte gesammelt werden. Das Komprimieren dieser
500000 Datenpunkte mit einem Kompressionsfaktor von 1000 erzeugt
500 Punkte pro Anzeige und 50 Punkte pro Unterteilung.
-
Mit
erneutem Bezug auf 2 werden die Daten vom Erfassungsspeicher 20,
die von der Adressensteuereinheit 31 festgelegt werden,
zum Datenpuffer 32 übertragen.
Obwohl der Datenpuffer 32 insgesamt 64 × 16 Datenbytes halten kann,
empfängt
er tatsächlich
nur 8 Bytes auf einmal alle 16 ns. Während der Datenpuffer 32 einen
Satz von 8 Bytes von Erfassungsdaten zum Abtastwert-Vektor-Wandler 33 liefert,
werden die anderen 8 Bytes durch die nächste Übertragung vom Erfassungsspeicher 20 gefüllt. 8 Bytes
pro 16 ns ist gleich einem Mittelwert von 2 ns Zugriffszeit pro
einzelnem Abtastpunkt von erfassten Daten.
-
Die
8-Bit-Daten vom Erfassungsspeicher 20 definieren 256 vertikale
Spannungspegel, während
der Erfassungsrasterspeicher vertikale Spalten aufweist, die 200
Pixel enthalten. Somit sind 56 zusätzliche Spannungspegel vorhanden,
die durch diese 8-Bit-Ausgangssignale definiert sind, die keinen
der 200 vertikalen Pixelstellen entsprechen. Von diesen stellen 28 Spannungen
unterhalb der Unterseite der 200 vertikalen Pixelstellen entsprechend
dem Anzeigebildschirm dar und 28 stellen Spannungen dar,
die über
den 200 vertikalen Pixelstellen und der Oberseite des Bildschirms
liegen. Der Bildschirm zeigt typischerweise ein Gitternetz mit neun
horizontalen Linien, die 8 vertikale Unterteilungen der Anzeige
definieren, von denen jede Daten von 25 der 200 Pixel in jeder Spalte
des Erfassungsrasterspeichers 40 empfängt. Wie nachstehend weiter
erläutert wird,
geschieht eine vertikale Eins-zu-Zwei-Erweiterung, bevor diese Daten den eigentlichen
Bildschirm erreichen, so dass letztlich jede vertikale (und horizontale)
Unterteilung der Anzeige 50 Pixeln entspricht.
-
Obwohl
die 28 oberen und 28 unteren Werte die 200 Pixel
in jeder Spalte nicht direkt beeinflussen, wie nachstehend weiter
erläutert
wird, üben
sie einen indirekten Effekt aus, indem sie bei der Berechnung verwendet
werden, die die Steigung derjenigen Vektoren bestimmt, die sich
auf die 200 Pixel in der vorliegenden Spalte auswirken. Das Beeinflussen
der Steigungsberechnung eines Vektors übt einen Effekt auf die Schrittintensitätswerte
aus, die die Pixel in diesem Vektor erhalten.
-
Die 28 oberen
und unteren Werte haben auch einen anderen Effekt. Wenn eine "Bildschirmbeschneidungs"-Funktion aktiv ist
und der ganze aktuelle Vektor an den oberen 28 oder unteren 28 vertikalen
Stellen liegt, d.h. alle Punkte in der aktuellen Spalte außerhalb
des Bildschirms in einer Richtung oder der anderen liegen, wird
in der 1. oder 200. Stelle im Erfassungsrasterspeicher 40 ein
spezielles Kennzeichenbit gesetzt, um diese Bedingung anzuzeigen.
-
Unter
Fortfahren mit 2 untersucht der Abtastwert-Vektor-Wandler 33 drei
Abtastdatenpunkte N, N-1 und N-2 in Verbindung mit der Erzeugung
jedes oberen und unteren Signals des Vektors. Wenn alle Signaldaten
monoton wären,
würden
zwei Datenpunkte genügen.
Die Möglichkeit,
in den Daten auf Wendepunkte zu treffen, benötigt jedoch die Verwendung
von drei Punkten. Der Abtastwert-Vektor-Wandler 33 liefert ein Hi- und
Lo-Signal zum Absolutwertsubtrahierer 34. Die Hi- und Lo-Signale können eine
maximale Differenz von 255 vertikalen Schritten aufweisen, da sie
von der vollen Spanne von Werten abgeleitet werden, die potentiell durch
jeden 8-Bit-Datenabtastwert definiert werden. Der Absolutwertsubtrahierer 34 erzeugt
einen vertikalen (oder Spannungs-) Änderungswert dV, den er zur
Nachschlagetabelle 35 weiterleitet. Die Nachschlagetabelle 35 verwendet
den vertikalen Änderungswert
dV, um ein geeignetes Gewicht W für den vorliegenden Vektor zu finden.
In der gerade beschriebenen Implementierung kann W Werte von 0 bis
31 aufweisen. Im Allgemeinen weist W einen Wert auf, der eine inverse
Beziehung zu dV/dT trägt.
Für eine
spezielle Einstellung der Zeit pro Unterteilung weist dT eine konstante
Beziehung zum Abstand auf, der durch jede Spalte von zu rasterisierenden
Pixeln dargestellt wird. Für
mehr Information darüber,
wie W berechnet werden kann, nehme man auf das US-Patent 5 550 963,
Siegel et al., über "Graded Display of
Digitally Compressed Waveforms" Bezug.
-
Der
Abtastwert-Vektor-Wandler 33 liefert auch ein Paar von
oberen und unteren Signalen zum 200-Zähler-Block 36. Diese
Signale definieren jeweils die Werte von 1 bis 200, die die Länge des
Vektors ohne Vorzeichen definieren, der als Ergebnis des aktuellen
Abtastdatenpunkts gezeichnet werden soll. Jeder Zähler im
definierten Bereich wird um den Wert von W, das Vektorgewicht-Ausgangssignal
der Nachschlagetabelle 35, inkrementiert. Es sollte darauf
hingewiesen werden, dass die 8 Bits von Spannungsamplitudendaten,
die einem Datenpunkt zugeordnet sind, eine potentiell riesige Erweiterung
während
des Rasterisierungsprozesses durchmachen. Da die Stelle, die er
festlegt, bis zu einem vollen vertikalen Bildschirmabstand von der
Stelle entfernt liegen kann, die durch den vorangehenden Datenpunkt
festgelegt wird, können
nicht weniger als 200 Pixel infolge der Vektorisierung von einem
erfassten Datenpunkt eine Aktualisierung erfordern. Da 19-Bit-Zähler und
4 Kennzeichenbits vorliegen und diese später zu 21 Informationsbits
an jeder dieser 200 Pixelstellen komprimiert werden, kann der gesamte
Rasterisierungsprozess für
einen einzelnen Datenpunkt von 8 Bits den Zustand von nicht weniger
als 4200 Bits im 21-Bit-Erfassungsrasterspeicher 40 beeinflussen.
Es wird somit wichtig, diese Datenerweiterung davon abzuhalten,
den Wellenformdurchsatz des Erfassungsspeicher- und Rasterisierungsabschnitts 200 und
dadurch jenen des ganzen digitalen Oszilloskops unnötig zu behindern (wenn
die Verfügbarkeit
einer begrenzten Anzahl solcher Abschnitte gegeben ist).
-
Mit
Bezug nun auf 3 sind der 200-Zähler-Block 36 und
der Zwischenspeicher 37 im einzelnen zusammen mit ihren
Eingangssignalen und Ausgangssignalen gezeigt. Der Teil auf der
linken Seite von 3 ist eine Gruppe von 200 4-Bit-Kanal-Kennzeichenregistern 36B.
Der mittlere Teil von 3 ist eine Anordnung von 200
19-Bit-Zählern 36A.
Die 19-Bit-Länge
der Zähler
im Zählerblock 36 ist
teilweise wegen der Kompatibilität
mit der Verwendung eben dieser Schaltung in einer anderen Anwendung
gewählt.
Da der Maximalwert von W 31 ist und 21 9/31 = 16912 ist, ist der maximale Kompressionsfaktor,
der sich aus dieser Tiefe ergibt, 16000.
-
Die
oberen und unteren Eingangssignale sind jeweils 8 Bits lang und
identifizieren einen der 200 19-Bit-Zähler. Das Gewicht W ist ein
5-Bit-Signal, das den Wert von 0 bis 31 festlegt, um den jeder 19-Bit-Zähler in
dem Vektor, der durch oben und unten definiert ist, inkrementiert
werden soll. Der Teil auf der rechten Seite von 3 ist
eine Gruppe von 200 23-Bit-Zwischenspeichern 37. Diese
200 23-Bit-Zwischenspeicher 37 halten
den Inhalt sowohl der 200 4-Bit-Kanal-Kennzeichenregister 36B als
auch der Anordnung von 200 19-Bit-Zählern 36A zur Ausgabe,
während
diese Register und Zähler
gelöscht
werden (unter Verwendung des Löschsignals)
und verwendet werden, um die nächste
Datenspalte anzusammeln. Diese Anordnung von Zählern ist relativ aufwendig
zu implementieren und kann typischerweise Vektoren mit einer langsameren
Rate zeichnen als auf Abtastdaten von einem Erfassungsspeicher zugegriffen
werden kann. Indem die Zwischenspeicher 37 mit diesen Zählern aufgenommen
sind, ist es möglich,
eine aktuelle Spalte zu aktualisieren, während die nächste Spalte in die Zähler gezeichnet
wird, wodurch irgendeine ungenügende
Nutzung dieses Betriebsmittels vermieden wird.
-
Die
19 Bits von Intensitätsdaten
in der Gruppe von 200 23-Bit-Zwischenspeichern 37 werden
zum existierenden Inhalt der entsprechenden Spalte des Erfassungsrasterspeichers 40 durch
Addierer 38 in einer Reihe von Lesen-Modifizieren-Schreiben-Operationen addiert,
während
Adressen vom Rasteradressengenerator 45 geliefert werden.
Die 4 Bits von Kanalkennzeichen werden mit entsprechenden Bits vom
Erfassungsrasterspeicher 40 während derselben Lesen-Modifizieren-Schreiben-Operationen
einer ODER-Verknüpfung
unterzogen. Die Kanalidentifikationsbits, von denen nur genügend vorhanden
sind, um die Anzahl von Kanälen
zu beschreiben, die in einen Erfassungsspeicher- und Rasterisierungsabschnitt 200 multiplexiert
werden, werden durch Opfern der MSBs der Intensitätsbeschreibungsfähigkeit
in die 21-Bit-Pixel
gepackt.
-
Wenn
eine Prioritätscodierung
verwendet wird, um die Intensität
in Bereichen von Kanalüberlappung zu
bestimmen, besteht ein geringerer Durchsatz pro Kanal, aber ein
kleinerer erforderlicher dynamischer Bereich. Der schlimmste Fall
tritt auf, wenn Überlappungsbereiche
für vier
Kanäle
zusammenaddiert werden (anstatt dass die Priorität der Kanäle festlegt, welche Intensität angezeigt
wird). Es stehen dann nur 17 Bits für die Intensitätsinformation
zur Verfügung
und sie werden früher
gesättigt,
da sich die Überlappungsintensitäten addieren.
Da das maximale Intensitätsaktualisierungsgewicht
W 31 ist, ist die kleinste Anzahl von Aktualisierungen, die eine
Sättigung
erzeugen kann, 217/31 = 4338. Wenn 100000
Wellenformen pro Sekunde erfasst werden, impliziert der Bedarf für eine Aktualisierung
alle 4338 Erfassungen eine minimale erforderliche Aktualisierungsrate
von 23 mal pro Sekunde. Da die normale Aktualisierungsrate zwischen
30 und 60 mal pro Sekunde liegt, wird diese Anforderung gewöhnlich leicht
erfüllt.
Die Kanalidentifikation wird in die 21-Bit-Pixel gepackt, wobei
die MSBs der Intensitätsfähigkeit
verworfen werden. Nur die Bits, die erforderlich sind, um mit der
Anzahl von rasterisierten Kanälen
in einem Erfassungsspeicher- und Rasterizerabschnitt 200 zurechtzukommen,
werden geopfert.
-
Der
Erfassungsrasterspeicher 40 erfordert 268K Bytes Speicher,
um eine 200 × 500-Matrix
von Pixeln zu unterstützen.
8 Bytes dieses Speichers sind gleichzeitig zugänglich. Daher enthält jeder
Zugriff 21 Datenbits für
jeweils 3 Pixel (wobei 1 Bit verschwendet wird). Eine Spalte von
200 Pixeln erfordert 67 Zugriffe auf jeweils 3 Pixel. Somit gilt
8 (Bytes/Zugriff) × 67
(Zugriffe/Spalte) × 500
(Spalten/Anzeige) = 268K (Bytes/Anzeige).
-
Mit
Bezug nun auf 4 wurde festgestellt, dass es
in einem tatsächlich
konstruierten Ausführungsbeispiel
effizient ist, den Erfassungsspeicher 20 und den Erfassungsrasterspeicher 40 zu
einem großen
kombinierten Erfassungsspeicher 20, 40 zu kombinieren.
Obwohl die Beschreibung bis zu diesem Punkt in der Erörterung
auf herkömmliche
Anzeigen der Spannung als Funktion der Zeit oder "YT"-Anzeigen begrenzt
war, ist in 4 auch zu sehen, dass andere
Betriebsarten, wie z.B. "XY" und "XYZ" auch in eine Gesamtkonstruktion integriert
werden können.
Ein Adressenquellenselektor 46 weist als eine seiner Quellen
die ÄZ/XY/XYZ-Adressierungsquelle 41 sowie
den Rasteradressengenerator 45 und die zwei Teile der Adressensteuereinheit 31 (von 2)
auf, die hier als 256 × 16
RAM 31A und 2 × 8
Zeigererweiterung 31B gezeigt sind. Die Zeigererweiterung
wird zum Rasterisieren eines einzelnen > 65536 Puffers geliefert. Da der Rasterisierungsprozess entweder
viele kleine Puffer, einen einzelnen großen Puffer oder irgend etwas
dazwischen verarbeitet, wird ein Kompromiss zwischen der Verschwendung
von Platz mit dem RAM als Funktion der Länge und des Zählwerts, die
auf einmal rasterisiert werden können,
gemacht.
-
Unter
Fortführung
des Prozesses, das, was in 4 gezeigt
ist, mit dem, was vorstehend in 2 erörtert wurde,
in Beziehung zu bringen, entspricht der Abtastprozessor 33' dem Abtastwert-Vektor-Wandler 33. 4 zeigt
nicht die Unterscheidung zwischen den oberen und unteren Signalen
und den Hi- und Lo-Signalen,
die in 2 gemacht wurde, zeigt jedoch, dass das untere
Signal eines der potentiellen Eingangssignale in die Adressierungsquelle ÄZ/XY/XYZ 41 über den
Multiplexer 44 ist, welcher als sein anderes Eingangssignal "ausgewählte A/D-Daten" hat. "Ausgewählte A/D-Daten" werden in der XY-und
XYZ-Betriebsart verwendet, der Datenprozessor, der Erfassungsdatenpuffer,
die Delta-Intensitäts-Abbildung und Erfassungsschlangenzeiger
werden in der XY- und XYZ-Betriebsart
nicht verwendet. Die Delta-Intensitäts-Abbildung 34, 35 und der
Zählerblock 36 werden
während Äquivalenzzeit-
(ÄZ) Operationen
nicht verwendet.
-
Addierer 38,
die in 2 gezeigt sind, sind in 4 als drei
Instanzen von 21-Bit-Sättigungsaddierern genauer
gezeigt. Sättigungsaddierer
laufen nicht über
oder erzeugen MSB-Überträge, sondern
bleiben statt dessen auf einem Maximalwert aller 1-en, wenn sie
voll werden. Ein Lese- und Schreibzugriff auf den (kombinierten)
Erfassungsspeicher 20, 40 dauert jeweils 16 ns
und ist 64 Bits breit. Daher kann ein Lesen-Modifizieren-Schreiben-Zyklus
an drei 21-Bit-Pixeln alle 32 ns durchgeführt werden. Dies ist eine mittlere
Zeit von 10,67 ns pro Pixelaktualisierung. Daher ist das längste, das
es dauern kann, um alle 200 Pixel in einer Spalte zu aktualisieren,
67 × 32
ns oder 2,144 μs.
Wenn die Eingangsdaten für
jede Spalte 134 × 8/7
= 154 Datenpunkte vom Erfassungsspeicher 20 umfassen, begrenzt
die Aktualisierungszeit des Erfassungsrasterspeichers 40 somit
nicht die Rasterisierungsgeschwindigkeit und die Rasterisierungsprozessgeschwindigkeit
selbst wird zum begrenzenden Faktor. Da auf den (kombinierten) Erfassungsspeicher 20, 40 zugegriffen
werden kann, um 8 Bytes alle 16 ns parallel zu liefern, ist es möglich, Erfassungswellenformdaten
8 mal schneller zu lesen als sie verarbeitet werden können. Da
der Datenpuffer 32 bis zu 128 8-Byte-Erfassungssegmente
für eine
parallele Verarbeitung halten kann, stehen 87,5% der Bandbreite
des (kombinierten) Erfassungsspeichers zur Aktualisierung des Erfassungsrasterspeichers
mit der Ausgabe des Rasterisierungsprozesses zur Verfügung.
-
Wenn,
wie bei dieser Konstruktion, die Anzahl von Pixeln pro Spalte 200 (M
= 200 Pixel/Spalte) ist und die mittlere Zeit, die zum Aktualisieren
jedes Pixels erforderlich ist, 10,67 ns (P = 10,67 ns/Pixelaktualisierung) ist,
ist die Durchsatzrate des Rasterizers 2,134 × s/Spalte (M·P = 2,134 μs/Spalte).
Wenn die Zeit zum Zeichnen des Vektors auf der Basis eines einzelnen
neuen Datenpunkts 16 ns (D = 16 ns/Abtastwertpaar) ist und die mittlere
Zeit, die zum Zugreifen auf ein einzelnes Abtastwertpaar von Erfassungsdaten
erforderlich ist, 2 ns ist (A = 2 ns), dann ist die verfügbare Zeit
zum Aktualisieren des Erfassungsrasterspeichers D-A oder 14 ns. Somit
ist die maximale Kombination N·C
von Erfassungspixeln pro Spalte, N, und von Kompressionspixeln innerhalb
jeder Spalte, C, die verwendet werden sollte, um den Rasterizer
voll belegt zu halten (unter der Annahme der Verfügbarkeit
ausreichender Trigger): N·C
= (M·P)/(D-A)
oder N·C
= (2134 ns/Spalte)/14 ns oder N·C = 152,4 Pixel. Und wenn
der geeignete Kompressionsfaktor C bekannt ist, kann N gemäß N > 152,4/C berechnet
werden. Diese Effizienzfunktion ist für die in 4 gezeigte
Konstruktion spezifisch, wobei die Ausgangsbandbreite und die Eingangsbandbreite
sich eine einzelne Gesamtspeicherbandbreite teilen, d.h. A von D
subtrahiert wird.
-
Eine
allgemeinere Effizienzfunktion entsteht in Verbindung mit 2,
wobei die Eingangs- und Ausgangsbandbreiten voneinander unabhängig sind.
In diesem Fall ist die ideale Anzahl von Erfassungen N, wenn C,
P und M bestimmt sind: N = (M·P)/(C·D). Durch
Konstruieren und Programmieren eines Oszilloskoprasterizers in dieser
Weise ist es möglich,
Bilder mit einer konstanten Rate von Abtastwerten/s bei allen Zeit/Unterteilungen
zum Bildschirm zu liefern, wenn eine ausreichende Anzahl von Triggern
vorhanden ist. Um eine gleichmäßige Erfassungsrate
aufrechtzuerhalten, ist es wichtig, dass zweimal so viele Erfassungspuffer
vorhanden sind wie in einem einzelnen Rasterisierungsdurchgang verwendet
werden. In dieser Weise können
Erfassungen in die Puffer fortfahren, die gerade nicht rasterisiert
werden. Diese Puffer können
entweder als zwei Gruppen, die abwechselnd erfasst und rasterisiert
werden, oder als kreisförmige
Schlange von Puffern angeordnet sein, wobei die Rasterisierung bei
einer Anzeigeaktualisierungs-Endfrist oder, wenn die gewünschte Anzahl
von Datensätzen
erfasst wurde, beginnt.
-
Mit
erneutem Bezug auf 1 wird der Inhalt des 200 × 500 Erfassungsrasterspeichers 40 mit
21 Bits pro Pixel dann in einen zweiten Erfassungsrasterspeicher 60 mit
4 Bits pro Pixel und kürzerer
Tiefe "abgebildet" 50, der
dieselben planaren (200 × 500)
Abmessungen aufweist. Dieser kürzere
Erfassungsspeicher 60 mit 4 Bits pro Pixel enthält immer
noch 200 × 500
Pixelstellen, aber jedes Pixel weist nur 4 Bits pro Pixel Intensitätsinformation
auf, die diesem zugeordnet ist, und kann folglich nur 16 Intensitätspegel
anzeigen. Diese "Abbildung" 50 wird
unter Verwendung von 15 Unterbrechungspunkten durchgeführt, die
die Grenzen der 16 Intensitätspegel (monoton) definieren.
In einem Ausführungsbeispiel
ist die Abbildungsvorrichtung 50 dazu ausgelegt, drei 21-Bit-Pixeleingangswerte
alle 16 ns parallel zu verarbeiten. Diese Methode erfordert, dass
mehrere Pipelineverzögerungen
zwischen dem Lesevorgang von 16 ns von drei 21-Bit-Pixelwerten und
den entsprechenden Schreibvorgängen
von 16 ns von fünf
Gruppen von drei 4-Bit-Pixelwert-Ausgangssignalen in den 8 Bytes
breiten Speicher vorhanden sind. Da die Abbildungsoperation von
der Verwendung von Daten abhängt,
die im Erfassungsrasterspeicher 40 gespeichert sind, ist
das Exportieren dieser Daten eine weitere Einschränkung für die gesamte
Nutzung dieser begrenzten Bandbreite. Das Exportieren der Daten
für die
Abbildung verwendet etwa 600 μs
für jede
Anzeigeaktualisierung oder etwa 6 ms/30 ms. Dies führt zu einem
Drücken
der Effizienz des Rasterisierungsprozesses von 2%.
-
Der
Inhalt des kurzen Erfassungsrasterspeichers 60 mit 4 Bits
pro Pixel wird zu einem Rasterkombinator 80 im Anzeigeabschnitt 300 durch
einen Prozess 70 eines direkten Speicherzugriffs (DMA) übertragen. Der
Anzeigeabschnitt 300 enthält zwei Anzeigerasterspeicher 90 und 100.
Diese Rasterspeicher können
auch 4 Bit pro Pixel sein oder können
zusätzliche
Bits für
eine Kanalidentifikation und -färbung
umfassen. Vier Kennzeichenbits können
bis zu vier individuelle Kanäle
oder 16 Kombinationen von Kanälen
identifizieren.
-
Während einer 90 von
zwei Anzeigerasterspeichern 90 und 100 die Rasteranzeige 110 mit
Daten für die
aktuelle Anzeige versorgt, wird sein Inhalt auch mit dem Inhalt
des kurzen Erfassungsrasterspeichers 60 mit 4 Bits pro
Pixel durch den Rasterkombinator 80 kombiniert. Das Ausgangssignal
dieses Prozesses wird im anderen Anzeigerasterspeicher 100 gespeichert.
Während
der Zeit für
den vertikalen Rücklauf
der Anzeige 110 werden die zwei Anzeigerasterspeicher 90 und 100 funktional
vertauscht und das Ausgangssignal des Rasterkombinators 80 wird
dann im entgegengesetzten Anzeigerasterspeicher 90 gespeichert,
während
sein Eingangssignal und jenes der Rasteranzeige 110 zum
Anzeigerasterspeicher 100 geliefert werden. Während des
Rasterkombinationsprozesses werden die 200 vertikalen Stellen
der Erfassungsrasterspeicher auf 400 solche Stellen in den zwei
Anzeigerasterspeichern 90 und 100 erweitert. In
einem einfachen Ausführungsbeispiel
wird dies durch Verdoppelung jeder Zeile von Daten durchgeführt, obwohl
ein raffinierteres Mittel, wie z.B. Mitteln einer Zeile oberhalb
und einer Zeile unterhalb, verwendet werden könnte, falls dies erwünscht ist.
-
Während in
einer Implementierung jeder Erfassungsspeicher- und Rasterisierungsabschnitt 200 nur Daten
bearbeitet, die einem Kanal des Oszilloskops zugeordnet sind, ist
es in einem alternativen Ausführungsbeispiel
möglich,
Daten von mehreren Kanälen
in einen einzelnen Erfassungsspeicher- und Rasterisierungsabschnitt 200 zu
geben. Wenn dies durchgeführt
wird, werden Abtastwerte von verschiedenen Kanälen in jedem "Erfassungs"-Speicherdatensatz verschachtelt, so
dass jeder Abtastwert von einem speziellen Kanal eine konstante
und vorbestimmte Anzahl von Stellen im Datensatz entfernt liegt.
Wenn man auf die Terminologie von analogen Oszilloskopen zurückkommt,
in denen es möglich
war, eine "zerhackte" Ansicht von zwei
oder mehr Signalen zu haben, die durch die multiplexierte Verwendung
einer einzelnen horizontalen Zeitbasis angezeigt wurden, wird diese
Art der Verwendung der Erfassungsspeicher- und Rasterisierungsabschnitte 200 als "Zerhackungs"-Betriebsart bezeichnet. Wenn Daten von
verschiedenen Kanälen
in der Zerhackungsbetriebsart verschachtelt werden, werden die einzelnen
Kanälen
zugeordneten Daten durch den Rasterisierungsprozess 40 in
zusätzlichen
Bits, die jedem Pixel zugeordnet sind, "gekennzeichnet", so dass später festgestellt werden kann,
welche Kanäle
den Inhalt jedes Pixels beeinflusst haben. Im 200- Zähler-Block 36 sind
vier zusätzliche
Bits zur Kanalkennzeichnung neben den 19 Bits vorhanden, die ein
Teil der Zähler
sind.
-
Um
im vorstehend beschriebenen System einen maximalen Durchsatz aufrechtzuerhalten,
werden Erfassungen in Stapeln verarbeitet. Um den Fluss von Erfassungsdaten
für den
Rasterisierungsprozess konstant mit der erforderlichen Geschwindigkeit
verfügbar
zu halten, muss die nächste
Erfassung gestartet werden, nachdem die mittlere einzelne Erfassungsrasterisierungszeit
seit dem Ende der vorherigen Erfassung abgelaufen ist. Erfassungen
starten jedoch durch Abtasten von Daten und Bewegen derselben in
den Erfassungsspeicher, ohne zu wissen, wann oder sogar ob der nächste Trigger
jemals auftritt. Das Ziel des Erfassungsspeicher- und Rasterisierungsabschnitts 200 besteht
jedoch darin, Daten in Richtung des Anzeigeabschnitts 300 ohne
irgendeine wahrnehmbare Unterbrechung fließend zu halten. Daher kann
sich der Rasterisierungsprozess 30 nicht an unbestimmtem
Warten, bis ein Trigger empfangen wird, beteiligen, wenn seine Fähigkeit, die
Ausgabe von Daten fortzusetzen, durch diesen Tätigkeitsverlauf unmöglich gemacht
wird.
-
Um
mit diesem Problem zurechtzukommen, verfolgt die Prozesssteuereinheit 180 die
Zeit, die vergeht, nachdem die nächste
Erfassung verfügbar
geworden sein sollte, aber dies nicht der Fall war. Wenn ein solches "spätes Triggerintervall" abgelaufen ist,
fragt die Prozesssteuereinheit 180 die Triggerschaltung 15 ab, um
festzustellen, ob ein Trigger schon empfangen wurde. Wenn ein Trigger
empfangen wurde, hat es keinen Zweck, eine Erfassung aufzugeben,
die in jedem Fall bald beendet wird. Wenn jedoch kein Trigger empfangen wurde
und die Prozesssteuereinheit 180 kein Signal "Trigger empfangen" von der Triggerschaltung 15 als
Reaktion auf ihre Abfrage empfängt, "bricht" sie den aktuellen
Erfassungsprozess ab und leitet die Teilergebnisse zur Intensitätsabbildungsschaltung 50 (über die
Schaltung 130 zur Korrektur von Nicht-Linearitäten, falls
vorhanden) weiter. Typischerweise liegt das späte Triggerintervall in der
Größenordnung
von 10 mal der Länge der
Zeit zwischen aufeinander folgenden Erfassungen. Dies ermöglicht,
dass langsame Trigger mit einer gleichmäßigen Verteilung in etwa 90%
der Zeit erfasst werden. Diese Lösung
erzeugt ein weiteres Problem in Gegenwart von periodischen langsamen
Triggern, die in einem Intervall ankommen, das etwa gleich der normalen
Erfassungsverzögerung
plus dem späten
Triggerintervall ist. Um das Verpassen fast aller dieser Trigger zu
vermeiden, kann veranlasst werden, dass das späte Triggerintervall über einen
gewissen Zeitraum zufällig variiert,
z.B. von 50% bis 150% von 10 mal der normalen Erfassungsratenzahl.
-
Die
vorstehend beschriebene Konstruktion mit ihrer tiefen statistischen
Datenbank des Erfassungsrasterspeichers 40 mit 21 Bits
pro Pixel und dem Rasterisierungsprozess 30 mit hohem Durchsatz
und variabler Intensität,
der ihn mit Daten versorgt, macht Artefakte sichtbar, die in Rasterizern
des Standes der Technik nicht zu sehen sind. Insbesondere kann eine
A/D-Differenz-Nicht-Linearität (A/D-DNL)
vom Erfassungsprozess 10 dazu führen, dass eine horizontale
Bandage in der Anzeige 110 sichtbar wird. Wenn Zeitbasisauswahlvorgänge die
Verwendung von Äquivalenzzeiteinstellungen
erfordern, können
sich auch Zeitinterpolator-Nicht-Linearitäten (TINL) in der Anzeige 110 als
vertikale Bandage zeigen.
-
Mit
Bezug zuerst auf 5 kann die Nicht-Linearitäts-Korrekturschaltung 130 verwendet
werden, um die Kompensation dieser Faktoren zu ermöglichen,
während
sich die Pixelintensitätsdaten
vom Erfassungsrasterspeicher 40 zum Intensitätsabbildungsprozess 50 bewegen.
Mit Bezug als nächstes
auf 6A und 6B können einzelne
Pixelintensitäten
nacheinander mit Korrekturkoeffizienten für die A/D-Differenz-Nicht-Linearitäten mit
dem Multiplizierer 131 und die Zeitinterpolations-Nicht-Linearitäten mit
dem Multiplizierer 132 multipliziert werden, wie in 6A gezeigt,
oder die A/D-DNL- und TINL-Korrekturkoeffizienten können zuerst
miteinander multipliziert werden 133 und dann können die
kombinierten Korrekturkoeffizienten durch den Multiplizierer 134 auf
die Pixelintensitäten
angewendet werden, wie in 6B gezeigt.
-
Wenn
man zu 5 zurückkehrt,
werden die Korrekturkoeffizienten zur Schaltung 130 zur
Korrektur von Nicht-Linearitäten
durch die Korrektur-Nachschlagetabelle 150 geliefert.
Da die Korrekturkoeffizienten, sowohl A/D-DNL als auch TINL, beide
auf einer pixelweisen Basis variieren können, wird auf die Korrektur-Nachschlagetabelle 150 durch
Rasteradressen vom Rasteradressengenerator 45, der in 2 gezeigt
ist, zugegriffen (falls erforderlich, mit geeigneter Verzögerung).
Wenn die Linearitätskorrektur
verwendet wird, stammt das Eingangssignal in die Intensitätsabbildungsschaltung
50 vom Ausgang des Multiplizierers 132 von 6A oder
von jenem des Multiplizierers 134 von 6B,
von welchen das eine oder das andere als Nicht-Linearitäts-Korrekturblock in 5 gezeigt
ist.
-
Die
für die
Korrektur-Nachschlagetabelle 150 erforderlichen Korrekturkoeffizienten
können
im Werk oder durch eine eingebaute Instrumentenkalibrierungssoftware
festgelegt werden. Wenn die DNL und TINL mit dem Instrumentenalter
und der Instrumententemperatur stabil sind, dann wäre ein Satz
von im Werk festgelegten Werten ausreichend. Ansonsten könnte eine
Instrumentensignalweg-Kompensationssoftware
die Kalibrierung auf Benutzeraufforderung durchführen, wenn eine verbesserte
Genauigkeit erwünscht
ist.
-
Das
Bestimmen der A/D-DNL-Kompensationskoeffizienten könnte durch
Liefern einer idealen Sinuswelle oder irgendeiner anderen bekannten
idealen Wellenform zum A/D, Digitalisieren derselben und Ansammeln
der Statistik für
die Trefferrate für
jeden Digitalisierungspegel durchgeführt werden. Die erfasste Statistik für den Anteil
an Zeit, die die Wellenform auf jedem Spannungspegel lag, kann mit
einer bekannten Statistik für
die ideale Wellenform verglichen werden, um geeignete Korrekturkoeffizienten
zu bestimmen, um zu veranlassen, dass die Statistik übereinstimmt.
-
Um
die Korrekturkoeffizienten für
die Zeitinterpolator-Nicht-Linearität zu bestimmen, sollte ein
schneller Trigger, der für
das Oszilloskop asynchron ist, zur Triggerschaltung geliefert werden
und ein Histogrammprofil der Verteilung der Treffer mit dem gleichmäßigen mittleren
Pegel verglichen werden, der von einem idealen vollkommen linearen
Zeitinterpolator erwartet werden würde. Wiederum würden geeignete
Kompensationsfaktoren die tatsächlichen
Daten mit den idealen in Übereinstimmung
bringen.
-
Das
Durchführen
einer linearen Intensitätsansammlung
der erfassten Daten gemäß dem vorstehend beschriebenen
Rasterisierungsverfahren bedeutet, dass der allgemeine Pegel von
angesammelten Intensitäten
zur Anzahl von angesammelten Erfassungen direkt proportional ist.
Dieses Raster wird jedes Mal, wenn der Bildschirm aktualisiert wird,
periodisch gelöscht
oder abklingen lassen. Wenn die Zeit zwischen den Aktualisierungen
nicht konstant ist, wie es häufig
aufgrund einer anderen Prozessoraktivität, einer anderen Anzeigeaktivität oder von
Daten abhängigen
Rasterkopierzeiten nicht der Fall sein kann, kann eine feste Skalierung des
angesammelten Erfassungsrasterspeicherinhalts zu beobachtbaren,
nicht mit dem Signal verbundenen Intensitätsschwankungen führen. Wenn
ein exponentielles Abklingen auf den sich ansammelnden Erfassungsrasterspeicherinhalt
zwischen Anzeigeaktualisierungen angewendet wird, besteht auch ein
anfänglicher
vorübergehender
Aufbau von Gesamtintensitäten
in der Abbildung, bis ein Status quo erreicht ist. Diese Effekte sind
alle ungewollte Artefakte, deren Beseitigung erwünscht wäre.
-
Obwohl
eine lineare Ansammlung von Erfassungen in Intensitätsschwankungen
am Rasterizerende des Prozesses am leichtesten zu erzeugen ist,
könnte
eine optimale Darstellung aus der Perspektive des Benutzers mehr
nicht-linear sein. Der Benutzer könnte sich beispielsweise manchmal
stark auf die seltensten Ereignisse konzentrieren und könnte daher
wollen, dass alle Nicht-Null-Pixel in die hellste Intensität, die die
Anzeige erzeugen kann, abgebildet werden. Alternativ könnte ein
bestimmter Bereich von Pixeltrefferraten und eine entsprechende
angesammelte Intensität
bestehen, die der Benutzer auf den vollen Bereich der verfügbaren dynamischen
Intensität
abbilden wollen würde,
um feine Unterschiede in der Frequenz, bei der sie durch erfasste
Daten beeinflusst werden, deutlicher zu unterscheiden.
-
Beide
der obigen Sätze
von Zielen können
mit einer vom Benutzer steuerbaren Intensitätsabbildungsfunktion angegangen
werden, die die Steuerung der Verstärkung und des Versatzes der Übertragungskurve ermöglicht.
Vom Standpunkt des Benutzers könnten
solche Steuerungen jeweils als Kontrast und Helligkeit erscheinen.
Das Mittel, durch das die Übertragungsfunktion
modifiziert werden kann, wenn sie implementiert wird, wie in 7 nachstehend
gezeigt und beschrieben, ist durch Steuern des Betrags eines maximalen
Pixelintensitäts-Bezugswerts und Steuern
der Größe der fünfzehn Unterbrechungspunktbruchteile,
die die Abbildungsfunktion bilden. Jeder der fünfzehn Unterbrechungspunkte
wird durch Multiplizieren des entsprechenden Bruchteils mit dem
maximalen Pixelintensitäts-Bezugswert
bestimmt. Die Bruchteile definieren eine normierte Übertragungsfunktion,
die der Benutzer modifizieren kann, während der maximale Pixelintensitätswert eine
Skalierung für
die erwarteten Datenansammlungen im Erfassungsrasterspeicher bereitstellt.
-
Mit
Bezug nun auf 5 & 7 wird der
Intensitätsabbildungsprozess 50 durch
Unterbrechungspunktwerte gesteuert. 7 zeigt,
wie diese Unterbrechungspunkte in der Intensitätsabbildungsschaltung verwendet
werden, um eine Verringerung von Bits pro Pixel in einer gewünschten
Weise durchzuführen.
Die Zuweisung von 15 Unterbrechungspunktwerten bestimmt
die Grenzen der 16 Intensitätspegel, die durch die Abbildung
mit 4 Bits pro Pixel erzeugt werden.
-
Die
in 7 gezeigte Schaltung arbeitet als Digitalisierer
mit fortlaufender Näherung,
wenn sie den Bitzählwert
der Pixel verringert. Das 21-Bit-Pixelintensitätswort muss
jedoch zuerst abgeglichen werden, um jegliche Kennzeichenbits zu
beseitigen. Da Kennzeichenbits, falls vorhanden, die höchstwertigen
Bits (MSBs) sind und höchstens
vier von diesen vorhanden sind, werden die vier MSBs mit einer 4-Bit-Kennzeichenmaske durch
UND-Gatter 51 einer UND-Verknüpfung unterzogen. Die Kennzeichenbits/Werte-Tabelle 59 zeigt,
wie die Anzahl von vorhandenen Kennzeichenbits, die in der linken
Spalte gezeigt sind, durch Bits, die den Hexadezimalwert darstellen,
der rechts gezeigt ist, ausgeblendet werden, wodurch 17 bis 21 Bits
erzeugt werden, die alle den Eingangspixelintensitätswert darstellen.
-
Der
Eingangspixelintensitätswert
wird mit dem Unterbrechungspunkt 8 verglichen 52, der einen
Wert entsprechend dem MSB der Anzahl von Bits im maskierten Eingangspixelintensitätswert aufweist,
d.h. eine Hälfte
des maximalen Eingangspixelintensitätswerts. Wenn der Eingangspixelintensitätswert größer ist
als der Wert des Unterbrechungspunkts 8, ist das Bit 3
(das MSB) des 4-Bit-Pixelintensitätswerts,
auf den abgebildet wird, Eins. Wenn im Gegenteil der Eingangspixelintensitätswert kleiner
ist als der Wert des Unterbrechungspunkts 8, ist das Bit
3 (das MSB) des 4-Bit-Pixelintensitätswerts, auf den abgebildet
wird, Null. In ähnlicher
Weise wird der Eingangspixelintensitätswert entweder mit dem Unterbrechungspunkt 4 oder
Unterbrechungspunkt 12 verglichen 54, der 1/4
bzw. 3/4 des Eingangspixelintensitätswertbereichs darstellt, um
das Bit 2 des 4-Bit-Pixelintensitätswerts,
auf den abgebildet wird, zu bestimmen. Ob der Wert, mit dem verglichen
wird, 1/4 oder 3/4 ist, hängt
davon ab, welches Ausgangssignal des Multiplexers 53 vom
Ergebnis des vorherigen Vergleichs 52 ausgewählt wird.
-
Ebenso
wählen
die Ergebnisse der ersten zwei Vergleiche 52, 54 aus,
mit welchem Ausgangssignal des Multiplexers 55 der Eingangspixelintensitätswert verglichen
werden soll 56, wobei der Unterbrechungspunkt 2, 6, 10 oder 14 jeweils
1/8, 3/8, 5/8 oder 7/8 des maximalen Eingangsintensitätswerts
darstellt. Das Ergebnis dieses Vergleichs 56 ist das Bit
1 des 4-Bit-Intensitätswerts,
auf den abgebildet wird. Dieser Prozess wird ein zusätzliches
Mal wiederholt, wobei das Ausgangssignal des Multiplexers 57 einer
der Unterbrechungspunkte 1, 3, 5, 7, 9, 11, 13 oder 15 in
Abhängigkeit
vom Ergebnis der ersten drei Vergleiche 52, 54, 56 ist
und wobei dieses Ausgangssignal mit dem Eingangspixelintensitätswert verglichen
wird 58, um den Zustand des Bits 0 zu bestimmen. Das Ausgangssignal
dieses Prozesses, der auch als binäre Suche zum Auffinden von
Intervallbereichen, in die abgebildet wird, gekennzeichnet werden
kann, ist der 4-Bit-Pixelintensitätswert.
-
Obwohl
die Eingangspixelintensitätswerte
und die Unterbrechungspunkte normalerweise alle ganze Zahlen mit
21 Bits sind, werden, wenn Kennzeichenbits vorhanden sind, die MSBs
der Eingangspixelintensitätswerte
auf Null gebracht und es wird veranlasst, dass die Unterbrechungspunkte
in einen Bereich eingeschränkt
werden. Dies verkleinert alle Unterbrechungspunkte auf einen Bruchteil
des hinsichtlich des Werts verringerten maximalen Pixelintensitäts-Bezugswerts.
-
Andere
Implementierungen als die vorstehend im einzelnen gezeigte könnten verwendet
werden, um die eigentliche Abbildung durchzuführen. Eine Hardware- oder Software-implementierte
Nachschlagetabelle oder ein Softwarealgorithmus, der eine binäre Suche
oder irgendeine andere Sortierfunktion implementiert, könnte auch
verwendet werden, um Eingangspixelintensitätswerte in Ausgangspixelintensitätswerte
auf der Basis der Unterbrechungspunkte und Bruchteile, die sie darstellen,
umzuwandeln. Der wichtigste Aspekt und reale Wert der Erfindung
besteht darin, den Betrag des maximalen Pixelintensitäts-Bezugswerts in verschiedenen
Weisen verändern
zu können
und auch die Unterbrechungspunkte verschiedenartig definieren und
dadurch die Übertragungsfunktion
zwischen den zwei Pixelintensitätsdarstellungen
formen zu können.
Die Anzahl von Eingangsbits und Ausgangsbits kann verändert werden,
solange die Anzahl von Ausgangsbits kleiner ist als die Anzahl von
Eingangsbits. Die Anzahl N von möglichen
Ausgangsintensitätswerten
könnte
eine andere als eine Potenz von Zwei sein. Die Anzahl von Bruchteilen
und Unterbrechungspunkten, die verwendet werden, um die Übertragung
zu implementieren, könnte
geringer als N-1 sein, wodurch die Symmetrie der Abbildungsfunktion
verändert
wird und teilweise zusammenbricht.
-
Es
gibt auch eine Anzahl von interessanten möglichen Weisen, um den maximalen
Pixelbezugswert festzulegen, zusätzlich
zum einfachen Bestimmen des maximalen Pixelintensitätswerts,
der durch die größere Anzahl
von Eingangsbits dargestellt werden kann. Der Bedienperson könnte ermöglicht werden,
den maximalen Pixelintensitäts-Bezugswert
durch die Verwendung einer "Helligkeits"-Steuerung festzulegen.
Die tatsächlich
implementierte Alternative ermöglicht
der Bedienperson, zwischen einer Betriebsart "automatische Helligkeit EIN" und einer Betriebsart "automatische Helligkeit
AUS" auszuwählen. In
der Betriebsart automatische Helligkeit EIN kann der maximale Pixelbezugswert
zu einer Funktion des tatsächlichen
Intensitätswerts
des größten Eingangspixelintensitätswerts
gemacht werden, wie durch eine Hardware oder Software irgendwo im Datenweg
gemessen. In der Betriebsart automatische Helligkeit AUS kann der
maximale Pixelbezugswert im Gegenteil zu einer Funktion einer Menge
an Zeit gemacht werden, in der sich Intensitätsdaten im Erfassungsrasterspeicher 40 angesammelt
haben. Obwohl die vorangehende Verwendung des Betriebsartkonzepts
der automatischen Helligkeit derzeit das bevorzugte Ausführungsbeispiel
zu sein scheint, könnte
die EIN-Betriebsart von einem gewissen anderen Faktor als dem tatsächlichen
Intensitätswert
des größten Eingangspixelintensitätswerts
abhängen
oder die AUS-Betriebsart könnte
von irgendeinem anderen Faktor als der erfassten Zeit abhängen.
-
Der
maximale Pixelintensitäts-Bezugswert
kann auch zu einer Funktion des mittleren Pixelintensitätswerts
der im Erfassungsrasterspeicher 40 gespeicherten Pixel
gemacht werden. Alternativ kann der maximale Pixelintensitäts-Bezugswert
auch zu einer Funktion des mittleren von Null verschiedenen Pixelintensitätswerts der
im Erfassungsrasterspeicher 40 gespeicherten Pixel gemacht
werden.
-
Im
Fall von automatischer Helligkeit AUS, wie es ursprünglich vorstehend
erörtert
ist, ist der verwendete maximale Pixelwert ein theoretischer maximaler
Pixelintensitätswert,
der zur Menge an Zeit, in der Erfassungen im Bild angesammelt wurden,
direkt proportional ist. Diese Option automatische Helligkeit AUS
verursacht, dass der Gesamtprozess ein Artefakt von analogen Oszilloskopen
kopiert, nämlich
dass die Anzeigeintensität
von der Triggerrate des Benutzers abhängt. Unter einigen Umständen übermittelt
dies eine zusätzliche Information
an den Benutzer, insbesondere eine qualitative Angabe der Signalrate.
Unter anderen Umständen kann
dieses Verhalten zu beanstanden sein, somit die Alternative von
automatischer Helligkeit EIN und der automatischen Skalierung aller
Ereignisse auf die tatsächliche
volle Intensität.
Die Verwendung einer theoretischen maximalen Pixelintensität auf der
Basis nur der Zeit, die zur Erfassung verwendet wird, kann zu einem Fehlabgleich
des dargestellten Bildes im Vergleich zu einem Bild, das von der
Verwendung der Skalierung auf der Basis der tatsächlichen empfangenen maximalen
Pixelintensität
abgeleitet wird, führen.
Wenn eine Menge Trigger zur Verfügung
stehen, würde
normalerweise erwartet werden, dass das System dasselbe Bild ohne Rücksicht
darauf, welche dieser Referenzen verwendet wird, erzeugt. In der
Praxis können
sie sehr unterschiedlich sein und es ist erwünscht, dem Benutzer zu ermöglichen
zu steuern, welche verwendet wird.
-
In
Abhängigkeit
von der vorliegenden maximalen Anstiegsgeschwindigkeit tritt ein
breiter dynamischer Bereich der maximalen Pixelintensität auf. Der
maximale Pixelintensitätswert
für ein
Signal, das auf einem konstanten Spannungspegel bleibt, ist beispielsweise
200 mal so groß wie
jener eines Signals, das alle 200 Spannungspegel der Anzeige in
der einer Pixelspalte zugehörigen
Zeit überspannt.
Diese Schwankung des Gesamtintensitätspegels wird viel größer, wenn
der dv/dt-Gewichtungsfaktor W angewendet wird. Dieser Gewichtungsfaktor
W erzeugt einen anderen Faktor von 31:1 in der Intensitätsdifferenz
zwischen Signalen mit maximaler und keiner vertikalen Änderung,
was den Gesamtintensitätsdifferenzfaktor
zu 6200:1 macht. Ein Verfahren, um diese mit einem Signal verbundene
(im Gegensatz zur mit dem Trigger verbundenen) Intensitätsschwankung
zu kompensieren, besteht darin, die theoretische maximale Pixelintensität auf Zeitbasis
mit einem Effizienzfaktor zu multiplizieren. Dieser Effizienzfaktor
basiert auf dem Verhältnis
der tatsächlichen
maximalen Pixelintensität
zur erwarteten theoretischen maximalen Pixelintensität, welche
selbst gleich dem Kompressionsfaktor mal dem Erfassungszählwert ist.
Insgesamt berechnet das System dann die theoretische maximale Pixelintensität = Erfassungszählwert·Skalierungsfaktor·(tatsächliche
maximale Pixelintensität/(Erfassungszeit·Kompressionsfaktor)).
-
Noch
eine weitere Alternative für
die Berechnung des maximalen Pixelintensitäts-Bezugswerts besteht darin, ihn auf der
mittleren von Null verschiedenen Pixelintensität oder der mittleren Pixelintensität, einschließlich Nullpixeln,
zu basieren. In einer Implementierung umfasst die Hardware eine
Einrichtung zum Zählen
aller von Null verschiedenen Pixel und der Summe aller Pixelintensitäten, was
ermöglicht,
dass eine dieser Methoden verwendet wird.
-
Mit
erneutem Bezug auf 5 wird das Ausgangssignal der
Intensitätsabbildung 50 als
nächstes durch
den Intensitätswandler 120 verarbeitet,
wenn, aber nur wenn das Freigabesignal für die Betonung seltener Ereignisse
aktiv ist. Dieses Signal wird durch die Bedienpersonensteuerung
aktiviert, wenn die Bedienperson seltene Ereignisse betonen und
häufigere
dämpfen
will. Bei der Freigabe modifiziert der Intensitätswandler 120 die
Pixelhelligkeit, um seltene Ereignisse zu betonen. In seiner einfachsten
Implementierung kann dies das Komplementieren aller von Null verschiedenen
Pixelintensitäten
bedeuten. Dies macht die am wenigsten hellen Pixel zu den hellsten
und die hellsten Pixel zu den dunkelsten. Pixel mit Zwischenhelligkeit
werden minimal beeinflusst oder überhaupt
nicht beeinflusst. Andere, komplexere Algorithmen könnten unter
Verwendung einer Nachschlagetabelle oder von Nachschlagetabellen
verwendet werden. Die Erzeugung oder Auswahl seiner Tabelle kann
unter der Steuerung des Benutzers stattfinden und könnte Abbildungen
umfassen, die dem Benutzer ermöglichen,
durch Wählen
unter Vorkommenshäufigkeiten
entweder mit Intensität oder
Farbe hervorzuheben.