-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft Anzeigen von digitalen Oszilloskopen und insbesondere
Verfahren zum Verarbeiten von erfaßten Wellenformdaten, um Graustufen-Rasterabtastanzeigen
für solche
Oszilloskope zu erzeugen.
-
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 wir jeden Tag auf Computerbildschirmen sehen,
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- oder
Graustufen-Anzeige. Die jedem Bit einer Graustufen-Anzeige zugeordneten
Speicherstellen enthalten mehrere Bits an Intensitätsinformation,
die angeben, mit welcher von einer Anzahl von Intensitätspegeln
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.
-
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 Graustufen-Anzeigen.
-
Eine
Mehr-Bit-Intensitätsinformation
macht es auch möglich,
analogartige "Beständigkeits"-Effekte, d.h. das
Ablinken der Signalintensität über die
Zeit, zu erzeugen. In den älteren
analogen Oszilloskopen war die Beständigkeit ein Abklingen der
Beleuchtung der Kathodenstrahlröhre
(CRT), das eine Funktion der Art des in der Konstruktion der CRT
verwendeten Phosphors und der an die verschiedenen Elemente dieser
Röhre angelegten
Spannungen war. In digitalen Oszilloskopen kann eine Beständigkeitsabklingfunktion
durch Dekrementieren des jedem beleuchteten Pixel zugehörigen Intensitätswerts
gemäß einem
gewissen Algorithmus implementiert werden. Das US-Patent 4 504 827,
Hanson et al., über "Synthetic Persistence
for Raster Scan Displays",
beschreibt ein Verfahren zum pseudozufälligen Dekrementieren von Intensitätsdaten
in einer Rasterabtastanzeige. Das US-Patent 5 254 983, Long et al., über "Digitally Synthesized
Gray Scale for Raster Scan Oscilloscope Display", beschreibt eine Methode für ein beständigkeitsartiges
Abklingen von als digitale Zahlen gespeicherten erfaßten Wellenformen.
Das US-Patent 5 387 896, Alappat et al., über "Rasterscan Display with Adaptive Decay", beschreibt ein
System für
die Rasterisierung, das ein lokales Pixel in einer von zwei Weisen in
Abhängigkeit
von einer Berechnung auf der Basis des Anfangswerts dieses Pixels
verarbeitet.
-
Typischerweise
erfassen digitale Oszilloskope eine Information über das Verhalten einer Wellenform durch
periodisches Abtasten der an einem Punkt vorliegenden Spannung,
an dem eine Sonde mit irgendeinem Knoten einer beobachteten Schaltung
in Kontakt steht. Die Oszilloskop-Sonde und das Eingangsende des
Oszilloskops sind dazu ausgelegt, das Signal oder einen gewissen
vorbestimmten Bruchteil oder ein Vielfaches des Signals genau zu
kopieren und es an einen Analog-Digital-Wandler zu übergeben.
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.
-
Wie
vorher beschrieben wurde, besteht ein Raster aus horizontalen Zeilen
und vertikalen Spalten. Jede Zeile kann durch eine Stellennummer
entlang der vertikalen Achse (y-Achse) identifiziert werden, während jede
Spalte durch eine Stellennummer entlang der horizontalen Achse (x-Achse)
identifiziert werden kann. In einem Oszilloskop bestimmen typischerweise
Spannungsamplitudenwerte, die vom Dateninhalt einer Erfassungsspeicherstelle
gewonnen werden, die vertikale Stelle (Zeilennummer) eines beleuchteten
Pixels, während
Zeitwerte, die von den Adressen des Erfassungsspeichers gewonnen
werden, die horizontale Stelle (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.
-
Der
digitale Inhalt eines Erfassungsspeichers sowie die Zeitbedeutung
von aufeinanderfolgenden Adressen in diesem Speicher müssen nur
zu den Spannungs- und Zeitwerten, die sie darstellen, proportional sein.
Die Erfassungs- und
Anzeigeeinstellungen des Instruments bestimmen die tatsächlichen
Spannungs- und Zeitwerte, die sie darstellen, und bestimmen die
Skalierungsfunktionen, die angewendet werden, wenn die Daten in
den Rasterspeicher abgebildet werden.
-
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, muß eine gewisse Form von Datenkompression verwendet
werden. Am einfachsten könnte
dies das Verwerfen aller bis auf jeden N-ten Datenpunkt bedeuten (als "Dezimierung" bekannt), obwohl
dies den Verlust von einigem des im ursprünglichen Datensatz zur Verfügung stehenden
Informationsgehalts bedeutet.
-
Wenn
der Rasterspeicher, in den die erfaßten Daten abgebildet werden,
mehrere Bits aufweist, die jeder Pixelstelle zugeordnet sind, das
heißt
Graustufen-Beleuchtungswerte
unterstützt,
dann können
mehrere "Angriffe" (auch als "Treffer" bekannt) am gleichen
Pixel von einzelnen Angriffen oder einer anderen Anzahl von Angriffen
durch eine Intensitätsschwankung
(Helligkeitsunterschiede) in der Anzeige unterschieden werden. In
Ein-Bit-Anzeigen ist eine solche Unterscheidung nicht möglich, da
jedes Pixel darauf begrenzt ist, daß es entweder ein oder aus,
d.h. beleuchtet oder nicht beleuchtet, ist. 1A–C, 2A–C, 5, 6, 9 und 10 stellen
alle Ein-Bit-Rasterisierungsausgaben dar. Die mit den "D"s und "R"s
in diesen Figuren gekennzeichneten Pixel sind alle auf denselben
ungefähren
Pegel beleuchtet. Wie nachstehend weiter erörtert wird, beziehen sich diese "D"s und "R"s
auf die Quelle der Entscheidung, ein spezielles Pixel zu beleuchten, und
haben nichts mit der Intensität
dieses Pixels zu tun.
-
Anzeigen
von digitalen Oszilloskopen haben historisch die erfaßten Wellenformdaten
in einer von zwei grundlegenden Weisen abgebildet und dargestellt,
die als "Punktmodusrastierisierung" und "Vektormodusrasterisierung" bekannt sind, wobei
die letztere auch als "Vektorisierung" bekannt ist. 1A, 1B und 1C stellen
die Punktmodusrasterisierung einer Sinuswellenform dar. In 1A sind
ungefähr
1,5 Zyklen dieser Wellenform durch 20 Wellenformdatenpunkte aus
dem Erfassungsspeicher dargestellt. Aufgrund der Eins-zu-Eins-Beziehung
zwischen den Eingangsdaten und den Rasterpixelspalten war keine
Datenkompression oder -erweiterung erforderlich und die 20 erfaßten Datenpunkte
wurden direkt in die gezeigten 20 Pixelspalten abgebildet. Die Pixel,
die durch diesen Prozeß aktiv
gemacht werden, sind mit einem "D" bezeichnet, das
sich sowohl auf die Übereinstimmung
mit einem aktuellen Datenpunkt als auch in diesem Fall die Ausgabe des
Punktmodusprozesses bezieht.
-
1B zeigt
eine Punktmodusrasterisierung von ähnlichen Wellenformdaten, aber
in 1B sind drei Zyklen gezeigt, die mit einer 2:1-Kompression
abgebildet sind. Wie in diesen Figuren zu sehen ist, werden im Punktmodus
nur Pixel, die direkt durch die Rasterisierungsabbildungsfunktion "angegriffen" werden, beleuchtet
oder ihre Intensitätswerte
werden erhöht,
und die anderen Pixel in der Rasteranzeige sind unbeeinflußt. 1C stellt
auch die Punktmodusrasterisierung dar, aber sie zeigt ungefähr drei
Viertel eines Zyklus mit einer 1:2-Erweiterung.
-
Mit
Bezug als nächstes
auf 2A und 2B zeigen
diese Figuren die Vektormodusrasterisierung derselben Eingangsdaten,
die für
die Punktmodusrasterisierung in 1A und 1B verwendet
wurden. Wie in 2A und 2B zu
sehen ist, "greift" die Vektormodusrasterisierung
alle Pixel an (d.h. schaltet sie ein oder erhöht deren Beleuchtung), die
zwischen denjenigen Pixeln liegen, die im Punktmodus angegriffen werden
würden.
In diesen Figuren sind die Pixel entsprechend tatsächlichen
erfaßten
Daten mit "D"s angegeben, während diejenigen,
die vom Rasterisierungsprozeß geliefert
werden, mit "R"s angegeben sind.
Trotzdem werden beide Sätze
von Pixeln gleich beleuchtet und das resultierende Bitmap-Rasterbild
kann mit einem einzigen Bit pro Pixel beschrieben werden.
-
Die
Ausgabe eines Rasterisierungsprozesses wird gewöhnlich mit einem gewissen vorher
existierenden Inhalt eines Rasterspeichers kombiniert und der resultierende
zusammengesetzte Rasterinhalt kann anschließend regulär einer gewissen Art von Abklingprozeß unterzogen
werden. Für
mehr Information auf diesem Gebiet 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"; Digital Waveform Measuring Apparatus
Having a Shading-Tone Display Function".
-
Es
sollte beachtet werden, daß der
Rasterisierungsprozeß im
allgemeinen an nur einer Informationsspalte auf einmal durchgeführt wird.
Die Eingabe in diesen Prozeß ist
typischerweise die vertikale Koordinate des aktuellen Punkts in
dieser Spalte und die vertikale Koordinate des nächsten Punkts. Diese vertikalen
Koordinaten werden vom Datenteil der Daten-Adressen-Paare im Erfassungsspeicher
gewonnen. Die aktualisierte Spalte wird durch den Adressenteil desselben
Daten-Adressen-Paars bestimmt. Da die Abbildung von Datenadressen
in Pixelspalten viele in eine, eine in eine oder eine in viele sein
kann, kann der vorstehend angeführte "nächste" Punkt der nächsten Spalte, wie in 1A,
oder derselben Spalte, wie es einen Teil der Zeit in 1B der
Fall ist, zugeordnet sein. Wenn die nächste Spalte keinen Datenpunkt
aufweist, der direkt in diese abbildet, kann ein horizontaler Interpolator
außerhalb
des Rasterisierers eine bestimmen und sie zum Rasterisierer liefern.
Der Rasterisierer behandelt diese horizontal interpolierten Punkte
in der gleichen Weise wie seine anderen Eingaben, die direkt von
den Daten-Adressen-Paaren stammen.
-
Die
Bestimmung, welcher Modus der Rasterisierung in einer speziellen
Situation bevorzugt ist, Punktmodus oder Vektormodus, wird häufig durch
die Wellenformeingangsrate bestimmt. Digitale Oscilloskope erfassen
Wellenformdaten als Reaktion auf ein "Auslöse"-Ereignis. Obwohl
Auslöser
auf komplexeren Ereignissen basieren können, wird ein Auslöser typischerweise
erzeugt, wenn die Amplitude des beobachteten Signals eine Amplitudenschwelle
in einer speziellen Richtung kreuzt. Gewöhnlich werden die Amplitude
und die Richtung des Auslöseereignisses
durch die Oszilloskopbedienperson bestimmt, sie kann jedoch auch
von einigen Oszilloskopen automatisch bereitgestellt werden, zumindest
in bestimmten Betriebsarten. Typischerweise findet die Bedienperson
den Auslösepegel
und die Auslöserichtung,
die zum Sehen des Teils des Signals geeignet zu sein scheint, an
dem sie interessiert ist, und nimmt dann Einstellungen der Zeitbasis,
der vertikalen Amplitude und der Helligkeit und möglicherweise
ferner Auslösepegeleinstellungen
in einer iterativen Weise vor, bis ein zufriedenstellendes Wellenformbild
auf der Anzeige erzeugt wird.
-
Wenn
Auslöseereignisse
schnell auftreten, kann das Oszilloskop einige von ihnen ignorieren
müssen, da
es nicht ausreichend Zeit hatte, um noch die Daten von der letzten
Erfassung zu verarbeiten und anzuzeigen. Da die Vektorisierung den
Analyse- und Anzeigeprozeß verlangsamen
kann, wird der Wellenformdurchsatz gewöhnlich verringert, wenn der
Vektormodus ausgewählt
wird. Obwohl der Vektormodusbetrieb das beste Wellenformbild erzeugt,
ermöglicht
folglich der Punktmodus am besten mehr Wellenformdurchsatz.
-
Wenn
genügend
Auslöser
und Wellenformen vorhanden sind und die Datenverarbeitungsfähigkeiten des
Oszilloskops angemessen sind, stellt die Punktmodusrasterisierung
im allgemeinen eine geeignete Wellenformanzeige bereit. Wenn dagegen
die Auslöserate
niedrig ist und das Oszilloskop ausreichend Zeit hat, um die Verarbeitung
jeder Wellenform durchzuführen,
stellt die Vektormodusrasterisierung im allgemeinen das beste Bild
der Wellenform bereit. Es gibt jedoch Zeiten, in denen die Wellenformerfassungsrate
dazwischen liegt und weder der Punktmodus noch der Vektormodus für die Aufgabe
der Bereitstellung der optimalen Wellenformanzeige vollständig angemessen
ist. Unter diesen Umständen
kann die Bedienperson zwischen dem Punkt- und dem Vektormodus manuell
hin- und herschalten, aber feststellen, daß kein Modus wirklich für die Erzeugung
einer optimalen Anzeige geeignet ist. Es ist erwünscht, unter diesen Umständen eine
geeignete Alternative bereitzustellen.
-
Als
weiterer Hintergrund sollte beachtet werden, daß für viele Jahre digitale Oszilloskope
im Prozentsatz an Aktivität
an der Sondenspitze, die sie effektiv verarbeiteten und für den Benutzer
anzeigten, begrenzt waren. 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, das Ziel von einigen 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 zum Anzeigen von Daten für den Benutzer
verwendet wird, der andere verwendet wird, um mehr Daten zu sammeln
und zusammenzusetzen. Die langsame Anzeige der Konstruktion stellte
jedoch nur ein einziges Bit von Intensitätsdaten pro Pixel bereit und
hatte daher keine Fähigkeit
zur analogartigen Grauabstufung.
-
Andere
Oszilloskope hatten erfolgreich Graustufenanzeigen erzeugt, aber
diese Anzeigen basierten auf einem relativ niedrigen Durchsatz von
zugrundeliegenden Wellenformen. Wie vorstehend beschrieben wurde,
konnte die Abklingzeit dieser digitalen Beständigkeit verändert werden,
um eine Bedienpersonensteuerung ähnlich
denjenigen vorzusehen, die bei analogen Oszilloskopanzeigen verfügbar sind.
Wenn das Merkmal der digitalen Beständigkeit abgeschaltet war,
zeigte die Anzeige eine "unendliche
Beständigkeit", in welcher Variationen
der eingehenden erfaßten
Wellenformen zur Anzahl von beleuchteten Pixeln oder zu deren Helligkeit
beitragen konnten, aber nichts verminderte ihre Helligkeit oder
veranlaßte,
daß sie
dazu zurückgingen,
daß sie
nicht beleuchtet wurden. Über
die Zeit erreichte somit jedes beeinflußte Pixel maximale Intensität.
-
Wie
vorstehend angegeben wurde, ist die Verlängerung der "Einschaltzeit" an der Sondenspitze
und die Fähigkeit,
eine große
Anzahl von Wellenformen zu verarbeiten, ein sehr erwünschtes
Merkmal 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 400 000 Wellenformen pro
Sekunde zu erfassen. Dieses Oszilloskop konkurrierte mit der Leistung
eines analogen Oszilloskops mit einem Prozentsatz der "Einschaltzeit", der von etwa 50%
bis fast 99% in Abhängigkeit
von den Zeitbasiseinstellungen variierte. Diese Geschwindigkeit
wurde unter Verwendung von zwei Rasterspeichern, einen im Erfassungssystem
und den anderen im Anzeigesystem, erreicht. Der erste dieser Rasterspeicher,
der als "Rastererfassungsspeicher" bezeichnet wurde,
wurde fast konstant mit erfaßten
Wellenformen versorgt, die im Rastererfassungsspeicher durch einen
Erfassungsrasterisierer und einen Bildkombinator zusammengesetzt
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 gesandt,
wo er mit vorher angezeigten Daten kombiniert wurde. Dieser Anzeigerasterspeicher
wurde auch einer digitalen Beständigkeitssteuerung
wie z.B. der vorstehend beschriebenen unterzogen. Obwohl ein gemäß den Lehren
des '454-Patents
von Etheridge aufgebautes Oszilloskop einen sehr hohen Wellenformdurchsatz bewerkstelligte
und eine sehr nette Anzeige erzeugte, beruhte diese Konstruktion
auf einer großen
Menge von schneller und teurer Hardware für ihren Erfolg. Kostengünstigere
Rasterisierer erfordern typischerweise eine Betriebszeit in direktem
Verhältnis
zur Anzahl von Pixeln, deren Intensitäten durch den Rasterisierungsprozeß beeinflußt werden.
-
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. Ein unstetiges Signal, das in einem ansonsten
sich wiederholenden Signal anomal mit der Rate von etwa ein- von zehnmal
auftritt, zeigt sich beispielsweise deutlich in dieser Art von analoger
Anzeige, aber seine Helligkeit ist signifikant geringer als die
Helligkeit des Hauptsignals, das die anderen neun von zehnmal auftritt.
Wenn das Signal zu unstetig wird, ist es natürlich so schwach in der Helligkeit,
daß es
von der Oszilloskopbedienperson vollständig übersehen werden kann.
-
Im
US-Patent 5 412 579, Meadows, et al., über "Slow Display Method for Digital Oscilloscope
With Fast Acquisition System" wurden
die zwei Rasterspeicher mit einem Bit pro Pixel in einer Weise verwendet, die
der Bedienperson eine gewisse Angabe über die Anwesenheit von unstetigen
Signalen gab. Dies wurde unter Verwendung eines Zufallsverteilungsprozesses
bewerkstelligt, um die Zusammensetzung der jüngsten Wellenform mit den vorher
gesammelten Wellenformen zu qualifizieren. Mit dieser Methode zeigten
sich Wellenformen, die ausreichend unstetig waren, nur als Strichlinien,
während
Wellenformen, die die meiste Zeit vorkamen, im Allgemeinen als vollständig eingefüllt erscheinen
würden.
Aufgrund der Begrenzung dieser Implementierung von einem Bit pro
Pixel würden äußerst seltene
und nicht so seltene Wellenformen gewöhnlich als nicht wahrnehmbar
bzw. als immer vorhanden falsch identifiziert werden.
-
Mehrbit-Graustufen-Implementierungen
eines Anzeigerasterspeichers sehen eine Weise um die unmittelbar
vorstehend beschriebene Begrenzung vor. In einem System, wie z.B.
dem im vorstehend erörterten US-Patent
5 530 454, Etheridge et al., beschriebenen, kann veranlaßt werden,
daß das
unstetige Verhalten in einer sehr realistischen analogartigen Weise
erscheint, da selten angegriffene Pixel niemals dieselben Intensitätswerte
erreichen wie diejenigen, die regelmäßiger angegriffen werden. Wenn
die digitale Beständigkeit
aktiv ist, werden alle Pixel, die aktiv geworden sind, indem sie
angegriffen wurden, gemäß einer
gewissen geeigneten Funktion abklingen lassen, aber die Intensitäten der
selten angegriffenen Pixel werden weniger häufig erhöht und erscheinen daher immer
dunkler als jene, die während
fast jeder Rasterisierung angegriffen werden.
-
Jenseits
der Verbesserungen der Fähigkeit
von bisher beschriebenen digitalen Oszilloskopen, hatten einige
Oszilloskopbenutzer unter einigen Umständen auch eine sehr starke
Vorliebe für
ein weiteres Verhalten, das jenem von analogen Oszilloskopen ähnelt, "auf die Steigung
reagierende Vektorisierung".
Da analoge Oszilloskope vertikale Auslenkungen während eines horizontalen Durchlaufintervalls
erzeugen, um ein Echtzeitbild der Signalaktivität an der Sondenspitze vorzusehen,
verändern
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 Lieferung von Elektronen erzeugt, die von
der Einstellung einer "Helligkeits"-Steuerung abhängt.
-
Da
diese Lieferung von Elektronen konstant ist und da die horizontale
Bewegung des Elektronenstrahls konstant ist, variiert die wahrgenommene "Helligkeit" oder Intensität der Anzeige
umgekehrt mit der Menge an vertikaler Aktivität des Signals. Wenn keine vertikale
Bewegung besteht, wird die gesamte Elektronenenergie, die über ein
spezielles Zeitintervall erzeugt wird, in eine kurze horizontale
Linie geleitet, die relativ hell erscheint. Wenn andererseits viel
vertikale Bewegung innerhalb dieses gleichen Zeitintervalls vorhanden ist,
wird diese gleiche Menge an Energie über eine viel längere Linie
verteilt, die während
dieses äquivalenten Zeitintervalls
erzeugt wird. Obwohl dies verursachen kann, daß schnell ansteigende vertikale
Flanken schwierig zu sehen sind, gibt es dem Benutzer ein "Gefühl" für die Signalaktivität, die in
digitalen Anzeigen verloren gehen kann, die entweder gleichmäßiger hell
oder sparsam mit diskreten Punkten besetzt sind. Ein System, das
eine Anzeige erzeugt, die in dieser Hinsicht analogartig ist, ist
im US-Patent 5 550 963, Siegel et al., über "Graded Display of Digitally Compressed
Waveforms", beschrieben.
-
WO
97 44677 A offenbart ein Oszilloskop, in dem eine Erfassung oder
Datensammlung von der Anzeige abgekoppelt ist. Eine variable Beständigkeit
in den gesammelten Daten wird bereitgestellt, wobei das Abklingen
zur Belegung für
jede Amplituden/Zeit-Kombination in den Daten proportional ist.
-
EP-A-0
789 244 offenbart eine elektronische Signalmeßvorrichtung, die die Extrema
eines sich schnell ändernden
analogen Signals erfaßt,
die dann digitalisiert und in Form eines Histogramms angezeigt werden.
-
Um
das zusammenzufassen, was vorstehend angegeben wurde, haben Oszilloskophersteller,
um die Bedürfnisse
von Oszilloskopbenutzern am besten zu erfüllen, lange versucht, durch
Herstellen von digitalen Oszilloskopen, die die innewohnenden Vorteile
beibehalten, erfaßte
Daten nach der Erfassung speichern und verarbeiten zu können, während gleichzeitig
diejenigen Merkmale von analogen Oszilloskopanzeigen erfolgreicher
emuliert werden, die am besten Informationen über das beobachtete Signal übermitteln, "die beste beider
Welten" zu erreichen.
Obwohl in dieser Richtung viel Fortschritt gemacht wurde, war eines
der beständigsten
Artefakte der digitalen Methode auf Rasterabtastbasis für die Übermittlung
der Wellenforminformation die scharfe Dichotomie zwischen der Verwendung
der Punktmodus- und Vektormodusmethode für die Rasterisierung. Da ein
Zeitmehraufwand besteht, der mit der Lesen-Modifizieren-Schreiben-Aktivität verbunden
ist, die am Aktualisieren der Speicherstelle beteiligt ist, die
jedem aktiven Pixel zugeordnet ist, braucht die Vektormodusrasterisierung
gewöhnlich
viel mehr Zeit als die Punktmodusrasterisierung und dennoch stellt
die Punktmodusrasterisierung unter vielen Umständen ein unangemessenes Wellenformbild
bereit. Dies ist ein besonders frustrierendes Problem, wenn Wellenformen
und Auslöser
ziemlich reichlich sind und das Oszilloskop sie schnell genug erfassen
kann, um eine angemessene Erfassung von seltenen Ereignissen bereitzustellen,
aber nicht genügend
Zeit vorhanden ist, um alle diese Wellenformen vollständig zu
vektorisieren, und auch nicht genügend Daten vorhanden sind,
insbesondere in sich nicht wiederholenden Teilen der Wellenformen,
um eine angemessene Punktmodusanzeige herzustellen, die dem Benutzer
die Sichtbarkeit der Information, die er benötigt, gibt.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
Aspekte der Erfindung sind in den zugehörigen Ansprüchen bereitgestellt.
-
Gemäß einem
bevorzugten Ausführungsbeispiel
der Erfindung wird ein Verfahren zur Rasterisierung eines Satzes
von Daten-Adressen-Paaren der Spannung als Funktion der Zeit in
horizontale und vertikale Stellen eines Mehrbit-Rasteranzeigespeichers eines digitalen
Oszilloskops oder eines ähnlichen elektronischen Datenerfassungsinstruments
offenbart. Dieses Verfahren stellt eine neue Weise zum Steuern der
digitalen Intensität
bereit, indem ermöglicht
wird, daß eine
Funktion auf der Basis der Auslöserate
des Instruments die maximale Anzahl von Pixeln festlegt, die beim
Zeichnen jedes Vektors modifiziert werden sollen, während ein von
einer Bedienperson gesteuerter Parameter die Anzahl von Intensitätseinheiten
bestimmt, die für
jede Modifikation zur Verfügung
stehen. Wenn ein Vektor mehr Pixel aufweist als die maximale Anzahl
von zu modifizierenden Pixeln, werden die Pixel, die modifiziert
werden, über
die Länge
des Vektors durch einen Algorithmus verteilt, der vorzugsweise zumindest
einen gewissen Grad einer Zufallsverteilung umfaßt. Wenn mehr Pixelmodifikationen
zur Verfügung
stehen als Pixel in diesem Vektor vorhanden sind, kann der zusätzliche
Helligkeits- (Intensitäts-)
Gehalt, den sie darstellen, entweder entlang der Pixel, die zur
Modifikation in diesem Vektor zur Verfügung stehen, dargestellt werden
oder er kann ignoriert und verworfen werden. Wenn der Vektor keine
Länge aufweist,
wird die gesamte verfügbare
Intensität
oder eine gewisse geringere Menge der Intensität auf ein Pixel gelegt. Die
Festlegung einer kleinen minimalen Vektorlänge, unter der nur eine begrenzte
Vektorfüllung
verwendet wird, kann Zeit sparen, indem die Menge, die mit unbedeutenden
Details verbracht wird, begrenzt wird. Die Festlegung von maximalen
und minimalen Intensitätspegeln
für diejenigen
Pixel, die durch den Rasterisierungsprozeß beeinflußt werden, kann die Sättigung
an einem Extrempunkt begrenzen und sicherstellen, daß Bereiche,
die nur einen oder einige Angriffe empfangen, immer noch einen Intensitätspegel
aufweisen, der hell genug ist, um am anderen wahrnehmbar zu sein.
Die spärliche
Vektorrasterisierung vermeidet die schwierige binäre Auswahl
zwischen der Verwendung eines Punktmodus oder eines Vektormodus
und gibt dem Benutzer eine analogartige Intensitätssteuerung, die ein wahrgenommenes
Kontinuum von Betrachtungswahlen erzeugt. Sie führt dies aus, während die
Anzahl von aktualisierten Pixeln, die innerhalb des Zusammenhangs
dessen, wie viele Wellenformen erfaßt werden und verarbeitet werden
müssen,
maximiert wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1A ist
eine Darstellung einer Ein-Wert-Punktmodusrasterisierung (des Standes
der Technik) von ungefähr
eineinhalb Zyklen einer Sinuswellenform, wobei die Eingabe in diese
Rasterisierung einen einzelnen erfaßten Wellenformdatenpunkt pro
Rasterpixelspalte in der Ausgabe hatte.
-
1B ist
eine Darstellung einer Ein-Wert-Punktmodusrasterisierung (des Standes
der Technik) von ungefähr
drei Zyklen einer Sinuswellenform, wobei die Eingabe in diese Rasterisierung
zwei erfaßte
Wellenformdatenpunkte pro Rasterpixelspalte in der Ausgabe hatte.
-
1C ist
eine Darstellung einer Ein-Wert-Punktmodusrasterisierung (des Standes
der Technik) von ungefähr
drei Viertel eines Zyklus einer Sinuswellenform, wobei die Eingabe
in diese Rasterisierung einen erfaßten Wellenformdatenpunkt pro
zwei Rasterpixelspalten in der Ausgabe hatte.
-
2A ist
eine Darstellung einer Ein-Wert-Vektormodusrasterisierung (des Standes
der Technik) derselben Wellenformdaten, die in 1A die
Eingabe waren.
-
2B ist
eine Darstellung einer Ein-Wert-Vektormodusrasterisierung (des Standes
der Technik) derselben Wellenformdaten, die in 1B die
Eingabe waren.
-
2C ist
eine Darstellung einer Ein-Wert-Vektormodusrasterisierung (des Standes
der Technik) derselben Wellenformendaten, die in 1C die
Eingabe waren.
-
3A ist
eine Darstellung einer spärlichen
Mehrwert-Vektormodusrasterisierung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung derselben Wellenform, die in 1A und 2A eingegeben
wurde, mit den folgenden Einstellungen für die Steuerparameter der Rasterisierereingaben:
AVEC = 2, AUNITS =
3 und LMIN = 0.
-
3B ist
eine Darstellung einer spärlichen
Mehrwert-Vektormodusrasterisierung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung derselben Wellenform, die in 1B und 2B eingegeben
wurde, mit den folgenden Einstellungen für die Steuerparameter der Rasterisierereingaben:
mit AVEC = 2, AUNITS =
3 und LMIN = 0.
-
3C ist
eine Darstellung einer spärlichen
Mehrwert-Vektormodusrasterisierung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung derselben Wellenform, die in 1C und 2C eingegeben
wurde, mit den folgenden Einstellungen für die Steuerparameter der Rasterisierereingaben:
mit AVEC = 2, AUNITS =
3 und LMIN = 0.
-
4 ist ein logisches Ablaufdiagramm, das
die Schritte darstellt, die an einer speziellen Implementierung
der vorliegenden Erfindung beteiligt sind.
-
5 ist
eine Darstellung einer Ein-Wert-Punktmodusrasterisierung (des Standes
der Technik) eines Impulssignals mit steigenden und fallenden Flanken.
-
6 ist
eine Darstellung einer Ein-Wert-Vektormodusrasterisierung (des Standes
der Technik) desselben Impulssignals, das in 5 gezeigt
ist.
-
7 ist
eine Darstellung einer spärlichen
Mehrwert-Vektormodusrasterisierung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung desselben Impulssignals, das in 5 & 6 gezeigt
ist, mit den folgenden Einstellungen für die Steuerparameter der Rasterisierereingaben:
mit AVEC = 4, AUNITS =
3, LMIN = 0 und WLESS =
0,25.
-
5 ist
eine Darstellung von drei spärlichen
Vektorrasterisierungen der in 7 dargestellten
Art, die zu einem kumulativen Rasterabtastbild zusammengesetzt sind.
Es wurde angenommen, daß die
zufälligen Teile
des Algorithmus von 4 in jedem Fall
unterschiedlich sind, um darzustellen, wie die Zufallsverteilung die
Pixel einfüllt,
die durch die individuellen Rasterisiererausgaben nicht eingefüllt werden.
-
9 ist
eine Darstellung einer Ein-Wert-Punktmodusrasterisierung (des Standes
der Technik), einer Rauschspitze, die auf einer kleinen und rauschbehafteten
Wellenform sitzt.
-
10 ist
eine Darstellung einer Ein-Wert-Vektormodusrasterisierung (des Standes
der Technik) derselben Eingangswellenform, wie im Punktmodus in 9 rasterisiert
gezeigt.
-
11 ist
eine Darstellung einer spärlichen
Mehrwert-Vektormodusrasterisierung gemäß einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung, mit AVEC = 5,
AUNITS = 2 und LMIN =
3, desselben Signals, wie in 9 und 10 rasterisiert
gezeigt.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
folgende Erörterung
beruht stark auf Figuren, die Darstellungen von Rasterisiererausgaben
enthalten. Aufgrund der Platzbegrenzungen und des Bedarfs, sich
auf Details zu konzentrieren, muß es jedoch selbstverständlich sein,
daß diese
Darstellungen, die nur 20 Zeilen und 20 Spalten aufweisen, viel
kleiner sind als irgendwelche tatsächlichen Rasterabtastanzeigen
mit voller Größe, die
im allgemeinen in der Größenordnung
von 400 × 500
Pixeln liegen. Diese Anzeigen erscheinen daher beträchtlich
körniger
als die vergleichbaren Bilder es würden, wenn sie die volle Größe aufweisen
würden.
Es sollte auch angegeben werden, daß die bevorzugte Verteilung
von interpolierten Punkten bei der spärlichen Vektorerzeugung zumindest
teilweise willkürlich
ist, wobei ein konstantes Intervall durch einen willkürlichen
Versatzwert indiziert wird. In der Praxis werden die hier nur einmal
gezeigten Operationen tatsächlich
eine sehr große
Anzahl von Malen durchgeführt,
so daß die
Gesetze der Wahrscheinlichkeit, die eine große Anzahl von Ereignissen verarbeiten,
eine Möglichkeit haben,
die Körnigkeit,
die in diesen "Schnappschuß"-Beispielen erscheint,
zu beseitigen.
-
Mit
Bezug auf 1A ist dies eine Darstellung
der Ergebnisse einer Punktmodusrasterisierung gemäß dem Stand
der Technik von ungefähr
eineinhalb Zyklen einer Sinuswellenform. Zwanzig erfaßte Wellenformdatenpunkte
in der Eingabe wurden als zwanzig Punkte einer Information der Amplitude
als Funktion der Zeit in der hier zu sehenden Ausgabe abgebildet.
Diese Ausgabe ist einwertig, was bedeutet, daß die Intensität jedes
Punkts, der als "D" in der Darstellung
dargestellt ist, die gleiche ist.
-
Mit
Bezug als nächstes
auf 1B ist dies eine weitere Darstellung einer Punktmodusrasterisierung des
Standes der Technik derselben Art, wie in 1A gezeigt
ist, außer
daß hier
zweimal so viele Eingangswellenformdatenpunkte, d.h. 40, wie Pixelspalten
in der Ausgabe, d.h. 20, vorhanden waren. Diese Zwei-zu-Eins-Kompression
ermöglicht,
daß zweimal
so viel Zeit oder ungefähr
drei Zyklen derselben Sinuswellenform entlang der horizontalen Achse
angezeigt werden. Wiederum ist die Ausgabe einwertig, was bedeutet,
daß jedes
Pixel mit derselben Intensität
als Reaktion auf dieses Rasterspeicherbild beleuchtet wird.
-
Mit
Bezug als nächstes
auf 1C ist dies eine weitere Darstellung einer Punktmodusrasterisierung des
Standes der Technik derselben Art wie in 1A und 1B gezeigt
ist, außer
daß hier
halb so viele Eingangswellenform-Datenpunkte vorhanden waren, d.h.
90, wie Pixelspalten in der Ausgabe vorhanden sind, d.h. 20. Diese
Eins-zu-Zwei-Erweiterung sieht vor, daß halb so viel Zeit oder ungefähr drei
Viertel eines Zyklus derselben Sinuswellenform entlang der horizontalen
Achse angezeigt werden. Wiederum ist die Ausgabe einwertig, was
bedeutet, daß jedes
Pixel mit derselben Intensität
als Reaktion auf dieses Rasterspeicherbild beleuchtet wird.
-
Mit
Bezug nun auf 2A, 2B und 2C zeigen
diese Figuren Vektormodusrasterisierungen derselben Wellenformen,
wie nach der Punktmodusrasterisierung in 1A, 1B bzw. 1C gezeigt sind.
Die Vektormodusrasterisierungsausgabe, die in 2A gezeigt
ist, weist 50 (einwertige) aktive Pixel im Vergleich zu den 20 aktiven
Pixeln, die durch die in 1A gezeigte
Punktmodusrasterisierungsausgabe erzeugt werden, auf. Die Vektormodusrasterisierungsausgabe,
die in 2B gezeigt ist, mit zweimal
so viel Zeit entlang ihrer horizontalen Achse (im Vergleich zu 2A)
enthält
105 aktive Pixel im Vergleich zu den 40 aktiven Pixeln, die von
der Punktmodusrasterisierungsausgabe, die in 1B gezeigt
ist, erzeugt werden. Die Vektormodusrasterisierungsausgabe, die
in 2C gezeigt ist, mit halb so viel Zeit entlang
ihrer horizontalen Achse (im Vergleich zu 2A) enthält 29 aktive
Pixel im Vergleich zu den 10 aktiven Pixeln, die von der Punktmodusrasterisierungsausgabe
erzeugt werden, die in 1C gezeigt ist. Somit ist zu
sehen, daß die Vektormodusrasterisierung
des Standes der Technik (d.h. Vektorisierung) viel mehr aktive Pixel
erzeugt als die Punktmodusrasterisierung derselben Wellenformen.
In Situationen, in denen ein Zeitmehraufwand besteht, der mit der
Lesen-Modifizieren-Schreiben-Aktivität verbunden ist, die an der
Aktualisierung der Speicherstelle, die jedem aktiven Pixel zugeordnet
ist, beteiligt ist, kann die Vektormodusrasterisierung daher viel
mehr Zeit brauchen als die Punktmodusrasterisierung.
-
Mit
Bezug als nächstes
auf 3A sehen wir nun eine Mehrwert-Rasterausgabe,
die durch die "spärliche Vektormodus"-Rasterisierung gemäß einem
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung erzeugt wird. Die Eingabe hier war dieselbe
wie jene, die die in 1A gezeigte Punktmodusausgabe und
die in 2A gezeigte Vektormodusausgabe
erzeugt hat. Bei dieser Ausgabe, die durch die spärliche Vektorrasterisierung
erzeugt wird, sind jedoch nur 34 aktive ("angegriffene") Pixel im Vergleich zu den 50 aktiven
Pixeln vorhanden, die durch den normalen (vollen) Vektormodus des
Standes der Technik erzeugt werden. Ebenso zeigt 3B Ausgaben
auf der Basis der spärlichen
Vektormodusrasterisierung derselben Eingabe wie der Eingabe in die
normale Vektormodusrasterisierungsausgabe, die in 2B gezeigt
ist. Für
die drei eingegebenen Zyklen, die 105 aktive Pixel in der Vektormodusausgabe,
die in 2B gezeigt ist, erzeugt hat, sehen
wir hier nur 65 aktive Pixel, die durch den spärlichen Vektormodus erzeugt
werden. In 3C besteht kein Unterschied
in der Anzahl von angegriffenen Pixeln im Vergleich zu 2C.
-
Die
in 3A und 3B gezeigten
Ausgaben der spärlichen
Vektorrasterisierung sind insofern "mehrwertig", als ihre aktiven Pixel mehr als einen
Pegel einer von Null verschiedenen Intensität enthalten, in diesem Fall "3" und "6",
da in diesem Beispiel die zugewiesene Anzahl von Angriffen pro Vektor "2" ist, d.h. AVEC =
2, und die Einheiten der Intensität pro Angriff "3" ist, d.h. AUNITS =
3. Diese Einstellungen und ihre Bedeutung werden nachstehend weiter
erörtert,
wir merken jedoch hier an, daß sich
ein "Angriff" auf die Modifikation
des Inhalts der Pixelstelle in einem Rasteranzeigespeicher, z.B.
durch eine Lesen-Modifizieren-Schreiben-Sequenz von Operationen,
bezieht, die die Wirkung der Erhöhung
der Anzahl von Einheiten der Intensität hat, die das betreffende
Pixel auf der Anzeige erhalten soll.
-
Aufgrund
der begrenzten Größe von 1A–3C (d.h.
20 × 20
Pixel), die für
diese Beispiele verwendet wird, wurde AVEC als
sehr kleine Zahl, d.h. "2", gewählt. Dies
ermöglichte,
daß diese
kleinen Beispiele die "Spärlichkeit" darstellen, d.h.
einige Pixel im Vektor, die keine Intensität erhalten. In einer Rasteranzeige mit
einer realistischeren Größe, z.B.
400 × 500
Pixel, wäre
die maximale Größe von AVEC viel größer, z.B. 511 oder 1023, um
eine volle Vektorisierung von seltenen Wellenformen und die sehr
spärliche
Vektorisierung von reichlichen zu ermöglichen.
-
4 ist ein logisches Ablaufdiagramm, das
die Schritte darstellt, die bei einer speziellen Implementierung
der vorliegenden Erfindung des spärlichen Vektormodus beteiligt
sind. Diese Implementierung wurde zufällig in der Hardware durchgeführt, insbesondere
einer üblichen
ASIC (anwendungsspezifische integrierte Schaltung), könnte jedoch
auch in einer Vielfalt von Hardwarestilen und -technologien oder
fast vollständig
in der Software durchgeführt
worden sein. Beim Lesen der Erörterung,
die folgt, kann es zweckmäßig sein,
auf die folgende Tabelle von Abkürzungen
Bezug zu nehmen.
-
-
-
Die
zugewiesene Anzahl von Angriffen pro Vektor, AVEC,
wird vorzugsweise durch die Auslöserate
bestimmt, so daß sie
dann bestimmen kann, wie viel Zeit für die Rasterisierung jeder
Wellenform verbracht wird, und daher darauf reagieren kann, wie
schnell Wellenformen erfaßt
werden. Die Wahl von AVEC ist auf Potenzen von Zwei
begrenzt und die meiste Mathematik wird in Form der Potenz von Zwei
durchgeführt.
-
Die
Einheiten der Intensität
pro Angriff, AUNITS, werden vorzugsweise
durch die Bedienperson festgelegt, so daß sie den Pegel der Helligkeit
der Anzeige unabhängig
von der Auslöserate
steuern kann. Das Ziel vom Gesichtspunkt der Bedienperson besteht
darin, das "Gefühl" für den Intensitätsknopf
zufriedenstellend und so nützlich
wie möglich
zu machen. Das Ziel vom Gesichtspunkt des Rasterisierers besteht
darin, so viel Zeit und resultierende Qualität dem Wellenformrasterisierungsprozeß zu geben,
wie in Anbetracht der vorliegenden Auslöse- und Wellenformerfassungsrate
erreicht werden kann.
-
Unter
erneuter Bezugnahme auf 4 findet im
dargestellten Ausführungsbeispiel
der Rasterisierungsprozeß auf
einer spaltenweisen Basis statt. Er beginnt mit einem neuen Datenpunkt
10 und dann wird die Länge
des aktuellen Vektors LVEC, in Pixeln gemessen,
bestimmt, 11, indem der Absolutwert der Differenz zwischen der y-Achsen-Stelle
des aktuellen Datenpunkts für
diese Spalte, Y0, und der x-Achsen-Stelle
des nächsten
Datenpunkts YN genommen wird. Der nächste Datenpunkt
kann sich in der aktuellen Spalte oder der nächsten Spalte befinden und
kein tatsächlicher
erfaßter
Datenpunkt sein, sondern könnte
statt dessen ein horizontal interpolierter sein, wenn keine tatsächlichen
erfaßten
Daten für
jede Spalte vorliegen. Es sollte auch beachtet werden, daß YN plus ein Pixel anstelle von YN verwendet
werden kann, wenn es als erwünscht
erachtet wird, daß benachbarte
Vektoren an ihren Endpunkten überlappen.
LVEC weist einen minimalen Wert von Eins
auf und wird als Potenz von Zwei angenähert und LVECL genannt,
wenn es als Teiler wirkt. Obwohl der Absolutwert von YN – Y0 erforderlich ist und an mehreren Stellen
verwendet wird, wird sein Vorzeichen aufrechterhalten und nachstehend
verwendet, um die Richtung von Vektoren zum Treffen von Rundungsentscheidungen
zu bestimmen.
-
Im
Entscheidungsblock 12 wird die Länge
des aktuellen Vektors LVEC dann mit der
vollständig
anzugreifenden minimalen Länge
des Vektors, LMIN, verglichen. Wenn die
Länge des
aktuellen Vektors größer als oder
gleich der minimalen Vektorlänge ist,
LVEC >=
LMIN, vergleicht der Entscheidungsblock
16 als nächstes
die zugewiesene Anzahl von Angriffen pro Vektor, AVEC,
mit der Länge
des aktuellen Vektors, LVEC.
-
Wenn
die zugewiesene Anzahl von Angriffen pro Vektor, AVEC,
größer als
die oder gleich der Länge
des Vektors, LVEC ist, dann geht der logische
Ablauf zum Block 18 weiter und AAMT wird
berechnet. In einem implementierten Ausführungsbeispiel, in dem viel
dieses Prozesses in der elektronischen Hardware durchgeführt wird,
wird die Größe AVEC·AUNITS·WLESS durch die Software durchgeführt und
als einzige Zahl zur Hardware geliefert. Die Division durch LVECL wird leichter gemacht, da sie als Potenz
von Zwei angenähert
wird, wodurch ermöglicht
wird, daß das Äquivalent
der Division lediglich durch Verschieben durchgeführt wird.
Das Ergebnis dieser Operation wird mit AUNITS und
WLESS multipliziert. WLESS,
der Gewichtsverringerungsfaktor, ist eine Konstante, die ein Mittel
bereitstellt, durch das der Wert von AAMT verringert
werden kann, wenn AVEC geringer ist als
LVEC.
-
Der
Entscheidungsblock 31 vergleicht AAMT mit
AUNITS, und wenn AAMT nicht
größer als
oder gleich AUNITS ist, wird AAMT durch
den Block 32 gleich AUNITS gesetzt. Der
Block 33 setzt dann jede voraussichtliche Intensitätseinheit
im Vektor UY(0+OFFSET) bis U[<Y(N – 1)] auf
AAMT, wobei nach Bedarf abgebrochen wird.
Der Zweck der Blöcke
31 und 32 besteht darin, den Übergang
von dem Bereich, der so gewichtet wird, daß er kleiner ist, in dem mehr
erwünschten
Angriffe bestehen als Pixel in der Länge des Vektors vorhanden sind,
zum ungewichteten Bereich, in dem weniger erwünschte Angriffe bestehen als
Pixel in der Länge
des Vektors vorhanden sind, zu "glätten". Insbesondere wenn
WLESS als kleiner Wert gegeben ist und AAMT daher viel kleiner werden kann als AUNITS für
die längsten
Vektoren, die kürzer
sind als AVEC, beginnt die Anzeige, merkliche
Artefakte zu zeigen, die mit dieser Differenz verbunden sind. Die
Blöcke
31 und 32 verhindern, daß AAMT kleiner wird als AUNITS,
und verhindern dadurch diesen Effekt durch Glätten des Übergangs zwischen den zwei
Bereichen (die durch den Entscheidungsblock 16 logisch getrennt
sind).
-
Wenn
man zum Block 16 zurückkehrt,
und wenn die zugewiesene Anzahl von Angriffen pro Vektor nicht größer als
oder gleich der Länge
des aktuellen Vektors ist, prüft
der Entscheidungsblock 17, um festzustellen, ob eine Zufallsverteilung
auf "ein" gesetzt ist. Wenn
dies nicht der Fall ist, wird der OFFSET auf Null gesetzt, 21. Wenn
die Zufallsverteilung auf "ein" gesetzt ist, dann
macht der Block 19 den OFFSET zu einer Zufallszahl von Null bis
zu irgendeinem Wert, der geringer ist als das Verhältnis der
Länge des
aktuellen Vektors, LVEC, dividiert durch
die zugewiesene Anzahl von Angriffen pro Vektor, AVEC (wiederum
vereinfacht, da AVEC darauf eingeschränkt ist,
daß es
eine Potenz von Zwei ist). Diese Zufallsverteilungen umfassen Bruchteile
und sind nicht nur ganze Zahlen.
-
Die
nächste
Handlung wird durch den Block 20 bestimmt, der anweist, daß die Intensitätseinheiten
pro Angriff, AUNITS, als Wert von jeder
(LVEC/AVEC)-ten
UY-y-Achsen-Stelle
entlang der Länge
des Vektors von OFFSET bis OFFSET + x(Lvec/Avec) für jedes
x, das einen Wert erzeugt, der geringer ist als Y(N–1),
gesetzt wird. Die Einheiten der voraussichtlichen Intensität, U, werden
nach Bedarf während
dieses Schritts abgebrochen. In der bevorzugten Implementierung
werden alle Fälle
von y berechnet und als nicht ganze Zahlen aufrechterhalten. Das
Runden wird bis zum Block 26 verschoben, in dem die y-Werte endgültig sind.
-
Wenn
man zum Entscheidungsblock 12 zurückkehrt und wenn die aktuelle
Vektorlänge
nicht größer als
oder gleich der minimalen Vektorlänge ist, erzeugt dieser Block
ein "Nein". Der Block 30 bestimmt
dann einen OFFSET-Wert von 0 bis weniger als LVEC.
Dann kann in Abhängigkeit
von Konstruktions- und/oder Optionswahlen irgendeine der folgenden
Optionen übernommen
werden: nichts tun (vollständiges
Auslassen dieses Punkts und Vektors) 13; Setzen des Maximums entweder
der Einheiten der Intensität
pro Angriff, AUNITS oder der pro Vektor
zugewiesenen Angriffseinheiten mal den Einheiten der Intensität pro Angriff,
dividiert durch die Länge
des Vektors, angenähert
als Potenz von Zwei (und niemals zugelassen, daß es geringer als Eins ist),
(AVEC·AUNITS WLESS)/(LVECL), als Einheiten der voraussichtlichen
zusätzlichen
Intensität
in der y-Achsen-Stelle
des aktuellen tatsächlichen
Datenpunkts plus des OFFSET 30, U(Y0+OFFSET),
14 (und nichts in irgendeinem der anderen Pixel dieses Vektors;
UY0 – > UY(N–1) außer U(Y0+OFFSET)) = 0); oder Setzen der ganzen
zugewiesenen Anzahl von Angriffen pro Vektor, AVEC,
mal den Einheiten der Intensität
pro Angriff, AUNITS, mal dem Gewichtsverringerungsfaktor
WLESS im anfänglichen Datenpunkt UY0, 15 (und nichts in irgendeinem der anderen
Pixel dieses Vektors; UY(0 -> UY(N–1, außer U(Y0+OFFSET) = 0). Diese drei Wahlen können grob
zusammengefaßt
werden als "Beseitigung
kurzer Vektoren", "Abbrechen kurzer
Vektoren" bzw. "Konzentration kurzer
Vektoren". Es wird angenommen,
daß die
Beseitigung kurzer Vektoren einen begrenzten Nutzen hat, während das
Abbrechen kurzer Vektoren und die Konzentration kurzer Vektoren
beide unter den meisten Bedingungen geeignete Anzeigen erzeugen.
Sie weisen jedoch alle die Wirkung der Verringerung der zum Rasterisieren
jedes Punkts in den kürzesten
Vektoren verbrachten Zeit auf. Da ein Oszilloskop gewöhnlich kontinuierlich
eine große
Anzahl von Wellenformen rasterisiert, werden diese Bereiche, die
die kürzesten
Vektoren enthalten, schnell durch viele Intensitätsangriffe beeinflußt, selbst
wenn das Verbringen von viel Zeit dort durch die Verwendung von
geeigneten Werten für
LMIN vermieden werden kann. Typischerweise
liegen diese Werte im Bereich von ein bis drei Pixeln. Ein Wert
von Null schaltet das Merkmal vollständig aus.
-
Der
Block 26 rundet den aktuellen Wert aller Y's auf eine spezielle Pixelstelle. Diese
Rundung wird jedoch etwas willkürlich
durchgeführt
und kann durch Ausführungswahlen,
die anderswo durchgeführt
werden, beeinflußt
werden. Im hierin beschriebenen bevorzugten Ausführungsbeispiel geschieht jedoch
die ganze Rundung zum Ursprung des Vektors hin, in dem sie durchgeführt wird.
Jede kontinuierliche vertikale Variable wird auf die ganze Zahl
am nächsten
zum Ursprungspunkt ihres Vektors, Yo, gerundet. Dies erfordert die Kenntnis
der aktuellen Richtung des Vektors. Diese Information ist als Vorzeichen
des Ergebnisses der im Block 11 durchgeführten Subtraktion erhältlich,
obwohl sie dort nicht erforderlich war, um den Betrag des Vektors
zu bestimmen.
-
Gemäß den von
den Blöcken
12–21,
26 und 30–33
vorgegebenen Ergebnissen vergleicht der Entscheidungsblock 24 die
Einheiten der voraussichtlichen zusätzlichen Intensität an jeder
angegriffenen Stelle, UYA, mit einem Maximalwert der
zulässigen
Angriffsintensität,
AMAX.VAL, und wenn sie größer ist
als dieser Maximalwert, wird sie auf den Maximalwert verringert,
UYA = AMAX.VAL,
25.
-
Der
Block 27 führt
dann eine Lesen-Modifizieren-Operation durch, die den alten Intensitätswert,
IOLD, abruft, die voraussichtlichen zusätzlichen
Intensitätseinheiten
des angegriffenen Pixels, UYA, addiert und
dadurch den neuen Intensitätswert,
INEW, erzeugt. Der Entscheidungsblock 28
vergleicht den neuen Intensitätswert
mit einem minimalen Angriffsintensitätswert, IMIN.ATK,
und wenn er geringer ist, erhöht
der Block 29 den neuen Intensitätswerte
auf die minimale Angriffsintensität. Wenn der neue Intensitätswert bereits über dem
Minimum liegt, wird er als Ausgabe dieses Prozesses verwendet. Die
modifizierten Werte für
jedes Pixel werden dann an ihre Speicherstelle als INEW zurückgegeben
und dieser Prozeß wird
für jedes
der beeinflußten
Pixel in diesem Vektor wiederholt. Obwohl hier nicht explizit gezeigt,
kann der INEW-Wert eine Begrenzung erfordern, um
der Länge
des an jeder Pixelstelle im Rasteranzeigespeicher verfügbaren Datenraums
gerecht zu werden.
-
In
einem wahlweisen alternativen Ausführungsbeispiel wird im Entscheidungsblock
22 eine Prüfung durchgeführt, um
festzustellen, ob "DOT
= EIN" ("PUNKT = EIN"). Wenn ja, wird
eine Intensitätseinheit
pro Angriff, AUNITS, (oder irgendein anderer
Wert) zur anfänglichen
Punktstelle Y0 addiert, 23. Dies stellt
ein Mittel zum Sicherstellen bereit, daß tatsächliche Datenstellen wie im
Punktmodus beleuchtet werden, egal welche anderen Optionen zum Lauf
im spärlichen
Vektormodus programmiert wurden. Es sollte auch beachtet werden,
daß ein
Punktmoduseffekt auch durch den Entscheidungsblock 12 und die Operationen
der Blöcke
12, 30 und 14 oder 15 erreicht werden kann, wenn eine sehr lange
Länge wie
z.B. 512 für
LMIN, die vollständig anzugreifende minimale
Länge des
Vektors, festgelegt wird. Das Festlegen von AVEC =
1 und RANDOM = AUS ist eine bevorzugte Weise, um ein Punktmodusäquivalent
zu erzielen.
-
Die
Fähigkeit,
die zugewiesene Anzahl von Angriffen pro Vektor, AVEC,
zu ändern,
ermöglicht
die Steuerung der Rasterisierungszeiten und ermöglicht dadurch, daß der Rasterisierer
Vektoren mit einer variablen Geschwindigkeit verarbeitet. Diese
Geschwindigkeit kann als Funktion der Auslöserate gesteuert werden, wodurch
der Wellenformdurchsatz durch Verändern der Qualität von einzelnen
Rasterisierungen, um dieser Veränderung
gerecht zu werden, maximiert wird. Zahlreiche Wellenformen, die
mit einem gewissen Grad an Zufälligkeit
rasterisiert werden, füllen
jegliche "Löcher" aus, die in einzelnen
Wellenformen auftreten. AUNITS kann durch
die Verwendung eines Knopfs, einer Menüauswahl oder einer anderen
menschlichen Schnittstellenvorrichtung als Bedienpersonensteuerung
vorgesehen werden. Es ermöglicht,
daß die
Bedienperson die gesamte "Helligkeit" (Intensität) der Anzeige
im Zusammenhang mit den Veränderungen
im Durchsatz, die durch AVEC erzeugt werden,
steuert. Die relativen Beiträge
jeder Form von Steuerung können
als Ausführungswahl
oder gemäß anderen
Instrumenteneinstellungen oder Aspekten der Anzeigeumgebung verändert werden.
-
In
dem Ausführungsbeispiel
dieses vorstehend beschriebenen Rasterisierers wurden die Eingangsvariablen
AAMT, AMAX.VAL,
AVEC, AUNITS, IMIN.ATK, LMIN und
WLESS hauptsächlich vom Gesichtspunkt dessen
beschrieben und erörtert,
wie sie neue und erwünschte
Anzeigesteuerfähigkeiten
erreichen könnten.
Es sollte jedoch beachtet werden, daß die gegebenen Weisen und
Mittel zum Steuern dieser Eingaben nicht erschöpfend waren und zusätzliche
Weisen zur Verwendung der von den bevorzugten Ausführungsbeispielen
dieser Erfindung bereitgestellten Betriebsmittel gefunden werden
können.
Zusätzliche
Betriebsarten und Dialogverkehrarten mit anderen Steuerungen könnten eine
Vielfalt von verschiedenen Ergebnissen erzeugen. Es kann beispielsweise eine
Vielfalt von Weisen geben, um unter Verwendung der beschriebenen
Eingangsparameter, der allgemeinen Verfahren der Ausführungsbeispiele
dieser Erfindung und des beträchtlichen
Standes der Technik zur variablen Beständigkeitssteuerung variable
Beständigkeitseffekte
zu erzielen.
-
Es
sollte auch beachtet werden, daß die
Informationsrückkopplung
von der Anzeige, wie z.B., wie viele Pixel an oder nahe der Sättigungsintensität betrieben
werden oder wie viele aktiv sind, aber unter dem Pegel liegen, der
vom Benutzer wahrnehmbar ist, verwendet werden kann, um zu helfen,
die besten Einstellungen für
die Eingangsparameter festzulegen. Ebenso kann das Messen der Zeit,
die zum Durchführen
der jüngsten Rasterisierung
erforderlich ist, oder der durchschnittlichen oder gesamten Zeit,
die zum Durchführen
einer gewissen Anzahl der jüngsten
Rasterisierungen erforderlich ist, eine andere Art von Betriebsvariable
bereitstellen, die beim Steuern der Eingangsparameter zum Optimieren
der Leistung bezüglich
der einen oder anderen Erwägung
nützlich
ist.
-
Wenn
man nun zu 1A und 3A zurückkehrt,
wollen wir 4 folgen, um festzustellen,
wie die Werte in 3A bestimmt werden. In Spalte
1 bestimmt der Block 11, daß LVEC = 1. Mit LMIN =
0 erzeugt der Entscheidungsblock 12 ein "Ja",
das uns zum Entscheidungsblock 16 schickt. Mit AVEC =
2 und LVEC = 1 erzeugt der Block 16 auch
ein "Ja", das uns zum Block
18 weiter schickt. Das Verhältnis
von AVEC = 2 über LVECL =
1 ist 2, das dann mit AUNITS = 3 und W =
1 multipliziert wird, um AAMT = 6 zu erzeugen.
Die Spalte Zwei folgt demselben Pfad zum gleichen Ergebnis.
-
In
der Spalte 3 ist die Vektorlänge
3, so daß der
Entscheidungsblock 12 wieder ein "Ja" erzeugt.
Der Entscheidungsblock 16 erzeugt ein "Nein",
da AVEC = 2 nicht größer als oder gleich LVEC = 3 ist. Unter der Annahme von "random = ein" wird vom Block 19
der OFFSET als im Bereich von 0 bis < 1,5 festgestellt. Für dieses
Beispiel werden wir einen willkürlich
bestimmten OFFSET von 0,75 annehmen. Der Block 20 bestimmt dann,
daß AUNITS = 3 der Intensität auf Stellen von 3 + 0,75
= 3,75 und 3 + 0,75 + 1,5 = 5,25 gesetzt wird (vor Rundung). Diese
werden dann in Richtung des Ursprungs des Vektors gerundet, so daß die Pixel
3 und 5 der Spalte 3 3 Intensitätseinheiten
empfangen.
-
In
der Spalte 4 weist der Vektor, der am Pixel 6 entspringt, eine Länge von
4 auf und das Ergebnis vom Entscheidungsblock 12 ist wieder ein "Ja". Wiederum erzeugt
der Entscheidungsblock 16 ein "Nein", da AVEC =
2 nicht größer als
oder gleich LVEC = 4 ist. Die Annahme von "random = ein" erzeugt ein "Ja" vom Block 17, der
Block 19 erzeugt einen OFFSET von 0 bis < 2. Wir werden annehmen, daß der Zufallsprozeß einen
OFFSET von 1,5 erzeugt hat. Der Block 20 liefert dann AUNITS =
3 zu den Stellen 6 + 1,5 = 7,5 und 7,5 + 2 = 9,5. Das Abrunden dieser
in Richtung des Ursprungs des Vektors versieht die Pixel 7 und 9
jeweils mit 3 Intensitätseinheiten.
-
Gemäß einem ähnlichen
Prozeß in
Spalte 5 mit dem Vektor mit der Länge 4, der am Pixel 10 entspringt,
aber unter der Annahme eines willkürlich bestimmten OFFSET von
0,5 sind die Ergebnisse, die wir vom Block 20 erhalten: 10,5 und
12,5. Drei Intensitätseinheiten
werden dann in den Pixeln 10 und 12 der Spalte 5 gesetzt. Der Rest
der in 3A und 3B zu
sehenden Pixelangriffe werden durch ähnliche Prozesse gemäß der Logik
von 4 erzeugt.
-
Die
in 4 für einen Ein-Spalten-Rasterisierer
implementierten Konzepte sind auch auf eine spärliche Vektorrasterisierung über mehrere
Spalten verallgemeinerbar. Um dies zu bewerkstelligen, erfordern
verschiedene Schritte in dem vorstehend gezeigten Prozeß eine Erweiterung.
Der Block 11 wird modifiziert, um die ungefähre Vektorlänge zu finden. Eine einfache
und leicht zu implementierende Näherung
besteht darin, den Absolutwert der Delta-X- und Delta-Y-Komponenten
zu addieren, so daß LVEC = |Yn – Yo| + |Xn – Xo|. (Es gibt
genauere Weisen zum Nähern
der Länge
des Vektors, aber diese ist leicht zu berechnen und demonstriert leicht
das Konzept.) Die andere Haupterweiterung des Prozesses besteht
darin, eine X-Koordinate sowie eine Y-Koordinate an jeder Stelle
zu berechnen, an der Y-Koordinaten vorstehend berechnet werden.
-
Mit
Bezug nun auf 3C sehen wir ein Beispiel der
Verteilung von spärlichen
Vektorpunkten in zwei Dimensionen. Mit Bezug auch auf 1 C, um die Stellen der Dateneingaben
zu sehen, sehen wir, daß der Abstand
in 3C zwischen den Eingangsdatenpunkten in den Spalten
1 und 2 1 Einheit in der Y-Richtung und 2 Einheiten in der X-Richtung
ist. Daraus berechnen wir die ungefähre Länge des Vektors als 3 Einheiten. Dies
führt zu
einem "Ja" vom Entscheidungsblock
12 und zu einem "Nein" vom Entscheidungsblock
16. Unter der Annahme "RANDOM
= EIN" vom Entscheidungsblock
17 erzeugt der Block 19 zwei OFFSET-Werte, einen in der X-Richtung und einen
in der Y-Richtung.
-
Der
Block 19 wird modifiziert, um sowohl der X- als auch Y-Richtung
durch Berechnen von LYVEC, der Länge des
Vektors in der Y-Richtung, und LXVEC, der
Länge des
Vektors in der X-Richtung, gerecht zu werden. Dann wird ein Zufallswert
R berechnet, der zwischen 0 und 1 liegt. Der anfängliche Y-Versatz wird dann
als Produkt von R und LYVEC/AVEC berechnet.
Der anfängliche
X-Versatz wird ebenso
als Produkt von R und LXVEC/AVEC berechnet.
Wenn der Zufallswert zufällig
0,75 ist, dann ist der anfängliche
Y-Versatz R·LYVEC/AVEC = 0,75·–1/2 = –0,325.
Der anfängliche
X-Versatz ist R·LXVEC/AVEC = 0,75·2/2 =
0,75. Der Block 20 erzeugt zwei Punkte als Ausgaben. Der erste Punkt
ist (x, y) = (0,75, –0,325)
relativ zum Ursprung des Vektors. Der zweite Punkt wird durch Addieren
von LXVEC/AVEC zur
anfänglichen
X-Koordinate und durch Addieren von LYVEC/AVEC zur anfänglichen Y-Koordinate berechnet.
Folglich ist der zweite Punkt (x, y) = (1,75, –0,825) relativ zum Ursprung
des Vektors. Schließlich
werden diese Koordinaten auf Pixelstellen gerundet. Für dieses
Beispiel brechen wir die X-Pixel-Adresse
ab und runden die Y-Adresse auf die nächste ganze Zahl. (Dies ist äquivalent zum
Addieren von 1/2 zu allen X-Adressen und dann Runden beider X- und Y-Adressen auf
die nächste
ganze Zahl.) Dieser Prozeß erzeugt
Angriffe von 3 Einheiten am Pixel 3 der Spalte 1 und Pixel 2 der
Spalte 2.
-
Der
nächste
Vektor erzeugt einen Angriff von 3 Einheiten am Pixel 2 der Spalte
3 ohne Rücksicht
darauf, welcher Wert des zufälligen
OFFSET angenommen wird. Ob die Anordnung der zweiten 3 Intensitätseinheiten
im Pixel 2 oder Pixel 3 der Spalte 4 stattfindet, hängt davon
ab, ob der erzeugte OFFSET-Wert in der unteren Hälfte oder der oberen Hälfte der
zulässigen
Versatzwerte liegt. Für
den Vektor, der am Pixel 3 der Spalte 5 entspringt, ist die Länge in der
Y-Achse, LYVEC, 3 und die Länge in der
X-Achse, LXVEC, ist 2. Die ungefähre Vektorlänge LVEC wird als 5 berechnet und der Block 16
erzeugt ein "Nein". Unter der Annahme
von "RANDOM = EIN" erzeugt der Block
17 ein "Ja". Der Block 19 erzeugt
einen Zufallswert zwischen 0 und 1. Wenn wir diesen Wert als 0,2
annehmen, dann können
wir die anfänglichen
X- und Y-Versatzwerte berechnen. Der anfängliche Y-Versatz ist R·LYVEC/AVEC = 0,2·4/2 =
0,4. Der anfängliche
X-Versatz ist R·LXVEC/AVEC = 0,2·2/2 =
0,2. Der Block 20 erzeugt zwei Punkte als Ausgaben, die (0,2, 0,4)
und (1,2, 2,4) relativ zum Beginn des Vektors sind. Durch Abbrechen der
X-Werte und Runden der Y-Werte auf die nächste ganze Zahl erzeugt dieser
Prozeß Angriffe
von 3 Einheiten am Pixel 3 der Spalte 5 und Pixel 5 der Spalte 6.
-
Die
Rasterisierung über
mehrere Spalten kann auch durch eine Reihe von Operationen durchgeführt werden,
die von einem Ein-Spalten-Rasterisierer durchgeführt werden. Ein externer Interpolator
kann den Punkt finden, an dem der Vektor zwischen aufeinanderfolgenden
Datenpunkten zwischenliegende Spalten kreuzt, das Pixel in dieser
Spalte durch Runden oder Abbrechen auf eine ganze Zahl identifizieren
und dann dieses zum Ein-Spalten-Rasterisierer als Datenpunkt der
nächsten
Spalte liefern.
-
5 und 6 zeigen
ein Impulssignal mit steigenden und fallenden Flanken, das im Punkmodus bzw.
im Vektormodus rasterisiert wird, gemäß dem Stand der Technik. Die
Anzahl von einwertigen aktiven Pixeln ist im Punktmodus 20 und im
Vektormodus 48. 7 zeigt dieselben Eingangsdaten,
die im spärlichen Vektormodus
rasterisiert werden, mit einer zugewiesenen Anzahl von Angriffen
pro Vektor von drei, wobei die Intensitätseinheiten pro Angriff gleich
drei sind, und die minimale Vektorlänge auf Null gesetzt ist. Diese
Werte erzeugten 37 Pixelangriffe, die etwas näher zur Anzahl von Angriffen
liegen, die im Punktmodus durchgeführt wurden, als der Anzahl,
die im Vektormodus durchgeführt
wurde. In Erinnerung daran, daß die
hier gezeigte einzelne Ausgabe des spärlichen Vektormodus nur eine
unter vielen solchen Ausgaben ist, die zusammengesetzt werden, wodurch
ermöglicht
wird, daß die
Effekte der Zufälligkeit
die Bereiche füllen,
die hier leer sind, soll der kumulative Effekt dieses Rasterisierungsmodus
eine auf die Steigung reagierende Wellenform mit einer relativ schwachen
Spur an den steigenden und fallenden Flanken und eine hellere in
den konstanten Spannungsbereichen an der Oberseite und Unterseite
der Impulswellenform erzeugen. 8, die nachstehend
genauer erörtert
wird, zeigt das zusammengesetzte Ergebnis von nur drei spärlichen
Vektorrasterisierungen.
-
Um
festzustellen, wie der in 4 dargestellte
spärliche
Vektorrasterisierungsprozeß die
in 7 gezeigte Ausgabe erzeugt, werden wir nun kurz
die Erzeugung dieser Wellenform analysieren. Für diese Rasterisierung werden
wir annehmen, daß die
zugewiesene Anzahl von Angriffen pro Vektor, AVEC,
auf 4 gesetzt ist, die Intensitätseinheiten
pro Angriff, AUNITS, auf 3 gesetzt sind,
die minimale Vektorlänge
auf Null gesetzt ist, LMIN = 0, und der
Gewichtsverringerungsfaktor ein Viertel ist, WLESS =
0,25.
-
Um
diese Erörterung
zu vereinfachen, können
wir verschiedene Spalten auf einmal anstatt in der sequentiellen
Reihenfolge, in der sie tatsächlich
vom spärlichen
Vektorrasterisierer durchgeführt
werden würden, durchführen. Unter
Beachtung, daß die
Vektorlängen
LVEC in den Spalten 1–2, 7–14 und 18–20 alle Null oder Eins sind,
und da die Vektorlänge
darauf eingeschränkt
ist, daß sie
einen minimalen Wert von 1 hat, können wir schlußfolgern,
daß die
Intensitätswertberechnung
für alle
diese Spalten dieselbe ist. Für
diese Spalten erzeugt der Entscheidungsblock 12 folglich ein "Ja" ebenso wie der Entscheidungsblock
16. Der Block 18 stellt fest, daß AAMT =
(AVEC/LVECL)·AUNITS·WLESS = (4/1)·3·0,25 = 3. Der Entscheidungsblock
31 erzeugt ein "Ja", da AAMT =
3 gleich AUNITS = 3 ist. Der Block 33 setzt
U = 3 als voraussichtlichen Intensitätswert der Pixel 2 in den Spalten
1–2 und
19–20,
der Pixel 19 in den Spalten 8–14,
des Pixels 20 der Spalte 7 und des Pixels 1 der Spalte 18. (Wir
nehmen für
dieses Beispiel an, daß die
Blöcke
22 und 23 nicht verwendet werden oder daß "DOT = AUS", so daß keine zusätzlichen Intensitätseinheiten
pro Angriff vom Block 23 geliefert wurden.)
-
Wenn
man nun die Spalte 3 betrachtet, ist die Vektorlänge 2. Da 2 größer als
oder gleich 0 ist, erzeugt der Entscheidungsblock 12 ein "Ja" und das Treffen
der Entscheidung wird zum Block 16 weitergeleitet. Da AVEC =
4 >= LVEC =
2, erzeugt der Entscheidungsblock 16 auch ein "Ja".
Der Block 18 stellt dann fest, daß AAMT =
1,5. Da 1,5 nicht größer als
oder gleich 3 ist, erzeugt der Entscheidungsblock 31 ein "Nein". Der Block 32 ändert dann
AAMT auf 3, den Wert von AUNITS.
Der Block 33 setzt dann alle UY von Y0 bis Y(N–1),
so, daß sie
AAMT = 3 als ihren Wert empfangen.
-
Wenn
man als nächstes
zu Spalte 4 geht, ist die Vektorlänge 6. Bei Durchgang durch
den Entscheidungsblock 12 ist AVEC = 4 nun
geringer als LVEC = 6, so daß der Entscheidungsblock
16 ein "Nein" erzeugt: Mit "random = ein" gehen wir zum Block 19
und er erzeugt einen willkürlichen
OFFSET-Wert von 0 bis < (6/4),
d.h. weniger als 1,5. Unter der Annahme für dieses Beispiel, daß der willkürliche OFFSET-Wert
als 0,5 bestimmt wird, setzt der Block 20 dann die UY-Stellen
in jedem LVEC/AVEC =
1,5 Abstand von Y(0+OFFSET) bis < Y(N–1) gleich AUNITS = 3. Diese sind: 4 + 0,5 = 4,5, 4,5
+ 1,5 = 6, 6 + 1,5 = 7,5 und 7,5 + 1,5 = 9. Wenn diese y-Achsen-Stellen durch
den Block 26 in Richtung des Ursprungs dieses Vektors abgerundet
werden, werden sie 4, 6, 7 und 9.
-
In
der Spalte 5 ist die Vektorlänge
7. Der Entscheidungsblock 12 erzeugt wieder ein "Ja".
Da AVEC = 4 geringer ist als LVEC =
7, erzeugt der Entscheidungsblock 16 ein "Nein".
Wieder unter der Annahme von "random
= ein" erzeugt der
Entscheidungsblock 17 ein "Ja", der Prozeß geht zum
Block 19, der dann einen OFFSET im Bereich von 0 bis < 1,75 erzeugt. Für dieses
Beispiel setzen wir den OFFSET auf 1,25. Der Block 20 setzt dann
die UY-Stellen in jedem LVEC/AVEC = 1,75 Abstand von Y(0+OFFSET) bis < Y(N–1) gleich
AUNITS = 3. Diese sind: 10 + 1,25 = 11,25,
11,25 + 1,75 = 13, 13 + 1,75 = 14,75 und 14,75 + 1,75 = 16,5. Wenn
diese y-Achsen-Stellen durch den Block 26 in Richtung des Ursprungs
dieses Vektors abgerundet werden, werden sie: 11, 13, 14 und 16.
-
Der
Vektor, der am Pixel 17 der Spalte 6 entspringt, weist eine Länge von
3 auf. Da AVEC = 4 größer ist als LVEC =
3, erzeugt der Entscheidungsblock 16 ein "Ja".
Der Block 18 bestimmt dann, daß AAMT = (AVEC/LVECL)·AUNITS·WLESS = (4/4)·3·0,25 = 0,75. Da dies geringer
ist als der AUNITS-Wert von 3, erzeugt der
Entscheidungsblock 31 ein "Nein" und der Block 32
erhöht
AAMT auf gleich AUNITS,
d.h. 3. Der Block 33 gibt diesen AAMT-Wert
von 3 an alle UY-Stellen innerhalb des Bereichs
von 17 bis weniger als 20 oder 17, 18 und 19.
-
Nach Überspringen
der Spalten 7–14,
der Werte, die vorstehend bestimmt wurden, betrachten wir als nächstes den
Vektor, der im Pixel 18 der Spalte 15 entspringt. Seine Länge ist
3, so daß LVEC = 3 und der Entscheidungsblock 12 ein "Ja" erzeugt. Da AVEC = 4 größer ist als LVEC =
3, erzeugt der Entscheidungsblock 16 ein "Ja".
Der Block 18 stellt fest, daß AAMT = (AVEC/LVECL)·AUNITS·WLESS = (4/4)·3·0,25 = 1,5. Da dies geringer
ist als der AUNITS-Wert von 3, erzeugt der
Entscheidungsblock 31 ein "Nein" und der Block 32
erhöht
AAMT auf gleich AUNITS,
d.h. 3. Der Block 33 gibt den AAMT-Wert
von 3 an alle UY-Stellen innerhalb des Bereichs
von 18 bis größer als
15 oder 18, 17, 16. Da sich dieser Vektor von oben nach unten bewegt
und folglich ein negatives Vorzeichen aufweist, wird das "weniger als" des Blocks 33 effektiv
zu einem "größer als".
-
Der
Vektor, der am Pixel 15 der Spalte 16 entspringt, weist eine Länge von
7 Pixeln auf, und somit erzeugt der Entscheidungsblock 12 ein "Ja". Der Entscheidungsblock
16 erzeugt ein "Nein", da AEC =
4 nicht größer ist
als LVEC = 7. Mit "random = ein" erzeugt der Entscheidungsblock 17 ein "Ja" und der Block 19
bestimmt willkürlich
einen OFFSET-Wert von Null bis größer als –1,75. Wenn wir einen OFFSET
von –0,25
annehmen, erzeugt der Block 20 y-Achsen-Stellenausgaben von 15 – 0,25 =
14,75, 14,75 – 1,75
= 13, 13 – 1,75 =
11,25 und 11,25 – 1,75
= 9,5. Der Block 26 rundet dann diese Werte in Richtung des Ursprungs
des Vektors, in dem sie sich befinden, ab und die 3 Intensitätseinheiten
gehen in die Pixel 15, 13, 12 und 10 der Spalte 16.
-
Wenn
man als nächstes
zur Spalte 17 geht, ist die Vektorlänge 7. Beim Durchlauf durch
den Entscheidungsblock 12 ist AVEC = 4 nun
geringer als LVEC = 7, so daß der Entscheidungsblock
16 ein "Nein" erzeugt. Mit "random = ein" gehen wir zum Block
19 und er erzeugt einen willkürlichen
OFFSET-Wert von 0 bis >(–7/4), d.h. größer als –1,75. Unter
der Annahme für
dieses Beispiel, daß der
willkürliche
OFFSET-Wert als –0,5 bestimmt wird,
dann setzt der Block 20 die UY-Stellen in
jedem LVEC/AVEC =
1,75 Abstand von Y(0+OFFSET) bis < Y(N–1) gleich AUNITS = 3. Diese sind: 8 – 0,5 = 7,5, 7,5 – 1,75 =
5,75, 5,75 – 1,75
= 4 und 4 – 1,75
= 2,25. Wenn diese y-Achsen-Stellen
durch den Block 26 in Richtung des Ursprungs dieses Vektors gerundet
werden, werden sie: 8, 6, 4 und 3.
-
In 7 kann
beobachtet werden, daß die
erzeugten Vektoren nicht sehr "spärlich" waren und daß die gesamten
Angriffe, 37, nicht sehr viel weniger waren als die 48, die im Vektormodus
(6) erforderlich waren. Die steigenden und fallenden
Flanken dieses Impulses abgesehen von den "Löchern" in der Wellenform
empfingen auch dieselbe Menge an Intensität wie die Grundlinie und Oberseite
dieses Impulses. Teilweise lag dies daran, daß die WLESS-Gewichtsverringerungsfaktor-Einstellung
von 0,25 die Intensität
der Grundlinie und Oberseite der Wellenform stark verringerte, da
dies dort ist, wo alle kurzen Vektoren waren. Ein weiterer Grund
für diesen
Mangel an Intensitätskontrast
ist die Beziehung zwischen der Größe von AVEC bei
4 und den längsten Vektoren
dieses kleinen Impulses, 6 und 7. Diese Vektoren waren sowohl aufgrund
der kleinen 20 × 20-Größe dieser
Darstellung als auch der Tatsache, daß diese Flanken nicht sehr
steil anstiegen und fielen, relativ kurz. Wenn sich der Leser eine
realistischere Bildschirmgröße von 500 × 400 Pixeln
und einen Impuls mit dieser Größe mit steil
steigenden und fallenden Flanken vorstellen würde, sollte es schnell ersichtlich
werden, daß die
Vektoren in diesem Fall durch eine AVEC-Einstellung von nur
4 sehr verdunkelt wären,
d.h. es wären
viel größere "Löcher" im Vektor vorhanden.
-
Der
Leser wird auch gebeten zu erkennen, daß über ausreichende Versuche "random = ein" alle möglichen
Ergebnisse erzeugt und die gezeigten spärlich aussehenden Ausgaben
in denjenigen Bereichen geeignet gefüllt werden, die durch diese
Darstellung eines einzelnen Falls offen gelassen werden. 8 zeigt
das zusammengesetzte Ergebnis von drei spärlichen Vektorrasterisierungen
der in 7 dargestellten Art, wobei die "zufälligen" Ergebnisse so gewählt werden
(nicht zufällig),
daß sie
für den
Zweck der Erläuterung
in jedem Fall unterschiedlich sind. Man beachte, wie die Intensität ziemlich
gleichmäßig an den
steigenden und fallenden Flanken verringert wird.
-
Es
wurde auch festgestellt, daß die
Verwendung der spärlichen
Vektorisierung noch wirksamer gemacht werden kann, wenn weniger
Pixel in kurzen Vektoren angegriffen werden. Die Einstellung der
minimalen Vektorlänge,
LMIN, auf irgendeinen kleinen ganzzahligen
Wert und dann Verwenden desselben, um die Verwendung der normalen
spärlichen
Vektorisierung zu qualifizieren, hat sehr zufriedenstellende Anzeigen
in weniger Zeit erzeugt, wobei Rauschen oder andere Quellen von
zahlreichen kurzen Vektoren ansonsten viel Zeit verschwenden würden. Diese
Einschränkung
beeinflußt
die größeren und interessierenderen
Signalmerkmale nicht. Die folgende Erörterung von 9, 10 und 11 hilft,
dieses Merkmal zu erläutern.
-
Mit
Bezug auf 9 ist dies eine Darstellung
einer einwertigen Punktmodusrasterisierung des Standes der Technik
von einer großen
Rauschspitze oder einem kleinen Signal, das von einem Rauschhintergrund ausgeht.
In diesem Punktmodusbeispiel ist die Anzahl von erfaßten Wellenformeingangspunkten
(20) gleich der Anzahl von horizontalen Pixelspalten (20) in der
Rasterausgabe. 10 zeigt die Ausgabe, wenn diese gleichen
Eingangswellenformdaten im Vektormodus verarbeitet werden. Die Anzahl
von aktiven Ausgangspixeln hat von 20 auf 58 zugenommen.
-
In 11 sehen
wir eine spärliche
Vektormodusrasterisierung derselben Wellenform, die die Basis für die in 9 und 10 gezeigten
Ausgaben war. Bei dieser Rasterisierung ist die minimale Vektorlänge auf 3
(LMIN = 3) gesetzt, die zugewiesene Anzahl
von Angriffen pro Vektor ist 4 (AVEC = 4),
die Intensitätseinheiten pro
Angriff sind 2 (AUNITS = 2), und WLESS ist auf Null gesetzt. Es ist zu sehen,
daß außer nahe
der Spannungsspitze in der Mitte dieser Wellenform alle Vektoren
eine Länge
von 3 oder weniger aufweisen.
-
Mit
Bezug nun auf die Blöcke
30, 14 und 15 von 4 sowie 11 beachte
man, daß mit
einem LMIN = 4 für alle Werte von LVEC < 4 der Entscheidungsblock
12 ein "Nein" erzeugt. Der Block
30 erzeugt dann einen OFFSET-Wert von 0 bis weniger als LVEC. Somit werden die Intensitätswerte,
die vom Block 14 oder 15 berechnet werden, alle auf ein willkürlich gewähltes Pixel
entlang dieser Vektoren gesetzt. Die Vektorlängen von 2 und 3, da sie im
Block 14 durch ihren gemeinsamen Logarithmus genähert dargestellt sind und daher
beide als 2 erscheinen, erzeugen einen Ausgangswert, der das Maximum
des Werts von AUNITS ist, der in diesem
Fall 2 ist, oder (AVEC·AUNITS·WLESS)/LVECL = (4 × 2 × 1)/(2)
= 8/2 = 4. Folglich ist die Ausgabe des Blocks 14 4 für die Vektoren
mit der Länge
2 oder 3. Vektoren mit der Länge
von 0 und 1 bewirken, daß der
Block 14 einen Wert von (4 × 2 × 1)/(1)
= 8 erzeugt, da er auch größer ist
als die andere Alternative 2.
-
LVECL wird darauf eingeschränkt, daß es einen
minimalen Wert von 1 aufweist, um diesem zu ermöglichen, daß es ein Teiler ist genau wie
LVEC. Mit weiterer Verwendung von 4, 9 und 11 schreiten
wir zu den längeren
Vektoren in 11 fort. In Spalte 8 ist die
Vektorlänge
6. Eine Vektorlänge
von 6 erzeugt ein "Ja"-Ergebnis vom Entscheidungsblock
12, da die minimale Vektorlänge
4 war. Ein LVEC von 6 erzeugt ein "Nein"-Ergebnis vom Entscheidungsblock
16, da AVEC 4 ist. Mit "random = ein" liefert der Entscheidungsblock 17 ein "Ja" und der Block 19
erzeugt einen OFFSET-Bereich von 0 bis weniger als 1,5. Für diesen
Teil dieses Beispiels nehmen wir an, daß die Versatzausgabe 0 war.
Der Block 20 bewirkt dann, daß Intensitätswerte
von 2 (AUNITS = 2) in jedes 1,5-te Pixel
gesetzt werden, beginnend mit dem Versatz von 0. Folglich sind die
y-Achsen-Ausgaben des Blocks 20: 3 + 0 = 3, 3 + 1,5 = 4,5, 4,5 +
1,5 = 6 und 6 + 1,5 = 7,5. Wenn diese Werte in Richtung des Ursprungs
dieses Vektors durch den Block 26 abgerundet werden, empfangen die
folgenden Pixel in der Spalte 8 jeweils 2 Intensitätseinheiten:
3, 4, 6 und 7.
-
Unter
Fortsetzung mit Spalte 9 ist die Vektorlänge 10. Eine Vektorlänge von
10 erzeugt ein "Ja"-Ergebnis vom Entscheidungsblock
12, da die minimale Vektorlänge
4 war. Ein LVEC von 10 erzeugt ein "Nein"-Ergebnis vom Entscheidungsblock
16, da AVEC 4 ist. Mit "random = ein" liefert der Entscheidungsblock 17 ein "Ja" und der Block 19
erzeugt einen OFFSET-Bereich von 0 bis weniger als 2,5. Für diesen
Teil dieses Beispiels nehmen wir an, daß die Versatzausgabe 2,25 war.
Der Block 20 bewirkt dann, daß Intensitätswerte
von 2 (AUNITS = 2) in jedes 2,5-te Pixel
gesetzt werden, beginnend mit dem Versatz von 2,25. Folglich sind
die y-Achsen-Ausgaben des Blocks 20: 9 + 2,25 = 11,25, 11,25 + 2,25
= 13,5, 13,5 + 2,25 = 15,75 und 15,75 + 2,25 = 18. Da diese Werte
in Richtung des Ursprungs dieses Vektors durch den Block 26 abgerundet
werden, empfangen die folgenden Pixel in der Spalte 9 jeweils 2
Intensitätseinheiten:
11, 13, 15 und 18.
-
Unter
Fortsetzung mit Spalte 10 ist die Vektorlänge diesmal 8. Eine Vektorlänge von
8 erzeugt ein "Ja"-Ergebnis vom Entscheidungsblock
12, da die minimale Vektorlänge
4 war. Ein LVEC von 8 erzeugt ein "Nein"-Ergebnis vom Entscheidungsblock
16, da AVEC 4 ist. Mit "random = ein" liefert der Entscheidungsblock 17 ein "Ja" und der Block 19
erzeugt einen OFFSET-Bereich von 0 bis größer als 2 (ein negativer Vektor ändert das
Vorzeichen des OFFSET-Bereichs).
Für diesen
Teil dieses Beispiels nehmen wir an, daß die OFFSET-Ausgabe 1,0 war.
Der Block 20 bewirkt dann, daß Intensitätswerte
von 2 (AUNITS = 2) in jedes 2. Pixel gesetzt
werden, beginnend mit dem OFFSET von 1,0. Folglich sind die y-Achsen-Ausgaben
des Blocks 20: 19 – 1
= 18, 18 – 2
= 16, 16 – 2
= 14 und 14 – 2
= 12. Da diese Werte in Richtung des Ursprungs dieses Vektors durch
den Block 26 aufgerundet werden, empfangen die folgenden Pixel in
der Spalte 10 jeweils 2 Intensitätseinheiten:
18, 16, 14 und 12.
-
Wenn
man sich schließlich
auf die Spalte 11 konzentriert, ist die Vektorlänge diesmal 5. Eine Vektorlänge von
5 erzeugt ein "Ja"-Ergebnis vom Entscheidungsblock
12, da die minimale Vektorlänge
4 war. Ein LVEC von 5 erzeugt ein "Nein"-Ergebnis vom Entscheidungsblock
16, da AVEC 4 ist. Mit "random = ein" liefert der Entscheidungsblock 17 ein "Ja" und der Block 19
erzeugt einen OFFSET-Bereich von 0 bis größer als 1,25 (wiederum ändert der
negative Vektor das Vorzeichen des OFFSET-Bereichs). Für diesen
Teil dieses Beispiels nehmen wir an, daß die OFFSET-Ausgabe 0,25 war.
Der Block 20 bewirkt dann, daß Intensitätswerte
von 2 (AUNITS = 2) in jedes 1,25-te Pixel
gesetzt werden, beginnend mit dem OFFSET von 0,25. Folglich sind
die y-Achsen-Ausgaben des Blocks 20: 11 – 0,25 = 10,75, 10,75 – 1,25 =
9,5, 9,5 – 1,25
= 8,25 und 8,25 – 1,25
= 7. Da diese Werte in Richtung des Ursprungs dieses Vektors durch
den Block 26 aufgerundet werden, empfangen die folgenden Pixel in
der Spalte 11 jeweils 2 Intensitätseinheiten:
11, 10, 9 und 7.
-
Der
vorherrschende Effekt der Einstellung der minimalen Vektorlänge auf
einen relativ hohen Wert wie z.B. 4 ist die große Verringerung der Anzahl
von Angriffen, in diesem Fall von den 46, die mit LMIN =
0 erzeugt worden wären,
auf die 32, die unter Verwendung einer minimalen Vektorlänge von
4 erzeugt werden. Die Verarbeitung von mehreren wiederholten Wellenformen
und die innewohnende Zufälligkeit
von Rauschen füllen den
Bereich mit den kurzen Vektoren und die "Löcher" in der Spannungsspitze
der längeren
Vektoren, wobei nach mehreren Wellenformrasterisierungen eine Wellenform
erzeugt wird, die eine analogartige "auf die Steigung reagierende Vektorisierung" aufweist (ähnlich jener,
die von dem System erzeugt wird, das im US-Patent 5 550 963, Siegel
et al., über "Graded Display of
Digitally Compressed Waveforms" beschrieben
ist).
-
Die
Hauptziele dieser Methode für
die Rasterisierung sind zweifach. Erstens Vorsehen einer effektiven Weise,
um den Rasterisierer mit einer optimalen Geschwindigkeit auf der
Basis der Rate, mit der neue Wellenformen erfaßt werden, am Laufen zu halten.
AVEC bewerkstelligt dieses Ziel durch Ermöglichen,
daß der
Rasterisierer weniger Zeit bei jeder Wellenform verbringt, wenn
mehr Wellenformen verfügbar
werden. Das andere Ziel dieser Methode besteht darin, die Bedienperson
mit einer "Helligkeits"- (oder "Intensitäts"-) Steuerung zu versehen,
die sich wie die Helligkeits- oder Intensitätssteuerung einer analogen
CRT anfühlt
und wie diese wirkt. Die Einstellung von AUNITS macht
alle Wellenformen gemäß der Vorliebe
der Bedienperson und weitgehend ohne Rücksicht auf die Auslöse- und
Wellenformerfassungsrate oder die Weise, in der AVEC auf
diese reagiert, heller oder dunkler.
-
Obwohl
in der bevorzugten Implementierung der Erfindung Eingaben von der
Verwendung der "Helligkeits"-Steuerung durch
die Bedienperson sich hauptsächlich
auf den Wert von AUNITS auswirken, kann
ihre Wechselwirkung mit anderen Einstellungen auch Unterschiede
in der Art und Weise erzeugen, in der AVEC und AUNITS auf den Rasterisierer angewendet werden.
Die von diesen Variablen angenommenen Werte können durch die Einstellungen
des Instruments und der Art der eingehenden Wellenform oder Wellenformen
gesteuert werden. Das Ändern
der Anzahl von Kanälen,
die bei der Erfassung und Anzeige aktiv sind, trägt beispielsweise zur Anzahl
von Wellenformen, die eine Rasterisierung erfordern, bei und dies
wirkt sich auf die Helligkeit von jeder Wellenform aus, wobei angenommen
wird, daß ein
einzelner Rasterisierer gemeinsam genutzt wird und daß er eine
feste maximale Zeichengeschwindigkeit aufweist. Folglich muß der AVEC zugewiesene Wert verringert werden, um
die erhöhte
Rasterisierereingabe zu ermöglichen,
und AUNITS muß dann erhöht werden, um eine relativ
konstante Helligkeit zu erzeugen. Die Wahl einer Auflösungseinstellung
durch die Bedienperson wird auch berücksichtigt, da ein Kompromiß zwischen
der Auflösung
und der Aktualisierungsrate besteht. Die tatsächliche Auslöserate des
Instruments steuert typischerweise AVEC,
aber, wie vorstehend bemerkt, kann sein Wert eingestellt werden
müssen,
um andere Einstellungen des Instruments zu kompensieren. Obwohl
die vorstehend umrissenen Ziele mit den Vorlieben der Erfinder innerhalb
einer Ausführungsumgebung
widergespiegelt werden, ist die Erfindung, wie allgemein verständlich,
nicht notwendigerweise auf solche Ziele begrenzt und andere Weisen
zum Bedienen der Steuerungen eines Rasterisierers im spärlichem
Vektormodus liegen immer noch innerhalb des Schutzbereichs der Erfindung.
-
Der
Wert von LMIN, der im Entscheidungsblock
12 verwendet wird, wird gewöhnlich
auf einen kleinen Wert wie z.B. 2 oder 3 festgelegt. Bei dieser
Festlegung kann die Zeichenzeit signifikant verringert werden, ohne
eine signifikante nachteilige Auswirkung auf die Anzeigequalität zu haben.
Wenn jedoch die Auslöserate niedrig
genug ist, kann LMIN auf 0 oder 1 gesetzt
werden. Das Zufallsverteilungsmerkmal wird im allgemeinen immer
auf "ein" gesetzt, um eine
Anzeigevorrichtungsrückfaltung
zu vermeiden. Die durch "DOTS
= EIN" bereitgestellte
Option wurde wegen der Flexibilität aufgenommen, aber bisher
wurde nicht festgestellt, daß sie beim
Verbessern der Wellenformqualität
innerhalb der bevorzugten Implementierung von großem Nutzen
ist.
-
Die
AMAX.VAL-Steuerung wird verwendet, um zu
helfen, eine Sättigung
bei höheren
Auslöseraten
zu verhindern, wenn eine hohe Wellenformdichte erwünscht ist.
Sie hilft, die Helligkeit jeder rasterisierten Wellenform zu begrenzen,
um die Tendenz zu verringern, daß die Wellenformebene sättigt, wenn
mehrere Wellenformen aufgetragen werden. Die IMIN-Steuerung
wird in Verbindung mit den vom Benutzer gewählten höchsten Helligkeitssteuerungseinstellungen
verwendet. Indem der minimale Intensitätspegel hervorgebracht wird,
dient dies, um dem Benutzer zu versichern, daß jedes Datenelement zu sehen
ist, selbst wenn dies auf Kosten der Grausstufeninformation über große Teile
der Anzeige geht.
-
Obwohl
ein bevorzugtes Ausführungsbeispiel
der vorliegenden Erfindung gezeigt und beschrieben wurde, ist es
für Fachleute
ersichtlich, daß viele Änderungen
und Modifikationen vorgenommen werden können, ohne von der Erfindung
in ihren breiteren Aspekten abzuweichen. Die abhängigen und unabhängigen Variablen
könnten
beispielsweise andere sein als die Variablen der Spannung als Funktion
der Zeit, die für
die obige Beschreibung verwendet wurden. Ebenso könnten die
vertikale und horizontale Achse umgekehrt werden. Und sicher könnten viele
der beschriebenen Steuerwechselwirkungen in verschiedenen alternativen
Weisen und in der Förderung
von verschiedenen Ausführungszielen
implementiert werden.