DE3153416C2 - - Google Patents

Info

Publication number
DE3153416C2
DE3153416C2 DE3153416A DE3153416A DE3153416C2 DE 3153416 C2 DE3153416 C2 DE 3153416C2 DE 3153416 A DE3153416 A DE 3153416A DE 3153416 A DE3153416 A DE 3153416A DE 3153416 C2 DE3153416 C2 DE 3153416C2
Authority
DE
Germany
Prior art keywords
signal
line
pixel
radial
output
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
Application number
DE3153416A
Other languages
English (en)
Inventor
Steven C. Hampstead N.H. Us Leavitt
Hugh G. West Newbury Mass. Us Larsen
Barry F. Nashua N.H. Us Hunt
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE3153416C2 publication Critical patent/DE3153416C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/52017Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00 particularly adapted to short-range imaging
    • G01S7/52023Details of receivers
    • G01S7/52044Scan converters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/46Indirect determination of position data
    • G01S2013/468Indirect determination of position data by Triangulation, i.e. two antennas or two sensors determine separately the bearing, direction or angle to a target, whereby with the knowledge of the baseline length, the position data of the target is determined
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/523Details of pulse systems
    • G01S7/526Receivers
    • G01S7/53Means for transforming coordinates or for evaluating data, e.g. using computers
    • G01S7/531Scan converters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
  • Television Systems (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung nach dem Oberbegriff des Anspruches 1.
Aus der US 40 02 827 ist eine Schaltungsanordnung bekannt, die dazu dient, die von einem Radargerät in Polarkoordinaten gelieferten Datenwerte in zweite Datenwerte umzusetzen, welche dann in einem Fernsehformat, d. h. in einem kartesischen Koordinatensystem, dargestellt werden können. Zu diesem Zweck ordnet die bekannte Schaltung die in Polarkoordinaten geordneten Daten in die entsprechenden kartesischen Koordinaten ein, was durch Einlesen in einen Speicher geschieht, der dann in Abhängigkeit von der Darstellung der im kartesischen Koordinatensystem angeordneten Bildpunkte abgetastet wird. Daß dabei keine vollständige Deckung zwischen dem Ort der Bildpunkte im Polarkoordinatensystem und dem Ort der Bildpunkte im kartesischen Koordinatensystem herstellbar ist, wird bei der bekannten Schaltung vernachlässigt. Ebenso wird bei den Daten nur zwischen dem Vorliegen und dem Fehlen eines Signals unterschieden, da Radarbilder keine Graustufung haben.
Es ist auch bekannt, eine ähnliche Schaltung in Geräten wie Ultraschall-Abtastern anzuwenden, die zur Erzeugung von Abbildern eines Querschnitts des Herzens oder eines anderen Organs des Patienten benutzt werden, und bei denen die Datenwerte analoge Informationen längs der Radialstrahlen eines Sektors darstellen. Die Reproduktion der Abbilder im gleichen Format ist jedoch nicht einwandfrei wegen der Leerstellen zwischen den von den Radialstrahlen gebildeten radialen Linien. Als eine Konsequenz davon besteht der moderne Lösungsweg darin, die Daten längs radialer Strahlen abzutasten und die abgetasteten Daten in einen digitalen Anzeigespeicher einzuschreiben, was manchmal als digitaler "Scan Converter" bezeichnet wird. Eine Beschreibung dieses Lösungsweges findet sich in dem Artikel "Digital Scan Converters in Diagnostic Ultra-Sound Imaging" in Proceedings of the IEEE, Band 67, Nr. 4, April 1979. Abtastwerte der analogen Daten längs jeder radialen Linie werden an Punkten erhalten, die einen gleichförmigen gegenseitigen Abstand von solcher Dimension haben, das das Nyquist-Kriterium erfüllt wird. Ihre x- und y-Koordinaten werden aus ihren R- und R- Koordinaten bestimmt, und die Abtastwerte werden zum nächstgelegenen Anzeigepunkt in einen Anzeigespeicher übertragen. Macht man von dieser Punkt-zu-Punkt-Übersetzung Gebrauch statt von einer wahren Abbildrekonstruktion, tritt eine Anzahl von Problemen auf. Das bedeutendste dabei ist das Auftreten von Moir´- Mustern, die sich aus der Tatsache ergeben, daß einige Anzeigepunkte im Anzeigespeicher keine Information erhalten.
Ein Moir´-Muster kann zwar durch Einfüge- oder Interpolationsverfahren mehr oder weniger vollständig eliminiert werden, jedoch treten dabei entweder andere Bildfehler auf oder es wachsen die dabei zu verarbeitenden Datenmengen zu einem Umfang an, der eine Verarbeitung in Echtzeit mit vertretbarem Aufwand unmöglich macht. So können sich beispielsweise in dem von einem Ultraschallgerät abgetasteten Sektor etwa 125 000 Anzeigepunkte befinden.
Es ist offensichtlich, daß die Bestimmung ihrer Radial- und Winkelpositionen und die für die Interpolationen erforderlichen Berechnungen nicht in einer dreißigstel Sekunde, während der ein solcher Sektor abgetastet wird, durch direkte Rechnungen, ausgeführt werden kann, die auf den x- und y-Koordinaten der Anzeigepunkte und den R- und R-Positionen der Daten-Abtastwerte beruhen.
Daher liegt der Erfindung die Aufgabe zugrunde, eine Schaltungsanordnung der eingangs genannten Art derart auszubilden, daß die zur Ermittlung der Position der Bildarten in dem kartesischen Koordinatensystem in bezug auf in einem Polarkoordinatensystem ermittelten Datenpunkten benötigte Zeit gegenüber den herkömmlichen Verfahren stark vermindert wird.
Die Aufgabe wird durch die Merkmale des kennzeichnenden Teils des Anspruches 1 gelöst. Vorteilhafte Ausgestaltungen der Schaltungsanordnung nach Anspruch 1 ergeben sich aus den Merkmalen der Unteransprüche.
Die erfindungsgemäße Schaltungsanordnung arbeitet nach einem rekursiven Verfahren, bei dem der abgetastete Sektor in Schnitte aufgeteilt wird, die jeweils zwischen aufeinanderfolgenden radialen Linien liegen, und Steuersignale für die Anzeigepunkte erzeugt werden, die eine Schritt-für-Schritt-Abtastung längs der Zeilen und Spalten von Anzeigepunkten in jedem Schnitt aufeinanderfolgend darstellen.
Die radiale Position jedes Anzeigepunktes innerhalb eines Unter-Schnittes wird bestimmt durch rekursive Addition oder Subtraktion eines bekannten Wertes für jeden Schritt längs einer Zeile von Anzeigepunkten und eines anderen gespeicherten Wertes für jeden Schritt längs einer Spalte von Anzeigepunkten zu bzw. von dem bekannten Radius eines vorher abgetasteten Anzeigepunktes. Der Bruchteil der rekursiven Addition ist die gewünschte radiale Gewichtung und wird im folgenden mit RERR bezeichnet.
Die Winkelposition jedes Anzeigepunktes innerhalb eines Unter-Schnittes wird bestimmt durch rekursive Addition eines gespeicherten Wertes für jeden Schnitt längs einer Zeile von Anzeigepunkten und eines anderen gespeicherten Wertes für jeden Schritt längs einer Spalte von Anzeigepunkten zu einem bekannten Abstand (genannt COUNT) eines vorher abgetasteten Anzeigepunktes längs einer Zeile von Anzeigepunkten, in welchem sich der Anzeigepunkt befindet, derart, daß das Signal bzw. der Wert des COUNT für jeden Anzeigepunkt abgeleitet wird. Eine weitere rekursive Addition wird mit einem gegebenen gespeicherten Wert für jeden Schritt längs einer Spalte von Anzeigepunkten zu der bekannten Distanz zwischen den radialen Linien eines Schnittes längs einer gegebenen Zeile von Anzeigepunkten durchgeführt, derart, daß ein Signal bzw. Wert XHAT für jeden Anzeigepunkt abgeleitet wird. Die Signale COUNT für jeden Anzeigepunkt können durch das Signal XHAT für diesen Punkt dividiert werden, wodurch ein Signal bzw. Wert R ERR erhalten wird, der die Winkelposition darstellt. Ein minimaler Fehler ist vorhanden in bezug auf die wahre Winkelposition, ausgedrückt als Verhältnis von Bogenlängen zwischen einem Anzeigepunkt und den radialen Linien des Schnittes, wenn der Winkel zwischen den radialen Linien klein ist.
Die Zeitersparnis für diese Berechnungen ergibt sich aus der kurzen Zeit, die für jede rekursive Addition benötigt wird, im Gegensatz zu der Zeit, die andernfalls für eine Vorwärts-Berechnung von Radius und Winkel benötigt würde. Hierzu sei auf die unten beschriebenen Berechnungen von RERR und R ERR verwiesen.
Wenn die Daten-Abtastwerte Helligkeit darstellen, wie z. B. in einem Ultraschallsystem, werden nur fünf Bits benötigt, um die 32 verschiedenen Helligkeitspegel darzustellen, die auf einer Kathodenstrahlröhre reproduziert werden können. Daher werden nur fünf Bits für die Darstellung der endgültigen Werte von RERR, COUNT, XHAT und R ERR benötigt. Bei der Durchführung der rekursiven Addition wird jedoch eine größere Anzahl von Bits, z. B. 12, benutzt, um den Betrag des akkumulierten Fehlers auf einem vertretbaren Maß zu halten.
Die Interpolationen können in sehr kurzer Zeit durch Multiplikation mit Festwertspeichern (ROMs) ausgeführt werden und ROMs vernünftiger Größe können benutzt werden, das sowohl die Helligkeits-Abtastwerte als auch die Werte von RERR und R ERR, die in den Interpolationen verwendet werden, nur fünf Bits haben.
Grundlagen der benutzten rekursiven Berechnungen und gespeicherten Werte
Zur Erleichterung der Notierung ist die mittlere radiale Linie als Null Grad definiert. Alle Winkel sind hierauf bezogen und werden als positiv betrachtet, d. h. die Pluszeichen-45°-Radiallinie liegt längs beiden Seiten eines 90°-Sektors. Bei Bezugnahme auf einen Schnitt hat die "äußere" radiale Linie R O den größeren, mit R₂ bezeichneten Winkel, und die "innere" radiale Linie R I hat den kleineren, mit R₁ bezeichneten Winkel.
RERR
Die rekursive Beziehung verändert den vorherigen Radiuswert um einen inkrementellen Betrag, der durch die Richtung festgelegt ist, die zwischen dem vorherigen Punkt (j) und dem neuen Punkt (j+1) durchquert worden ist. Wenn diese Bewegung in der x-Richtung nach links oder nach rechts verläuft, ist K y = 0. Umgekehrt, wenn die Bewegung in y-Richtung, nach oben oder nach unten geht, ist K x = 0. Wenn die Bewegung in x-Richtung auf die Mittellinie des Sektors gerichtet ist, ist K x positiv, was zu einem inkrementellen Abnehmen des Radius um K x sin R₂ führt. Umgekehrt ist für eine nach außen gerichtete Bewegung in x-Richtung K x negativ, was zu einem inkrementellen Anstieg um K x sin R₂ führt. Wenn die Bewegung in y-Richtung weg vom Scheitelpunkt des Sektors führt, ist K y negativ und wenn die Bewegung in y-Richtung zum Scheitelpunkt hingeht, ist K y negativ.
Die Fehlergewichte RERR und R ERR, die für jeden Anzeigepunkt benötigt werden, benötigen anscheinend die explizite Berechnung des Radius R und des Winkels R, wobei R der Winkel zwischen einer vertikalen Linie durch die Mitte des Sektors und einer Linie durch den Anzeigepunkt zum Scheitelpunkt des Sektorschnittes ist. Das bedeutet für den j-ten Anzeigepunkt
wobei x j und y j die rechtwinkligen Koordinaten des j-ten Anzeigepunktes sind und
Es läßt sich jedoch zeigen, daß Gleichung (1) alternativ aus einer rekursiven Approximation berechnet werden kann, die sich aus einer Taylor-Reihenentwicklungsapproximation ergibt, die gegeben ist durch
R j+1 = R j - K x sin R₂ + K y cos R₂ (3)
wobei R₂ den Winkel des äußeren Strahles von zwei radialen Strahlen darstellt, die den Sektorschnitt definieren.
R ERR
Es läßt sich zeigen, daß der gespeicherte Wert Δ XHAT, der bei jedem Schritt der abgetasteten Wege längs einer Spalte von Anzeigepunkten zur Ableitung von XHAT für jeden Anzeigepunkt addiert wird, tan R₂ - tan R₁ ist, wobei R₂ der Winkel zwischen dem Strahl R = 0° und der äußeren radialen Linie eines Schnittes ist, und R₁ der Winkel zwischen dem Strahl R = 0° und der inneren radialen Linie eines Schnittes sind. Dementsprechend gilt
XHAT j+1 = XHAT j + XHAT K y (4)
Es läßt sich auch zeigen, daß
COUNT j+1 = COUNT j + K x + K y tan R₂ (5)
wobei der Wert von tan R₂ für jeden Schnitt gespeichert ist.
Die Erfindung wird im folgenden anhand von Ausführungsbeispielen in Verbindung mit der zugehörigen Zeichnung erläutert. In der Zeichnung zeigt
Fig. 1 die Grundkomponenten eines die erfindungsgemäße Schaltungsanordnung enthaltenden Abtastsystems (Scan Converters);
Fig. 1A, B und C graphische Darstellungen der Funktionen der Komponenten in Fig. 1;
Fig. 2 die Darstellung von radialen Linien und eines Feldes von in Zeilen und Spalten angeordneten Anzeigepunkten, das bei der Erklärung der bei dem dargestellten Abtastsystem durchzuführenden Interpolationen benutzt wird;
Fig. 3 zwei Paare von radialen Linien, die zur Erklärung der gemäß der Erfindung benutzten Grundrechnungen benutzt wird;
Fig. 4 ein allgemeines Blockschaltbild eines die erfindungsgemäße Schaltungsanordnung enthaltenden Abtastsystems;
Fig. M (in Fig. 7) die Zusammensetzung der Fig. 5, 6, 7, 8 und 10 zu einem vollständigen Blockschaltbild des bevorzugten Ausführungsbeispiels der Erfindung;
Fig. 5, 6, 7, 8 und 10 die Details des bevorzugten Ausführungsbeispiels der Erfindung;
Fig. 5A die Form von digitaler Information, wie sie von einem Abtastsystem geliefert werden kann;
Fig. 6A und B Wahrheitstabellen für den Multiplexer in Fig. 6;
Fig. 7A Details eines Adressenkontrollzählers in Fig. 7;
Fig. 7B, 7B₁, B₂ und B₃ den Betrieb eines Übersetzungs-ROM in Fig. 7;
Fig. 8A eine Wahrheitstabelle für das ROM in Fig. 8, das zur Berechnung der radialen Position eines Anzeigepunktes benutzt wird;
Fig. 8B die Details eines Radiuszählers in Fig. 8;
Fig. 8C die Wahrheitstabelle eines ROM in Fig. 8, das für die Berechnung der Winkelposition eines Anzeigepunktes benutzt wird;
Fig. 9 graphisch die Betriebsweise des bevorzugten Ausführungsbeispiels der Erfindung;
Fig. 11 und 12 Zeitfolgediagramme verschiedener Signale;
Fig. 13 eine alternative Ausführungsform der Erfindung, die zur Durchführung der Interpolation weniger Komponenten benötigt;
Fig. 14 eine weitere alternative Ausführungsform der Erfindung, die für die Durchführung der Interpolation ein einzelnes ROM benötigt; und
Fig. 15 eine weitere alternative Ausführungsform der Erfindung, bei der die Werte von RERR und R ERR sowie die Interpolation mit einem einzigen ROM bestimmt werden.
Das Blockschaltbild gemäß Fig. 1 zeigt die Grundkomponenten eines digitalen Scan-Converter-Abbildungssystems. Ein Abtaster 20 sendet akustische Impulse in den Körper eines Patienten mittels nicht näher dargestellter Einrichtungen und erzeugt ein Analogsignal, das die Amplituden von Echos darstellt, die von Strukturen des Körpers empfangen wurden, welche längs einer Anzahl von radialen Linien eines in Fig. 1A gezeigten Sektors liegen. Es sind nur einige radiale Linien gezeigt. Wenn das Analogsignal empfangen wird, werden aus ihm gleichförmig beabstandete digitale Abtastwerte (angezeigt durch die Punkte in Fig. 1A) längs jeder radialen Linie durch einen A/D-Wandler 22 abgeleitet und dem Abtast-Wandlersystem 24 zugeführt. Im allgemeinen, wie es in einem die Erfindung enthaltenden System auftreten kann, ist der erste Daten-Abtastwert bei Ursprung Null des Sektors, und die anderen Abtastwerte befinden sich an den Schnittpunkten der radialen Linien des Sektors mit gleichmäßig beabstandeten radialen Bögen, so daß die Datenabtastwerte auch längs der Bögen verteilt sind.
Wie oben bereits herausgestellt wurde, besteht die Funktion des Abtast-Wandlersystems 24 darin, von den Daten-Abtastwerten abgeleitete digitale Datenwerte in passende Anzeigepunkte in einem Anzeigespeicher 26 zu schreiben, die effektiv längs orthogonalen Zeilen und Spalten angeordnet sind, wie durch die Zeichen + in Fig. 1B dargestellt ist. Um dies durchzuführen, liefert das Abtast-Wandlersystem den zu schreibenden Datenwert und die x- und y-Koordinaten des Anzeigepunktes im Anzeigespeicher 26, wo er hinzusetzen ist. Sind die Daten einmal im Speicher 26 gespeichert, können sie von passenden x- und y-Koordinatenpunkten mittels einer Leseeinrichtung 28 ausgelesen und in entsprechende Koordinatenpunkte einer Anzeigevorrichtung 30 gesetzt werden, wie durch die Zeichen + in Fig. 1C angedeutet ist.
Grundprinzipien der Erfindung
Fig. 2 ist eine vergrößerte Ansicht eines Teils des in Fig. 1A dargestellten Sektors, in welchem die Datenabtastpunkte als Punkte dargestellt sind, die längs radialer Linien R₂ bis R₅ erscheinen, und zwar an Schnittpunkten dieser radialen Linien mit radialen Bögen A₁₀ bis A₁₃, die untereinander den gleichförmigen Abstand s haben. Jeder Datenabtastpunkt ist durch den Buchstaben S mit einem Index bezeichnet, der gleich der radialen Linie ist, auf dem er erscheint, sowie einem Index, der gleich dem Bogen ist, auf dem er erscheint. Die Datenabtastpunkte sind somit längs der Bögen verteilt. Die Abtastpunkte des Anzeigespeichers (26 in Fig. 1) sind durch die Zeichen + dargestellt, die in orthogonalen Zeilen und Spalten angeordnet sind, welche parallel zur x- bzw. y-Achse sind. Zur Vereinfachung der Zeichnung wurden Teile der radialen Linien R₂ bis R₅ weggelassen, jedoch geht die x-Achse, obwohl nicht dargestellt, durch den Ursprung Null, bei welchem sich ein Anzeigepunkt befindet. Die Abstände zwischen den Zeilen der Anzeigepunkte sind K y und die Abstände zwischen den Spalten der Anzeigepunkte sind K x.
Um einen endgültigen interpolierten Datenwert zu bestimmen, der als ein Anzeigepunkt wie DP benutzt werden soll, werden ein Signal RERR′, das den radialen Abstand zwischen DP und dem Bogen A₁₁ darstellt und ein Signal R ERR′, das die Winkelversetzung zwischen DP und der radialen Linie R darstellt, abgeleitet. RERR′ und R ERR′ stellen demnach die Radial- bzw. Winkelposition des Anzeigepunktes DP relativ zu A₁₁ und R₃ dar. Ein erster interpolierter Datenzwischenwert I₁ läßt sich bei der radialen Position von DP längs dem Radius R₃ durch lineare Interpolation zwischen den Daten-Abtastwerten bei S₃¹¹ und S₃¹² entsprechend dem folgenden Ausdruck ableiten, in welchem ein * den Wert eines Datenabtastwertes bezeichnet:
In ähnlicher Weise läßt sich ein zweiter interpolierter Datenzwischenwert I₂ an der radialen Position von DP längs des Radius R₄ ableiten durch lineare Interpolation der Datenabtastwerte bei S₄¹¹ und S₄¹² entsprechend dem folgenden Ausdruck:
Der endgültige interpolierte Datenwert FDP für DP läßt sich ableiten an seiner Winkelposition durch lineare Interpolation des ersten und des zweiten interpolierten Datenzwischenwertes I₁ bzw. I₂ entsprechend dem Ausdruck:
statt R ERR′ zu berechnen, werden ein Wert COUNT, welcher den Abstand zwischen DP und R₃ gemessen längs der Zeile von Anzeigepunkten durch DP ist, sowie ein Wert XHAT ermittelt, der der Abstand zwischen R₃ und R₄ gemessen längs derselben Zeile von Anzeigepunkten ist. Es läßt sich zeigen, daß COUNT proportional zu XHAT ist, wenn R ERR′ proportional zu ΔR ist. Der endgültige interpolierte Datenwert am Anzeigepunkt DP läßt sich durch den folgenden Ausdruck bestimmen, in welchem XHAT die Größe R in Gleichung (8) ersetzt und COUNT die R ERR′ ersetzt:
Der endgültige interpolierte Datenwert für den Anzeigepunkt DP könnte genauso leicht abgeleitet werden, wenn die Reihenfolge der Interpolation vertauscht würde, d. h. ein erster interpolierter Datenzwischenwert I₁′ könnte bei der Winkelposition DP längs dem Bogen A₁₁ abgeleitet werden unter Benutzung der Formel:
und ein zweiter interpolierter Datenzwischenwert I₂′ könnte an der Winkelposition von DP längs dem Bogen A₁₂ erhalten werden unter Benutzung der Formel:
Der endgültige interpolierte Wert FDP ist dann durch folgenden Ausdruck gegeben:
Wie offensichtlich ist, läßt sich die Berechnung dieser Gleichungen leichter durchführen, wenn die radiale Position durch ein Signal RERR = RERR′/s und die Winkelposition durch ein Signal R ERR = COUNT/XHAT dargestellt sind. RERR ist die bruchteilsmäßige Position von DP zwischen A₁₁ und A₁₂, und R ERR ist die bruchteilsmäßige Position von DP zwischen den Radiuslinien R₃ und R₄. So wird z. B. aus Gleichung (6):
I₁ = S11* (1-RERR) + S12* · RERR (6′)
und aus Gleichung (1) wird
FDP = I₁ (1-R ERR) + I₂ · R ERR (9′)
Bei beiden Berechnungsmethoden ist zu bemerken, daß der erste interpolierte Datenzwischenwert durch Interpolation von Daten-Abtastwerten längs einer der radialen bzw. Winkelrichtungen abgeleitet wird, die auf der einen Seite von DP in der anderen Richtung liegen und daß der zweite interpolierte Datenzwischenwert durch Interpolation von Daten-Abtastwerten abgeleitet wird, die auf der anderen Seite von DP in der gleichen radialen bzw. Winkelrichtung liegen. Bei der ersten Methode wurde der erste interpolierte Datenzwischenwert I₁ durch Auffinden eines interpolierten Wertes von S11* und S12* abgeleitet, welche auf der linken Seite von DP in einer Winkelrichtung liegen, und der zweite interpolierte Datenzwischenwert I₂ wurde abgeleitet durch Interpolation von S11* und S12*, die sich auf der rechten Seite von DP in einer Winkelrichtung befinden. Wenn der Winkel zwischen R₃ und R₄ klein ist, liegen I₁, I₂ und DP auf einer im wesentlichen geraden Linie, da kaum ein Unterschied zwischen der Sehne und dem Bogen besteht. In ähnlicher Weise wurde bei der zweiten Methode I₁′ abgeleitet durch Interpolation von S11* und S11*, die längs des Bogens A₁₁ und auf einer Seite von DP in einer radialen Richtung liegen, und I₂′ wurde abgeleitet durch Interpolation von S12* und S12*, die längs des Bogens A₁₂ und auf der anderen Seite von DP in radialer Richtung liegen.
Wie vorstehend ausgeführt wurde, würden die Berechnungen aller vorstehenden interpolierten Anzeigewerte in einem Sektor durch direkte Methoden viel zu viel Zeit benötigen, als daß ein Echtzeitbetrieb bei Instrumenten wie Ultraschall-Abtastsystemen möglich wäre, die einen Sektor in einer dreißigstel Sekunde abtasten. Zur Erklärung der Grundlagen, auf denen die Berechnungen gemäß der Erfindung beruhen, wird auf Fig. 3 verwiesen. Zwei Radiuslinien von einem Abtaster, eine äußere Linie R O und eine innere Linie R I, die einen Schnitt definieren, sind so dargestellt, daß sie Winkel R₂ bzw. R₁ mit einer Spalte von Anzeigepunkten längs der y-Achse bilden, welche die Mittellinie des Sektors ist. Um die beteiligten Konzepte darstellen zu können, wurde der Winkel R₂-R₁ zwischen den Linien R O und R I stark übertrieben dargestellt (etwa 10° statt den im allgemeinen verwendeten 3/4° oder 1 1/2°).
Berechnung von RERR
Die Grundlage der Berechnung von RERR läßt sich verstehen, wenn man bei einem Anzeigepunkt DP₁ in Fig. 3 beginnt, der auf der äußeren Radiuslinie R O liegt, und beobachtet, was geschieht, wenn ein Schritt längs der x-Achse in Richtung auf den Ursprung Null zu einem benachbarten Anzeigepunkt DP₂ gemacht wird, der in einem Abstand K x vom Anzeigepunkt DP₁ liegt. Wenn von R O durch DP₂ eine Senkrechte gezogen wird, ist der spitze Winkel des so gebildeten rechtwinkligen Dreiecks R₂ und die R₂ gegenüberliegende Seite dieses Dreiecks ist K x sin R₂. Subtraktion dieses Betrages vom Radius des Anzeigepunktes DP₁ führt, egal was es ist, in unserer Berechnung zum kleineren Radius des Anzeigepunktes DP₂, der durch die Radiuslänge R₂ angegeben ist. Daß dieses nicht vollkommen richtig ist, ergibt sich aus der Tatsache, daß der tatsächliche radiale Abstand von DP₂ die Hypotenuse des rechtwinkligen Dreiecks ist, von welchem R₂ eine Seite ist und daher etwas kleiner als der tatsächliche Radius. Wenn der Schritt von DP₂ nach DP₁ ginge, d. h. vom Ursprung Null weg, würde der Betrag K x sin R₂ zu dem für DP₂ berechneten Radius addiert. Ein Schritt in die +y-Richtung der Länge K y nach DP₃ addiert entsprechend der Berechnungsmethode eine Länge von K y cos R₂, jedoch erweist sich auch dies als etwas ungenau, da der Radius R₃ von DP₃ kleiner als der wirkliche Radius ist. Es ist jedoch eine Tatsache, daß diese Fehler vernachlässigbar klein sind, wenn R₂-R₁ wie üblich 1 1/2° oder 3/4° betragen.
Obwohl die Formeln und die ihnen entsprechend konstruierte Vorrichtung den Winkel R₂ der äußeren Radiuslinie jedes Schnittes bei der Durchführung der Radiusberechnung benutzen, könnte man auch einen anderen Winkel "nahe bei" R₂ auswählen, der von R₂ um weniger als ΔR abweicht. Eine solche Auswahl stellt sicher, daß die Fehler innerhalb akzeptabler Toleranzen gehalten werden.
Der Radius beim Ursprung O ist Null. Wenn daher die vorstehend erwähnten Abtastsignale des Anzeigepunktes eine Schritt-für-Schritt- Abtastung der Anzeigepunkte des Schnittes R O, RI bewirken, beginnend mit dem Ursprung O, wie durch die gestrichelte Linie 31 dargestellt ist, und wenn der Wert von K x sin R₂ für jeden Schritt nach rechts subtrahiert und für jeden Schritt nach links addiert wird, und wenn K y cos R₂ für jeden Schritt längs der y-Achse vom Ursprung weg addiert wird, kann der Radius jedes Anzeigepunktes im Abtastweg mit ausreichender Genauigkeit entsprechend den quantitativen Fehlern für einen Anzeigepunkt bestimmt werden, der innerhalb des von R O und R I begrenzten Schnittes liegt.
Während der Wert des Radius eines Anzeigepunktes in einer noch zu beschreibenden Weise benutzt werden kann, um das Schreiben von Daten in den Anzeigespeichern zu verhindern, besteht seine wichtigere Funktion darin, RERR zu bestimmen, so daß die Interpolationen längs der radialen Richtung ausgeführt werden können, die oben beschrieben wurden.
Bei einem Format, bei dem |K x | = |k y | = |s | = 1 ist, ist RERR lediglich der Bruchteil der Zahl, die den Radius darstellt. Wenn jedoch K x von K y und s verschieden ist, können Normalisierungsverfahren Radiuswerte erzeugen, die in Einheiten von s gemessen sind, so daß der Bruchteil immer noch RERR ist. Daraus ergibt sich
R j+1 = R j - K x sin R₂ + K y cos R₂ (12)
Berechnung von XHAT
XHAT wurde oben definiert als der Abstand zwischen Radiuslinien eines Schnittes, z. B. R O und R I in Fig. 3, gemessen längs einer Zeile von Anzeigepunkten oder längs der x-Achse. Wenn eine Senkrechte 32 von der y-Achse zur Position eines Anzeigepunktes 34 gezogen wird, läßt sich der Wert von XHAT für Anzeigepunkte in derselben Zeile wie folgt ableiten. Wenn die Anzahl der Inkremente von K y zwischen dem Ursprung O und dem Anzeigepunkt 34 n beträgt, ergibt sich entsprechend Fig. 3
x = nK y tan R₂ (13)
und
x′ = nK y tan R₁ (14)
und
XHAT = x - x′ = nK y tan R₂ - nK y tan R₁ (15)
Betrachtet man diese Gleichungen, so zeigt sich, daß der Wert von XHAT bei jeder Annäherung von K y längs der y-Achse um einen konstanten Betrag Δ XHAT ansteigt, so daß gilt:
Berechnung von COUNT
Wie in dem zu beschreibenden System benutzt, ist COUNT der Abstand von der äußeren Radiuslinie z. B. R O bis zu einem Anzeigepunkt, gemessen längs einer Zeile von Anzeigepunkten, die den Anzeigepunkt enthält, für den der Wert von COUNT gesucht ist. Da DP₁ in Fig. 3 sich auf der äußeren Linie R O befindet, ist sein Wert COUNT Null. Der Wert von COUNT für DP₂ ist K x. Dementsprechend erhöht jeder Schritt längs einer Zeile von Anzeigepunkten in Richtung auf die Mittellinie des Sektors den Wert von COUNT um K x (siehe DP₄ und DP 4′ in Fig. 3), und jeder Schritt von der Mittellinie weg erniedrigt den Wert von COUNT um K x. Wenn jedoch der Schritt längs einer Zeile von Anzeigepunkten oder längs der y-Achse in einer Richtung vom Ursprung O weg verläuft, z. B. ein Schritt von DP₁ nach DP₃, wird der Wert von COUNT um K y tan R₂ erhöht.
Der Wert von COUNT für den Anzeigepunkt am Ursprung wird mit Null angenommen. Werden daher die Werte von +K x, -Kx und K y tan R₂ wie oben erwähnt ausgewählt, wird der Wert von COUNT erhalten. Es ist zu beachten, daß wir uns innerhalb des Sektorschnittes befinden, wann immer an jedem Anzeigepunkt gilt O COUNT < XHAT.
Dividiert man COUNT durch XHAT, wird ein Bruchteilsmaß R ERR der Winkelposition eines Anzeigepunktes zwischen den Radiuslinien R O und R I eines Schnittes erhalten. Da RERR ein Bruchteilsmaß des radialen Abstandes eines Anzeigepunktes zwischen zwei Datenabtastpunkten ist, können R ERR und RERR in gleicher Weise in Winkel- und Radiusinterpolationen benutzt werden.
Wenn der Wert von COUNT für Schnitte in der rechten Hälfte des Sektors bestimmt wird, wird COUNT nach wie vor von der äußeren Linie gemessen, wie jedoch aus Fig. 3 ersichtlich ist, befindet sich die äußere Linie R O′ rechts von R I′ statt links davon wie im Fall von R O und R I. Wird COUNT nach wie vor der äußeren Radiuslinie R O′ gemessen, gilt die gleiche Rechnung.
Das heißt jedoch nicht, daß die bruchteilsmäßige Winkelposition eines Anzeigepunktes von der äußeren Linie R O oder R O′ gemessen werden muß. Sie könnte z. B. auch immer in bezug auf die linke Radiuslinie gemessen werden, welche in der linken Hälfte des Sektors R O ist und in der rechten Hälfte R I ist. Die Berechnungen wären die gleichen wie gerade für die linke Hälfte beschrieben, jedoch müßte man in der rechten Hälfte +K x und -K x vertauschen und anstelle von +tan R₂ hätte man -tan R₂ zu verwenden. Wie noch erklärt werden wird, könnte man das letztere in ein ROM eingeben.
Obwohl die endgültigen interpolierten Datenwerte der Anzeigepunkte in der Nähe des Ursprungs im allgemeinen unwichtig sind, ist es wesentlich, die Werte von RERR und R ERR für diese Punkte zu erhalten, da diese Werte in der rekursiven Addition zur Ableitung der Werte von RERR und R ERR benötigt werden, um die endgültigen interpolierten Datenwerte für Anzeigepunkte zu berechnen, die von Interesse sind.
Allgemeines System
Das Blockschaltbild gemäß Fig. 4 zeigt allgemein ein Abtast- Wandlersystem. Seine Funktion besteht darin, auf Echtzeitbasis den endgültigen interpolierten Datenwert für jeden der etwa 125 000 Anzeigepunkte eines Anzeigespeichers zu berechnen, die innerhalb eines 90°-Sektors liegen, wie er in Fig. 1A dargestellt ist und der pro Sekunde ungefähr dreißig Mal durch einen Radialabtaster (20 in Fig. 1) abgetastet wird. Dies wird erreicht durch Bestimmung der endgültigen interpolierten Datenwerte für jeden Anzeigepunkt eines Schnittes, d. h. die Abtastpunkte auf oder zwischen einem Paar von Radiuslinien und durch Wiederholung der Operation für jeden folgenden Schnitt.
Wie in Fig. 4 dargestellt ist, liefert ein Radialabtaster 33 längs jeder aufeinanderfolgenden Radiuslinie erhalten analoge Daten an einen A/D-Wandler 35, der digitalisierte Abtastwerte der an gleichförmig beabstandeten Punkten längs der Radiuslinien auftretenden Daten, z. B. die Abtastwerte S₁₀, S₁₁, S₁₂, S₁₃ auf der Radiuslinie R O und die Abtastwerte S₁₀′, S₁₁′, S₁₂′ und S₁₃′ auf der Radiuslinie R I in Fig. 3. Da die in den Berechnungen für jeden Schnitt benutzten Daten verschieden sind, ist eine Linienidentifizierungseinrichtung 36 vorgesehen, die aus dem Signal des Abtasters 33 eine Identifizierung der gerade abgetasteten Linie ableitet. Dies läßt sich auf eine Anzahl von Arten bewirken, z. B. durch Zuordnung einer digitalen Zahl zu jeder Linie oder durch Identifizierung einer gegebenen Linie in einem Sektor und Zählung der Linien, wenn sie abgetastet werden. Das so abgeleitete Linienidentifizierungssignal wird durch eine Schreibsteuereinrichtung 38 benutzt, um die digitalen Datenabtastwerte vom A/D-Wandler 35 auf Speicherplätze in einem Speicher 40 zu richten, derart, daß ihre radialen Positionen längs der Linien identifizierbar sind.
Die folgende Beschreibung bezieht sich auf eine Einrichtung zum Ableiten der Signale RERR und R ERR, die die Radial- bzw. Winkelposition eines Anzeigepunktes darstellen und in dem Interpolationsprozeß benutzt werden. Weiterhin bezieht sich die folgende Beschreibung auf eine Einrichtung zum Erhalt von Datenabtastwerten aus dem Speicher 40, die einen Bereich definieren, der den Abtastpunkt enthält.
Eine Einrichtung 42 leitet aus dem Signal des Radialabtasters 33 ein Signal STRTL ab, das den Zeitpunkt angibt, zu dem der Abtaster mit dem Abtastvorgang längs einer Radiuslinie beginnt. Auf jedes Signal STRTL hin erzeugt eine Einrichtung DPSG Anzeigepunkt-Abtaststeuersignale, die die Folge von Schritten in einer der Richtungen +x, -x, +y oder -y darstellen, welche von einem gegebenen Anzeigepunkt aus erfolgen muß, z. B. einer am Ursprung der Radiuslinien, wenn über die Anzeigepunkte des Schnittes abgetastet wird, die der Linie entsprechen, die durch das Signal identifiziert ist, das durch die Linienidentifizierungseinrichtung 36 geliefert wird.
Obwohl die Folge von Schritten normalerweise solche in +x-, -x- und +y-Richtung enthält, wie durch den durch die gestrichelte Linie 31 in Fig. 3 angedeuteten Abtastweg für die Anzeigepunkte dargestellt ist, wäre es auch möglich, daß Schritte in -y-Richtung gemacht würden. Eine Einrichtung 46 gibt ein Signal ab, das anzeigt, daß ein Schritt längs der x-Achse gemacht wird; eine Einrichtung 48 erzeugt ein Signal, das anzeigt, ob der Schritt in +x- oder -x-Richtung gemacht werden soll; eine Einrichtung 50 gibt ein Signal ab, das anzeigt, daß ein Schritt längs der y-Achse gemacht wird; und eine Einrichtung 52 gibt ein Signal ab, das anzeigt, ob der Schritt in +y- oder -y-Richtung gehen soll. Die Ausgangssignale der Einrichtungen 46 und 48 werden einem x-Adressenzähler 54 zugeführt, und die x-Koordinate des Anzeigepunktes, für den ein endgültiger interpolierter Datenwert in noch zu erklärender Weise zu berechnen ist, wird in bezug auf die x-Koordinate des ursprünglichen Anzeigepunktes identifiziert. Die Ausgangssignale der Einrichtungen 50 und 52 werden einem y-Adressenzähler 26 zugeführt, und die y-Koordinate desselben Anzeigepunktes wird in bezug auf die y-Koordinate des ursprünglichen Anzeigepunktes identifiziert. Die Ausgangssignale der x- und y-Adressenzähler 54 bzw. 56 werden auf Adressenleitungen eines Anzeigespeichers DM gegeben, derart, daß der endgültige interpolierte Datenwert FDP für diesen Punkt nach seiner Bestimmung in den richtigen Speicherplatz gegeben wird.
Berechnung der Radien
Die Bestimmung des Radius jedes Anzeigepunktes, der durch das Anzeigepunkt-Abtastsignal vom Generator DPSG identifiziert wird, kann wie folgt erfolgen. Das Signal von der Einrichtung 36, die die Linie identifiziert, längs derer die radiale Position in Zusammenwirken mit dem Anzeigepunkt-Abtaststeuersignal vom Generator DPSG zu bestimmen ist, wählt aus einem Speicher 58, welcher ein ROM sein kann aber nicht muß, den passenden der Werte +K x sin R, -K x sin R, +K y cos R oder -K y cos R, wie in Verbindung mit Fig. 3 erläutert wurde, für die Zuführung zum Eingang eines Addierers 60. Der Winkel R ist der Winkel einer Radiuslinie, die genügend eng bei der Mittellinie des Schnittes liegt. Wie dicht sie dort liegt, ist durch den Fehler vorgegeben, der in der Winkelposition tolerierbar ist. Das Ausgangssignal des Addierers 60 wird einem Zwischenspeicher 62 zugeführt, der immer dann in Betrieb ist, wenn ein Schritt längs der x- oder der y-Achse gemacht wird, ohne Rücksicht auf dessen Richtung. Dazu ist sein Takteingang mit dem Ausgang eines ODER-Gliedes 64 verbunden, dessen Eingänge mit den Ausgängen des x-Zählers 46 und des y-Zählers 50 verbunden sind. Der Ausgang des Zwischenspeichers 62 ist mit einem weiteren Eingang des Addierers 60 verbunden. Zusammen bilden Addierer 60 und der Zwischenspeicher 62 einen Akkumulator, der am Ausgang des Zwischenspeichers 62 ein Signal erzeugt, das den Radius des Anzeigepunktes durch Addition aller Werte von +K x sin R, -K x sin R, +K y cos R oder -K y cos R darstellt, die auf alle vorhergehenden Schritte in +x-, -x-,+y- und -y-Richtung längs dem Abtastweg erzeugt wurden, welcher durch den Abtast-Steuergenerator DPSG vorgegeben ist.
Auswahl von Anzeigepunkten
An dieser Stelle ist zu bemerken, daß, während ein endgültiger interpolierter Datenwert für jeden Anzeigepunkt im durch die Signale vom DPSG bestimmten Abtastweg abgeleitet werden kann, die Zeit für die Durchführung dieser Rechnung für Anzeigepunkte außerhalb des Schnittes (im folgenden Überhang genannt) unter Benutzung der folgenden Regeln minimiert werden sollte.
  • 1. Am Sektorscheitelpunkt, wo alle Abtastvorgänge beginnen, ist außerhalb der Außenlinie in x-Richtung zu inkrementieren.
  • 2. Außerhalb der Außenlinie und nach außen gerichtet, vertikal abknicken und in Querrichtung in x-Richtung zurückkehren (XDIR ändern).
  • 3. Falls man sich in der Richtung nach außerhalb eines Schnittes bewegt und keine weiteren Punkte sich innerhalb des Schnittes weiter draußen auf dem momentanen überquerten Raster befinden und sich keine weiteren Punkte auf der zu überquerenden folgenden Linie befinden, vertikal abknicken und Richtung umkehren (XDIR ändern). Wenn jedoch sich innerhalb des Schnittes auf der folgenden Linie ein weiterer Punkt befindet, Überquerung auf der laufenden Linie für eine weiteren Punkt fortsetzen und dann Regel 2 folgen.
  • 4. Bei Bewegung in Richtung auf die Mitte des Sektors fortfahren, bis Inneres des Schnittes oder innere Linie erreicht ist, dann vertikal abknicken und Richtung umkehren (XDIR ändern) nach Adressierung des letzten Anzeigepunktes innerhalb der laufenden Überquerung, welcher innerhalb des Schnittes liegt.
Bei Punkten außerhalb des Schnittes sollte der endgültige interpolierte Datenwert für diesen Punkt nicht in den Anzeigespeicher DM eingegeben werden, da er sehr wohl unrichtig sein kann und von einem Anzeigespeicher-Abtaster 66 gelesen werden kann und der Anzeigeeinrichtung 68 zugeführt werden kann. Es würde dem Sinn der Erfindung entsprechen, die Einrichtung zum Berechnen der endgültigen interpolierten Datenwerte für Anzeigepunkte zu sperren, die außerhalb des Schnittes liegen, statt die Werte zu berechnen und zu verhindern, daß die unrichtigen Daten im Anzeigespeicher DM gespeichert würden, wodurch keine Zeit gespart würde. Diese Überlegungen gelten für alle Berechnungen.
Benutzung des Radius R
Wie oben beschrieben, erscheint der Wert des Radius R des vom DPSG bezeichneten Anzeigepunktes am Ausgang des Zwischenspeichers 62. R entsprechende Bits werden einem Komparator 70 zugeführt, wo sie mit dem Wert des Maximalradius R max verglichen werden, der die äußere radiale Grenze des Sektors festlegt. Wenn dieser Vergleich zeigt, daß der Radius R eines Anzeigepunktes kleiner als R max ist, liefert der Komparator 70 ein Signal ROK an einen Eingang eines UND-Gliedes 72, dessen Ausgangssignal einem Freigabeeingang des Anzeigespeichers DM zugeführt wird. In einer noch zu beschreibenden Weise wird ein Signal THETOK abgeleitet, welches anzeigt, daß der Anzeigepunkt sich im laufenden Schnitt befindet, und dieses Signal wird dem anderen Eingang des UND-Gliedes 72 zugeführt. Es müssen also beide Signale ROK und THETOK affirmativ sein, wenn der Datenwert in den Speicher DM eingeschrieben werden soll. Das Signal ROK ist nicht so wichtig wie THETOK, da unrichtige endgültige interpolierte Datenwerte an einigen Anzeigepunkten am Ende eines Schnittes nicht so große Probleme aufwerfen wie ein unrichtiger Datenwert im Inneren des Schnittes. Der Hauptvorteil von ROK besteht darin, daß es die äußere Peripherie des Sektors glättet.
Berechnung von RERR
Der Wert von R kann nicht direkt zur Interpolation verwendet werden, da Gleichung (6) zeigt, daß ein Signal abgeleitet werden muß, welches die relative radiale Position des Anzeigepunktes in bezug auf Datenabtastpunkte darstellt, welche in der Interpolation benutzt werden, d. h. die relative Position des Anzeigepunktes DP in Fig. 2 in bezug auf die Datenabtastpunkte S₃¹¹ und S₃¹², wenn die interpolierten Zwischenwerte I₁ und I₂ berechnet werden, Es wäre möglich, ein Signal abzuleiten, das den radialen Abstand zwischem dem äußeren Datenabtastpunkt S₃¹² und DP darstellt und dieses zur Interpolation gemäß der Erfindung zu benutzen, oder ein Signal RERR′ abzuleiten, das den radialen Abstand zwischen DP und dem inneren Datenabtastpunkt S₃¹¹ darstellt.
Beim bevorzugten Ausführungsbeispiel der Erfindung ist, wie weiter unten zu beschreiben sein wird, K x = K y = s, so daß der Bruchteil der am Ausgang des Zwischenspeichers 62 erscheinenden Werte RERR ist, d. h. das Verhältnis zwischen dem Abstand zwischen dem Anzeigepunkt und dem inneren Bogen zum Abstand s zwischen benachbarten Bögen. Im allgemeinen Fall können jedoch K x und K y voneinander und von s verschieden sein. In diesem Falle ist es leichter, wenn K x und K y beide kleiner als s sind, da eine Änderung von K x oder K y, die auftritt, wenn man von einem Anzeigepunkt zum nächsten geht, den berechneten Radius um einen Betrag ändern könnte, der größer als s ist, so daß es nötig wäre, diesen Tatbestand bei der Berechnung von RERR′ in Betracht zu ziehen.
Im allgemeinen Fall, wie er in Fig. 4 dargestellt ist, können K y, K x und s alle verschiedene Werte haben. Das Signal R am Ausgang des Zwischenspeichers 62 wird einem Eingang eines Differenzrechners 74 zugeführt, und das Ausgangssignal eines Zwischenspeichers 76 wird dem anderen zugeführt. Beim Startpunkt jeder Radiuslinie werden alle Zwischenspeicher gelöscht, indem das Signal STRTL ihren Löscheingängen zugeführt wird, so daß das anfängliche Ausgangssignal des Zwischenspeichers 76 Null ist. Ein Differenzsignal RERR′, das gleich dem Wert von R abzüglich dem Ausgangssignal des Zwischenspeichers 76 ist, erscheint an einem Ausgang 78 des Differenzrechners 74, und ein Signal RDIR, das anzeigt, ob R steigt oder fällt, erscheint an einem anderen Ausgang 80. Das Differenzsignal RERR′ wird einem Eingang eines Komparators 81 zugeführt, und ein s entsprechender Wert wird dem anderen Eingang zugeführt. Wenn RERR′ < s, gibt der Komparator 81 ein Signal CROSSs ab. Wenn RERR′ < 0, ergibt der Komparator 81 auch das Signal CROSSs ab, das anzeigt, daß der Wert von RERR′ durch ein ganzzahliges Vielfaches von s in ansteigender bzw. abfallender Richtung geht. So wird z. B. ein Signal CROSSs entweder beim Abtasten von Anzeigepunkt DP₄ (Fig. 2) zum Anzeigepunkt DP₃, die sich beide zwischen den Radiuslinien R₂ und R₃ befinden, oder beim Abtasten in der Gegenrichtung von DP₃ nach DP₄ erzeugt.
Der Eingang des Zwischenspeichers 76 ist mit dem Ausgang einer Additions-/Subtraktionsschaltung 83 verbunden, deren einer Eingang mit dem Ausgang des Zwischenspeichers 76 verbunden ist, deren anderer Eingang den Wert von s empfängt und deren Steuereingang das Signal RDIR empfängt. Wann immer RDIR anzeigt, daß R ansteigt, erzeugt die Additions-/Subtraktionsschaltung 83 an ihrem Ausgang und am Eingang des Zwischenspeichers 76 die Summe aus dem Ausgangssignal des Zwischenspeichers 76 und s. Wann immer RDIR anzeigt, daß R abfällt, erzeugt die Additions-/Subtraktionsschaltung 83 an ihrem Ausgang und am Eingang des Zwischenspeichers 76 die Differenz zwischem dem Ausgangssignal des Zwischenspeichers 76 und s. Der Takteingang des Zwischenspeichers 76 empfängt das Signal CROSSs, so daß bei Auftreten von CROSSs das Eingangssignal des Zwischenspeichers zu dessen Ausgang und zu einem Eingang des Differenzrechners 74 übertragen wird.
Das Signal RERR, das den bruchteilsmäßigen Abstand eines Anzeigepunktes wie DP in Fig. 2 zwischen A₁₁ und A₁₂ darstellt, wird dadurch abgeleitet, daß RERR′ durch s mittels einer Dividierschaltung 77 geteilt wird. Ist jedoch s = K y = K x, dann ist RERR einfach der Bruchteil von R am Ausgang des Zwischenspeichers 62, in welchem Falle der Zwischenspeicher 76, die Additions-/Subtraktionsschaltung 83, der Differenzrechner 74, der Komparator 81 und die Dividierschaltung 84 nicht benötigt werden.
Berechnung von XHAT
Der Wert von XHAT ist der Abstand zwischen Radiuslinien, gemessen längs einer Zeile von Anzeigepunkten, die den in Frage stehenden enthält, wie in Fig. 2 dargestellt ist, bzw. wie sich noch klarer aus Fig. 3 für die Anzeigepunkte DP₄ und DP 4′ ergibt. XHAT ist gleich der Summe von +Δ XHAT, wobei Δ XHAT gleich tan R₂-tan R₁ für jeden Schritt in die y-Richtung weg vom Ursprung ist, und -Δ XHAT für jeden Schritt in y-Richtung auf den Ursprung zu. Da der Wert von XHAT für jeden Schritt variiert, ist es nur nötig, das Zeilenidentifizierungssignal von der Schaltung 36 einem ROM 88 zuzuführen und damit den Wert von Δ XHAT für diese Linie auszuwählen.
Das Ausgangssignal des ROM 88 wird einem Akkumulator zugeführt, der aus einem Addierer 19 und einem Zwischenspeicher 92 besteht. Dieser Akkumulator arbeitet in ähnlicher Weise wie der Addierer 60 mit dem Zwischenspeicher 62, die bei der Radiusberechnung benutzt werden. Statt jedoch mit jeder Bewegung in x- und y-Richtung aktualisiert zu werden, wird der Zwischenspeicher 92 nur bei Bewegungen in y-Richtung aktualisiert.
Berechnung von COUNT
Das Signal COUNT kann ein Abstand sein, gemessen längs einer Zeile von Anzeigepunkten zwischen einem Anzeigepunkt in dieser Zeile und einer anderen Radiuslinie des Schnittes. Das Linienidentifizierungssignal von der Schaltung 36, das Anzeigepunkt-Abtaststeuersignal von DPSG und das y-Auf-Ab-Signal von der Schaltung 52 werden einem ROM zugeführt, so daß einer der Werte +K x, -K x, +K y tan R oder -K y tan R ausgewählt wird und dem Eingang eines Addierers 98 zugeführt wird. Das Linienidentifizierungssignal wählt einen Ausdruck, der ein tan R₂ hat, das dem Winkel R₂ entspricht, der für den Schnitt benutzt wird, und das Signal der y-Auf-Ab-Schaltung 52 wählt in Verbindung mit dem Anzeigepunkt-Abtaststeuersignal von DPSG den passenden Wert von +K y tan R und -K y tan R. Der Wert von +K x oder -K x wird durch die Schritte längs der x-Richtung ausgewählt, die vom Abtaststeuersignal gemacht wurden. Die folgenden Tabellen zeigen die Eingangs-Auswahlmatrix für das ROM 96 unter den festgelegten Bedingungen. Man erinnere sich, daß +x ein Schritt nach rechts mit ansteigendem Wert von x ist, -x ein Wert nach links längs der x-Achse ist, -y ein Schritt auf den Ursprung zu ist und +y ein Schritt vom Ursprung weg in Richtung der y-Achse ist.
COUNT gemessen von der äußeren Linie in beiden Quadranten
COUNT gemessen von der linken Linie in beiden Quadranten
COUNT gemessen von der rechten Linie in beiden Quadranten
Das Ausgangssignal des ROM 36 wird einem Addierer 98 zugeführt, dessen Ausgang mit einem Zwischenspeicher 100 verbunden ist, welcher durch einen Schritt in y- oder x-Richtung getaktet wird, indem sein Takteingang über eine Leitung 102 mit dem Ausgang des ODER-Gliedes 64 verbunden ist. Der Ausgang des Zwischenspeichers 100 ist mit einem Eingang des Addierers 98 verbunden, so daß ein Akkumulator gebildet wird, der an seinem Ausgang ein Signal COUNT erzeugt, welches gleich der Summe aller Änderungen im Wert von COUNT ist, die sich aus allen vorherigen Schritten von einem Anzeigepunkt zu einem anderen ergeben haben, einschließlich negativer Werte.
Bestimmung von R ERR
Obwohl die Werte von XHAT und COUNT unmittelbar durch Interpolationsschaltungen benutzt werden könnten, indem die in der Interpolationsformel benutzten Winkelabstände einfach zu COUNT und XHAT-COUNT gemacht würden (siehe Gleichungen (9), (10), (11) und (11′)), ist es im allgemeinen einfacher, ein Signal R ERR abzuleiten, das den Abstandsbruchteil eines Anzeigepunktes von einer Linie zur anderen darstellt, wobei das speziell verwendete Signal auf der oben getroffenen Auswahl beruht, wo COUNT in einer Divisionsschaltung 104 durch XHAT geteilt wird. Gleichung (9) wird zu Gleichung (9′), wobei R ERR benutzt wird.
Befindet sich der Anzeigepunkt zwischen Radiuslinien eines Schnittes?
Um zu bestimmen, ob ein gegebener Anzeigepunkt sich zwischen den Radiuslinien eines Schnittes befindet, ist die folgende Einrichtung vorgesehen. Das höchstwertige Bit von COUNT am Ausgang des Zwischenspeichers 100 wird über einen Inverter 106 einem Eingang eines UND- Gliedes 108 zugeführt. Wie bekannt ist, geht dieses Bit auf "1", wenn das Digitalsignal von COUNT negativ wird, so daß das Ausgangssignal des Inverters 106 auf einen niedrigen Pegel geht. Zusätzlich werden die Werte von XHAT und COUNT einer Entscheidungsschaltung 110 zugeführt, die ein Signal mit einem hohen Pegel abgibt, wenn COUNT kleiner als XHAT ist und ein Signal mit einem niedrigen Pegel abgibt, wenn COUNT größer als XHAT ist. Wenn also COUNT negativ ist oder größer als XHAT, eine Situation, die nur auftritt, wenn sich der Anzeigepunkt winkelmäßig außerhalb des Schnittes befindet, geht das Ausgangssignal THETOK? vom UND-Glied 108 auf einen niedrigen Pegel. THETOK? wird einem Eingang des UND-Gliedes 72 zugeführt, dessen anderem Eingang, wie man sich erinnert, ROK? zugeführt wird. Wenn also nur THETOK? sich auf einem hohen Pegel befindet, was anzeigt, daß der Anzeigepunkt sich winkelmäßig innerhalb des Schnittes befindet und sich ROK? auch auf einem hohen Pegel befindet, was anzeigt, daß der Radius des Anzeigepunktes kleiner als R MAX ist, gibt das UND-Glied 72 ein Signal mit einem hohen Pegel ab, so daß der Anzeigespeicher DM veranlaßt wird, einen ihm zugeführten endgültigen interpolierten Datenwert an der angezeigten x-y-Adresse zu speichern.
Interpolation
Eine Lesesteuerung 82 erhält eine Vielzahl von Datenabtastwerten von einer Vielzahl von Radiuslinien vom Speicher 40 unter Steuerung von RDIR und CROSSs und macht diese gleichzeitig an den Eingängen von Interpolatoren 112 und 114 verfügbar. Zwei der Datenpunkte befinden sich dort, wo ein Bogen mit kleinerem Radius als der Anzeigepunkt die Radiuslinie eines Schnittes schneidet, und zwei der Datenpunkte befinden sich dort, wo der Bogen mit größeren Radiuslinien eines Schnittes schneidet. Wenn das Anzeigepunkt-Abtaststeuersignal von DPSG bewirkt, daß die Abtastung den äußeren oder inneren Bogen schneidet, informiert das Signal CROSSs die Lesesteuerung 82, daß eine Kreuzung stattgefunden hat, und das Signal RDIR legt fest, ob die Kreuzung in nach außen oder nach innen gerichteter radialer Richtung stattgefunden hat. Die Lesesteuerung 82 wählt dann die passenden Datenpunkte aus, so daß die vier Datenabtastwerte immer einen Bereich definieren, der den Anzeigepunkt enthält. Die neu ausgewählten Datenpunkte können dieselben wie vorher sein, weiter außen oder weiter innen auf den Scheitelpunkt des Sektors zu, abhängig von RDIR und dem Wert von s. Wenn z. B. die anfänglichen vier Datenabtastwerte S11*, S12*, S11* und S12* (Fig. 2) sind und die Abtastung von einem Anzeigepunkt innerhalb des durch diese Punkte definierten Bereichs zu einem Punkt außerhalb des Bogens A₁₂ verläuft, vernachlässigt die Lesesteuerung 82 die inneren Datenabtastwerte S11* und S12*, behält die Abtastwerte S12* und S12* und fügt Abtastwerte S13* und S13* hinzu. Falls der Abtastweg wieder die Linie A₁₂ kreuzt, werden die ursprünglichen vier Abtastwerte benutzt. Die von den Interpolatoren 112 und 114 gelieferten interpolierten Zwischenwerte werden einem Interpolator 116 zugeführt. Befinden sich Schalter s₁ und s₂ in der dargestellten Stellung, interpolieren die Interpolatoren 112 und 114 radial, Interpolator 116 interpoliert winkelmäßig, und s₃ gibt Datenabtastwerte auf R₃ an den Interpolator 112 und Datenabtastwerte auf R₄ an den Interpolator 114. Befinden sich s₁ und s₂ in der jeweils anderen Stellung, ist die Reihenfolge der Interpolation umgekehrt, und s₃ liefert innere Datenabtastwerte an den Interpolator 112 und äußere Datenabtastwerte an den Interpolator 114. Wenn Interpolationen durchzuführen sind, die andere oder zusätzliche Anzeigepunkte enthalten, wie z. B. in Verbindung mit Fig. 2 beschrieben wurde, ist offenkundig, daß mehr Interpolatoren als die mit 112 und 114 bezeichneten benötigt werden und daß die Lesesteuerung 82 die Datenabtastwerte vom Speicher 40 erhalten muß und passende davon für die Interpolatoren gleichzeitig verfügbar machen muß. Der Fachmann kann leicht die benötigte Auswahl von Datenabtastwerten und Interpolatoreinrichtungen treffen.
Angesichts der Tatsache, daß die bei der Durchführung der Interpolationen verwendeten verschiedenen trigonometrischen Funktionen Informationen benötigen wie auf die Radiuslinien bezogenen Winkel, längs welcher Radiuslinien ein Abtaster die Daten produziert, ist es wesentlich, daß Einrichtungen zur Identifizierung der abgetasteten Linie vorgesehen sind. Verschiedene Möglichkeiten kommen in Betracht, z. B. die Erzeugung eines Impulses auf der ersten Linie eines Sektors und Vorsehen einer Zählung, die jedesmal aktualisiert wird, wenn der Abtaster einen akustischen Impuls in den Körper eines Patienten aussendet. Um jedoch die Möglichkeit zu schaffen, den Sektor unter Software-Steuerung zu formatieren, wird jeder Winkel unmittelbar vor dem Empfang von Daten für diesen Winkel eindeutig mit einem Sieben-Bit-Wort bezeichnet. Die Daten sind in fünf Bits quantisiert. Um die Anzahl von bestimmten Signalsammelschienen zwischen einem Abtaster und dem Abtast-Wandler gemäß der Erfindung zu minimieren, teilen sich die Winkel- und Datenbits einen gemeinsamen Datenübertragungsbus 133 (Fig. 5), welcher 12 Bits breit ist. Das Ausgangssignal eines Abtasters 134 (Fig. 5) ist in Fig. 5A dargestellt, wo erkennbar ist, daß, wenn MSB den Wert 1 hat, die Bits 2 bis 8 die Liniennummer darstellen, und wenn s den Wert 0 hat, die Bits 2 bis 6 einen von 32 Pegeln für ein Datenabtastwert darstellen. Um die trigonometrischen Daten zu reduzieren, die in den ROMs gespeichert werden müssen, macht man sich den Vorteil der Winkelsymmetrie um die mittlere Radiuslinie des Sektors zunutze, und dementsprechend hat das Bit Nummer 1 willkürlich den Wert 1, wenn die Linie in der linken Hälfte des Sektors liegt, und den Wert 0, wenn sie in der rechten Hälfte liegt. Bei der Mittellinie des Sektors wird das Bit auf 1 gesetzt. Das LSB, im vorliegenden Fall Bit Nummer 11, enthält Impulse, die mit "STROBE" bezeichnet sind und während der Zeit auftreten, wenn das Wort Linienidentifizierungsinformation enthält, sowie während der Zeit, wenn das Wort den Wert eines Datenabtastwertes darstellt.
Zeitgebersignale
Das Abtast-Wandlersystem wird durch Impulse CLK getriggert, die von einem Taktgeber 136 erzeugt werden. Um jedoch genügend Zeit für die Durchführung der Funktion jeder Schaltung zur Verfügung zu stellen, wird die Frequenz des Ausgangssignals des Taktgebers 136 mittels eines Teilers 138 halbiert und so das Signal ENABL abgeleitet. Das Komplement dieses Signals, NENBL, wird dadurch erzeugt, daß ein Inverter 140 an den Ausgang des Teilers 138 angeschlossen wird.
Da der Takt des Abtasters 134 nicht unbedingt synchron mit dem Taktgeber 136 des Abtast-Wandlers verlaufen muß, wird LSB, STROBE vom Abtaster 134 einem Synchronisierer 135 zugeführt. Der Synchronisierer 135 kann verschiedenartig aufgebaut sein, besteht jedoch im vorliegenden Beispiel aus einem Paar von D-Flipflops 132, 139 und einem UND-Glied 141, die wie dargestellt miteinander verbunden sind. Um die Operationsfolge verschiedener Teile der Abtast- Wandlerschaltung bei Empfang eines Wortes vom Abtaster 134 zu steuern, ist das Ausgangssignal des UND-Gliedes 141 (mit INENABLE bezeichnet) ein synchronisiertes STROBE und wird einem Schieberegister 142 zugeführt, welches durch die Impulse CLK getaktet ist. Wenn die Frequenz des Taktgebers 136, 12,4 MHz beträgt, ist das Signal STROBE so ausgelegt, daß es einen aktiven hohen Pegel für mindestens 80 ns und einen aktiven niedrigen Pegel für mindestens 80 ns hat, so daß die aufeinanderfolgenden Impulse NINEN 0, NINEN 1 und NINEN 2 am Ausgang des Registers synchron mit CLK sind. Jeder Impuls ist 80 ns lang auf einem niedrigen Pegel, wobei die drei Impulse nicht länger als 240 ns andauern. Die invertierten Formen INEN 0, INEN 1 und INEN 2 werden entsprechend durch Inverter 144, 146 und 148 abgeleitet. Wie erkennbar ist, werden NINEN 0 oder INEN 0 für die Freigabe von Zwischenspeichern, NINEN 1 oder INEN 1 für die Steuerung der Schreibfunktionen und NINEN 2 oder INEN 2 für die Steuerung von Zählern benutzt.
Identifizierung der Liniennummer
Das Ausgangssignal INENABLE vom UND-Glied 141 wird über einen Inverter 150 dem Freigabe-Eingang eines Zwischenspeichers 152 zugeführt, so daß das zu dieser Zeit am Ausgang des Abtasters anstehende Wort zwischengespeichert wird. Das Bit Nummer 1, SIGN, das den Halbsektor bezeichnet, in welchem sich die Linie befindet, sowie die Bits 2 bis 8, die die Liniennummer bezeichnen, werden einem Zwischenspeicher 154 zugeführt, so daß bei Freigabe des Zwischenspeichers 154 die die Liniennummer L # darstellenden Bits am einen Ausgang erscheinen und das Bit SIGN am anderen.
Da die Bits 2 bis 6 zu gewissen Zeiten Linienidentifizierungsinformation darstellen und zu anderen Zeiten den Wert eines Datenabtastwertes, ist es wesentlich, daß der Zwischenspeicher 154 nur freigegeben wird, wenn diese Bits die Liniennummer darstellen. Dies wird erreicht durch UND-Verknüpfung in einem NAND-Glied 158, des MSB, hier mit HDR 1 bezeichnet, mit dem Signal ENABLE und dem Ausgang eines ODER-Gliedes 156, dem INEN 1 und INEN 2 zugeführt werden. Der Grund für die Benutzung von INEN 1 und INEN 2 in dieser Weise ist, daß INEN 1 bezüglich des Signals ENABL in einem von zwei stabilen Zuständen auftreten kann. ENABLE hat eine Periode von 160 ns, während INEN 0 eine Breite von 80 ns hat. Um daher sicherzustellen, daß die Liniennummer synchron mit dem Signal ENABLE zwischengespeichert wird, werden sowohl INEN 0 als auch INEN 1 benötigt. Zu beachten ist auch, daß das Signal STRTL in ähnlicher Weise erzeugt wird. Dieses Signal wird weiter unten näher erläutert. Der Grund für die Benutzung von ENABLE ist, die Gesamtzeitgabe für die Arbeitsintervalle der Hardware zu bewerkstelligen. Durch die wesentliche Teilung des 12,4-MHz-Taktes durch 2 wird eine Arbeitsintervallzeit von 160 ns vorgegeben. Jede synchrone Operation hat daher 160 ns zur Verfügung, innerhalb derer sie mit Ausführung, Übertragungsverzögerung und Haltezeit fertiggestellt sein muß. Das NAND-Glied 158 kann nur dann das zur Freigabe des Zwischenspeichers 124 benötigte Signal mit niedrigem Pegel erzeugen, wenn HDR 1, das höchstwertige Bit, 1 ist. Die dann am Eingang eines Zwischenspeichers 154 anstehenden Daten stellen die Abtastlinieninformation dar.
Herausarbeitung der Daten
Bits 2 bis 6 werden dem Eingang eines Zwischenspeichers 160 zugeführt, der durch NINEN 0 freigegeben wird, so daß sie als Daten zu einer Datensammelschiene 162 übertragen werden, egal ob sie Linieninformation oder den Wert der Datenabtastwerte darstellen. Wenn diese Bits Linieninformation darstellen, werden sie in einer Weise daran gehindert, in die Linienspeicher gemäß Fig. 6 eingeschrieben zu werden, die noch zu erklären ist. Dies geschieht durch ein Qualifiziersignal SWE, welches dadurch abgeleitet wird, daß ein Inverter 164 zwischen eine HDR 1 führende Leitung 166 und einen Eingang eines UND-Gliedes 168 geschaltet ist, dessen anderer Eingang mit INEN 1 verbunden ist. Wenn das Wort vom Abtaster 134 Linieninformation darstellt, ist HDR 1 auf einem hohen Pegel, so daß SWE auf einem niedrigen Pegel sein muß. Wenn das Wort jedoch Daten darstellt, befindet sich HDR 1 auf einem niedrigen Pegel, so daß SWE auf einen hohen Pegel gehen kann, wenn INEN 1 auftritt.
Beginn einer Linie
Wie zuvor ausgeführt wurde, werden die Berechnungen von RERR und R ERR, die für die Interpolationsfunktion benutzt werden, durch sukzessive Addition oder Subtraktion von gewissen gespeicherten Werten zu bzw. von entsprechenden bekannten Anfangswerten abgeleitet. Obwohl diese bekannten Anfangswerte die für jeden beliebigen Anzeigepunkt sein können, ist es einfacher, den Ursprung des Sektors als Startpunkt zu benutzen, da die bekannten Werte für RERR und R ERR beim Ursprung O sind. Wenn dies jedoch gemacht wird, ist es wesentlich, den Datenabtastwert zu kennen, der beim Beginn einer Linie auftritt. Da HDR 1 bei jedem Linienbeginn auftritt, kann es zur Erzeugung eines Signals STRTL (Linienbeginn) benutzt werden. Eine Möglichkeit dazu besteht darin, einen Inverter 170 zwischen den Ausgang des NAND-Gliedes 158 und den Eingang eines Zwischenspeichers 172 zu schalten. Während Daten empfangen werden, ist HDR 1 auf einem niedrigen Pegel, so daß das Ausgangssignal des Zwischenspeichers 172 sich ebenfalls auf einem niedrigen Pegel befindet. Wenn jedoch ein L # empfangen wird, ist HDR 1 auf einem hohen Pegel, so daß, wenn NENBL diesen Zwischenspeicher freigibt, an seinem Ausgang STRTL mit hohem Pegel erscheint. In Fig. 10 wird STRTL zur Initiierung der erwähnten Berechnungen benutzt.
Einschreiben der Abtastwerte
Zur Erläuterung einer Methode zum Speichern der Datenabtastwerte wird nun auf Fig. 5 und 6 Bezug genommen. In der Schaltung nach Fig. 6 ist die Datensammelleitung 162 von Fig. 5 mit drei Zustands-Puffern oder Gattern 174, 176 und 178 verbunden, die wiederum mit dem I/O digitaler Linienspeicher 180, 182 bzw. 184 verbunden sind. Jeder Linienspeicher kann die 396 Abtastwerte längs einer Linie speichern, und es ist erwünscht, daß Abtastwerten von einer radialen Linie vom Abtaster 134 in einen Speicher eingeschrieben werden, während die beiden zuvor geschriebenen radialen Linien ausgelesen werden, um die für die Interpolation benötigten Abtastwerte bereitzustellen. Die Drei-Zustands-Puffer erfordern die Zuführung eines Signals mit niedrigem Pegel zu ihren Freigabeeingängen, um die Daten zu den Linienspeichern hindurchzulassen. Eine Einrichtung zur Ableitung des passenden Freigabesignals NLD ist in Fig. 5 dargestellt. HDR 1 von der Leitung 166 wird einem Eingang eines NAND-Gliedes 186 zugeführt, INEN 0 wird dem anderen zugeführt, und das Ausgangssignal wird einem Modulo-3-Zähler 188 zugeführt, der durch ein Signal mit niedrigem Pegel aktiviert wird und ein Signal mit hohem Pegel an einer seiner drei Ausgangsleitungen M 1, M 2 oder M 3 abgibt. Jedes empfangene HDR 1 bewirkt, daß das NAND-Glied 186 ein Signal NLD an den Zähler 188 abgibt und diesen veranlaßt, das Signal mit hohem Pegel zur nächsten Ausgangsleitung zu verschieben. Nach drei Signalen HDR 1 wiederholt sich also die Folge.
Die Freigabe der Linienspeicher 180, 182, 184, derart, daß an ihrem I/O anstehende Daten in sie eingeschrieben werden können, erfordert, daß ihren Schreib-Freigabeeingängen ein Signal mit niedrigem Pegel zugeführt wird. Die Ableitung solcher Signale erfolgt durch entsprechende Zuführung M 1, M 2 und M 3 zu Eingängen von NAND-Gliedern 190, 192 und 194 und durch Zuführung von SWE zu deren anderen Eingängen. Es sei daran erinnert, daß SWE sich nur dann auf einem hohen Pegel befindet, wenn Abtastwerte sich auf der Datensammelschiene 162 befinden, so daß die Ausgangssignale der NAND-Glieder 190, 192 und 194 auf den niedrigen Pegel gehen können und damit die Einschreibung von Daten in die Linienspeicher nur dann erlauben, wenn Abtastwerte auf der Datensammelschiene anstehen. Dies verhindert, daß Liniennummer-Daten in die Speicher 180, 182 und 184 eingeschrieben werden. Das jeweils auf einem hohen Pegel befindliche Signal von M 1, M 2 und M 3 bewirkt, daß sein zugehöriges NAND-Glied ein niedriges Ausgangssignal abgibt und damit den zugehörigen Linienspeicher für die Einschreibung freigibt. Wenn z. B. M 1 auf einem hohen Pegel ist, wird der Linienspeicher 180 für den Datenempfang freigegeben.
Da jedoch jeder Linienspeicher einen gemeinsamen I/O hat, ist es auch erforderlich, daß der Ausgangskanal durch Anlegen eines Signals mit hohem Pegel an seinen Ausgangsfreigabeanschluß OE gesperrt wird, während dieser Speicher Abtastwerte empfängt. Dies wird dadurch bewirkt, daß M 1, M 2 bzw. M 3 an die OE-Anschlüsse der Linienspeicher 180, 182 bzw. 184 gelegt werden. Wenn z. B. M 1 sich auf einem hohen Pegel befindet, ist der Ausgangskanal des Linienspeichers 180 gesperrt.
Zusammengefaßt läßt sich sagen, daß M 1, M 2 und M 3 aufeinanderfolgend einen hohen Pegel annehmen. Wenn M 1 auf einem hohen Pegel ist, erlaubt der Drei-Zustands-Puffer 174 Abtastwerten den Zugang zum I/O des Linienspeichers 180, jedoch verhindern die Drei-Zustands-Puffer 176 und 178 den Zugang von Abtastwerten zum I/O ihre entsprechenden Linienspeicher 182 bzw. 184. Gleichzeitig empfängt der Schreibfreigabeeingang des Linienspeichers 180 ein Signal mit niedrigem Pegel, so daß Abtastwerte in den Linienspeicher 180 eingeschrieben werden können. Der Ausgangskanal des Linienspeichers 180 ist gesperrt, während die Ausgangskanäle der Linienspeicher 182 und 184 freigegeben sind. Wenn also M 1 einen hohen Pegel hat, können Abtastwerte nur im Linienspeicher 180 gespeichert werden. M 2 und M 3 sind dann auf einem niedrigen Pegel, so daß zuvor in den Linienspeichern 182 und 184 gespeicherte Abtastwerte ausgelesen werden können.
Es erhebt sich die Frage, wie die Abtastwerte an aufeinanderfolgend angeordneten Adressen gespeichert werden können. Dies wird durch Auf-/Ab-Zähler 196, 198 und 200 gesteuert. Zunächst sollte beachtet werden, daß das Signal NLD am Ausgang des NAND-Gliedes 186 einem Ladeeingang der Zähler zugeführt wird, so daß sie alle beim Beginn jeder Linie auf Null zurückgestellt werden. Damit diese Zähler überhaupt zählen können, muß an beiden invertierenden Eingängen ENT und ENP ein Signal mit niedrigem Pegel anstehen. Es sei z. B. angenommen, daß Abtastwerte in den Linienspeicher 180 eingeschrieben werden sollen, d. h. daß M 1 auf einem hohen Pegel ist. Unter dieser Bedingung ist der Eingang ENP des Zählers 196 für die gesamte Linie auf einem niedrigen Pegel, da durch einen Inverter 195 ein noch zu beschreibendes Signal M 1 + SHIFT dem Eingang ENP zugeführt wird. M 1 befindet sich während der Linienabtastung konstant auf einem hohen Pegel, weshalb der Zustand von SHIFT irrelevant ist. Beim Schreiben steigt die Zählung immer an, so daß UND 1 auf einem hohen Pegel sein sollte. UND 1, UND 2 und UND 3 werden abgeleitet durch entsprechende Verbindung von M 1, M 2 und M 3 mit jeweils einem Eingang von ODER-Gliedern 202, 204 und 206 und eines noch zu beschreibenden Signals NMDECR mit dem jeweils anderen Eingang. Da M 1 auf einem hohen Pegel ist, ist das Ausgangssignal des ODER-Gliedes 202 auf einem hohen Pegel, unabhängig vom Zustand von NMDECR, und der Zähler 196 zählt nach oben. Das tatsächliche Zählen erfolgt auf das Signal NM 1 + ADDEN hin, das über einen Inverter 193 dem Eingang ENT des Zählers 196 zugeführt wird. Da NM 1 die Verneinung von M 1, auf einem niedrigen Pegel ist und den Eingang ENT des Zählers 196 nicht auf einen niedrigen Pegel setzen kann, findet eine Zählung jedesmal dann statt, wenn ADDEN auf einen hohen Pegel geht. NM 1 + ADDEN, NM 2 + ADDEN und NM 3 + ADDEN werden wie folgt abgeleitet. HDR 1 wird über einen Inverter 203 einem Eingang eines UND-Gliedes 205 zugeführt, so daß dieser Eingang während der Zeit, während der Abtastwerte empfangen werden, auf einem hohen Pegel ist. Jeder Abtastwert ist von einem Signal STROBE begleitet, das das synchronisierte STROBE INENABLE erzeugt, welches wiederum INEN 2 erzeugt. Wenn INEN 2 auf einen hohen Pegel geht, geht das Ausgangssignal des UND-Gliedes 205, welches das Signal ADDEN ist, ebenso auf einen hohen Pegel. ADDEN wird je einem Eingang der ODER-Glieder 207, 208 und 210 zugeführt, und Signale NM 1, NM 2 bzw. NM 3 werden den jeweils anderen Eingängen zugeführt. Die letzteren Signale werden dadurch abgeleitet, daß M 1, M 2 und M 3 Invertern 212, 214 bzw. 216 zugeführt werden. Beim Schreiben in den Linienspeicher 180 ist für die gesamte Linie M 1 auf einem hohen Pegel und NM 1 auf einem niedrigen, und das Ausgangssignal ADDEN des UND-Gliedes 205 geht auf jedes INEN 2 hin auf einen hohen Pegel, so daß der Zähler 196 zählt. Da, wie beschrieben wurde, UND 1 auf einem hohen Pegel ist, zählt er nach oben. Die Wirkung der verschiedenen Signale auf die anderen Linienspeicher und Zähler wird weiter unten in einem Abschnitt über das Lesen von Abtastwerten von den Linien erläutert.
Im eben angeführten Beispiel wurden die Abtastwerte in den Linienspeicher 180 eingeschrieben. Während der gleichen Zeit werden Abtastwerte aus den Linienspeichern 182 und 184 ausgelesen. Wenn die Lesefolge immer nur in eine Richtung ginge, würde die Lesefunktion an dieser Stelle erläutert werden, da dies aber nicht der Fall ist, ist es notwendig zu erklären, wie Signale INCR, DECR und SHIFT abgeleitet werden, die die Lesefunktion steuern.
Anzeigepunkt-Abtaststeuersignal
Um die eben erwähnten Signale zu bestimmen, sind Einrichtungen zum Erzeugen von Anzeigepunkt-Abtaststeuersignalen vorgesehen, die die Schritt-für-Schritt-Abtastung längs der Zeilen und Spalten von Anzeigepunkten darstellen, die benötigt werden für das Fortschreiten von einem gegebenen Anzeigepunkt, z. B. dem beim Ursprung des Sektors durch die Anzeigepunkte in einem Schnitt entsprechend einer gegebenen Liniennummer. Wie zuvor bemerkt wurde, können die Anzeigepunkt-Abtaststeuersignale als Ergebnis von verschiedenen Folgen von x- und y-Bewegungen verschiedene Formen annehmen und können durch einen Computer erzeugt werden oder aus einem Speicher entnommen werden, wie hier erläutert ist. Die zu beschreibende Schaltung gemäß Fig. 7 enthält eine Zustandsmaschine 220, die eine Serie von Einzelbits abgibt, die durch eine Null anzeigen, daß ein Schritt längs der x-Achse und längs einer Zeile von Anzeigepunkten verläuft, und durch eine Eins anzeigen, daß der Schritt weg vom Ursprung längs der y-Achse und längs einer Spalte von Anzeigepunkten verläuft. In dieser speziellen Ausführungsform der Erfindung geht der Schritt vom Ursprung des Sektors nach links in einem Schnitt, der in der linken Hälfte des Sektors liegt, wie durch den Abtastweg 31 in Fig. 3 dargestellt ist, und nach rechts in einem Schnitt in der rechten Hälfte des Sektors, wie in Fig. 3 durch den Abtastweg 31′ dargestellt ist. Der Abtastalgorithmus benutzt das Konzept, daß jedesmal wenn die y-Adresse geändert wird, die Richtung für den x-Zähler bezüglich seiner letzten Einstellung geändert wird, d. h. nach der ersten y-Adressenänderung im Weg 31 wird XDIR geändert, so daß bewirkt wird, daß der x-Zähler nach oben zählt, d. h. daß eine Bewegung näher zum Zentrum des Sektors erfolgt. Es ist zu beachten, daß die y-Bewegungen sukzessiv verkettet werden können. Jede Bewegung in y-Richtung impliziert jedoch eine Änderung in XDIR, so daß, wenn die Zustandsmaschine eine Null (x-Bewegung) ausgibt, der x-Zähler sich in die Richtung der zuletzt implizierten x-Richtung bewegt. Außerdem gilt für Schnitte auf beiden Seiten der Mittellinie (y-Achse) mit denselben Winkeln, daß die Abtastwege identisch sind mit der Ausnahme, daß die Richtungen entsprechender Schritte längs der x-Achse entgegengesetzt sind. Die Eins- und Null- Signale von der Zustandsmaschine 220 sind jedoch identisch. Ein Signal XDIR, welches für ein Schritt in Richtung zur Mittellinie Null ist und für einen Schritt in Richtung zur Außenseite des Sektors längs der x-Achse Eins ist, wird mittels einer Adressenzählersteuerung 222 vom Ausgang der Zustandsmaschine 220 abgeleitet, und das Bit SIGN vom Zwischenspeicher 230. Die Adressenzählersteuerung 222, deren Details in Fig. 7A dargestellt sind, gibt auch ein Signal YINC/ ab, daß die Schritte in x- oder y-Richtung darstellt.
Es sei nun im Detail auf Fig. 7 eingegangen. Die Liniennummer darstellenden Bits L # und das SIGN darstellende Bit am Ausgang des Zwischenspeichers 154 in Fig. 5 werden einem Abtaster-Zwischenspeicher 224 zugeführt, der durch das Signal STRTL vom Zwischenspeicher 272 in Fig. 5 freigegeben wird und die Bits für diese Signale zu einem Fifo-Puffer 226 durchläßt, der zwei Liniennummern speichert, da zwei aufeinanderfolgende Radiuslinien des Abtasters in zwei von den Linienspeichern 180, 182 und 184 (Fig. 6) gespeichert werden müssen, bevor ein Schnitt definiert und fertig für das Auslesen ist. Da jedes Signal STRTL an der Radiuslinie auftritt, werden die Liniennummer-Bits im Fifo-Puffer 226 weiter bewegt. Beim dritten STRTL des Sektors wird das L # für die erste Linie des Sektors in ein Liniennummer-Übersetzungs-ROM 228 geschoben. Dessen Ausgangssignal wird einem Zwischenspeicher 230 zugeführt.
Der Zweck des Liniennummer-Übersetzungs-ROMs 228 wird durch Betrachtung der Fig. 7B₁, 7B₂ und 7B₃ verständlich. In dem speziellen in dieser Ausführungsform der Erfindung benutzten Format sind den Radiuslinien gerade Zahlen zugeordnet, beginnend mit der äußeren Linie in der linken Hälfte des Sektors mit 1/120 (Fig. 7B), wobei 1 das SIGN-Bit ist, welches anzeigt, daß sich die Linie in der linken Hälfte befindet, und 120 die Liniennummer. Die Mittellinie ist willkürlich mit 1/0 bezeichnet. Die äußerste Linie in der rechten Hälfte des Sektors (nicht dargestellt) ist 0/120. Fig. 7B zeigt den äußersten Schnitt in der linken Hälfte des Sektors, der durch Radiuslinien 1/120 und 1/118 aufgespannt wird. Während Abtastwerte aus zwei der Linienspeicher 180, 182 und 184 (Fig. 6) ausgelesen werden, in welchen die Abtastwerte der Linien 1/120 und 1/118 gespeichert waren, werden Abtastwerte von der gestrichelten Linie 1/116 in den dritten Linienspeicher eingeschrieben. Die verschiedenen bei der Bestimmung von RERR, COUNT und XHAT in noch zu beschreibender Weise benutzten Winkelmessungen basieren bei dieser speziellen Ausführungsform auf dem Winkel zwischen der äußeren Radiuslinie R O und der y-Achse.
Das Linien-Übersetzungs-ROM 228 ist aus folgendem Grund erforderlich. Alle trigonometrischen Funktionen beziehen sich auf die Außenlinie d. h. in der linken Seite des Sektors die mit der "ältesten" Liniennummer im Fifo-Puffer 226. Wenn der laufende Ausgangsschnitt so wie in Fig. 7B₁ dargestellt ist, ist das laufende Ausgangssignal vom Fifo-Puffer 226 Linie 1/2, was impliziert, daß der laufende Winkel der der Linie 1/2 ist. Wenn die Mittellinie gekreuzt wird ((Fig. 7B₂), ist das Ausgangssignal des Fifo-Puffers 226 1/0. Es soll dabei der Winkel von 0/2 benutzt werden, da er der gleiche wie der von 1/2 in Fig. 7B₁ ist. Um dieses Ergebnis zu erreichen, addiert das Linien- Übersetzungs-ROM 228 eine in Ziffer 2 zur Liniennummer (Fig. 7B₃) und ändert das Vorzeichen auf Null, d. h. 0/2 wird vom ROM 228 ausgegeben statt 1/0 und hat das gleiche L # wie 1/2 in Fig. 7B₁. Das SIGN-Bit hat keine Wirkung auf das zu benutzende L #, ist jedoch in gleicher Weise verzögert, wie die Liniennummer, und zwar aus Gründen, die weiter unten beschrieben werden. Den verbleibenden Linien auf der rechten Seite wird eine Zwei hinzuaddiert. Alle Linien auf der linken Seite mit Ausnahme der Mittellinie werden durch das ROM 228 transparent.
D 66669 00070 552 001000280000000200012000285916655800040 0002003153416 00004 66550ie Zustandsmaschine
Die drei höchstwertigen der sechs Bits am Ausgang des Zwischenspeichers 230, die die Liniennummern darstellen, werden einer ROM- Auswahlschaltung 232 zugeführt, durch die eins von acht ROMs ausgewählt wird, die im Zustandsspeicher 234 benutzt werden. Jedes ROM im Zustandsspeicher 234 enthält bis zu acht Schnitte. Die drei geringstwertigen Bits werden dem Speicher 234 zugeführt, wodurch der Teil ausgewählt wird, der innerhalb des ausgewählten ROMs sich auf den speziellen Schnitt bezieht. Jeder Schnitt enthält 256 Acht- Bit-Worte, so daß für den Schnitt insgesamt 2048 Bits vorhanden sind. Jedes Bit entspricht einem Schritt auf dem abzutastenden Weg durch die Anzeigepunkte. Es ist 0, wenn der Schritt in einer Richtung längs der x-Achse verläuft und es ist 1, wenn der Schritt längs der y-Achse verläuft. Man erinnere sich, daß die spezielle x-Richtung durch die Gesamtzahl von y-Bewegungen seit dem Ursprung bestimmt wird.
Das Signal STRTL am Ausgang des Abtaster-Zwischenspeichers 224 wird verwendet zum Start eines Zustandsmaschinen-Adressenzählers 236 zur Ausgabe einer Elf-Bit-Adresse mit der Frequenz der ENABLE-Impulse (das Arbeitsintervall). Acht dieser elf Bits werden dazu benutzt, eines der 256 Acht-Bit-Worte jedes Schnittes aufeinanderfolgend im Speicher 234 auszuwählen und sie einem Zwischenspeicher 238 zuzuführen. Die drei niedrigstwertigen Bits dieser elf Bits am Ausgang des Zustandsmaschinen-Adressenzählers 236 werden mit ENABLE in einem UND-Glied 240 verknüpft, wodurch der Zwischenspeicher 238 freigegeben wird für den Durchlaß des ihm vom Zustandsmaschinen- Speichers 234 zugeführten Wortes zu einem Multiplexer 242, welcher die Bits des Wortes unter Steuerung durch die drei niedrigstwertigen Bits aufeinanderfolgend auswählt und sie der Adressenzähler- Steuerung 222 zuführt. Das Ausgangssignal des Multiplexers 242 ist YINC/. Zustandsadressen-Decoder Das Elf-Bit-Wort am Ausgang des Zustandsmaschinen-Adressenzählers 236 wird einem Zustandsadressen-Decoder 246 zugeführt, welcher ein ROM ist und gewisse Zeitgebersignale entwickelt. Wenn der durch das Elf-Bit- Wort dargestellte Zählerstand einen vorgegebenen Wert erreicht, der zu einer Zeit auftritt, so daß die Berechnung von R ERR und RERR (Fig. 8) in noch zu beschreibender Weise ausgeführt worden ist, wird ein Signal STRTI (Interpolationsbeginn) auf den Rückstelleingang eines Zwischenspeichers 248 (Fig. 5) gegeben, dessen Zweck im folgenden beschrieben wird. Zu einem passenden Zeitpunkt sendet der Decoder 246 aus noch darzustellenden Gründen ein Signal NACCCLR aus, welches einen Zähler und drei Zwischenspeicher in den Schaltungen gemäß Fig. 8 löscht, die R, RERR, COUNT und XHAT bestimmen. Der Decoder 246 gibt auch ein Signal NINTL ab, das der Adressenzähler-Steuerung 222 zugeführt wird, so daß deren Ausgangssignal zu einem passenden Zeitpunkt initialisiert wird, sowie ein Signal CTRLD, das wiederholt einen x-Adressenzähler 249 auf die x-Adresse des Ursprungs des Sektors setzt, wie durch eine Quelle 250 festgelegt, und einen y-Adressenzähler 252 auf den y- Zählerstand des Ursprungs setzt, wie am Beginn jeder Linie durch eine Quelle 254 festgelegt wird.
Adressensteuerung
Wie in Verbindung mit Fig. 7A noch beschrieben wird, erzeugt die Adressenzähler-Steuerung 222 ein Signal XCNT für den Zähler 249 für jede 0 im Ausgangssignal des Multiplexers 242 und ein Signal YCNT für den y-Zähler 252 für jede 1 im Ausgangssignal des Multiplexers 242. Die Adressenzähler-Steuerung 222 liefert auch ein Signal XU/D an den x-Zähler 249. Zusätzlich erzeugt die Adressenzähler-Steuerung 222 ein Signal XDIR, das zusammen mit dem Signal YINC/ vom Multiplexer 242 Wege wie 31 und 31′ in Fig. 3 definiert, und zwar auf das Ausgangssignal des Multiplexers 242 und das Signal SIGN vom Zwischenspeicher 230 hin. XDIR und YINC/ werden in zu beschreibender Weise benutzt, um den Wert der in den Schaltungen gemäß Fig. 8 benutzten trigonometrischen Funktion zu identifizieren, die die Werte R, RERR, XHAT und COUNT bestimmen. Ein Signal ACCCLK, das von der Adressenzähler-Steuerung 222 geliefert wird, triggert die Zwischenspeicher der Akkumulatoren in Fig. 8, die bei der Bestimmung der Werte von R und COUNT benutzt werden, und ein von der Steuerung 222 geliefertes Signal THETCLK wird zum Triggern eines Zwischenspeichers eines Akkumulators in Fig. 8 benutzt, welcher zur Bestimmung des Wertes von XHAT dient.
Es sei nun auf Fig. 7A Bezug genommen. Beim Start jeder Linie und damit beim Start jedes neuen Schnittes geht das Signal NINTL vom Zustands-Adressen-Decoder 246 (Fig. 7) auf einen niedrigen Pegel und wird dem Preset-Eingang eines D-Flipflops 256 zugeführt, wodurch XDIR auf einen hohen Pegel geht, was anzeigt, daß ein Schritt längs der x-Achse auf die äußere Radiuslinie zu gemacht wird, daß jedoch die Richtung bezüglich des Ursprungs nicht bestimmt wurde. NINTL löscht auch eine Acht-Zustands-Verzögerungsschaltung 258, deren Ausgang mit einem Eingang eines Exklusiv-ODER-Gliedes 260 verbunden ist und deren einer Eingang mit dem Ausgang des Flipflops 256 verbunden ist, wo XDIR anliegt. Der andere Eingang des Exklusiv- ODER-Gliedes 260 empfängt das SIGN-Bit vom Zwischenspeicher 230 (Fig. 7). Wenn sich die Linie in der linken Hälfte des Sektors befindet, ist SIGN auf einem hohen Pegel, so daß das Ausgangssignal des Exklusiv-ODER-Gliedes 260 sich auf einem niedrigen Pegel befindet, was eine Abwärtszählung, d. h. nach links, bedeutet. Wenn die Linie sich in der rechten Hälfte des Sektors befindet, ist SIGN auf einem hohen Pegel, so daß das Ausgangssignal des Exklusiv- ODER-Gliedes 260 sich auf einem hohen Pegel befindet, was eine Aufwärtszählung bedeutet.
Die Steuerung von XDIR wird wie folgt erreicht. YINC/ vom Multiplexer 242 (Fig. 7) wird einem Eingang eines UND-Gliedes 262 zugeführt, dessen anderem Eingang ENABLE zugeführt wird. Wenn der nächste Schritt weiterhin nach außen geht, ist YINC/ Null, so daß das Ausgangssignal des UND-Gliedes 262 sich auf einem niedrigen Pegel befindet. Dieses Ausgangssignal wird einem Eingang eines Exklusiv- ODER-Gliedes 264 zugeführt, dessen anderer Eingang mit XDIR am Ausgang des D-Flipflops 256 verbunden ist. Da XDIR bei einer Bewegung nach außen sich auf einem hohen Pegel befindet, ist das Ausgangssignal des Exklusiv-ODER-Gliedes 264 auf einem hohen Pegel, und XDIR bleibt auch auf einem hohen Pegel. Wenn jedoch YINC/ Eins ist, was anzeigt, daß eine Bewegung weg vom Ursprung längs der y-Achse erfolgt, ist das Ausgangssignal des UND-Gliedes 262 nunmehr auf einem hohen Pegel, wenn ein ENABLE auftritt, was bewirkt, daß das Ausgangssignal des Exklusiv-ODER-Gliedes 264 auf einen niedrigen Pegel geht und damit auch XDIR heruntersetzt, was einen Schritt in Richtung auf die Mitte des Sektors bei der nächsten Bewegung in x-Richtung bedeutet.
Da nun die Richtung eines Schrittes längs der x-Achse und XUP/ bekannt sind, bleibt es bestehen zur Erzeugung des Signals XCNT für jeden Schritt in x-Richtung. Um dies zu erreichen, wird YINC/ einer Neun-Zustands-Verzögerungsschaltung 266 zugeführt, die auch durch NINTL gelöscht wird. Der Ausgang der Verzögerungsschaltung 266 ist mit einem Eingang eines UND-Gliedes 268 und mit einem invertierenden Eingang eines UND-Gliedes 270 verbunden, und ENABL wird deren jeweils anderen Eingängen zugeführt. Wenn YINC/ sich auf einem niedrigen Pegel befindet, ist das Ausgangssignal des UND-Gliedes 268 auf einem niedrigen Pegel, so daß keine Zählung in y-Richtung stattfindet, jedoch ist das Ausgangssignal des UND-Gliedes 270 auf einem hohen Pegel, so daß XCNT auch auf einem hohen Pegel ist und bewirkt, daß der x-Adressenzähler des Sektors nach oben oder nach unten zählt, abhängig davon, ob XUP/ auf einem hohen oder einem niedrigen Pegel ist.
Wenn YINC/ auf einem hohen Pegel ist, was anzeigt, daß ein Schritt in y-Richtung gemacht wird, geht das Ausgangssignal des UND-Gliedes 268 auf einen hohen Pegel, und bewirkt, daß der y- Adressenzähler des Sektors nach oben zählt, was im vorliegenden Beispiel die einzig mögliche Richtung ist.
Zweck der Verzögerungsschaltungen 258 und 266 ist, vorherigen Daten zu ermöglichen, durch Interpolatoren gemäß Fig. 10 zu kommen. Sie werden durch CLK nach ENABLE-Qualifikationen getriggert. Jedoch wird das D-Flipflop 256 nur durch CLK getriggert.
CLK wird auch dem Takteingang eines Synchronisierers 272 zugeführt, der mit einem D-Eingang mit ENABL verbunden ist und am entsprechenden Ausgang ein Signal ACCCLK erzeugt. Ein weiterer D-Eingang des Synchronisierers 272 ist mit dem Ausgang des UND-Gliedes 262 verbunden, und der entsprechende -Ausgang ist mit einem dritten D- Eingang verbunden, und dessen entsprechender Q-Ausgang erzeugt das Signal THETCLK.
Die Ausgänge der x- und y-Adressenzähler 249 (Fig. 7) sind mit Zwischenspeichern 274 bzw. 276 verbunden, welche wiederum mit Puffern 278 bzw. 280 verbunden sind, wobei allen an ihren Freigabeeingang das Signal ENABLE zugeführt wird. Bei jedem Signal ENABLE werden also die x- und y-Adressen auf Leitungen 282 und 284 gegeben, die in Fig. 10 unten zu einem Anzeigespeicher DM′ in Fig. 11 verlaufen.
Bestimmung von R und RERR
Es sei nun auf Fig. 8 Bezug genommen. Die L #-Bits vom Ausgang des Zwischenspeichers 230 in Fig. 7 und die Anzeigepunkt-Abtaststeuersignale XDIR und YINC/ von der Adressenzählersteuerung 222 (ebenfalls Fig. 7) werden den Eingangsadressen eines ROM 286 zugeführt, in welchem Werte von +sin R, -sin R und +cos R für den Winkel R gespeichert sind, der mit jedem L # zu benutzen ist. Fig. 8A zeigt die Wahrheitstabelle für eine gegebene Linie, welche die Ausgangssignale des ROM 286 für die verschiedenen Kombinationen der Bit-Werte von XDIR und YINC/ zeigt. Das ROM kann so programmiert werden, daß es passende Zwölf-Bit-Ausgangssignale liefert. Die zwölf Bits werden benutzt, um die vom ROM 286 kommenden Bruchteilszahlen zu definieren und werden dem Eingang eines Zwischenspeichers 288 zugeführt, dessen Ausgangssignal dem einen Eingang eines Addierers 290 zugeführt wird. Ein Zwischenspeicher 292 ist zwischen den Ausgang des Addierers 290 und den anderen Eingang davon geschaltet, so daß ein Akkumulator gebildet wird. Das Ausgangssignal des Zwischenspeichers 292 enthält daher den Bruchteil des laufenden Radius, von welchem die fünf MSB-Bits das gewünschte Signal RERR sind. Es ist durch fünf Bits ausgedrückt, was sich als genügend genau erwiesen hat, jedoch hat die Addition alle zwölf Bits benutzt, um einen großen akkumulativen Fehler zu vermeiden. Diese Situation kann nämlich auftreten, da über 1000 Sinus- und Cosinus-Werte zu addieren bzw. zu subtrahieren sind. Es ist zu beachten, daß der Zwischenspeicher 292 beim Beginn einer Linie durch NACCCLR gelöscht wird, welches Signal vom Zustandsadressen-Decoder 246 (Fig. 7) abgeleitet wird und welches durch ACCCLK getriggert wird, welches Signal wiederum von der Adressenzählersteuerung 222 (Fig. 7) abgeleitet wird. Wie aus Fig. 7A ersichtlich ist, wird NACCCLR von ENABLE abgeleitet, was die Geschwindigkeit steuert, mit welcher die Schritte durch die Anzeigepunkte stattfinden. Jede Bewegung in x- und y-Richtung bewirkt somit, daß ein inkrementeller Betrag (±sin R, +cos R ) zu den letzten Berechnungen des Radius addiert wird. Wie gezeigt werden wird, wird der ganzzahlige Teil der Radiusberechnung in einem Radiuszähler 294 festgehalten, unter Steuerung von Akkumulatorübertrag, XDIR und YINC/.
Die Werte von K x und K y und der Abstand zwischen Abtastwerten längs der Radiuslinien sind im vorliegenden Beispiel alle gleich Eins, so daß die Verbindung der Signale YINC/ und des Übertragsausgangs des Addierers 290 zum Radiuszähler 294 bewirkt, daß er die Zahl von Überträgen zählt und ein Signal R erzeugt, welches gleich dem Ganzzahlanteil der Abtastwertabstände in dem Radius von jedem Anzeigepunkt ist. Der Radiuszähler 294 gibt auch ein Signal INCR aus, wenn der Radius R über einen Ganzzahlwert von R hinausgeht, und ein Signal DECR, wenn der Radius bei Verkleinerung über einen Ganzzahlwert von R geht. Das Signal R wird in einem Komparator 296 mit einem Radiusgrenzsignal von einer Quelle 298 verglichen, derart daß ein Signal mit hohem Pegel erzeugt wird, wann immer der Radius R eines Anzeigepunktes die spezifizierte Grenze übersteigt. Das Ausgangssignal des Komparators ist ROK?.
Die Signale RERR, INCR, DECR und ROK? werden über Zwischenspeicher 300 und 302 geleitet. Das Signal RERR gelangt zu der Interpolationseinrichtung gemäß Fig. 4 und ROK? geht über Verzögerungsglieder 304 zu einem Eingang eines NAND-Gliedes 306. Ein Signal THETOK?, welches in noch zu beschreibender Weise abgeleitet wird, zeigt durch seinen hohen Pegel an, daß sich ein Anzeigepunkt im Schnitt befindet. THETOK wird über die Verzögerungsschaltungen 304 dem anderen Eingang des NAND-Gliedes 306 zugeführt. Das Ausgangssignal des NAND-Gliedes 306 wird einem Zwischenspeicher 308 zugeführt, und dessen Ausgangssignal einem Puffer 210. Wenn somit entweder ROK? oder THETOK? auf niedrigem Pegel sind, ist das Ausgangssignal NVALD? des Puffers 310 auf einem hohen Pegel. NVALD? wird einem Anzeigespeicher DM′ (Fig. 10) zugeführt. Wenn NVALD? auf einem niedrigen Pegel ist, wird der endgültige interpolierte Datenwert, der von der Interpolationseinrichtung gemäß Fig. 10 für den Anzeigepunkt abgeleitet wird, in den Anzeigespeicher DM′ eingegeben. Die Signale INCR und DECR werden über die Schaltungen in Fig. 5 zur Steuerung der Lesefunktion zweier der Linienspeicher 180, 182 und 184 benutzt.
Der Radiuszähler 294
Fig. 8B zeigt eine Anordnung von logischen Schaltungen zum Ableiten der Signale R, INCR und DECR aus YINC/ und dem Übertragssignal des Addierers 290. Das Übertragssignal ist 1, wenn der Radius im Addierer 290 ansteigt und durch einen ganzzahligen Wert geht. Das Übertragssignal ist 0, wenn der Radius ansteigt und nicht durch einen ganzzahligen Wert geht. Umgekehrt ist das Übertragssignal 0, wenn der Radius im Addierer kleiner wird und durch einen ganzzahligen Wert geht, und das Übertragssignal ist 1, wenn der Radius kleiner wird und nicht durch einen ganzzahligen Wert geht. Wenn der Bruchanteil des Radius 0 ist, bezeichnet das Ausgangssignal des Radiuszählers den Radius eines Anzeigepunktes, der gleich dem Radius von einem der Abtastpunkte ist.
YINC/ wird über eine zweistufige Verzögerungsschaltung 312 dem einen Eingang eines ODER-Gliedes 314 zugeführt, und XDIR gelangt über eine Verzögerungsschaltung 316 zu dessen anderem Eingang. Der Ausgang des ODER-Gliedes 314 ist mit einem Auf-/ Ab-Steuereingang eines Auf-/Ab-Zählers 318 und mit einem Eingang eines Exklusiv-ODER-Gliedes 312 verbunden. Der andere Eingang des Exklusiv-ODER-Gliedes 320 ist mit dem Übertragsausgang des Addierers 290 verbunden, und sein Ausgang ist mit invertierenden Eingängen von UND-Gliedern 322 und 324 verbunden, die die jeweils anderen Eingänge zu denen darstellen, mit denen das ODER- Glied 314 verbunden ist. Der Ausgang des ODER-Gliedes 314 ist mit einem anderen invertierenden Eingang des UND-Gliedes 324 und einem nicht-invertierenden Eingang des UND-Gliedes 322 verbunden. Das Signal NENBL von Fig. 5 wird dem -Freigabe-Eingang des Zählers 318 zugeführt, der Ausgang des Exklusiv-ODER-Gliedes 320 ist mit dem -Freigabe-Eingang desselben Zählers verbunden. Das Signal INCR ist am Ausgang einer zweistufigen Verzögerungsschaltung 326 mit dem Ausgang des UND-Gliedes 322 verbunden, und das Signal DECR ist am Ausgang einer zweistufigen Verzögerungsschaltung 328 mit dem Ausgang des UND-Gliedes 324 verbunden. Den Takteingängen der Verzögerungsschaltungen 312, 316, 326 und 328 sowie dem Takteingang des Auf-/Ab-Zählers 318 wird das Signal CLK zugeführt, und dem -Eingang (Laden) des Zählers wird NACCCLR zugeführt. Wenn der Radius nicht durch eine radiale Grenze z. B. die Bögen in Fig. 3 geht, sind sowohl INCR als auch DECR Null, wenn er jedoch über eine radiale Grenze hinauswächst, wird INCR zu 1 und DECR zu 0. Wenn er sich unter Überschreitung einer radialen Grenze verkleinert, wird INCR zu 0 und DECR zu 1.
Bestimmung von XHAT
Es sei wiederum auf Fig. 8 Bezug genommen. Die Werte von XHAT, die im vorliegenden Beispiel gleich tan R₂-tan R₁ sind, wobei R₂ der Winkel von der Mitte des Sektors zur äußeren Linie des Schnittes und R₁ der Winkel der inneren Linie sind, werden für jede Radiuslinie in einem ROM gespeichert. Durch die Zuführung des L #-Signals vom Ausgang des Zwischenspeichers 230 in Fig. 7 zum Adresseneingang des ROM 330 wird der entsprechende Wert von XHAT ausgewählt. Das Ausgangssignal des ROM 330 dauert für eine gesamte Linie an und wird dem Eingang eines Addierers 332 zugeführt. Das Ausgangssignal des Addierers 332 wird einem Zwischenspeicher 334 zugeführt, der durch NACCCLR vom Zustandsadressen-Decoder 246 gelöscht und durch THETCLK von der Adressenzählersteuerung 222 getriggert wird, welche beide in Fig. 7 dargestellt sind. Der Ausgang des Zwischenspeichers 234 ist mit einem anderen Eingang des Addierers 232 rückverbunden, so daß ein Akkumulator gebildet wird, der am Ausgang des Zwischenspeichers 334 den Wert von XHAT erzeugt, welcher die Summe von XHAT für jeden Schritt in y-Richtung ist, da THETCLK den Akkumulator mit jeder y-Bewegung triggert. In der Rückkopplung zum Addierer 332 wird eine größere Zahl von Bits benutzt, damit ein zu großer akkumulierter Fehler vermieden wird. In diesem Akkumulator werden 16 Bits benutzt, was der Tatsache Rechnung trägt, daß für den ganzzahligen Teil von XHAT vierMSB-Bits benutzt werden.
Bestimmung von COUNT
Die die Liniennummer vom Zwischenspeicher 230 in Fig. 7 darstellenden Signale und die Signale YINC/ von der Adressenzählersteuerung 222 in der gleichen Figur werden einem ROM 336 zugeführt, wo einer der Werte +1, -1 und tan R₂ ausgewählt wird, wie in Fig. 8C dargestellt ist. Der Winkel R₂ ist der Winkel zwischen der äußeren Linie eines Schnittes und der Mittellinie des Sektors, und daher hängt der Wert von +tan R₂ von der ausgewählten Liniennummer ab.
Ein Zwischenspeicher 338 ist zwischen den Ausgang des ROM 336 und den Eingang eines Addierers 340 geschaltet, und der Ausgang des Addierers 340 ist mit einem Zwischenspeicher 342 verbunden. Der Zwischenspeicher 342 wird durch NACCCLR vom Zustandsadressen- Decoder 246 (Fig. 7) gelöscht und vom ACCCLK von der Adressenzählersteuerung 222 (Fig. 7) getriggert. Der Ausgang des Zwischenspeichers 342 ist mit einem anderen Eingang des Addierers 340 verbunden, so daß alle aus dem ROM 336 ausgewählten Werte für jeden durch die Anzeigepunkt-Abtaststeuersignale YINC/ und XDIR angezeigten Schritt summiert werden. Dies ist der Wert COUNT, gemessen von der äußeren Linie eines Schnittes, ohne Rücksicht darauf, ob diese sich in der rechten oder der linken Hälfte des Sektors befindet. Zur Verringerung des akkumulierten Fehlers werden in der Rückkopplungsschleife 16 Bits benutzt im Vergleich zu acht Bits für die Summe. Für den ganzzahligen Anteil von COUNT werden vier Bits benutzt. Im Gegensatz zu RERR und XHAT kann jedoch COUNT einen negativen Wert haben, wenn sich der Anzeigepunkt außerhalb der äußeren Linie eines Schnittes befindet. Dazu ist das MSB-Bit am Ausgang des Zwischenspeichers 342 vorgesehen, welches angibt, ob der Wert von COUNT positiv oder negativ ist.
Bestimmung von R ERR
R ERR ist COUNT/XHAT, wie zuvor erläutert wurde. Diese Division könnte direkt durchgeführt werden, jedoch würden dann 16 Bits durch 16 Bits dividiert. Da im vorstehenden Ausführungsbeispiel eine solche Genauigkeit nicht benötigt wird, sondern eine Genauigkeit von fünf Bits ausreicht, liefert ein passend ausgesuchtes Fünf-Bit-Feld von sowohl COUNT als auch XHAT die notwendige Bit- Auflösung im Teiler. Da XHAT die größere der beiden Zahlen ist und nicht negativ ist, wird sie einfach nach links verschoben, bis MSB nicht mehr Null ist, d. h. es findet eine einfache Maßstabsveränderung statt. COUNT wird dann um den gleichen Betrag verschoben. Zweck der Schaltelemente 344, 346 und 348 ist es, die Möglichkeit von null bis drei Verschiebungen zu schaffen. Die Fünf-Bit-Ausgangssignale der ROMs 346 und 348 werden durch einen Zwischenspeicher 350 auf ein Teiler-ROM 352 gegeben, welches das maßstabsveränderte COUNT durch das maßstabsveränderte XHAT dividiert und das Ergebnis in einen Zwischenspeicher 354 eingibt, der das gewünschte Signal R ERR abgibt, welches in die Interpolationseinrichtung gemäß Fig. 10 gegeben wird.
Zum Ableiten des Signals THETOK?, welches anzeigt ob sich ein Anzeigepunkt winkelmäßig innerhalb des Schnittes befindet, wird das das Vorzeichen von COUNT darstellende Bit durch einen Inverter 349 und den Zwischenspeicher 350 zu einem UND-Glied 356 geführt. Wenn COUNT positiv ist, befindet sich dieses Bit auf einem hohen Pegel und zeigt an, daß der Anzeigepunkt sich nicht außerhalb der äußeren Linie ( R₂) befindet. Ist COUNT jedoch negativ, ist das Eingangssignal für 356 auf einen niedrigen Pegel, wodurch THETOK? wegfällt.
Ein Komparator 358 ist so geschaltet, daß er COUNT und XHAT empfängt und ein Ausgangssignal mit hohem Pegel abgibt, wenn COUNT kleiner als XHAT ist, was anzeigt, daß sich der Anzeigepunkt nicht innerhalb der inneren Linie des Schnittes befindet, und ein Bit mit niedrigem Pegel abgibt, wenn COUNT größer als XHAT ist, was anzeigt, daß sich der Anzeigepunkt innerhalb der inneren Linie befindet. Dieses Bit am Ausgang des Komparators 358 geht durch den Zwischenspeicher 350 und wird einem anderen Eingang des UND-Gliedes 356 zugeführt. Dessen Ausgangssignal gelangt durch den Zwischenspeicher 354, wodurch das Signal THETOK? erzeugt wird, welches, wie zuvor bemerkt wurde, durch die Verzögerungsschaltungen 304 zu einem anderen Eingang des NAND- Gliedes 306 geht, als dem, dem ROK? zugeführt wird.
Auslesen der Linienspeicher
Wie zuvor bemerkt wurde, wird gemäß dem vorliegenden Ausführungsbeispiel der Erfindung der endgültige interpolierte Datenwert für jeden Anzeigepunkt dadurch abgeleitet, daß zwei Paare von Abtastwerten interpoliert werden, die den Unter-Schnitt definieren, in dem der Punkt liegt. Wie in Fig. 9 dargestellt ist, werden die Werte von DP₅ und DP₆ aus den Abtastwerten S₂, S₃, S 2′ und S 3′ abgeleitet, die einen Unter-Schnitt definieren, jedoch wird der endgültige Datenwert für DP₇ aus den Abtastwerten S₁, S₂, S 1′ und S 2′ abgeleitet, die den vorhergehenden Unter-Schnitt definieren. Da sich DP₈ im selben Unter-Schnitt wie DP₅ und DP₆ befindet, wird sein endgültiger Datenwert aus den gleichen Datenabtastwerten wie letztere abgeleitet, nämlich S₂, S₃, S 2′ und S 3′. Daher müssen die Einrichtungen zum Lesen der Abtastwerte aus den Linienspeichern 180, 182 und 184 (Fig. 6), die längs jeder Radiuslinie eines Schnittes ausgewählten Abtastwerte festhalten, vorschieben und verzögern können.
Die Auswahl von zweien der Linienspeicher 180, 182 und 184, aus denen die Abtastwerte auszulesen sind, wird dadurch bestimmt, welche beiden der Signale M 1, M 2 und M 3 sich auf einem niedrigen Pegel befinden. Gemäß Fig. 6 werden die Signale M 1, M 2 bzw. M 3 den Ausgangsfreigabe-Anschlüssen der Linienspeicher 180, 182 und 184 zugeführt. Wenn sich M 1 auf einem hohen Pegel befindet, wird der Linienspeicher 180 für den Empfang von Daten freigegeben, während sein Ausgangskanal gesperrt ist, so daß keine Daten aus ihm ausgelesen werden können. M 2 und M 3 sind dann auf einem niedrigen Pegel und verhindern, daß die Linienspeicher 182 und 184 Daten empfangen können. Jedoch öffnen M 2 und M 3 den Ausgangskanal der Linienspeicher 182 bzw. 184, so daß Daten aus ihnen an Adressen ausgelesen werden können, die durch die Zähler 198 und 200 vorgegeben werden.
Es ist erkennbar, daß sich die äußere Radiuslinie an der linken Seite in der linken Hälfte eines Sektors und an der rechten Seite in der rechten Hälfte des Sektors befindet. Im vorliegenden speziellen Ausführungsbeispiel der Erfindung bezieht sich das Signal COUNT immer auf die äußere Linie, so daß die Abtastwerte von der äußeren Linie von denen der inneren Linie getrennt werden müssen. Diese Funktion wird durch die Multiplexer 360 und 362 durchgeführt. Verschiedene Eingänge jedes Multiplexers sind mit den jeweiligen I/O-Kanälen der Linienspeicher 180, 182 bzw. 184 verbunden und werden wie unten beschrieben so gesteuert, daß der Multiplexer 360 Abtastwerte von der äußeren Radiuslinie auf eine Sammelleitung OL gibt und der Multiplexer 362 Abtastwerte von der inneren Radiuslinie auf eine Sammelleitung IL gibt.
Die Steuerung für den Multiplexer 360 besteht aus einem Inverter 363, der zwischen einer Quelle für das Signal M 2 und einem Eingang eines UND-Gliedes 366 geschaltet ist, einem Inverter 368, der zwischen den Ausgang eines Exklusiv-ODER-Gliedes 370 und den anderen Eingang des UND-Gliedes 366 geschaltet ist, wobei den Eingängen des Exklusiv-ODER-Gliedes 370 die Signale SIGN und M 1 zugeführt werden. Das Ausgangssignal des Exklusiv-ODER-Gliedes 370 wird außerdem einem Eingang eines UND-Gliedes 372 zugeführt, dessen anderem Eingang das Signal M 3 über einen Inverter 374 zugeführt wird. Das Ausgangssignal des UND-Gliedes 366 wird dem Eingang LSB, Auswahl A des Multiplexers 360 zugeführt, und das Ausgangssignal des UND-Gliedes 373 wird dem Eingang MSB, Auswahl B des Multiplexers 360 zugeführt. Mit diesen Verbindungen werden die äußeren Linien wie in der Tabelle gemäß Fig. 6A dargestellt ausgewählt und der Sammelleitung OL für die äußere Linie zugeführt.
Die Steuerung für den Multiplexer 362 besteht aus einem Inverter 376, der zwischen eine Quelle für das Signal M 3 und einem Eingang eines UND-Gliedes 378 geschaltet ist, einem Inverter 380, der zwischen eine Quelle für M 2 und einen Eingang eines UND-Gliedes 382 geschaltet ist, sowie einem Exklusiv-ODER-Glied 383, dessen einer Eingang mit einer Quelle für SIGN, dessen anderer Eingang mit einer Quelle für M 1 und dessen Ausgang mit einem Eingang eines UND-Gliedes 382 und außerdem über einen Inverter 384 mit einem Eingang des UND-Gliedes 378 verbunden ist. Der Ausgang des UND- Gliedes 378 ist mit dem Eingang MSB Auswahl B des Multiplexers 382 verbunden, und der Ausgang des UND-Gliedes 382 ist mit dem Eingang LSB, Auswahl A des Multiplexers 362 verbunden. Mit diesen Verbindungen wird die innere Linie wie in Fig. 6B dargestellt ausgewählt und der Sammelleitung IL für die innere Linie zugeführt.
Wie aus Fig. 10 ersichtlich ist, ist die Ausgangsleitung OL vom Multiplexer 360 mit dem Eingang eines Schieberegisters 386 verbunden, und die Ausgangsleitung IL vom Multiplexer 362 ist mit einem Schieberegister 388 verbunden. Die Ausgänge Q A und Q B des Schieberegisters 386 liefern aufeinanderfolgende Datenpunkte auf der äußeren Linie an eine noch zu beschreibende Einrichtung zum Ableiten eines ersten interpolierten Datenzwischenwertes, und die Ausgänge Q A und Q B des Schieberegisters 388 liefern aufeinanderfolgende Datenpunkte auf der inneren Linie an eine noch zu beschreibende Einrichtung zum Ableiten eines zweiten interpolierten Datenzwischenwertes.
Auswahl von Abtastwerten aus den Linienspeichern
Die vom Radiuszähler 294 in Fig. 8 gelieferten Signale INCR und DECR werden dazu benutzt, das Paar von Zählern 196, 198 und 200 (Fig. 6), die mit den Linienspeichern verbunden sind, zu veranlassen, daß sie vorrücken, an einem Punkt stehenbleiben oder zurücklaufen. Es sei daran erinnert, daß INCR auf einem hohen Pegel ist, wenn der Radius eines Anzeigepunktes größer als der eines Abtastwertes wird, wie bei einem Schritt von DP₇ nach DP₈ (Fig. 9), und daß DECR einen hohen Pegel annimmt, wenn der Radius eines Anzeigepunktes kleiner als der eines Abtastwertes wird wie bei dem Schritt von DP₆ nach DP₇. Wenn der ganzzahlige Anteil des Radius unverändert bleibt, wie bei einem Schritt von DP₅ nach DP₆, bleiben sowohl INCR als auch DECR auf einem niedrigen Pegel, so daß sich die Zählerstände nicht verändern. Wie noch beschrieben wird, können sich die Zähler nicht verändern, bis in noch zu beschreibender Weise ein Signal SHIFT gegeben wird. SHIFT wird auf jeden hohen Pegel von INCR und DECR hin gegeben.
Beim Beginn einer Linie liegt eine besondere Situation vor, da, wie aus Fig. 3 ersichtlich ist, INCR und DECR auf einem niedrigen Pegel sind, bis ein Anzeigepunkt einen Radius hat, der größer als der der Abtastwerte S₁₁ und S 11′ ist. Daher können weder INCR noch DECR das zur Änderung der Zählerstände der den beiden gerade gelesenen Speichern gemäß Fig. 6 zugeordneten Zähler benötigte Signal SHIFT bewirken. Unter diesen Umständen werden die Zähler wie folgt gesteuert.
Beim Beginn jeder Linie von vom Abtaster 134 empfangenen Daten wird am Ausgang des Zwischenspeichers 172 (Fig. 5) ein Signal STRTL erzeugt und dazu benutzt, die Abtastung von Anzeigepunkten zu initiieren, wie in Verbindung mit Fig. 7 erläutert wurde. Das Signal STRTL wird auch dem Setzeingang des Zwischenspeichers 248 und einem zweistufigen Schieberegister 392 zugeführt. Das Schieberegister 392 wird durch NENBL freigegeben, so daß es zwei aufeinanderfolgende Impulse STRT 1 und STRT 2 mit hohem Pegel an verschiedene Eingänge eines ODER-Gliedes 396 abgibt. Im wesentlichen wird STRTL im Schieberegister 392 verzögert, wodurch zwei verzögerte Versionen von STRTL für die Eingabe in das ODER-Glied 396 erzeugt werden. Das Ausgangssignal des ODER-Gliedes 396 wird einem Eingang eines UND-Gliedes 398 zugeführt, dessen anderem Eingang ENABLE zugeführt wird, so daß bei Koinzidenz dieser beiden Signale das UND-Glied 398 ein Signal mit hohem Pegel, nämlich SHIFT ausgibt, so daß die Zähler zählen können.
Wenn genügend Zeit für den Aufbau der Signale RERR und R ERR für die beiden ersten Abtastwerte jeder Linie eines Schnittes verstrichen ist, die gleichzeitig mit STRT 1 und STRT 2 auftreten, wobei der erste Abtastwert jeder Linie beim Ursprung liegt, wird ein Signal STRTI (Interpolationsbeginn) vom Zustandsadressen-Decoder 246 (Fig. 7) auf den Rückstelleingang des Zwischenspeichers 248 gegeben. Der Zwischenspeicher 248 war durch STRTL gesetzt worden, und STRTI löscht ihn. Das Zeitintervall zwischen STRTL und STRTI ist durch WAIT bezeichnet. Wenn STRTI auftritt, gibt der Zwischenspeicher 248 einen Zwischenspeicher 399 frei, dem die Signale INCR und DECR vom Radiuszähler 294 (Fig. 8) zugeführt werden. Nachdem INCR und DECR durch den Zwischenspeicher 399 gegangen sind, werden sie MINCR bzw. MDECR und werden verschiedenen Eingängen des ODER- Gliedes 396 zugeführt und erzeugen, wenn sie sich auf einem hohen Pegel befinden, am Ausgang des UND-Gliedes 398 ein Signal SHIFT. Zusätzlich wird das Signal MDECR einem Inverter 395 zugeführt, der ein Signal NMDECR erzeugt.
Steuerung der Zähler mit SHIFT
Damit die Zähler 196, 198 und 200 zählen können, müssen ihre Eingänge ENT und ENP sich auf einem niedrigen Pegel befinden. Es sei angenommen, daß Abtastwerte in den Linienspeicher 180 eingelesen werden, so daß M 1 und M 2 und M 3 beide einen niedrigen Pegel haben. Bei der Erläuterung der Schreibfunktion war bemerkt worden, daß bei einem hohen Signal M 1 bewirkt wird, daß der ENP-Eingang des Zählers 196 für den Linienspeicher 180 für die gesamte Linie sich auf einem niedrigen Pegel befindet, so daß dessen Zählung jedesmal vorgerückt wurde, wenn das Signal ADDEN auftrat, welches den Eingängen ENT zugeführt wird. Für die Zähler 198 und 200 sind NM 2 und NM 3 während einer ganzen Linie auf einem hohen Pegel und da sie über Inverter 197 und 199 den entsprechenden ENT-Eingängen zugeführt werden, werden während der Linie diese Eingänge auf einen niedrigen Pegel gehalten.
Signale M 2 + SHIFT und M 3 + SHIFT werden über Inverter 400 bzw. 402 den ENP-Eingängen der Zähler 198 bzw. 200 zugeführt. M 2 und M 3 sind für die gesamte Linie auf einem niedrigen Pegel, so daß die ENP-Eingänge nicht auf einen niedrigen Pegel gehen können. Somit kann nur SHIFT bewirken, daß die Zähler 198 und 200 zählen. Die Signale M 1 + SHIFT, M 2 + SHIFT und M 3 + SHIFT werden abgeleitet durch Zuführung von M 1, M 2 und M 3 zu Eingängen von ODER-Gliedern 408, 410 und 412, deren jeweils anderen Eingängen SHIFT zugeführt wird.
Wenn ein Linienspeicher 180, 182 oder 184 gelesen wird und die entsprechenden Zähler 196, 198 bzw. 200 auf das Signal SHIFT hin wie beschrieben zählen, zählen die Zähler nach oben, wenn sich die Signale UND₁, UND₂ und UND₃ auf einem hohen Pegel befinden, und zählen nach unten, wenn sich UND₁, UND₂ und UND₃ auf einem niedrigen Pegel befinden. Es sei wie bei der Betrachtung der Schreibfunktion angenommen, daß die Abtastwerte gerade in den Linienspeicher 180 eingeschrieben werden, so daß M 1 auf einem hohen und M 2 und M 3 auf einem niedrigen Pegel sind. Es sei ferner angenommen, daß sich NMDECR auf einem hohen Pegel befindet. Unter diesen Bedingungen befindet sich das Ausgangssignal UND₁ des ODER-Gliedes 202 (Fig. 5) auf einem hohen Pegel, mit dem Ergebnis, daß der Zähler 196 für den Linienspeicher, in den eingeschrieben wird, wie gewünscht nach oben zählt. Das Ausgangssignal UND₂ des ODER-Gliedes 204 und das Ausgangssignal UND₃ des ODER-Gliedes 206 befinden sich auch auf einem hohen Pegel, so daß die Zähler 198 und 200 auf Aufwärtszählung gesetzt werden, wenn aber NMDECR auf einem niedrigen Pegel ist, werden sie auf Abwärtszählung gesetzt.
Da die Zähler 198 und 200 aufwärts und abwärts zählen, werden die Abtastwerte an den entsprechenden Adressen der Linienspeicher 182 und 184 in den Q A-Abschnitt der Schieberegister 386 und 388 (Fig. 10) eingegeben. Das Signal SHIFT steuert außerdem die Schieberegister 386 und 388 über die folgende Logikschaltung in Fig. 10. SHIFT wird dem einen Eingang eines UND-Gliedes 409 und einem Eingang eines UND-Gliedes 411 zugeführt, während MDECR dem anderen Eingang des UND-Gliedes 409 und über einen Inverter 413 dem anderen Eingang des UND-Gliedes 411 zugeführt wird. Der Ausgang des UND- Gliedes 409 ist mit den Linksverschiebungs-Eingängen der Schieberegister 386 und 388 verbunden, während der Ausgang des UND-Gliedes 411 mit ihren Rechtsverschiebungs-Eingängen verbunden ist. Wenn das Signal SHIFT auf einen hohen Pegel geht und sich MDECR auf einem niedrigen Pegel befindet, bewirkt das UND-Glied 411, daß die Register die in ihnen enthaltenen Abtastwerte nach rechts verschieben und an den Eingängen neue Abtastwerte empfangen. Gehen aber SHIFT und MDECR beide auf einen hohen Pegel, bewirkt das UND-Glied 409, daß die Abtastwerte in den Registern 386 und 388 nach links verschoben werden, d. h. daß Q A durch Q B, Q B durch Q C usw. ersetzt werden. Die Schieberegister 386 und 388 sind acht Worte lang und haben die Fähigkeit zur zusätzlichen Aufnahme von sechs Abtastwerten bei gleichzeitig verbleibenden zwei Worten in den Registern. SHIFT wird zweimal beim Start jeder Linie gesetzt, entsprechend der Wirkung von STRT 1 und STRT 2, die am Eingang des ODER-Gliedes 396 (Fig. 5) anstehen. Dadurch werden die ersten beiden Datenpunkte S₁₀ und S₁₁ aus Fig. 3 für die Linie R O und S 10′ und S 11′ für die Linie R I in die Q B- und Q A-Abschnitte ihrer entsprechenden Schieberegister 386 und 388 eingegeben. Die Interpolation kann nun vonstatten gehen, jedoch tritt keine weitere Änderung in den vier Abtastwerten auf, bis die Anzeigepunkt-Abtastsignale YINC/, XDIR einen Schritt zu einem Anzeigepunkt bewirken, der einen größeren Radius hat als der des Anzeigepunktes S₁₁, S 11′, bei welchem Punkt das Signal INCR auf einen hohen Pegel geht, wodurch bewirkt wird, daß SHIFT auf einem hohen Pegel geht und die Zähler 198 und 200 fortschaltet sowie die Schieberegister nach rechts bewegt, so daß Abtastwerte S₁₁ und S₁₂ den Ausgängen Q B und Q A des Schieberegisters 386 und Abtastwerte S 11′ und S 12′ den Ausgängen Q B und Q A des Schieberegisters 388 zugeführt werden.
Es sei nun angenommen, daß das Anzeigepunkt-Abtastsignal einen Schritt zu einem Anzeigepunkt bewirkt, dessen Radius kleiner als der von S₁₁ und S 11′, d. h. einen Schritt zurück über die jeweilige innere radiale Grenze. Das Signal DECR als auch das Signal MDECR sind nun auf einem hohen Pegel und, wenn man sich erinnert, daß sich M ₂ und M 3 auf einem niedrigen Pegel befinden, ist ersichtlich, daß sich die Signale UND₂ und UND₃ auf einem niedrigen Pegel befinden, so daß die Zähler 198 und 200 auf Abwärtszählung gesetzt werden. Das Signal SHIFT bewirkt, daß die Zähler nach unten zählen und bewirkt in Kombination mit MDECR, daß die Schieberegister 386 und 388 eine Linksverschiebung vornehmen, wodurch die Anzeigepunkte S₁₀, S₁₁ und S 10′, S 11′ zurück auf die Plätze Q B bzw. Q A der Register 386 bzw. 388 gesetzt werden. Sollte der Schritt zum nächsten Anzeigepunkt eine dritte Kreuzung der Bogenlinie bewirken, auf welcher sich S₁₁ und S 11′ befinden, verursachen die von den Registern verlorenen Abtastwerte S₁₂ und S 12′ kein Problem, da die nächsten Punkte von den Linienspeichern 182 und 184 die Abtastwerte S₁₂ und S 12′ sind, da die Leseadresse durch SHIFT wie zuvor beschrieben gesteuert wird.
Interpolation
Es sei nun auf Fig. 10 Bezug genommen. Die Abtastwerte an den Ausgängen Q A und Q B des Schieberegisters 386 werden Multiplizier- ROMs 414 bzw. 416 zugeführt, und die Abtastwerte an den Ausgängen Q A und Q B des Schieberegisters 388 werden Multiplizier-ROMs 418 bzw. 420 zugeführt. Das Signal RERR, das die radiale Position des Anzeigepunktes darstellt, wird nach Zwischenspeicherung in 415 allen vier ROMs zugeführt. Die Datenabtastwerte sind durch Fünf- Bit-Zahlen dargestellt, wie es auch beim Signal RERR der Fall ist, welches selbstverständlich ein Bruch ist. Die ROMs sind für die passende Multiplikation von RERR · Q A-Wert in 416 und 420 und von (1-RERR) · Q B-Wert in 414 und 418 programmiert. Das Ausgangssignal des ROM 414 wird durch einen Zwischenspeicher 414′ auf einen Eingang eines Addierers 422 gegeben, und das Ausgangssignal des ROM 416 wird durch einen Zwischenspeicher 416′ auf den anderen Eingang des Addierers 422 gegeben, so daß dessen Ausgangssignal der erste interpolierte Datenzwischenwert ist. In ähnlicher Weise werden die Ausgangssignale der ROMs 418 und 420 durch Zwischenspeicher 418′ bzw. 420′ den Eingängen eines Addierers 424 zugeführt, so daß dessen Ausgangssignal der zweite interpolierte Datenzwischenwert ist.
Der erste und der zweite interpolierte Datenzwischenwert I₁ und I₂ werden über Zwischenspeicher 422′ und 424′ den Eingängen von Multiplizier-ROMs 426 bzw. 428 zugeführt. Das Signal R ERR vom Ausgang des Zwischenspeichers 354 in Fig. 8 wird den Multiplizier- ROMs 426 und 428 nach Durchgang durch Zwischenspeicher 430, 432 und 434 zugeführt, so daß an den Ausgängen der ROMs 426 und 428 die entsprechenden Beiträge des ersten und des zweiten interpolierten Datenzwischenwertes zum endgültigen Datenwert erzeugt werden. Das ROM 426 führt die Multiplikation von 1-R ERR mit dem Ausgangssignal des Zwischenspeichers 422′ durch, und das ROM 428 führt die Multiplikation von R ERR mit dem Ausgangssignal des Zwischenspeichers 424′ durch. Zwischenspeicher 426′ und 428′ sind zwischen die Ausgänge der ROMs 426 bzw. 428 und verschiedene Eingänge eines Addierers 436 geschaltet, so daß an dessen Ausgang der endgültige interpolierte Datenwert erzeugt wird. Nach Durchgang durch Zwischenspeicher 438 und 440 und einen Puffer 441 wird der endgültige interpolierte Datenwert den x- und y-Adressen im Anzeigespeicher DM′ zugeführt, welche von den x- und y-Sektoradressenzählern 249 und 252 (Fig. 7) festgelegt wurden, vorausgesetzt, daß der Anzeigepunkt sich winkelmäßig und radial innerhalb des Schnittes befindet, eine Tatsache, die durch NVALD am Ausgang des UND-Gliedes 306 (Fig. 8) mit einem hohen Pegel angezeigt wird. Der Speicher DM′ wird durch eine Lesesteuerung 442 in jeder gewünschten Weise abgetastet, und die Signale werden einer Anzeige 444 zugeführt, so daß ein Abbild erzeugt wird, das frei von Moir´- Mustern und anderen Störsignalen ist, die in Bildern anderer Abbildungssysteme vorhanden sind.
Zusammenfassung der Betriebsweise
Die folgende Tabelle zeigt die Werte des Radius, COUNT und XHAT sowie die Zustände der Anzeigepunkt-Abtaststeuersignale XDIR und YINC/, und INCR, DECR, XUP/DN, XCNT und YCNT für die Anzeigepunkte DP₅ bis DP₁₄ (Fig. 9), wobei DP₅ der Anfangszeitpunkt ist mit den Anfangswerten für Radius, COUNT und XHAT von R i, Ci und XH i. Gewöhnlich ist der Anfangsanzeigepunkt beim Ursprung des Sektors, bei welchem alle diese Werte Null sind, jedoch könnte die rekursive Addition auch bei jedem anderen Anzeigepunkt beginnen, für den die Werte entsprechend bekannt sind. Wie zuvor festgestellt wurde, bezeichnet XDIR = 1 einen Schritt weg von der Mitte des Sektors, YINC/ = 0 einen Schritt längs der x-Achse und YINC/ = 1 einen Schritt längs der y-Achse vom Ursprung weg. INCR und DECR können beide 0 sein, wenn Schritte von einem Anzeigepunkt zu einem anderen nicht die radiale Grenze eines Unter-Schnittes kreuzen. Ist eines dieser Signale 1, kreuzt der Schritt eine solche Grenze. Werte von 1 für XCNT und YCNT bezeichnen einen Schritt längs der entsprechenden Achse.
Als weitere Hilfe zum Verständnis der Betriebsweise des bevorzugten Ausführungsbeispiels gemäß Fig. 5, 6, 7, 8 und 10 dienen Fig. 11 und 12, die die Zeitfolge der verschiedenen benutzten Signale zeigen. Die Punkte in der Schaltung, an denen diese Signale auftreten, sind durch entsprechende Buchstaben in einem Kreis bezeichnet.
Alternative Ausführungsformen und Betriebsweisen
Zur Erhöhung der Auflösung eines Teils des Abbildes, z. B. in der Mitte, können die Radiuslinien des Abtasters in diesem Bereich enger zusammenliegend gemacht werden. Das Abtast-Wandlersystem gemäß der Erfindung könnte sich einem solchen Format anpassen, indem die Einsen und Nullen im Speicher der Zustandsmaschine gemäß Fig. 7 geändert würden, so daß Abtaststeuersignale zur Auswahl passender Anzeigepunkte vorgesehen würden, sowie durch Änderung der gespeicherten Werte der verschiedenen trigonometrischen Funktionen.
Zum gegenwärtigen Zeitpunkt ist die Abtastgeschwindigkeit von A/D- Wandlern so, daß es wünschenswert ist, längs der radialen Richtung zu interpolieren, jedoch ist der Fortschritt in der Halbleitertechnik derart, daß wesentlich höhere Abtastgeschwindigkeiten erwartet werden können, so daß eine solche Interpolation nicht benötigt wird. In einem solchen Falle wäre es immer noch notwendig, INCR und DECR zu bestimmen, so daß richtige Abtastwerte, je einer von jeder Radiuslinie, ausgewählt werden können. Auch wäre es weiterhin erforderlich, die winkelmäßige Interpolation durchzuführen. Das beschriebene System würde in dieser Weise arbeiten, wenn das Signal RERR auf Null gesetzt würde.
Fig. 13 zeigt eine Abwandlung des Systems, bei welchem die ROMs 414, 416 aus Fig. 10 durch ein ROM 446, die ROMs 418 und 420 durch ein ROM 448 und die ROMs 426 und 428 durch ein ROM 450 ersetzt sind. Im Interesse der Klarheit wurden die Zwischenspeicher weggelassen. Die ROMs 446, 448 und 450 sind identisch. Jedes enthält ein anderes gespeichertes Ausgangssignal für alle Kombinationen des Fehlersignals, sei es RERR oder R ERR, sowie die möglichen Werte der Abtastwerte. Wie dargestellt, wird das Signal RERR den ROMs 446 und 448 zugeführt, und das Signal R ERR wird dem ROM 450 zugeführt, so daß die ersten interpolierten Datenzwischenwerte I₁ und I₂ an der radialen Position jedes Anzeigepunktes abgeleitet werden und der endgültige interpolierte Datenwert FDP bei der Winkelposition des Anzeigepunktes abgeleitet wird. In diesem Falle wären die Abtastwerte S₁ und S₂ diejenigen längs einer Radiuslinie eines Schnittes, und die Abtastwerte S₃ und S₄ lägen längs der anderen Radiuslinie. Wie zuvor jedoch beschrieben wurde, könnte das Signal R ERR den ROMs 446 und 448 und das Signal RERR dem ROM 450 zugeführt werden, so daß der erste und der zweite interpolierte Datenzwischenwert I₁′ und I₂′ sich an der Winkelposition des Anzeigepunktes befinden. In diesem Falle befinden sich S₁ und S₂ längs eines Bogens, und S₃ und S₄ längs eines anderen Bogens.
Fig. 14 zeigt ein einzelnes Halbleiterelement 452, das intern alle Funktionen der drei Elemente 446, 448 und 450 in Fig. 13 ausführt.
Fig. 15 zeigt eine Ausführungsform der Erfindung, bei der die Signale RERR und R ERR nicht aktiv abgeleitet werden, wenn die Anzeigepunkte eines Schnittes abgetastet werden. Vielmehr wurden die Werte von RERR und R ERR für jeden Anzeigepunkt vorher ermittelt und sind in einem ROM 454 gespeichert. Die Anzeigepunkt-Abtaststeuersignale XDIR und YINC/ werden von einer Einrichtung 456 geliefert und die x-, y-Adresse jedes Anzeigepunktes wird durch Zähler 458 und 460 in der oben erklärten Weise bestimmt. Das Signal STRTL wird dem ROM 454 zugeführt, und zur Verringerung der Anzahl der benötigten Anschlüsse kann das die erste Linie eines Sektors darstellende Wort von einer Einrichtung 462 zur Erzeugung eines Signals bei Beginn jeder Sektorabtastung benutzt werden, so daß sich eine Synchronisation erzielen läßt. Aus der x-, y- Adresse eines Anzeigepunktes wählt das ROM 454 die passenden gespeicherten Werte von INCR und DECR, die benutzt werden, wie es in der Beschreibung der Fig. 5, 6, 8 und 10 erläutert wurde, um die richtigen Abtastwerte S₁, S₂, S₃ und S₄ von den Linienspeichern auszuwählen. Im ROM 454 sind die endgültigen Datenwerte für alle möglichen Kombinationen von RERR, R ERR für jeden Anzeigepunkt und DATA gespeichert. Der geeignete endgültige Datenwert wird für jeden Punkt aus den digitalen Werten von RERR, R ERR und DATA ausgewählt. Das ROM 454 ist somit eine Einrichtung, die auf den Abtastwert und die Anzeigepunkt-Abtaststeuersignale hin den endgültigen interpolierten Datenwert für jeden Anzeigepunkt bestimmt.
Das erfindungsgemäße Abtast-Wandlersystem eignet sich zur Vergrößerung eines ausgewählten Teils des Abbildes, welches zwischen zwei beliebigen Radiuslinien und innerhalb eines gegebenen Radiusbereichs liegt. Wie in einer Zusatzanmeldung beschrieben wird, läßt sich dies dadurch erreichen, daß Einrichtungen vorgesehen sind, die eine Anzeigemarke zur Identifizierung der Radiuslinien und des Radiusbereichs enthalten, eine Einrichtung vorgesehen ist zum Dividieren von RERR für jeden Anzeigepunkt im kleineren Teil des Abbildes durch einen Vergrößerungsfaktor m, sowie eine Einrichtung vorgesehen ist zum Multiplizieren von XHAT und COUNT für jeden Anzeigepunkt in dem kleineren Bereich mit m. Es wäre auch möglich, den kleineren Teil des Abbildes schneller abzutasten, um dort klarere Bilder von schnell bewegten Objekten zu erhalten.
Statt eine einzelne radiale Position zu benutzen, könnte man auch in folgender Weise zwei radiale Positionen berechnen. Für jede Linie innerhalb des Sektors würden dann zwei mit Δ R₂ und Δ R₁ bezeichnete Konstanten ausgewählt. Δ R₂ würde einem ersten Akkumulator und Δ R₁ würde einem zweiten Akkumulator zugeführt. Diese beiden Akkumulatoren würden immer dann aktualisiert, wenn vom Anzeigepunkt-Abtastsignal eine Bewegung in y-Richtung angezeigt würde. Der erste Akkumulator würde R₂ bei der Berechnung des Radius benutzen, der dem Abstand vom Sektorscheitel längs der äußeren Linie zum Schnittpunkt der Zeile entspricht, wo sich der laufende Anzeigepunkt DP befindet. Der zweite Akkumulator würde R₁ bei der Berechnung des Radius benutzen, der dem Abstand vom Sektorscheitel längs der inneren Linie zum Schnittpunkt derselben Zeile entspricht, wie oben beschrieben wurde. Jeder Radiuszähler würde seine eigenen Signale INCR und DECR für die geeignete Bewegung der beiden Schieberegister erzeugen, so daß die an den Ausgängen Q A und Q B jedes Schieberegisters anstehenden Daten ihre entsprechende Radiusberechnung begrenzen würden. Die beiden Radiusberechnungen würden wiederum zwei RERR- Signale erzeugen, die man für die äußere Linie mit RERR′′ o und für die innere Linie RERR′′ i nennen können. Diese Signale würden zur Interpolation der an jedem Schieberegister anstehenden Daten benutzt. Das Endergebnis des oben genannten Vorgehens wären zwei interpolierte Datenzwischenwerte, die jeweils durch zwei Abtastwerte begrenzt wären, die nicht notwendigerweise die gleiche radiale Versetzung vom Scheitelpunkt haben. Die interpolierten Datenzwischenwerte würden am Schnittpunkt der laufenden Zeile der Ausgangsanzeige und der beiden Abtastlinien liegen, die gerade aus den Linienspeichern ausgelesen werden.
Diese beiden Datenzwischenwerte werden dann in einer Weise benutzt, die analog der vorbeschriebenen Methode zur Korrektur von R ERR ist, wobei hauptsächlich die Signale COUNT und XHAT benutzt werden. Das Endergebnis ist dann ein endgültiger Datenwert, der abgeleitet wird unter Benutzung von COUNT und XHAT zur Interpolation der interpolierten Datenzwischenwerte beim Schnittpunkt der laufenden Zeile von Anzeigepunkten mit den Radiuslinien eines Schnittes.
Wie in einer Zusatzanmeldung beschrieben werden wird, kann die Erweiterung eines ausgewählten Bereichs durch Multiplikation von R ERR für jeden Anzeigepunkt in diesem Bereich mit einem Vergrößerungsfaktor m, sowie durch Division von RERR durch m bewirkt werden.
Statt die innerhalb eines Paars von Radiuslinien enthaltenen Anzeigepunkte abzutasten, wäre es möglich, Anzeigepunkte in jeder gewünschten Folge durch ihre x- und y-Adressen zu identifizieren und diese Adressen einem ROM zuzuführen, welches programmiert ist mit R ERR, RERR, L # und der Nummer der Abtastdaten. Die L # und die Abtastdatennummer werden einem ROM zugeführt, in welchem die Abtastdaten gespeichert sind, so daß die richtigen vier Abtastdatenwerte für die Interpolation erhalten werden. Diese und die Werte von R ERR und RERR werden einem Interpolations-ROM zugeführt, in welches die endgültigen interpolierten Datenwerte für jede Kombination der vier Abtastdatenwerte und jede Kombination von R ERR und RERR einprogrammiert sind. Dabei ist zu bemerken, daß die interpolierten Datenzwischenwerte niemals erscheinen, obwohl sie beim Programmieren des Interpolations-ROM benutzt werden.
Eine andere Möglichkeit für den Einsatz von ROMs besteht darin, die x- und y-Adressen jedes Anzeigepunktes einem ROM zuzuführen, in welchem R ERR, RERR, INCR und DECR gespeichert sind. Die Abtastdatenwerte werden in einem dreizeiligen Pufferspeicher gespeichert, wie beschrieben wurde, und INCR und DECR werden dem Pufferspeicher durch einen Auf/Ab-Zähler zugeführt, so daß eine richtige Folge von Abtastdatenwerten für jede Radiuslinie einem anderen Schieberegister zugeführt wird. INCR und DECR werden dann zur Betätigung des Schieberegisters wie beschrieben benutzt, so daß die richtigen vier Abtastdatenwerte dem Interpolations-ROM zugeführt werden. R ERR und RERR werden auch dem Interpolations- ROM zugeführt, welches so programmiert ist, daß alle möglichen Kombinationen der vier Abtastdatenwerte und R ERR und RERR erzielt werden können.
In allen soweit beschriebenen Ausführungsformen der Erfindung werden die Signale, die die Abtastfolge der Anzeigepunkte steuern, zuerst abgeleitet und die entsprechenden Datenabtastwerte, aus denen die endgültigen interpolierten Datenwerte für die Anzeigepunkte abzuleiten sind, werden auf die Abtastsignale hin abgeleitet. Es ist für den Fachmann aber leicht einsehbar, daß die Abtastdatenwerte auch zuerst ausgewählt werden könnten, während die Anzeigepunkte, für die die endgültigen interpolierten Datenwerte abzuleiten sind, auf die Abtastdatenwerte hin ausgewählt werden könnten. Es ist nur erforderlich, daß die Abtastdaten und die Anzeigepunkte eine derartige Beziehung zueinander haben, daß die beim Ableiten der endgültigen interpolierten Datenwerte für einen Anzeigepunkt benutzten Abtastwerte einen Bereich definieren, der den Anzeigepunkt enthält.

Claims (6)

1. Schaltungsanordnung zum Erzeugen eines Signals, das die Position eines ausgewählten Bildpunktes, der zu einem Feld von in orthogonalen Zeilen und Spalten eines kartesischen Koordinatensystems angeordneten Bildpunkten gehört, in welchem Feld die Spalten den Abstand K x und die Zeilen den Abstand K y voneinander haben, in bezug auf Datenpunkte angibt, die den Schnittpunkten zwischen den Radialstrahlen und den Kreisbogen eines Polarkoordinatensystems zugeordnet sind, dessen Ursprung sich an einer vorgegebenen Stelle in bezug auf die Zeilen und Spalten befindet und dessen Kreisbogen voneinander den radialen Abstand S haben, dadurch gekennzeichnet, daß die Schaltungsanordnung (24) eine Einrichtung (DPSG) aufweist, die Abtastsignale erzeugt, welche die Bildpunkte identifizieren, die sich auf einem vorgegebenen Weg befinden, der von einem vorgegebenen Bildpunkt, dessen Position bekannt ist, zu dem ausgewählten Bildpunkt führt, und eine weitere Einrichtung (58, 60) zur Erzeugung eines die Position des ausgewählten Bildpunktes angebenden Summensignales, die in Abhängigkeit von den Abtastsignalen für jeden Schritt auf dem vorgegebenen Weg zu einem Signal, das die bekannte Position des vorgegebenen Bildpunktes angibt, Signal einen Wert addiert, der für die Länge und Richtung des Schrittes in bezug auf einen dem ausgewählten Bildpunkt benachbarten Radialstrahl des Polarkoordinatensystems charakteristisch ist.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zum Erzeugen eines Signales, das die radiale Position des ausgewählten Bildpunktes angibt, die Einrichtung (58, 60) zur Erzeugung des Summensignales zu dem Signal, das die bekannte radiale Position des vorgegebenen Bildpunktes angibt, einen der folgenden Werte addiert:
+K x sin R für jeden längs einer Zeile verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt von der Mittellinie des Sektors entfernt,
-K x sin R für jeden längs einer Zeile verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt der Mittellinie des Sektors nähert,
+K y cos R für jeden längs einer Spalte verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt vom Ursprung des Sektors entfernt, und
-K y cos R für jeden längs einer Spalte verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt dem Ursprung des Sektors nähert,
wobei R der Winkel zwischen der Richtung der Spalten der Bildpunkte und einem dem ausgewählten Bildpunkt benachbarten Radialstrahl der Polarkoordinaten ist.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß sie zum Erzeugen des Signals, das die radiale Position des ausgewählten Bildpunktes darstellt, weiterhin eine Einrichtung (84) aufweist, die die Differenz zwischen dem dem jeweiligen Bildpunkt zugeordneten Summensignal und dem Radius eines der beiden dem jeweiligen Bildpunkt benachbarten Kreisbogen des Polarkoordinatensystems als Bruchteil des radialen Abstandes S zwischen den Kreisbogen des Polarkoordinatensystems bildet.
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß K x und K y zu dem Abstand S in einem solchen Verhältnis stehen, daß die Differenz als Bruchteil von S gleich dem gebrochenen Anteil der Summe ist.
5. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zum Erzeugen eines Signales, das die Winkelposition des ausgewählten Bildpunktes angibt, die Einrichtung (58, 60) zur Erzeugung des Summensignales zu dem Signal, das den bekannten Abstand des vorgegebenen Bildpunktes von dem dem ausgewählten Bildpunkt benachbarten Radialstrahl angibt, einen der folgenden Werte addiert:
+K x für jeden längs einer Zeile verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt von dem Radialstrahl entfernt,
-K x für jeden längs einer Zeile verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich der Schritt dem Radialstrahl nähert,
+K y tan R für jeden längs einer Spalte verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich dabei der Abstand zu dem Radialstrahl vergrößert, und
-K y tan R für jeden längs einer Spalte verlaufenden Schritt von einem Bildpunkt zum nächsten, wenn sich dabei der Abstand zu dem Radialstrahl vermindert,
wobei R der Winkel zwischen der Richtung der Spalten der Bildpunkte und den dem ausgewählten Bildpunkt benachbarten Radialstrahl der Polarkoordinaten ist.
6. Schaltung nach Anspruch 5, dadurch gekennzeichnet, daß sie zum Erzeugen des Signals, das die Winkelposition des ausgewählten Bildpunktes angibt, den Abstand des Bildpunktes von dem benachbarten Radialstrahl als Bruchteil des längs der den Bildpunkt enthaltenden Zeile gemessenen Abstandes zwischen den beiden den vorgegebenen Bildpunkt zwischen sich einschließenden Radialstrahlen bestimmt und zu diesem Zweck
eine Einrichtung (88), die ein Signal Δ XHAT = K y (tan R₁-tan R₂) erzeugt,
eine Einrichtung (90, 92) zur Berechnung eines Summensignales, die in Abhängigkeit von den Abtastsignalen für jeden Schritt auf dem vorgegebenen Weg zu einem Signal, das den längs der den vorgegebenen Bildpunkt enthaltenden Zeile gemessenen Abstand zwischen den Radialstrahlen angibt, zwischen denen sich der ausgewählte Bildpunkt befindet, einen der folgenden Werte addiert:
+Δ XHAT für jeden Schritt von einer Zeile zur nächsten, wenn sich der Schritt vom Ursprung des Sektors entfernt, und
-Δ XHAT für jeden Schritt von einer Zeile zur nächsten, wenn sich der Schritt dem Ursprung des Sektors nähert,
und eine weitere Einrichtung umfaßt, die das den Abstand des jeweiligen Bildpunktes von dem benachbarten Radialstrahl angebende Signal durch das Summensignal dividiert.
DE3153416A 1980-11-03 1981-11-02 Expired DE3153416C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US20374680A 1980-11-03 1980-11-03

Publications (1)

Publication Number Publication Date
DE3153416C2 true DE3153416C2 (de) 1989-07-06

Family

ID=22755153

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19813143429 Granted DE3143429A1 (de) 1980-11-03 1981-11-02 Abbildungssystem
DE3153416A Expired DE3153416C2 (de) 1980-11-03 1981-11-02

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE19813143429 Granted DE3143429A1 (de) 1980-11-03 1981-11-02 Abbildungssystem

Country Status (5)

Country Link
JP (1) JPS57108681A (de)
CA (1) CA1173966A (de)
DE (2) DE3143429A1 (de)
FR (1) FR2493649B1 (de)
GB (5) GB2089537B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4468747A (en) * 1980-11-03 1984-08-28 Hewlett-Packard Company Scan converter system
JPS59218145A (ja) * 1983-05-26 1984-12-08 株式会社東芝 超音波検査装置
JPS6041956A (ja) * 1983-08-19 1985-03-05 株式会社東芝 超音波診断装置
US4581636A (en) * 1984-04-02 1986-04-08 Advanced Technology Laboratories, Inc. Scan conversion apparatus and method
JPS6272341A (ja) * 1985-09-26 1987-04-02 株式会社東芝 超音波診断装置
FR2589265B1 (fr) * 1985-10-28 1989-10-27 Descartes Paris V Universite R Processeur numerique d'images echographiques, a interpolation
FR2593009B1 (fr) * 1986-01-10 1988-10-07 Thomson Csf Procede d'homogeneisation d'une image issue d'une conversion de coordonnees et transformateur numerique d'images utilisant un tel procede
JPS63296734A (ja) * 1987-05-29 1988-12-02 Yokogawa Medical Syst Ltd デイジタルスキヤンコンバ−タ
JPS6488280A (en) * 1987-07-13 1989-04-03 Sperry Marine Inc Scan conversion method and apparatus
JP2606417B2 (ja) * 1990-07-30 1997-05-07 松下電器産業株式会社 超音波診断装置
DE4206139C2 (de) * 1992-02-28 1994-08-04 Schimmelpfennig Karl Heinz Verfahren zur zeitpräzisen Auswertung von Fahrtschreiber-Diagrammen
DE4223424A1 (de) * 1992-07-16 1994-01-20 Hell Ag Linotype Verfahren und Einrichtung zur Erzeugung von kreisförmigen Verläufen
US6063032A (en) * 1998-09-28 2000-05-16 Scimed Systems, Inc. Ultrasound imaging with zoom having independent processing channels
WO2007073751A1 (en) * 2005-12-23 2007-07-05 Barco Orthogon Gmbh Radar scan converter and method for transforming
US7327309B2 (en) 2005-12-23 2008-02-05 Barco Orthogon Gmbh Radar scan converter and method for transforming

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4002827A (en) * 1975-05-15 1977-01-11 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
JPS53137691A (en) * 1977-05-07 1978-12-01 Toshiba Corp Sca nning conversion system
JPS6024429B2 (ja) * 1977-08-15 1985-06-12 沖電気工業株式会社 デイジタル走査変換方式
JPS5481095A (en) * 1977-12-12 1979-06-28 Toshiba Corp Computer tomography device
US4241412A (en) * 1979-03-16 1980-12-23 Diasonics, Inc. Polar to cartesian mapping apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4002827A (en) * 1975-05-15 1977-01-11 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Proceedings of the IEEE, Bd. 67, Nr. 4, April 1979 S. 654-664 *

Also Published As

Publication number Publication date
GB8418006D0 (en) 1984-08-22
GB2089537A (en) 1982-06-23
GB2141848A (en) 1985-01-03
JPH0372295B2 (de) 1991-11-18
GB8432555D0 (en) 1985-02-06
GB8418007D0 (en) 1984-08-22
DE3143429C2 (de) 1988-09-01
GB2089537B (en) 1985-10-02
GB2149541A (en) 1985-06-12
DE3143429A1 (de) 1982-10-28
GB2141848B (en) 1985-10-02
GB8506834D0 (en) 1985-04-17
GB2153120B (en) 1986-01-29
GB2149541B (en) 1986-02-05
FR2493649A1 (fr) 1982-05-07
JPS57108681A (en) 1982-07-06
FR2493649B1 (fr) 1989-04-28
GB2153120A (en) 1985-08-14
CA1173966A (en) 1984-09-04

Similar Documents

Publication Publication Date Title
DE3153416C2 (de)
EP0004258B1 (de) Computer-Tomograph zur Durchstrahlung eines Körpers
DE3779718T2 (de) Datendarstellung in aequivalenter zeit.
DE3629984C2 (de)
DE3202365C2 (de) Datenspeicher mit Fensterabtastung
DE3309846C2 (de)
DE2950712C2 (de) Einrichtung zur Erzeugung eines elektronischen Hintergrundrasters
DE2246029C2 (de) Anordnung zum Speichern und Anzeigen von Daten
DE3005823A1 (de) Einrichtung und verfahren zum umsetzen bzw. abbilden von winkeln zugeordneten daten in ein kartesisches koordinatensystem
DE2654065C2 (de)
DE3301090A1 (de) Abbildungsvorrichtung
DE2261141C3 (de) Einrichtung zur graphischen Darstellung von in einem Computer enthaltenen Daten
DE2621339A1 (de) Abtastumsetzer zur umsetzung von daten im polarkoordinatensystem in daten im kartesischen koordinatensystem
DE2907991A1 (de) Verfahren und vorrichtung zur verarbeitung digitaler videosignale
DE68916698T2 (de) Bildinterpolierungsgerät mit Bewegungsabschätzung und Kompensation und aus einem solchen Gerät bestehendes Konvertierungssystem für Fernsehstandards.
DE69125874T2 (de) Generator für mehrdimensionale Adressen und Anordnung zum Steuern desselben
DE2804732A1 (de) Geraet zur verarbeitung von werten einer quantitaet, beispielsweise der absorption von roentgenstrahlung
CH620302A5 (de)
DE3300834C2 (de)
DE19926100B4 (de) Radar- und ähnliche Systeme sowie Verfahren zum Verbessern der Bildqualität
DE3853511T2 (de) Mehrbildelementgenerator.
DE2737354A1 (de) Einrichtung zur graphischen darstellung von funktionen auf einem aufzeichnungsmedium
DE3710011A1 (de) Verfahren, bei dem ein untersuchungsbereich aus mehreren strahlenquellenpositionen durchstrahlt wird
DE2821421B2 (de) Umwandelndes Abtast-Anzeige-System
DE2945795A1 (de) Bildwiedergabesystem

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3143429

8110 Request for examination paragraph 44
8181 Inventor (new situation)

Free format text: LEAVITT, STEVEN C., HAMPSTEAD, N.H., US LARSEN, HUGH G., 01985 WEST NEWBURY, MASS., US HUNT, BARRY F., NASHUA, N.H., US

AC Divided out of

Ref country code: DE

Ref document number: 3143429

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 3143429

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee