-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft die Verarbeitung von erfaßten 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
umfaßt,
und die Fähigkeit,
eine hohe Wahrscheinlichkeit für
die Erfassung von Erfassungen mit langsamer Triggerrate durch eine
Rasterisierungsunterbrechung zu geeigneten Zeitpunkten bereitzustellen.
-
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, daß ein vorbestimmtes
Ausmaß an
Intensität
verwendet werden soll, um das Pixel zu beleuchten, und "aus" angibt, daß 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 verschiedenen 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 erfaßte 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 Prozeß 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 Abklingprozeß 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
erfaßten
Wellenformdaten gibt es eine gewisse Funktion, die die erfaßten Datenpunkte
in das Anzeigeraster der Zeit (x-Achse) gegen die Spannung (y-Achse) abbildet.
Diese Abbildungsfunktion umfaßt
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, daß 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, daß 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, daß 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 daß,
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 erfaßten
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 erfaßt 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 daß 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, daß sie
von der Oszilloskopbedienperson vollständig übersehen werden kann.
-
Manchmal
sind Triggerraten in einer Weise variabel, die eine volle Nutzung
der Erfassungs- und Rasterisierungsschaltung verhindert. Was erwünscht ist,
ist diese Erfassungs- und Rasterisierungsvorrichtung mit hoher Geschwindigkeit
und hohem Volumen in einer geeigneten und effizienten Weise in Gegenwart
von Eingangstriggerraten mit niedriger Frequenz betreiben zu können, während eine
hohe Wahrscheinlichkeit zum Erfassen der mit diesen langsamen Triggern
verbundenen Daten aufrechterhalten wird.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der Erfindung,
wie in Anspruch 1 definiert, wird ein Verfahren bereitgestellt,
um zu ermöglichen,
daß diese
Erfassungs- und Rasterisierungsvorrichtung mit hoher Geschwindigkeit
und hohem Volumen in einer geeigneten und effizienten Weise in Gegenwart
von niedrigen Eingangstriggerraten arbeitet. Wenn die erwartete
Dauer eines Warteintervalls für
das Auftreten des nächsten
Triggers um einen variablen Faktor von z.B. fünf, zehn oder fünfzehn überschritten
wird, wird der aktuelle Erfassungsprozeß beendet und die Ergebnisse
werden weitergeleitet, nachdem zugelassen wurde, daß die Rasterisierung
normal beendet wird.
-
KURZBESCHREIBUNG
DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
-
1 ist
ein vereinfachtes Blockdiagramm des Flusses von erfaßten Daten,
während
sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt
und in den Anzeigeabschnitt eines Oszilloskops gemäß der vorliegenden
Erfindung bewegen.
-
2 ist
ein Blockdiagramm, das zeigt, wie der Rasterisierungsprozeß 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 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 Anzeigevorbereitungsprozeß 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 erfaßten Daten,
während
sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt
200 und in den Anzeigeabschnitt 300 eines Oszilloskops gemäß 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 Prozeßsteuereinheit 180 das
Eingangssignal und andere Kriterien (nicht dargestellt) und überträgt das Auftreten
der Zufriedenstellung der Triggerbedingungen zur Erfassungsschaltung 10 und
zur Prozeßsteuereinheit 180.
-
Die
Prozeßsteuereinheit 180 enthält Zeitgeber
und Zustandsmaschinen, die ermöglichen,
daß sie
den gesamten Erfassungs- und Rasterisierungsprozeß, 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 Prozeßsteuereinheit 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, daß neue
Daten an der Anzeige 110 fällig sind.
-
Wenn
Daten an der Anzeige 110 fällig sind, startet die Prozeßsteuereinheit 180 die
Intensitätsabbildung 50 und
anschließend
die DMA-Schaltung 70. Wie nachstehend genauer erörtert wird,
bestimmt die Prozeßsteuereinheit 180 auch,
wann Erfassungsabbrüche
erforderlich sind, veranlaßt
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
erfaßt
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, daß sie als
separate Kanäle
auf der Rasteranzeige 110 angezeigt werden. Die Kennzeichenbits
ermöglichen, daß die Kanäle priorisiert
oder "geschichtet" werden, so daß 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 veranlaßt 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, daß der Einfachheit halber Takt-
und Zeitsignale und Steuersignale von der Prozeßsteuereinheit 180 in
dieser Figur nicht gezeigt sind. Der Rasterisierungsprozeß 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
Prozeßsteuereinheit 180 bekannt.
-
Die
Adressensteuereinheit 31 ruft Erfassungsdaten ab, wie durch
die Prozeßsteuereinheit 180 (in 1 gezeigt)
veranlaßt,
während
fortlaufende Abtastwertversätze
und Pufferauswahlinformationen zum Datenpuffer 32 geliefert
werden. Die Adressensteuereinheit 31 identifiziert auch
das Ende jeder Spalte, so daß der
Zählerblock 36 geeignet
zurückgesetzt
und zwischengespeichert werden kann. Diese Steuerungen verlaufen
tatsächlich
entlang der Datenpipelines, so daß die Steuerung den Fluß der Daten
verfolgt. Wenn die Rasteraktualisierung länger dauert als der Kompressionsprozeß, wird
der Kompressionsprozeß 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 Rasterisierungsprozeß 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 "aufeinanderfolgenden" Datenpunkten erzeugt wird, und die
Tatsache, daß die
zur Erzeugung dieses Datensatzes abgetasteten Wellenformen nicht
vollkommen wiederholt sein können,
ergeben.
-
Die
letzte 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 erfaßten 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 erfaßt
Abtastwerte einmal pro jeder Nanosekunde, so daß 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,
daß 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 übertagen.
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 erfaßten
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 daß 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, daß 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
erfaßten
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
Rasterisierungsprozeß 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 219/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 Kanalidentifikationskennzeichen, 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 daß 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, 21731 = 4338. Wenn 100000
Wellenformen pro Sekunde erfaßt
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, daß 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, daß 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 Rasterisierungsprozeß entweder
viele kleine Puffer, einen einzelnen großen Puffer oder irgend etwas
dazwischen verarbeitet, wird ein Kompromiß zwischen der Verschwendung
von Platz mit dem RAM und der Länge
und dem Zählwert,
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, daß 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 Rasterisierungsprozeßgeschwindigkeit
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 Zeichen 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, daß 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 erfaßt 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
erfaßt
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, daß 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 Prozeß 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
daß 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 Rasterisierungsprozeß 40 in
zusätzlichen
Bits, die jedem Pixel zugeordnet sind, "gekennzeichnet", so daß später festgestellt werden kann,
welche Kanäle
den Inhalt jedes Pixels beeinflußt 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 Fluß von Erfassungsdaten
für den
Rasterisierungsprozeß konstant mit
der erforderlichen Geschwindigkeit verfügbar zu halten, muß 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 Rasterisierungsprozeß 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 Prozeßsteuereinheit 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 Prozeßsteuereinheit 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 Prozeßsteuereinheit 180 kein
Signal "Trigger
empfangen" von der
Triggerschaltung 15 als Reaktion auf ihre Abfrage empfängt, "bricht" sie den aktuellen
Erfassungsprozeß 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 aufeinanderfolgenden Erfassungen. Dies ermöglicht,
daß langsame
Trigger mit einer gleichmäßigen Verteilung
in etwa 90% der Zeit erfaßt
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 veranlaßt
werden, daß 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 Rasterisierungsprozeß 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 Erfassungsprozeß 10 dazu
führen,
daß 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ätsabbildungsprozeß 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 Ausgangssignal 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 erfaßte 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, daß 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 erfaßten
Daten gemäß dem vorstehend beschriebenen
Rasterisierungsverfahren bedeutet, daß 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, daß 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 erfaßte Daten
beeinflußt
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ätsabbildungsprozeß 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 muß 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 Prozeß 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 veranlaßt, daß 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 erfaßten 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, daß der
Gesamtprozeß ein
Artefakt von analogen Oszilloskopen verdoppelt, nämlich daß 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, daß 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 umfaßt die Hardware eine Einrichtung
zum Zählen
aller von Null verschiedenen Pixel und der Summe aller Pixelintensitäten, was
ermöglicht,
daß 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 beeinflußt
oder überhaupt
nicht beeinflußt.
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.