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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/52—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
- G01S7/52017—Details 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/52023—Details of receivers
- G01S7/52044—Scan converters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/02—Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
- G01S13/06—Systems determining position data of a target
- G01S13/46—Indirect determination of position data
- G01S2013/468—Indirect 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/52—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
- G01S7/523—Details of pulse systems
- G01S7/526—Receivers
- G01S7/53—Means for transforming coordinates or for evaluating data, e.g. using computers
- G01S7/531—Scan 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.
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.
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.
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.
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₁ = S₃11* (1-RERR) + S₃12* · 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 S₃11* und S₃12* abgeleitet, welche auf der linken Seite von
DP in einer Winkelrichtung liegen, und der zweite interpolierte
Datenzwischenwert I₂ wurde abgeleitet durch Interpolation von
S₄11* und S₄12*, 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 S₃11* und S₄11*, die längs
des Bogens A₁₁ und auf einer Seite von DP in einer radialen Richtung
liegen, und I₂′ wurde abgeleitet durch Interpolation von S₃12*
und S₄12*, 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°).
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)
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 S₃11*, S₃12*, S₄11* und S₄12* (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
S₃11* und S₄12*, behält die Abtastwerte S₃12* und S₄12*
und fügt Abtastwerte S₃13* und S₄13* 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
+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.
+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.
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.
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)
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)
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)
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 |
-
1981
- 1981-11-02 JP JP56176304A patent/JPS57108681A/ja active Granted
- 1981-11-02 GB GB8132991A patent/GB2089537B/en not_active Expired
- 1981-11-02 DE DE19813143429 patent/DE3143429A1/de active Granted
- 1981-11-02 DE DE3153416A patent/DE3153416C2/de not_active Expired
- 1981-11-03 FR FR818120576A patent/FR2493649B1/fr not_active Expired
- 1981-11-03 CA CA000389292A patent/CA1173966A/en not_active Expired
-
1984
- 1984-07-16 GB GB08418007A patent/GB2141848B/en not_active Expired
- 1984-07-16 GB GB848418006A patent/GB8418006D0/en active Pending
- 1984-12-21 GB GB08432555A patent/GB2149541B/en not_active Expired
-
1985
- 1985-03-15 GB GB08506834A patent/GB2153120B/en not_active Expired
Patent Citations (1)
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)
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 |