DE69926557T2 - Reduziertes Vektor Raster - Google Patents

Reduziertes Vektor Raster Download PDF

Info

Publication number
DE69926557T2
DE69926557T2 DE69926557T DE69926557T DE69926557T2 DE 69926557 T2 DE69926557 T2 DE 69926557T2 DE 69926557 T DE69926557 T DE 69926557T DE 69926557 T DE69926557 T DE 69926557T DE 69926557 T2 DE69926557 T2 DE 69926557T2
Authority
DE
Germany
Prior art keywords
vector
pixels
rasterization
vec
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69926557T
Other languages
English (en)
Other versions
DE69926557D1 (de
Inventor
Steven K. Beaverton Sullivan
Kenneth P. Beaverton Dobyns
David P. Beaverton Maguire
Paul M. Beaverton Gerlach
Samuel J. Beaverton Peters
Robert C. Beaverton Proebstel
Jing-Fan Beaverton Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tektronix Inc
Original Assignee
Tektronix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tektronix Inc filed Critical Tektronix Inc
Application granted granted Critical
Publication of DE69926557D1 publication Critical patent/DE69926557D1/de
Publication of DE69926557T2 publication Critical patent/DE69926557T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/20Cathode-ray oscilloscopes
    • G01R13/22Circuits therefor
    • G01R13/34Circuits for representing a single waveform by sampling, e.g. for very high frequencies
    • G01R13/345Circuits for representing a single waveform by sampling, e.g. for very high frequencies for displaying sampled signals by using digital processors by intermediate A.D. and D.A. convertors (control circuits for CRT indicators)

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • 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 1A3C (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.
  • TABELLE VON ABKÜRZUNGEN
    Figure 00190001
  • Figure 00200001
  • 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.

Claims (16)

  1. Verfahren zur Rasterisierung eines Satzes von Daten-Adressen-Paaren von ersten Variablen als Funktion von zweiten Variablen in Vektoren von Pixeln in einer Mehrbit-Rasterabtastanzeige eines elektronischen Datenerfassungsinstruments, wobei das Verfahren die Schritte umfaßt: (a) Liefern einer Reihe von zu rasterisierenden Daten-Adressen-Paaren, wobei der Adressenteil von jedem Daten-Adressen-Paar eine spezielle Spalte der Mehrbit-Rasterabtastanzeige festlegt und der Datenteil von jedem Daten-Adressen-Paar ein spezielles Pixel innerhalb dieser Spalte festlegt; (b) Auswählen einer Anzahl von Angriffen pro Vektor (AVEC), wobei die Anzahl von Angriffen pro Vektor die ungefähre Anzahl von Pixelmodifikationen ist, die während der Rasterisierung jedes Vektors durchgeführt werden; (c) Wählen einer Anzahl von Intensitätseinheiten pro Angriff (AUNITS), wobei jede Intensitätseinheit ein Quantum an Helligkeit darstellt, die von einem Pixel der Mehrbit-Rasterabtastanzeige angezeigt werden soll; (d) Auffinden einer Anzahl von Pixeln in jedem aktuellen Vektor durch (1) Bestimmen einer ersten Endpixelstelle aus dem aktuellen Daten-Adressen-Paar (Y0), (2) auch Bestimmen einer zweiten Endpixelstelle aus dem nächsten Daten-Adressen-Paar (YN), und (3) Verwenden (11) der ersten Endpixelstelle und der zweiten Endpixelstelle, um die Länge des aktuellen Vektors in Pixeln (LVEC) zu bestimmen; und (e) wenn (16, 33) die ausgewählte Anzahl von Angriffen pro Vektor (AVEC) gleich der oder größer als die Anzahl von Pixeln im aktuellen Vektor (LVEC) ist, Anwenden der gewählten Anzahl von Intensitätseinheiten pro Angriff (AUNITS) oder eines bestimmten Vielfachen davon auf jedes Pixel im aktuellen Vektor; oder (f) wenn (16, 20) die ausgewählte Anzahl von Angriffen pro Vektor (AVEC) geringer ist als die Anzahl von Pixeln im aktuellen Vektor (LVEC), Verteilen der gewählten Anzahl von Intensitätseinheiten pro Angriff (AUNITS) auf jedes von einer Anzahl von Pixeln im aktuellen Vektor, die ungefähr gleich der oder geringer als die ausgewählte Anzahl von Angriffen pro Vektor ist.
  2. Verfahren zur Rasterisierung nach Anspruch 1, wobei die erste Variable die Spannung ist und die zweite Variable die Zeit ist.
  3. Verfahren zur Rasterisierung nach Anspruch 1 oder Anspruch 2, wobei das bestimmte Vielfache des Anwendungsschritts (e) durch einen Schritt (18) gefunden wird, der den Schritt des Dividierens der ausgewählten Anzahl von Angriffen pro Vektor (AVEC) durch eine Zahl, die die Anzahl von Pixeln im aktuellen Vektor (LVECL) darstellt, umfaßt.
  4. Verfahren zur Rasterisierung nach Anspruch 3, wobei die Zahl, die die Anzahl von Pixeln im aktuellen Vektor (LVECL) darstellt, durch Abrunden auf eine nächste Zahl, die eine Potenz von Zwei ist, genähert wird.
  5. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei der Verteilungsschritt (f) eine gewisse Zufallsverteilungsfunktion umfaßt.
  6. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei der Verteilungsschritt (f) die Schritte umfaßt: (1) Berechnen (19) eines in Pixeln gemessenen anfänglichen Versatzwerts (OFFSET); (2) Berechnen (20) eines in Pixeln gemessenen periodischen Inkrementwerts; und (3) Verwenden des anfänglichen Versatzwerts und des periodischen Inkrementwerts, um festzustellen, welche Pixel im aktuellen Vektor Intensitätseinheiten empfangen sollen.
  7. Verfahren zur Rasterisierung nach Anspruch 6, wobei der Berechnungsschritt (f) (1) die Verwendung einer gewissen Zufallsverteilungsfunktion umfaßt.
  8. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei der Schritt des Auswählens der Anzahl von Angriffen pro Vektor zumindest teilweise auf einer Auslöserate des elektronischen Datenerfassungsinstruments beruht.
  9. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei der Schritt des Wählens einer Anzahl von Intensitätseinheiten pro Angriff zumindest teilweise auf einer Bedienpersoneneingabe beruht.
  10. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei Intensitätseinheiten nur auf ein einzelnes Pixel im aktuellen Vektor angewendet werden, wenn die Anzahl von Pixeln im aktuellen Vektor (LVEC) geringer ist als ein vorab zugewiesenes Minimum (LMIN).
  11. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei Schritt (e) ferner die Schritte umfaßt: (1) Vergleichen (24) der gesamten Intensitätseinheiten (UYA) im bestimmten Vielfachen der gewählten Anzahl von Intensitätseinheiten pro Angriff mit einer vorbestimmten maximalen Anzahl (AMAX.VAL); und (2) Verringern (25) der gesamten Intensitätseinheiten (UYA) auf die vorbestimmte maximale Anzahl (AMAX.VAL), wenn der Vergleich von Schritt (1) angibt, daß die gesamten Intensitätseinheiten die vorbestimmte maximale Anzahl übersteigen.
  12. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei die ausgewählte Anzahl von Angriffen pro Vektor so eingeschränkt wird, daß sie immer eine Potenz von Zwei ist.
  13. Verfahren zur Rasterisierung nach Anspruch 1, wobei die erste Variable die Amplitude ist und die zweite Variable die Frequenz ist.
  14. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei das bestimmte Vielfache von Schritt (e) durch den Wert einer Konstante (WLESS) beeinflußt wird, die zum Verringern eines Gesamtwerts von Intensitätseinheiten, die zu jedem Pixel im aktuellen Vektor geliefert werden, einstellbar ist.
  15. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei die Vektoren von Pixeln der Mehrbit-Rasterabtastanzeige vertikal ausgerichtet sind und alle Pixel innerhalb des Vektors innerhalb einer Spalte der Rasterabtastanzeige liegen.
  16. Verfahren zur Rasterisierung nach einem vorangehenden Anspruch, wobei die Vektoren von Pixeln der Mehrbit-Rasterabtastanzeige Vektoren mit einer horizontalen Komponente umfassen und einige der Pixel innerhalb des Vektors innerhalb anderer Spalten der Rasterabtastanzeige als die erste Endpixelstelle liegen.
DE69926557T 1998-02-19 1999-02-09 Reduziertes Vektor Raster Expired - Lifetime DE69926557T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26185 1998-02-19
US09/026,185 US6104374A (en) 1998-02-19 1998-02-19 Sparse vector rasterization

Publications (2)

Publication Number Publication Date
DE69926557D1 DE69926557D1 (de) 2005-09-15
DE69926557T2 true DE69926557T2 (de) 2006-06-08

Family

ID=21830366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69926557T Expired - Lifetime DE69926557T2 (de) 1998-02-19 1999-02-09 Reduziertes Vektor Raster

Country Status (6)

Country Link
US (1) US6104374A (de)
EP (1) EP0937987B1 (de)
JP (1) JP3375062B2 (de)
CN (1) CN1153975C (de)
DE (1) DE69926557T2 (de)
TW (1) TW440694B (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195080B1 (en) * 1998-04-03 2001-02-27 Tektronix, Inc. High probability capture of slow trigger rate acquisitions in a digital oscilloscope with variable intensity rasterization
US6384825B2 (en) 1998-06-25 2002-05-07 Tektronix, Inc. Method of controlling a sparse vector rasterizer
JP2000238338A (ja) * 1999-02-23 2000-09-05 Matsushita Electric Ind Co Ltd 画像処理装置
US6778931B1 (en) * 1999-09-24 2004-08-17 Tektronix, Inc. Test and measurement instrument having multi-channel telecommunications mask testing capability
US6980212B2 (en) * 2001-04-17 2005-12-27 Tektronix, Inc. Method and apparatus for computing thresholds for identification of waveform anomalies
US7167185B1 (en) 2002-03-22 2007-01-23 Kla- Tencor Technologies Corporation Visualization of photomask databases
JP2004127073A (ja) * 2002-10-04 2004-04-22 Smk Corp 指示入力装置
US20050057253A1 (en) * 2003-09-03 2005-03-17 Gee Edward C. Digital phosphor spectrum analyzer
JP4571811B2 (ja) * 2004-02-16 2010-10-27 Hoya株式会社 レンズ鏡筒のカム機構
US8059129B2 (en) * 2006-03-29 2011-11-15 Tektronix, Inc. Fast rasterizer
US8102396B2 (en) * 2006-07-17 2012-01-24 Tektronix, Inc. Apparatus and method for improved measurement speed in test and measurement instruments
DE102006041824A1 (de) * 2006-09-06 2008-03-27 Rohde & Schwarz Gmbh & Co. Kg Vorrichtung und Verfahren für Analyse von Signalverläufen unter Verwendung von Masken
DE102006047994A1 (de) * 2006-10-10 2008-04-17 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Darstellung von Ordinaten-Abszissen-Wertepaaren auf einer Anzeige-Einrichtung
US7692654B1 (en) * 2006-12-08 2010-04-06 Nvidia Corporation Nondeterministic pixel location and identification in a raster unit of a graphics pipeline
DE102007042323A1 (de) * 2007-09-06 2009-03-12 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Anzeige von Linien zwischen abgetasteten Messwerten
US8447954B2 (en) * 2009-09-04 2013-05-21 International Business Machines Corporation Parallel pipelined vector reduction in a data processing system
CN102109540B (zh) * 2009-12-25 2015-05-20 北京普源精电科技有限公司 一种可以在光栅显示器中显示等效采样波形的数字示波器及其等效采样点的设置方法
US8806458B2 (en) 2012-02-16 2014-08-12 Microsoft Corporation Vectorization of shaders
DE102012202941A1 (de) 2012-02-27 2013-08-29 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Darstellung von Ordinaten-Abszissen-Wertepaaren auf einer Anzeigeeinrichtung
DE102012208405A1 (de) * 2012-05-21 2013-11-21 Rohde & Schwarz Gmbh & Co. Kg Messgerät und Verfahren zur verbesserten Abbildung von Spektralverläufen
CN103869120A (zh) * 2012-12-13 2014-06-18 北京普源精电科技有限公司 具有精细等效触发功能的示波器及其精细等效触发方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4940931A (en) * 1988-06-24 1990-07-10 Anritsu Corporation Digital waveform measuring apparatus having a shading-tone display function
GB2245743B (en) * 1990-06-29 1994-07-20 Acorn Computers Ltd Method and apparatus for producing grey levels on a raster scan video display device
US5387896A (en) * 1990-08-06 1995-02-07 Tektronix, Inc. Rasterscan display with adaptive decay
US5790764A (en) * 1993-05-26 1998-08-04 Kyocera Corporation Image output device and image control method for smoothing image or increasing image resolution by use of same
US5949399A (en) * 1996-02-12 1999-09-07 Snap-On Technologies, Inc. Electronic signal measurement apparatus for the acquisition and display of short-duration analog signal events
US6151010A (en) * 1996-05-24 2000-11-21 Lecroy, S.A. Digital oscilloscope display and method therefor
US5995117A (en) * 1998-02-19 1999-11-30 Tektronix, Inc. Rasterization control method

Also Published As

Publication number Publication date
US6104374A (en) 2000-08-15
EP0937987B1 (de) 2005-08-10
CN1153975C (zh) 2004-06-16
EP0937987A3 (de) 2000-02-23
JP3375062B2 (ja) 2003-02-10
TW440694B (en) 2001-06-16
EP0937987A2 (de) 1999-08-25
CN1234506A (zh) 1999-11-10
DE69926557D1 (de) 2005-09-15
JPH11282394A (ja) 1999-10-15

Similar Documents

Publication Publication Date Title
DE69926557T2 (de) Reduziertes Vektor Raster
DE69921889T2 (de) Methode zum Reagieren auf ungewöhnliche Wellenformen
DE69927879T2 (de) Feststellung ungewöhnlicher Wellenformen
DE69737543T2 (de) Verfahren und Vorrichtung zur Verbesserung zeitabhängiger Bildeinzelheiten auf einer Rasteranzeige
DE69930890T2 (de) Digitaloszilloskop mit hohem Wellenformdurchsatz, variabler Intensitätsaufrasterung und Graustufen- oder Farbbildschirm
DE69723439T2 (de) Display und verfahren für digitaloszilloskop
DE2815218C2 (de)
DE69835408T2 (de) Verfahren und Vorrichtung zur Komposition von Bildfarben unter Speicherbeschränkungen
DE3315148C2 (de)
DE2907991A1 (de) Verfahren und vorrichtung zur verarbeitung digitaler videosignale
DE2055639A1 (de) Verfahren und Vorrichtung zur Korrektur der Schattierungsverzerrung in einem Bildsignal
DE2757456C2 (de)
DE1901101A1 (de) Verfahren zur punkt- und zeilenweisen gerasterten Aufzeichnung der durch Abtastung von Halbtonbildern gewonnenen Bildsignale mit gegen die Aufzeichnungsrichtung gedrehtem Raster
DE3518416A1 (de) Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige
DE69927869T2 (de) Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität
DE2220953A1 (de) Bildpunktauswahl bei der Bildanalyse
DE19958662B4 (de) Intensitätssteuerung mit einem einzigen Knopf zur Verwendung in einer digitalen Test- und Meßapparatur
DE4125878A1 (de) Raster-scan-anzeige mit adaptivem nachleuchten
DE4430629A1 (de) Digitale Bildverarbeitungsvorrichtung
DE69634972T2 (de) Bildqualitätsverbesserung bei rasterabbildung
DE69838372T2 (de) Verfahren und Vorrichtung zum Abtasten einer Plasmaanzeigetafel
DE69930786T2 (de) Verfahren zur Kontrast- und Helligkeitsregelung in einem Rasterabtastdigitaloszilloskop
DE1921642A1 (de) Bilderzeuger
EP0230076A2 (de) Verfahren und Anschaltungsanordnung zur Auflösungsumwandlung von binären Pseudo-Halbtonbildern
EP0383398A2 (de) Verfahren zum Verkleinern eines Musters sowie Anordnung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition