DE3201088A1 - Verfahren zur erzeugung einer laufzeit - Google Patents
Verfahren zur erzeugung einer laufzeitInfo
- Publication number
- DE3201088A1 DE3201088A1 DE19823201088 DE3201088A DE3201088A1 DE 3201088 A1 DE3201088 A1 DE 3201088A1 DE 19823201088 DE19823201088 DE 19823201088 DE 3201088 A DE3201088 A DE 3201088A DE 3201088 A1 DE3201088 A1 DE 3201088A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- sampling
- input signal
- runtime
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/64—Digital differential analysers, i.e. computing devices for differentiation, integration or solving differential or integral equations, using pulses representing increments; Other incremental computing devices for solving difference equations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Description
BESCHREIBUNG
Die Erfindung bezieht sich auf ein Verfahren zur Erzeugung einer Laufzeit in einem digitalen Rechengerät für
Differentialgleichungen (im folgenden mit "DRD" abgekürzt)
und dergleichen Schaltungen.
Bei der Beschreibung der Grundgedanken der vorliegenden Erfindung soll als Beispiel ein Fall angenommen werden, bei
dem das erfindungsgemäße Verfahren zur Erzeugung einer Laufzeit
in Verbindung mit einem DRD verwendet wird. Die Erfindung ist jedoch auch auf andere Geräte als DRD anwendbar,
was im einzelnen in Verbindung mit Ausführungsbeispielen beschrieben
werden soll.
Im Falle der Verwendung bei einem DRD beispielsweise zur Analyse eines Prozeßsteuersystems oder zur Berechnung eines
Korrelationskoeffizienten ist es erforderlich, eine durch die nachstehende Gleichung ausgedrückte Laufzeit T zu erzeugen:
eo (t) = ein (t - T). (1)
Darin bedeutet e. ein Eingangssignal und e ein Ausgangssignal.
Zur Erzeugung von Laufzeiten stehen generell zur Verfügung
(a) ein Verfahren, das mit einer Näherung durch eine Übertragungsfunktion arbeitet (vgl. den Aufsatz "On the Analog
Simulation of a Pure Time Delay" in "Simulation" 1972, 18 (5), Seiten 161 bis 170), und
(b) ein Verfahren, das mit einer auf einem Speichermodus beruhenden Laufzeit-Recheneinheit arbeitet.
Hinsichtlich des ersten Verfahrens sind die Näherungsformeln
von Pade berühmt. Sie vermögen jedoch nur kurze Laufzeiten von ωΤ < 2 (rad) mit der zweiten Näherungsformel und
ωΤ < 6 (rad) mit der vierten Näherungsformel zu erzeugen,
wobei ω in den Ungleichungen die Winkelfrequenz eines Eingangssignals
angibt. Ein weiterer Nachteil besteht darin, daß das Ausgangssignal bei einer Ubergangsfunktion oszilliert,
Außerdem ist eine große Anzahl von DRD-Recheneinheiten (beispielsweise 10 oder mehr für die vierte Näherungsformel nach
Pade) erforderlich. Angesichts dieser Nachteile ist es als unzweckmäßig zu bezeichnen, für das DRD das Verfahren anzuwenden,
das mit einer Annäherung durch eine Übertragungsfunktion arbeitet.
Andererseits eignet sich das Speichermodus-Verfahren, bei dem ein Eingangssignal mit einer bestimmten Periode h abgetastet, das abgetastete Signal in einen Digitalspeicher eingegeben und das gespeicherte Signal aus dem Speicher gelesen, sodann rekonstruiert und nach Ablauf einer bestimmten Verzögerungszeit ausgegeben wird, für ein DRD geeignet, das sämtliche Signale als Digitalsignale behandelt. Dieses Verfahren weist ferner das Merkmal auf, daß sich eine lange Laufzeit einfach durch Vergrößerung der Speicherkapazität verwirklichen läßt.
Andererseits eignet sich das Speichermodus-Verfahren, bei dem ein Eingangssignal mit einer bestimmten Periode h abgetastet, das abgetastete Signal in einen Digitalspeicher eingegeben und das gespeicherte Signal aus dem Speicher gelesen, sodann rekonstruiert und nach Ablauf einer bestimmten Verzögerungszeit ausgegeben wird, für ein DRD geeignet, das sämtliche Signale als Digitalsignale behandelt. Dieses Verfahren weist ferner das Merkmal auf, daß sich eine lange Laufzeit einfach durch Vergrößerung der Speicherkapazität verwirklichen läßt.
Bei Anwendung dieses Verfahrens auf ein DRD ergeben sich jedoch einige Probleme, die nachstehend angegeben sind.
Ein erstes Problem besteht darin, daß die Abtastperiode h klein sein muß, um eine Laufzeit mit hoher Genauigkeit
zu berechnen und daß zur Erzeugung einer langen Laufzeit eine
große Speicherkapazität erforderlich ist. Die Figuren 1(A) bis 1(D) veranschaulichen das Prinzip des Speichermodus. Danach
wird ein Eingangssignal e. , bei dem es sich gemäß Figur 1(A) um eine kontinuierliche Funktion handelt, mit
einer Abtastperiode h gemäß Figur 1(B) abgetastet. Die
Tastwerte e-n(p) mit P=O, 1, ... werden in aufsteigender
Folge hinsichtlich der Nummer der Abtastpunkte an aufeinanderfolgenden Adressen eines Digitalspeichers eingespeichert,
wie dies in Figur 1(C) gezeigt ist. Nach Ablauf einer Laufzeit T werden die Abtastwerte aus dem Digitalspeicher in
der Reihenfolge e. (0), e. (1), ... ausgelesen, sodann rekonstruiert und ausgegeben. Auf diese Weise erhält das
Laufzeit-Ausgangssignal e den in Figur 1(D) gezeigten
gestuften Verlauf. Dabei läßt sich der Fehler ε des Laufzeit-Ausgangssignals
folgendermaßen angeben:
ε (t - T) = 0/ für t
< T "J
V (2) e(t - T) = ein(t - T) - e±n(h.p). für t
> T J
Der Fehler ε wird also für p«h= t
< (p + 1) *h am Abtastpunkt ρ zu Null und nimmt zum nächsten Abtastpunkt
(p + 1) hin zu. Ist beispielsweise die Laufzeit nach dem in Figur 1(A) bis 1(D) gezeigten Verfahren als
e. =A sin χ (3)
xn
erzeugt worden, so wird der absolute Fehler ε zu
ε = A sin ((p + tr) h) - A sin (p-h), (4)
wobei 0 = τ < h ist. Der maximale Fehler entsteht im Bereich
der maximalen Steigung der Gleichung (3), d.h. in der Umgebung von χ = 0. Dieser maximale Fehler in der Umgebung von
x=0 läßt sich daher durch Einsetzen von ρ E 0 und τ = h in Gleichung (4) näherungsweise folgendermaßen berechnen:
emax=Asinh· (5)
Wie sich aus Gleichung (5) ergibt, muß die Abtastperiode h zu 0,001 (rad) gemacht werden, um den Berechnungsfehler der
Laufzeit auf 0,1 % der vollen Amplitude A begrenzt werden. Anders ausgedrückt, müssen etwa 6280 (= 2π/0,001) Punkte
innerhalb eines Zyklus abgetastet werden. Es soll nun der Fall untersucht werden, bei dem eine Sinuswelle mit einer
Winkelfrequenz ω über eine Laufzeit T mit einer Abtastperiode h abgetastet wird. Bezeichnet man mit B (Byte) die Länge
eines Speicherwortes zur Aufnahme eines Abtastwertes, so wird die für ein Laufzeitelement erforderliche Speicherkapazität
W zu:
W=^-XB (Byte). (6)
Nimmt man beispielsweise an, daß ω = 10 rad/s, T = 5 s, h = 0,001 rad und B = 4 Byte beträgt, so erreicht die
Kapazität W einen Wert von nicht weniger als 0,2 Megabyte.
Ein zweites Problem ist dem Rechenverfahren des DRD zuzuschreiben. Das DRD arbeitet mit einem Rechenverfahren,
bei dem Eingangsvariable, Ausgangsvariable und ganzzahlige unabhängige Variable auf ein oder mehrere Bit gerundet und
dann übertragen werden (vgl. die japanischen Offenlegungsschriften
50-25148 und 50-32849). Dies führt zu dem Problem, daß auch das Laufzeit-Ausgangssignal in ein Inkrement von
ein oder mehreren Bit umgewandelt werden muß.
Ein Ziel der Erfindung besteht darin, ein auf dem digitalen Speichermodus beruhendes Verfahren zur Erzeugung einer
Laufzeit anzugeben, das frei von den oben beschriebenen Problemen und unaufwendig ist und lange Laufzeiten mit hoher Genaugikeit
erzeugt.
Erfindungsgemäß wird dieses Ziel folgendermaßen erreicht.
Als ein erstes Merkmal sind zwei Arten von Digitalspeichern A und B zur Erzeugung einer Laufzeit vorgesehen. Die Eingangssignale der einzelnen Laufzeit-Elementen werden, ausgedrückt
in Inkrementen von ein oder mehreren Bit, in den einzelnen Arbeitszyklen des DRD (im folgenden als "Iteration" bezeichnet)
gesammelt. Die Abtastperiode h wird dabei als ganzzahliges Vielfaches der Iteration gewählt, und die Sammelwerte oder
Inkrement-Werte des Eingangssignals in einem Abtastintervall werden nacheinander in jeder Abtastperiode in den Speicher A
eingegeben. Ist der Einspeicherungsvorgang bis zu einer Adresse fortgeschritten, die einem Quotient u (ganze Zahl) aus der
Laufzeit T dividiert durch die Abtastperiode h zugeordnet ist, so werden die Inkrementwerte des Eingangssignals in jeder
Abtastperiode h aus denjenigen Adressen des Speichers A ausgelesen, die höchstens der Adresse (u - 1) vorangehen, in
den jeweiligen Iterationen des DRD werden, wie weiter unten beschrieben, Interpolations-Operationen im Inkrement-Format
durchgeführt, und die Ergebnisse dieser Interpolationen werden in den Speicher B eingegeben. Danach werden die Inhalte derjenigen
Adressen des Speichers B ausgelesen, die höchstens dem aus der Division der Laufzeit T durch die Abtastperiode h
---"11
resultierenden Rest ν (ganze Zahl) vorangehen, und als Ausgangssignal der Laufzeit zur Verfügung gestellt.
Als zweites Merkmal sind für die Speicher A und B Adresszähler ADCA bzw. ADCB zur Handhabung der Adressen
der Speicher A bzw. B vorgesehen. Der Adresszähler ADCA wird in jeder Abtastperiode h und für jedes Laufzeitelement um
1 erhöht, und der jeweilige Abtastwert wird an der resultierenden Adresse des Speichers A eingespeichert. Gleichzeitig
wird der Adresszähler ADCB für jede Iteration und jedes Laufzeitelement um 1 erhöht, wobei an der resultierenden
Adresse des Speichers B der jeweilige interpolierte Wert eingespeichert wird. Auf diese Weise ist es möglich,
Daten in beide Digitalspeicher unbegrenzt und kontinuierlich ringförmig einzuschreiben.
Als drittes Merkmal sind für die Speicher A und B jeweils Adressenspeicher ADMA und ADMB vorgesehen, die die
Adressen zum Auslesen von Daten aus den Speichern A bzw. B handhaben, wobei jeder Adressenspeicher ADMA, ADMB jeweils
eine der Anzahl der Laufzeitelemente gleiche Anzahl von
Speicherplätzen enthält. Der Inhalt desjenigen Speicherplatzes in dem Adressenspeicher ADMA, der dem jeweiligen
Laufzeitelement entspricht, stellt die Gesamtzahl der in
jeder Abtastperiode h aufaddierten Laufzeitelemente dar,
und aus der resultierenden Adresse des Speichers A werden die Daten ausgelesen. Gleichzeitig stellt der Inhalt desjenigen
Speicherplatzes innerhalb des Adressenspeichers ADMB, der dem jeweiligen Laufzeitelement entspricht, die Gesamtzahl
der in der jeweiligen Iteration aufaddierten Laufzeitelemente dar, wobei die Daten aus der resultierenden Adresse
des Speichers B ausgelesen werden. Auf diese Weise ist es möglich, in den Speichern A und B gebildete ringförmige
Daten kontinuierlich und unbegrenzt auszulesen.
Im folgenden sollen die Grundgedanken der vorliegenden Erfindung im einzelnen beschrieben werden.
Um zunächst die zum Speichern der Abtastwerte dienende Speicherkapazität erheblich zu verringern, wird erfindungs-
gemäß die durch Gleichung (7) wiedergegebene Interpolations-Operation
durchgeführt und für jeden Abtastpunkt ρ ein Laufzeit-Ausgangssignal innerhalb p-h = τ
< (ρ + 1)-h erhalten:
e. ((P + 1)-h) - e± (p-h)
e (p'h + τ + T) = -— X
h
χτ+ ein(p-h). (7)
χτ+ ein(p-h). (7)
Figur 2 zeigt das Laufzeit-Ausgangssignal, das derart
ausgegeben wird, daß das in Figur 1(A) gezeigte Eingangssignal e. mit derselben Abtastperiode h wie in Figur 1(ß)
abgetastet wird und nach Ablauf der Laufzeit 1J die Abtastwerte
der Interpolation nach Gleichung (7) unterzogen werden. Vergleicht man nur Figur 1(D) mit Figur 2, so wird ersichtlich,
daß das vorliegende Verfahren eine höhere Genauigkeit ergibt. Der Fehler ε bei der Interpolation nach Gleichung (7), wird
zu
e ((ρ + 1)-h) - e (p-h) ε = e.fp.h + τ) - in in
'in 1^ ' h
χ τ - ein(p-h). (8)
Indem als Beispiel angenommen wird, daß das durch Gleichung (3) ausgedrückte Signal nach dem Verfahren gemäß Gleichung
(7) verarbeitet wird, soll der Fehler bei der Erzeugung der Laufzeit nach dem vorliegenden Verfahren mit dem Fehler in
dem Verfahren nach Figur 1(A) bis 1(D) vergleichen werden.
Der Maximalwert des durch Gleichung (8) ausgedrückten Fehler
2 2
entsteht, wenn die Bedingungen de/dx = O und d ε/άτ
< O gelten. Werden die den maximalen Fehler verursachenden Bedingungen
durch Einsetzen von Gleichung (3) in Gleichung (8) erhalten, so wird ersichtlich,daß der maximale Fehler in dem
in Figur 3 veranschaulichten Fall entsteht. Demgemäß wird der Maximalfehler e zu:
max
emax = * (1 - coe|). (9)
Wie aus Gleichung (9) hervorgeht, wäre die Abtastperiode h mit etwa 0,08945 (rad) zu wählen, um den Fehler
bei der Erzeugung der Laufzeit 0,1 % der vollen Amplitude A zu begrenzen. Anders ausgedrückt, wäre ein Zyklus an etwa
70 Punkten abzutasten. Während das Verfahren nach Figur 1(A) bis 1(D) zur Erzielung der gleichen Genauigkeit etwa 6.280
Abtastpunkte benötigt, kommt das auf der Interpolation beruhende erfindungsgemäße Verfahren zur Erzeugung der Laufzeit
mit einer etwa 90 mal kleineren Anzahl an Abtastpunkten aus, so daß sich die Kapazität des Digitalspeichers erheblich verringern
läßt.
Das als nächstes zu lösende Problem besteht darin, das durch den erwähnten Interpolationsvorgang in Kombination mit
dem Digitalspeicher zur Aufnahme der Abtastwerte erhaltene Laufzeit-Ausgangssignal in ein Inkrement-Format umzuwandeln
und dann unter Verwendung einfacher Einrichtungen auszugeben. Das hierfür angewandte Arbeitsverfahren ist in Figur 4 und
5(A) bis 5(E) dargestellt.
Zunächst wird Gleichung (7) in das Inkrement-Format der folgenden Gleichung, umgewandelt:
e ((p + 1).h) - e. (p.h) Aeo(p-h + τ + T) = -iS _ iS
x τ. (ίο)
Die in Gleichung (11) angegebenen Arbeitsschritte werden mittels
des DRD durchgeführt, indem τ auf At, das Fein-Inkrement der
ganzzahligen unabhängigen Grundvariablen t des DRD, eingestellt und der Interpolationsvorgang durchgeführt wird, bei
dem das sich ergebende Ausgangsinkrement AZ1 als Inkrement
Ae des Ausgangssignals des Laufzeitelements verwendet wird:
Schritt 1 R± = R±-1 + Y1-At - AZ1 .
ein((p + U-h) - e (p-h)
Schritt 2 Y. = in in
i h
(11)
In Gleichung (11) gibt i die Nummer der zwischen den Abtastpunkten
ρ und (p + 1) liegenden Iteration des DRD an, Y. den
Inhalt eines Registers Y bei der i-ten Iteration oder den Gradienten der oben genannten Größe Ae , R. den ganzzahligen
Rest bei der i-ten Iteration, und R-_-, den ganzzahligen Rest
bei der (i - 1)-ten Iteration. Alle diese Variablen sind dabei mit Gleitkommazahlen zu handhaben.
In Wirklichkeit ist es jedoch nicht von Vorteil, nach der unveränderten Gleichung (11) zu arbeiten, da für die
Berechnung des Gradienten Y. eine Divisionsschaltung erforderlich ist. Erfindungsgemäß wird deshalb für die Abtastperiode
h ein ganzzahliges Vielfaches m der Größe At gewählt und diese ganze Zahl m wird gemäß Figur 2 als Potenz
von 2 gewählt, wodurch sich der Gradient Y. durch lediglich Addition und Subtraktion erhalten läßt. Dies soll im folgenden
beschrieben werden.
Wählt man m als Potenz von 2, si nimmt die Abtastperiode
h folgenden Wert an:
h = m-At = 2b · At. (b = ganze Zahl) (12)
Setzt man ferner das Inkrement des Eingangssignals e. zwischen den Abtastpunkten ρ und (p + 1) als
SDYp+1 = ein((p + 1)*h) "ein(p"h). (13)
so wird der Gadient Y^ in Gleichung (11) zu
Setzt man ferner At als 2 (k = ganze Zahl) und bezeichnet
man die Mantisse des Inkrements SDY +1 mit SDY +1(M) und
dessen Exponenten mit SDY-(E), so wird der Gradient Y.
(SDY - (E) - b - k) Y1 = SDYp+1(M) χ 2 P · (15)
Somit kann festgestellt werden, daß sich der Gradient Y. durch lediglich Addition und Subtraktion des Exponenten
ausrechnen läßt.
Vorstehend ist das Interpolationsverfahren nach der Erfindung zur Verwendung bei der Erzeugung der Laufzeit beschrieben
worden. Es gibt ein weiteres Problem, das gelöst werden muß. Dieses betrifft das Schreib- und Lese-Steuerverfahren
für den Digitalspeicher zur Erzeugung der Laufzeit sowie den Aufbau des Speichers. Im folgenden soll ein Verfahren
nach der vorliegenden Erfindung in diesem Zusammenhang erläutert werden.
Als Beispiel sei Figur 4 angenommen. Soll aus dem Eingangssignal e. das in Figur 4 gezeigte Ausgangssignal e mit
der Verzögerung T erzeugt werden, so wird für die Abtastperiode h, wie oben angegeben, der Wert m-At gewählt. Das
in Gleichung (13) wiedergegebene Inkrement SDY des Eingangssignals
e. im Abtastintervall wird für jede Abtastperiode h abgetastet und in den Digitalspeicher A eingegeben. Dies ist
in den Figuren 5(A) bis 5(E) veranschaulicht. Figur 5(A)
—·^t zeigt dabei ein Blockschaltbild eines Laufzeitelements (e ,
wobei mit S der Laplace-Operator bezeichnet ist). Das Inkrement des Eingangssignals e. im Abtastintervall wird durch
die in Gleichung (16) angegebenen Arbeitsschritte ausgerechnet:
Schritt 1 SDY. = SDY. 1 + ^1 ΔΥ. . .
χ i-i 3=1 x,j *
(16) 1 Schritt 2 falls i = p, SDY = SDY1^ und SDY ± = O.
In Gleichung (16) bezeichnet ΔΥ. . das j-ste Eingangssignal
bei der i-ten Iteration, I die Anzahl von Eingängen des Laufzeitelements und SDY. den akkumulierten Wort des
Eingangssignals an und nach dem Abtastpunkt (p -1).
Auf diese Weise werden die Inkrementwerte des Abtast-Intervalls
in den Digitalspeicher A (im folgenden einfach als "Speicher A")bezeichnet, in der in Figur 5(B) gezeigten
Reihenfolge eingespeichert (Phase I). Anschließend wird
der um die Laufzeit T früher abgetastete lnkrementwert des Eingangssignals aus dem Speicher A ausgelesen und als
Eingangssignal Y nach Figur 5(C) zur Berechnung des Laufzeit-Ausgangssignals verwendet (Phase II). Da jedoch, wie
5 oben beschrieben, bei der vorliegenden Erfindung m mit 2 gewählt ist, stimmen die ganzzahligen Vielfachen der
Abtastperiode h nicht immer mit der Laufzeit T überein, so daß, wie in Figur 4 gezeigt, Reste als Zeitintervall
T" (= q-At) übrig bleiben. Erfindungsgemäß wird daher das
im folgenden beschriebene Verfahren durchgeführt. Dazu werden die Größen η und q aufgefunden, die die nachstehende
Gleichung erfüllen:
T = τ1 + T" = n-h + q-At;(O = q-At
< h). (17)
Bei Erreichen des Abtastpunktes ρ = η in Figur 5(B) wird der am Abtastpunkt (p - η + 1) eingespeicherte lnkrementwert
SDY _ . des Eingangssignals aus dem Speicher A herausgelesen
und zur Erzielung des Gradienten Y. mit Hilfe der Gleichung (15) benützt. Unter Verwendung dieses Wertes Y. als Eingangssignal
in Figur 5(C) erfolgt die Berechnung nach Gleichung (11). Auf diese Weise wird das Ausgangssignal ΔΖ ' der Laufzeit
bei t1 = n-h für jeden Wert At ausgerechnet, wie dies
als zwischenzeitliches Ausgangssignal e ' des Laufzeitelements in Figur 4 veranschaulichtest. Gemäß Figur 5(D)
wird das Ausgangssignal ΔΖ1 für jeden Wert At in einen Speieher
B eingespeichert. Um die Laufzeit T" (= q>At), die
den Rest bildet, zu erzeugen, wird der Wert ΔΖ ' . , der
l-q
in der Adresse des Speichers B vor der Adresse q gespeichert ist, als Ausgangssignal ΔΖ. der gewünschten Laufzeit ausgelesen.
Dieses Ausgangssignal wird zu dem Ausgangssignal e des Laufzeitelements
in Figur 4 gemacht. Figur 5(E) veranschaulicht zusätzlich die zeitliche Beziehung zwischen dem in den Speicher
B eingeschriebenen und dem aus dem Speicher ausgelesenen Signal.
Im folgenden soll das Verfahren der Schreib- und Lese-
steuerung der Speicher A und B anhand der Figuren 6 bis 8 beschrieben werden.
Im allgemeinen sind die Längender Laufzeiten in einem einzelnen System nicht fest sondern unterschiedlich. Auch
die Winkelfrequenzen ω des Eingangssignals des Systems sind unterschiedlich. Dementsprechend variiert die optimale
Abtastperiode, die der Rechengenauigkext genügt. Vom Standpunkt einer möglichst weitgehenden Verringerung der Kapazitäten
der für die Berechnung der Laufzeit dienenden Speicher A und B ist es zweckmäßig, das Eingangssignal mit einer Abtastperiode
zu tasten, die für eine bestimmte Laufzeit am geeignetsten ist. In diesem Falle müssen jedoch die Lese- und
Schreibsteuerung, die zu den Speichern A und B gehört, sowie die Steuerung des Interpolationsvorgangs für jedes Laufzeitelement
durchgeführt werden. Dies resultiert in dem Nachteil einer komplizierten Schaltung. Erfindungsgemäß wird
daher ein Verfahren angewandt, bei dem die Eingangssignale sämtlicher Laufzeitelemente mit einer allen Laufzeitelementen
gemeinsamen festen Abtastperiode getastet werden.
Das DRD der Erfindung soll weiter unten im einzelnen beschrieben werden; hier sei nur gesagt, daß es keine SpezialRecheneinheit
für jedes einzelne Rechenelement aufweist. Durch Anwendung einer einzelnen, für allgemeine Zwecke bestimmten
Recheneinheit werden die für das jeweilige Element erforderlichen Daten gemäß Steuerbefehlen innerhalb eines
Steuerspeichers aus den Speichern in die Recheneinheit geladen, wobei die Arbeitsvorgänge mehrerer Arten von Rechenelementen,
zu denen ein Integrator, ein Potentiometer, ein Laufzeitelement und dergleichen gehören, gemäß dem Impulsdiagramm
nach Figur 6 durchgeführt werden. Figur 6 veranschaulicht dabei als Beispiel einen Fall, bei dem vier Rechenelemente
mit den Nummern 1 bis 4 vorhanden sind. Mit ELC ist das Betriebs-Zeitsteuersignal der Rechenelemente und
mit ITE ein Iterationssignal bezeichnet. Bei den Rechenelementen Nr. 1 und Nr. 4 handelt es sich um Laufzeitelemente,
wobei für die Abtastperiode h der Wert von 2-At unter der
Annahme von m = 1 gewählt wird. In Figur 6 ist mit TA ferner das Schreib- und Lese-Zeitsteuersignal für den
Speicher A in Figur 5(B) bezeichnet, das durch eine logische UND-Verknüpfung zwischen einem die Zeitsteuerelemente
bezeichnenden Markierungssignal DLYF und einem Abtastsignal SAMP erzeugt wird. Mit TB ist andererseits das
Schreib- und Lese-Zeitsteuersignal für den Speicher B in Figur 5(D) bezeichnet.
Das Einschreiben in die Speicher A und B erfolgt nach dem in Figur 7 veranschaulichten Verfahren. Mit 71 ist da
bei ein Adresszähler (ADC) bezeichnet, der Schreibadressen
für die Speicher A und B angibt und dabei maximal die Adresse V (= 2 ) bezeichnen kann. Beiden Speichern A und B
sind Adressen O - V zugeordnet. Beim Einschreiben in die Speicher A und B werden der Inhalt des Adresszählers 71
oder die Schreibadressen im Ausgangszustand durch ein Löschsignal (RESET) auf die Adressen O eingestellt. Beim Betrieb
wird der Inhalt des Adresszählers 71 entsprechend einem Inkrementsignal UP jeweils um +1 erhöht, und der Inkrementwert
SDY. in dem Abtastintervall sowie das Inkrement ΔΖ'
des interpolierten Laufzeit-Ausgangssignals werden, wie oben
dargelegt, in die durch den Adresszähler 71 bezeichneten Adressen der Speicher A und B eingeschrieben. Als Inkrementsignal
UP wird an den Speicher A das Zeitsteuersignal TA und an den Speicher B das Zeitsteuersignal TB angelegt. Mit
anderen Worten wird die Schreibadresse des Speichers A durch
• - das Zeitsteuersignal TA und das des Speichers B durch das
Zeitsteuersignal TB jeweils erneuert.
Andererseits wird der Inhalt des Adresszählers 71 nach überschreiten des Vertes V wieder Null. Somit läßt sich
jeder Speicher A oder B zu einem Speicher 72 mit dem in Figur 7 gezeigten Ringaufbau bilden. Bei diesem Aufbau können
Daten in die Speicher A und B entsprechend dem Inkrementsignal UP unbegrenzt eingeschrieben werden. Kehrt dabei die Adresse
jenseits der maximalen Adresse V auf Null zurück, so werden die an der Adresse Null eingespeicherten Daten sodann ge-
löscht, und neue Daten werden eingeschrieben. Das gleiche gilt für die Adresse 1 und die nachfolgenden Adressen.
Wird nun mit ρ der Abtastpunkt und mit M die Anzahl von Laufzeitelementen bezeichnet, so werden die Daten am
p-ten Abtastpunkt mit (p=O, 1, ..., n- 1) bezüglich
des j-sten Laufzeitelement (mit j = 1, 2, ..., M) jeweils
an der Adresse (M χ ρ + j) des Speichers 72 eingeschrieben. Anschließend wird das Auslesen aus den Speichern A und
B nach dem in Figur 8 veranschaulichten Verfahren gesteuert.
Für das Lesen sind Adresspeicher 80, die diejenigen Adressen der Speicher A und B behandeln, von denen Daten ausgelesen
werden, der Anzahl von Elementen zugeordnet. Diese Adressspeicher sind jeweils mit RAn, RA.. , ... und RA- bezeichnet
und generell mit den Bezeichnungen ADM 81 versehen. Eine der Anzahl der Elemente gleiche Anzahl von Speichern ist
erforderlich, weil die jeweiligen Laufzeiten unterschiedliche Intervalle zum Auslesen aufweisen.
Für jede Laufzeit und vor der Bearbeitung wird aus einem (nicht gezeigten) Primärrechner über einen Multiplexer
(MPX) 82 eine Anfangsadresse INIT in den Adresspeicher 81 eingegeben. Diese Anfangsadressen sind für die Speicher A und
B unterschiedlich und werden vorher nach folgenden Schritten berechnet:
IA. = VA - (N . - 1 ) χ Μ + 1 · erster Schritt \ 3 3
IB. = VB - Q. X M + 1;
(Falls IA.=VA: IA. = 0; zweiter Schritt ) 3
(Falls IB.=VB: IB.. = 0.
Hierin bedeuten
die Anfang
die Anfang
j-ste Laufzeitelement,
die Anfangsandresse de
j-ste Laufzeitelement,
die Anfangsandresse de
j-ste Laufzeitelement,
IA. die Anfangsadresse des Speichers A betreffend das IB. die Anfangsandresse des Speichers B betreffend das
N.
VA den Maximalwert der Adressen des Speichers A, VB den Maximalwert der Adressen des Speichers B,
M die Gesamtzahl von Laufzeitelementen, den Wert η in Figur 4 betreffend das j-ste Laufzeitelement,
und
den Wert q in Figur 4 betreffend das j-ste Laufzeitelement.
Während des Vorgangs der Erzeugung der Laufzeit wird ein Zähler (C1) 83 durch das Inkrementsignal UP jeweils
um +1 erhöht, nachdem er durch das Signal RESET entsprechend dem Iterationssignal ITE in Figur 6 zurückgestellt worden
ist. Ferner werden die Inhalte der dem Zähler 83 zugeordneten Adressen des Adresspeichers 81 ausgelesen und über eine
Addierstufe 84 zur Gesamtzahl der Laufzeitelemente entsprechend dem Inkrementsignal UP hinzuaddiert. Das Additionsergebnis
wird wieder in die durch den Zähler 83 angegebene Adresse des Adresspeichers eingeschrieben. Von den somit bezeichneten
Adressen der Speicher A und B werden Daten ausgelesen. Das Inkrementsignal UP bildet das Signal TA in Figur 6 für den
Speicher A und das Signal TB für den Speicher B.
Der Adresspeicher 81 kann den gleichen Umfang von Adressen wie der Adresszähler 81 in Figur 7 handhaben und
maximal die Adresse V bezeichnen. Jeder Speicher A oder B ist wie der oben genannte Speicher 72 aufgebaut. Bei dem
genannten Verfahren können Daten daher aus den Speichern A und B unbegrenzt einfach dadurch ausgelesen werden, daß die
Leseadressen der Speicher A und B für jedes Laufzeitelement
und zeitlich kontinuierlich erneuert werden. Der Maximalwert VA der Adressen des Speichers A und der Maximalwert VB der
Adressen des Speichers B müssen die folgenden Ungleichungen erfüllen:
VA > (MAXN - 1) χ Μ · VB > (MAXQ - 1 ) χ M .
Hierin sind MAXN = MAX (H„,
MAXQ = MAX (QQ,
(18)
Als Speicher A und B können einzelne Speichereinrichtungen vorgesehen sein; es ist auch möglich, eine einzige
Speichereinrichtung in zwei Speicherbereiche zu unterteilen, die als Speicherbereich A und Speicherbereich B verwendet
werden.
Bevorzugte Ausführungsbeispiele der Erfindung sollen nun anhand der Zeichnungen näher erläutert werden. Darin zeigen
Figur 1(A) bis 1(D) Diagramme zur Veranschaulichung eines
herkömmlichen Verfahrens zur Erzeugung einer Laufzeit unter Verwendung eines Digitalspeichers;
Figur 2 ein Diagramm zur Darstellung eines auf der Interpolations-Methode veruhenden Laufzeit-Ausgangssignals;
Figur 3 ein Diagramm zur Darstellung des Zustandes, bei
Figur 3 ein Diagramm zur Darstellung des Zustandes, bei
dem bei der Interpolations-Methode der größte Fehler entsteht;
Figur 4 und 5(A) bis 5(E) Diagramme und schematische Darstellungen
zur Erläuterung der Grundlagen der vorliegenden Erfindung;
Figur 6 ein Impulsdiagramm der grundsätzlichen Steuersignale bei der Arbeitsweise mittels eines nach
der vorliegenden Erfindung arbeitenden digitalen Rechengerätes für Differentialgleichungen (DRD);
Figur 7 eine schematische Darstellung zur Veranschaulichimg eines Steuerverfahrens für das Einschreiben in einen
Digitalspeicher nach der vorliegenden Erfindung; Figur 8 ein schematisches Schaltbild zur Veranschaulichung
eines Steuerverfahrens für das Auslesen aus einem Digitalspeicher entsprechend der vorliegenden Er
findung;
Figur 9(A) bis 9(C) die Schaltungsanordnung eines Ausführungsbeispiels eines DRD, das Arbeitsschritte zur erfindungsgemäßen
Erzeugung einer Laufzeit ausführt; 5 Figur 10 ein Zeitdiagramm einer Pipeline-Steuerung in dem
in Figur 9(A) bis 9(C) gezeigten DRD;
Figur 11 ein Diagramm zur Veranschaulichung des Bit-Aufbaus
eines Operations-Steuerbefehls in dem DRD nach Figur 9(A) bis 9(C);
Figur 12 ein Diagramm zur Darstellung des Aufbaus der
Gleitkomma-Zahlenwertsysterne, wie sie in den
Operationen des DRD nach Figur 9(A) bis 9(C)
angewandt werden; und
Figur 13 die Schaltungsanordnung eines Ausführungsbeispiels/
bei dem die Erfindung auf von Operationen bei einem DRD verschiedene Operationen angewendet wird.
In den Figuren 9(A) bis 9(C) ist das Blockschaltbild
eines DRD (digitales Rechengerät für Differentialgleichungen) gezeigt, das nach der vorliegenden Erfindung arbeitet. Um
hohe Arbeitsgeschwindigkeit zu erreichen,werden die Operationen
des DRD unter einer in Figur 10 gezeigten Pipeline-Steuerung ausgeführt (vgl. japanische Offenlegungsschrift 54-15389).
In jeder Iteration des DRD findet ein Integrationsvorgang statt, der generell in die folgenden drei Operationsphasen
unterteilt und entsprechend diesen ausgeführt wird:
(1) P-Phase - Aufnahmephase
Die Feininkremente ΔΥ. . der j-sten Eingangsvariablen
in der i-ten Iteration werden für j = 1 bis I aufsummiert
und ergeben ein Inkrement ΔY.:
I
ΔΥ. = Σ ΔΥ. . . (19)
ΔΥ. = Σ ΔΥ. . . (19)
(2) Y-Phase - Aktualisierungsphase
In einer der jeweiligen Iteration vorangehenden Periode wird eine Addition zwischen dem Inkrement ΔΥ. und dem (mit
Y1-1) bezeichneten Inhalt des Y-Registers eines Integrators
durchgeführt und das Additionsergebnis wird bei der i-ten Iteration zum Inhalt des Y-Registers gemacht. Das heißt, die
folgende Operation wird ausgeführt:
Y1 = Y1-1 + ΔΥ± . (20)
(3) I-Phase - Integrationsphase
Der genannte Wert Y. und der Inhalt (R-*) eines R-Registers
werden zueinander addiert, ein oder mehrere Bits einschließlich einer Überlaufkomponente werden von dem
(mit R. bezeichneten) Additionsergebnis als ΔΖ. ausgegeben, und das Ergebnis, bei dem ΔΖ . von der Größe R. entfernt
worden ist, wird in das R-Register eingegeben. Somit wird die folgende Operation ausgeführt:
R± = R±-1 + Y± · AX1 - ΔΖ± . (21)
Dabei bedeutet ΔΧ. das Fein-Inkrement der ganzzahligen
unabhängigen Variablen in der i-ten Iteration.
Die Fxguren 9(A) bis 9(C) entsprechen den einzelnen
Operationsphasen. Figur 9(A) zeigt das Blockschaltbild des DRD zur Ausführung der P-Phase, Figur 9(B) das zur Ausführung
der Y-Phase und Figur 9(C) das zur Ausführung der I-Phase.
Die in diesen Figuren dargestellten selbsthaltenden Schalter 9121, 9122, 9123, 9124, 9126, 9127, 9128 und 9129
stellen Puffer dar, die dazu dienen, die Operationen der Pipeline-Steuerung durchzuführen.
Die erfindungsgemäße Berechnung zur Erzeugung der Laufzeit
besteht aus den beiden Teilen der Interpolations-Operation nach Gleichung (11) und der Operation nach Gleichung
(16) zum Berechnen der Änderung des Eingangssignals (Variable) zwischen den Abtastungen. Die erste Operation entspricht
der I-Phase des Integrationsvorgangs, während die zweite Operation einer Operation entspricht, bei der die P- und
die I-Phasen kombiniert sind. Der Inhalt des Y-Registers ist jedoch für die beiden Operationen verschieden. Betrachtet
man ferner die Schreib- und Lesezeiten der Speicher A und B usw. so werden die Y- und'I-Phasen langer als gewöhnliche,
mit dem DRD ausgeführte Integrationsvorgärige. Daher lassen sich die Arbeitsperioden der zur Erzeugung der Laufzeit
erforderlichen jeweiligen Phasen nicht auf eine sämtliche Operationsphasen (P-, Y- und I-Phasen) umfassende Iteration
des DRD beschränken. In dem vorliegenden Ausführungsbeispiel
wird daher der Betrieb zur Erzeugung der Laufzeit in Arbeitszyklen
durchgeführt, die zwei Rechenelementen entsprechen. Gemäß Figur 10 werden für ein Laufzeitelement die Zyklen
N und (N + 1) benützt. Die Operationen der Gleichung (11)
werden in den Phasen Yn und In ausgeführt, während die
Operationen der Gleichung (16) in den Phasen Yn+1 und In+1
ausgeführt werden.
Gemäß Figur 9(A) bis 9(C) überträgt ein Rechner 901
die jeweiligen Ausgangswerte an einen ΔΖ-Speicher 903 zur Aufnahme des Ausgangs-Inkrements ΔΖ^ in der Operation der
Gleichung (21), einen Y-Speicher 904 zur Aufnahme des berechneten Ergebnisses der Gleichung (20), einen ADMA-Adressenspeicher
905 zur Aufnahme der Anfangsadresse IA. in Gleichung (17), einen R-Speicher 906 zur Aufnahme des Rechenergebenisses
der Gleichung (21) sowie ienen ADMB-Adressenspeicher 907 zur Aufnahme der Anfangsadresse IB. in Gleichung (17), wobei
die Übertragungen über eine Sammelleitung 902 sowie Multiplexer 9021, 9022, 9023, 9024 und 9Ο25 erfolgen. Außerdem
überträgt der Rechner 901 einen DRD-Arbeitssteuerbefehl an einen Steuerspeicher.908.
Der Rechner 901 sendet eine vorgegebene Größe an einen Programmzähler 909 zur Bestimmung der Adresse in dem Steuerspeicher
908 sowie den Exponent in der Gleichung (15) an ein BEKI-Register 910. Ferner dient er dazu, Arbeitsbeginn
und -ende einer Steuerstufe 911 zu bewirken, die eine Folge
von zum Betrieb des DRD erforderlichen Zeitsteuersignalen erzeugt.
Der Betrieb des DRD läuft so ab, daß der jeweilige Arbeitssteuerbefehl, der an der durch den Programmzähler
angegebenen Adresse PC aus dem Steuerspeicher 908 ausgelesen wird, entsprechend der von der Steuerstufe 911 erzeugten Folgen
von Zeitsteuersignalen ausgeführt wird.
Der Arbextssteuerbefehl, der an der durch den Programmzähler 909 angegebenen Adresse gespeichert ist, weist einen
Bitaufbau auf, bei dem die für eine Operation in einer vorgegebenen Iteration (z.B. der i-ten Iteration) zu ver-
wendende Recheneinheit, der zugeordnete Operationsmodus, usw. bezeichnet sind.
Figur 11 zeigt ein Beispiel des Bitaufbaus des Arbeitssteuerbefehls .
Unter den verschiedenen Teilen der Figur 11 bezeichnet
EL die Art der Recheneinheit, die zur Ausführung einer gewünschten Operation zu benützen ist, während mit ΔΧΑ diejenige
Adresse des ΔΖ-Speichers 903 bezeichnet ist, an der das Fein-Inkrement ΔΧ. der ganzzahligen unabhängigen Variablen
in Gleichung (21) gespeichert ist. DT bezeichnet eine Ein-Bit-Markierung,
die angibt, ob es sich bei dem genannten Wert ΔΧ. um das Zeitinkrement At handelt, und P gibt die Polarität
der genannten Größe ΔΧ. an. ΔY* , ΔY 2 und AY3 (in dem
vorliegenden Ausführungsbeispiel ist angenommen, daß die Anzahl der Eingänge drei beträgt), stellen diejenigen Adressen
des ΔΖ-Speichers 903 dar, an denen die Größen ΔΥ. Λ, ΔΥ. o bzw.
1,1 1,ί
ΔΥ. 3 der Gleichungen (16) und (19) gespeichert sind. P1, P2
und P3 stellen Ein-Bit-Markierungen zur Steuerung der Polaritäten
der genannten Größen ΔΥ. Λ, ΔΥ. „bzw. ΔΥ. ~ dar.
Im folgenden sollen die Funktionen der Schaltungsanordnung nach Figur 9(A) bis 9(C) im einzelnen anhand eines Beispiels
beschrieben werden, bei dem die erfindungsgemäße Arbeitsweise zur Erzeugung der Laufzeit auf der Grundlage des Arbeitssteuerbefehls mit dem Bitaufbau nach Figur 11 ausgeführt
wird.
In dem Beispiel der Figur 11 wird als Recheneinheit DLY1
die N-te Recheneinheit angenommen, die den Interpolationsvorgang nach Gleichung (11) in den Operationsphasen Y„ und In
gemäß Figur 10 ausführt, während die (N + 1)-ste Recheneinheit als Recheneinheit DLY11 zur Durchführung der Operation angenommen
wird, mit der die Änderung des Eingangssignals im Abtastintervall gemäß Gleichung (16) in den Operationsphasen
P- und Yn+1 in Figur 10 erhalten wird.
Ist die durch den Programmzähler 909 angegebene Adresse gleich N, so wird der Arbeitssteuerbefehl der Recheneinheit
DLYT aus dem Steuerspeicher 908 ausgelesen. Dieser Befehl
wird durch einen Decoder 913 decodiert, und die decodierten Signale der jeweiligen Befehlsteile werden den entsprechenden
Schaltungsteilen zugeführt.
Das decodierte Ergebnis des Teils EL, das die Art der zu verwendenden Recheneinheit angibt, wird der Steuerstufe
911 zugeführt. Beim Empfang dieses Signals erzeugt die
Steuerstufe 911 die Zeitsteuersignale zur Ausführung der angegebenen Operation zur Erzeugung der Laufzeit auf der
Grundlage der Pipeline-Steuerung und überträgt diese an die vorgegebenen Schaltungsteile. Zur Ausführung des Interpolationsvorgangs
nach Gleichung (11) überträgt im Falle der Recheneinheit DLY_ die Steuerstufe 911 ein Aufsteuersignal
(ENABLE) an die Klemmen E des ΔΖ-Speichers 903, des Y-Speichers 904 und des ADMÄ-Adressenspeichers 905 und sendet außerdem
die für die Bearbeitung der Gleichung (11) erforderliche
Folge von Zeitsteuersignalen aus. In Figur 9(A) bis 9(C)
sind die Verbindungsleitungen zwischen der Steuerstufe 911 und diesen Klemmen zur Vereinfachung der Darstellung weggelassen.
In der Ρ-,-Phase der Recheneinheit DLYT werden die
decodierten Ergebnisse (ΔΥ--), (ΔΥΆ2) und (ΔΥ ,) der jeweiligen
Adressen ΔΥΑ1, ΔΥ ~, und ΔΥΆ3 wie im Falle anderer Recheneinheiten
der Adressenklemme A des ΔΖ-Speichers 903 zugeführt, und die Werte ΔΥ. . ( mit j = 1, 2 und 3) werden nacheinander
1 f J
an den angegebenen Adressen ausgelesen und in ein ΔΥ-Register
914 eingegeben.
Der in das ΔΥ-Register 914 eingegebene Wert ΔΥ. . sowie
der Inhalt (SDY. _ = O) eines SDY-Registers 915, das'durch
ι ,u
■ das Arbeitszeitsteuersignal ELC in Figur 6 vor der i-ten
Iteration zurückgesetzt wird, werden einem FADD-Gleitkommaaddierer
916 zugeführt, der die folgende Gleitkomma-Operation ausführt:
SDYi,0+ AYi,1 = ΔΥΪ,1· (22)
Das Ergebnis ΔΥ. 1 wird in das SDY-Register 915 als Größe
SDY. 1 eingegeben.
- -27 --
An dieser Stelle seien die Zahlenwert-Systeme der in dem erfindungsgemäßen DRD gehandhabten Daten anhand von
Figur 12 kurz erläutert. Bei den in den Operationen benützten Variablen handelt es sich um Gleitkomma-Zahlen, die
dem Zahlenwert-System nach dem Datenformat A oder B entsprechen. Die zu dem Datenformat A gehörenden Variablen sind
der Integrand Y, der ganzzahlige Rest R, die Summe SDY der Eingangsvariablen, sowie derartige Größen, die nicht mit
einem Inkrement-Format arbeiten. Zu den Variablen des Datenformats B gehören andererseits das Fein-Inkrement ΔΥ der
Eingangsvariablen, das Fein-Inkrement ΔΧ der ganzzahligen unabhängigen Variablen, das Fein-Inkrement ΔΖ der Ausgangsvariablen,
sowie derartige Größen, die Inkrement-Format aufweisen.
Nach Berechnung der Gleichung (22) werden der in dem ΔΥ-Register 914 enthaltene Wert ΔΥ. o sowie der Inhalt (SDY
1,Z 1,1
= ΔΥ. ..) des SDY-Registers 915 dem Gleichkomma-Addierer 916
zugeführt, der die folgende Operation ausführt:
SDYi,1 + ΔΥΐ,2 =ΔΥΐ,1 + ΔΥΐ,2· {23)
Das Ergebnis wird als Größe SDY. 2 in das SDY-Register
915 eingegeben.
Durch Wiederholung ähnlicher Operationen werden die
Größen ΔΥ± nach Gleichung (19) als Größen SDY. Ä = SDY± 3
im SDY-Register 915 erhalten.
In den obigen Operationen entsprechen das SDY-Register
In den obigen Operationen entsprechen das SDY-Register
915 sowie der Gleitkomma-Addierer 916 Akkumulatorspeichern.
Ist das decodierte Ergebnis (P1), (P2) oder (P^) des
Polaritätsbits negativ, so erfolgt die Addition von SDY. .
und dem Zweier-Komplement bezüglich des negativen Fein-Inkrements
in dem Gleitkomma-Addierer 916. Ist beispielsweise die Größe ΔΥ. „ negativ geworden/ so wird die folgende
Operation durchgeführt:
SDY. - ΛΥ. „ = ΔΥ. , - ΔΥ. _ . (24)
Hat nun die Markierung (DT) angezeigt, daß die Größe ΔΧ., die an der vom decodierten Ergebnis (ΔΧ ) der
1 Ά
Adresse ΔΧ angegebenen Adresse des ΔΖ-Speichers 903 ausgelesen
worden ist, dem Zeitinkrement At entspricht, so wird die genannte Größe ΔΧ. in ein ΔΧ-Register 917 eingegeben.
Bei der Recheneinheit DLYT bezeichnen die Adressen
ΔΥ . - ΔΥ. 3 spezielle Adressen derart, daß die Zahlenwerte
innerhalb des ΔΖ-Speichers 903 zu Null werden, und auch der Inhalt des SDY-Registers 915, der in der PN~Phase erhalten
wird, wird zu Null. Die Operationen der P^-Phase werden zwar nach dem gleichen Vorgang wie in den anderen
Recheneinheiten durchgeführt, die in dem SDY-Register erhaltenen Werde werden jedoch nicht benützt.
In der nächsten YN-Phase werden die Werte SDY, Pc,
ΔΧ und P , die in der Ρ,,-Phase erhalten werden, zunächst
in die Schalter 9121 bis 9124 zur Pufferung eingegeben. Danach wird der in dem Y-Speicher 9O4 enthaltene Gradient
Y., der in der Operation nach Gleichung (11) verwendet wird,
ausgelesen und dem Schaltkreis für die nächste I---Phase zugeführt.
Das Auslesen des Gradienten erfolgt derart, daß der Inhalt des Puffer-Schalters 9121, der den Ausgang des Programmzählers
909 enthält, in dem Y-Speicher 904 eingegeben wird, woraufhin dieser durch das Aufsteuersignal aus der
Steuerstufe 911 aufgesteuert wird. Der Gradient Y. wird aus
der in ihrer Nummer der Recheneinheit entsprechenden Adresse des Y-Speichers 904 ausgelesen und in ein Y-Register
925 eingegeben. Über einen mit einem Akkumulator versehenen FADD-Gleitkommaaddierer 926 wird der Gradient der Schaltung
nach Figur 9(C) zur Durchführung der IN~Phase zugeführt.
In der I^-Phase der Recheneinheit DLY_ werden die von
der Schaltung nach Figur 9(B) zugeführten Größen P , Υ, ΔΧ
und P in die Schalter 9126 bis 9129 zur Pufferung eingegeben.
5 Sodann werden die Operation des Schrittes 1 nach Gleichung (11)
oder die Interpolations-Operation für jedes Zeitinkrement At sowie die Umwandlung des Ausgangssignals in das Inkrement-Format
durchgeführt. Zusätzlich wird die der Größe q*At nach
Figur 4 entsprechende Laufzeit durch Einschreiben der Daten in den Speicher B und Auslesen von Daten aus diesem Speicher
erzeugt. Schließlich wird das Ausgangssignal mit der Laufzeit T = m-n«At + q-At bereitgestellt.
Der Interpolationsvorgang nach Gleichung (11) wird dadurch
begonnen, daß der Inhalt Y^ des Puffer-Schalters 9127
mit dem Inhalt AX1 des Puffer-Schalters 9128 über eine
Multiplizierstufe 927 multipliziert wird. Der Ausgang Υ^'ΔΧ^
der Multiplizxerstufe 927 wird in einem FADD-Gleitkomma-Addierer zu dem aus dem R-Speicher 906 vor einer Iteration
vorhandenen ganzzahligen Rest R-* hinzuaddiert. Das Ergebnis
durchläuft den Addierer 928 und wird einem Decoder 929 zugeführt. Dieser Decoder 929 bildet das Inkrement ΔΖ . ' , "in dem
die Mantisse (m1 + 1) - m2 aus einem Bis mehreren Bit gemäß dem Datenformat B nach Figur 12 besteht. Das Inkrement ΔΖ.1
wird an einen IDM-Speicher 9 30 gesandt. Der mit dem Addierer
928 erhaltene Rest R., bei dem das Inkrement ΔΖ.' von dem ganzzahligen Wert entfernt worden ist, wird über den Multiplexer
9024 an derjenigen Adresse des R-Speichers 906 gespeichert, die in ihrer Nummer der durch den Puffer-Schalter
9129 bezeichneten Recheneinheit DLY1 entspricht.
Das an den IDM-Speicher 930 gesendete Inkrement ΔΖ.'
wird in diesen Speicher, der dem Speicher 72 nach Figur 7 entspricht, nach dem anhand von Figur 7 erläuterten Verfahren
eingespeichert. Dabei entspricht der IDM-Speicher 930 dem Speicher B und der ADCB-Adresszähler 931 dem Adresszähler
Der Inhalt des ADCB-AdressZählers 931 wird über einen Multiplexer
932 an die Klemme A des IDM-Speichers 9 30 angelegt und an der durch das Ausgangssignal des Multiplexer 9 32 bestimmten
Adresse eines SDM-Speichers 918 mittels des AufSteuersignals
(E) aus der Steuerstufe 911 eingespeichert.
Das Auslesen des Ausgangsinkrements ΔΖ. mit der Laufzeit
T' aus dem IDM-Speicher 930 erfolgt, sobald der obige Schreibvorgang beendet ist.
- 3Ό -
Der ADMB-Speicher 907 in Figur 9(C) entspricht dem Adressenspeicher ADM 81 in Figur 8, während der CI-Zähler
933 in Figur 9(C) dem CI-Zähler 83 nach Figur 8 entspricht. Der CI-Zähler 933 wird bei jedem Impuls des durch die
Steuerstufe 911 erzeugten Iterationssignals ITE (in Figur 6) zurückgesetzt. Das Auslesen des Inkrements ΔΖ. beginnt derart,
daß der Inhalt des CI-Zählers 933 dem Adressenanschluß A des ADMB-Adressenspeichers 907 zugeführt und die Adresse
J des IDM-Speichers 930, an der die gewünschte Größe ΔΖ.
gespeichert ist, aus dem ADMB-Adressenspeicher 907 durch das Aufsteuersignal (E) aus der Steuerstufe 911 ausgelesen
wird. Da das Zeitsteuersignal TB1 "aus" bleibt, wird zu
der ausgelesenen Adresse J nicht die oben erwähnte Größe M in einer Addierstufe 9 34 hinzuaddiert. Die Adresse J
wird über den Multiplexer 932 dem Adressenanschluß A des IDM-Speichers 930 zugeführt. Danach wird das gewünschte
Ausgangs-Inkrement ΔΖ. durch das Auf steuersignal .(E) aus
der Steuerstufe 911 aus dem IDM-Speicher 930 ausgelesen.
Das auf diese Weise ausgelesene Ausgangsinkrement ΔΖ.
mit der Laufzeit T wird an der der Recheneinheit DLYT entsprechenden
Adresse (N) des A'Z-Speichers 903 über einen Multiplexer 9240 und den Multiplexer 9021 in Figur 9(A)
eingeschrieben.
Nach Erhalten des gewünschten Laufzeit-Ausgangssignals
wird zum Inhalt der der Recheneinheit DLYT entsprechenden
Adresse (Inhält des Zählers 9 33) des ADMB-Adressenspeichers 907 die erwähnte Größe M über die Addierstufe 9 34 hinzuaddiert,
und die Summe wird über den Multiplexer 9 25 an der der Recheneinheit DLY1 entsprechenden Adresse des ADMB-Adressenspeichers
907 wieder eingespeichert, um den resultierenden Inhalt für die Operation der Recheneinheit DLY
bei der nächsten Iteration verwenden zu können. Die Inhalte des CI-Zählers 933 und des ADCB-Adresszählers 931 werden
mit Abfallen des Zeitsteuersignals TB in Figur 6 um 1 erhöht. Dieser mit der Addierstufe 934 ausgeführte Vorgang
der Erhöhung um 1 wird mittels des Zeitsteuersignals TB1
bewirkt, das durch die Steuerstufe 911 erzeugt wird und
I -
etwas eher abfällt als das Zeitsteuersignal TB.
Damit ist die Folge von Arbeitsschritten der Rechenheit
DLY1 beendet. Im folgenden sollen die Funktionen der Recheneinheit DLY_ im einzelnen beschrieben werden, die
5 Operationen zum Auffinden der Änderung (SDYp) des Eingangssignals des Laufzeitelements in dem Abtastintervall gemäß
Gleichung (16) für das Laufzeitelement nach der vorliegenden
Erfindung ausführt.
Zunächst wird in der Operationsphase Pn+1 gemäß Figur
10 eine Summierung des Eingangssignals der Recheneinheit DLY11 während der i-ten Iteration erhalten. Dieser Vorgang
wird durch die Schaltung nach Figur 9(A) ausgeführt und erfolgt in der gleichen Weise wie in der P^-Phase der Recheneinheit
DLY .
In der nächsten Yn ..-Phase werden wie in der Y^-Phase
der Recheneinheit DLYT die Werte SDY, PC, ΔΧ und P , die
in der P ..-Phase erhalten werden, in die Puffer-Schalter
9121 bis 9124 eingegeben. Danach werden die im folgenden angegeben bestimmten Operationen durchgeführt.
In der Y ..-Phase werden die Änderungen des Eingangssignal
im Abtastintervall bei den jeweiligen Iterationen aufaddiert. Zu diesem Zweck wird die der jeweiligen Iteration
vorhergehende Größe Y1* aus dem der Recheneinheit DLY11
entsprechenden Y-Speicher 904 ausgelesen und über einen Multiplexer 9-24 in das Y-Register 925 eingespeichert. Der Inhalt
Y1-1 des Y-Registers 925 sowie der Inhalt SDY1 des
Pufferschalters 9122 werden dem FADD-Gleitkomma-Addierer zugeführt, der die folgende Operation durchführt:
Y1 = Y1-1 + SDY1. (25)
Die so erhaltene Größe Y1 wird über den Multiplexer 924
dem SDM-Speicher 918 zugeführt.
Als nächstes wird untersucht, ob es sich bei der gegenwärten
i-ten Iteration um eine einem Abtastpunkt entsprechende Iteration (vgl. Figur 4) handelt. Ist dies nicht der Fall,
so wird der über den Addierer 926 erhaltene Wert Y. über die Multiplexer 924 und 9022 an der der Recheneinheit
DLY-.. entsprechenden Adresse des Y-Speichers eingespeichert.
Entspricht dagegen die gegenwärtige Iteration dem Abtastpunkt, so wird der Wert Y. dem in Figur 7 veranschaulichten
Verfahren in den SDM-Speicher 918 eingeschrieben. Gleichzeitig wird die Änderung SDY des Eingangssignals der Recheneinheit
DLY11 im Abtastintervall, die in der (p - η + 1)-ten
Iteration eingespeichert worden ist, nach dem in Figur 8 veranschaulichten Verfahren aus dem SDM-Speicher 918 ausgelesen
und zur Berechnung des Exponenten nach Gleichung (15)
verwendet, um den Gradient Y. zur Verwendung in Gleichung
(11) zu erhalten, und dieser Gradient Y. wird an der der
Recheneinheit DLY-]- entsprechenden Adresse des Y-Speichers
904 eingespeichert.
Die Steuerstufe 911 entscheidet, welcher der Vorgänge durchgeführt wird. Das von der Steuerstufe 911 anschließend
ausgegebene Zeitsteuersignal TA nach Figur 6 wird einem CS-•
Zähler 919 und einem ADCA-Adresszähler 920 in Figur 9(B)
zugeführt, wodurch die obigen Vorgänge vertauscht werden. Das letztere Verfahren soll nachstehend in einzelnen
erläutert werden
Der SDM-Speicher 918 nach Figur 9(B) entspricht dem Speicher A, der CS-Zähler 919 dem C1-Zähler 83 nach Figur 8,
der ADMA-Adressenspeicher 905 dem ADM-Adressenspeicher 81 nach Figur 8 und der ADCA-Adresszähler 920 dem ADC-Zähler
71 nach Figur 7.
Das Einschreiben des Gradienten Y. in den SDM-Speicher 918 erfolgt derart, daß der Inhalt des ADC-Adress-Zählers
über einen Multiplexer 921 der Α-Klemme des SDM-Speichers zugeführt und an der durch den Inhalt des AdressZählers 9
angegebenen Adresse durch das von der Steuerstufe 911 gleichzeitig
mit dem Zeitsteuersignal TA ausgegebene Aufsteuersignal eingeschrieben.wird.
Als nächstes wird beim Auslesen der obigen Daten aus dem SDM-Speicher 918 diejenige Adresse des ADMA-Adressen-
Speichers 905, deren Inhalt mit dem Inhalt des CS-Zählers 919 oder mit der Adresse des die auszulesenden Daten
speichernden SDM-Speichers 918 übereinstimmt, der A-Klemme des Adressenspeichers 905 zugeführt. Das von der Steuerstufe
911 ausgegebene Aufsteuersignal wird der E-Klemme
dieses Adressenspeichers 905 zugeführt. Die genannte Adresse wird sodann aus dem Adressenspeicher 905 ausgelesen und
der Α-Klemme des SDM-Speichers 918 über den Multiplexer zugeführt, ohne daß eine Erhöhung um eins erfolgt.
Die gewünschten Daten oder die Änderung des Eingangssignals der Recheneinheit DLYj1 in» Abtastintervall werden
durch das Aufsteuersignal aus der Steuerstufe 911 ausgelesen.
Die ausgelesenen Daten werden durch einen Decoder
922 in den Exponenten (1 bis m1) und die Mantisse (m1 +
bis m2) gemäß den in Figur 12 gezeigten Datenformat A getrennt. Der abgetrennte Exponent wird über einen Addierer
923 zum Inhalt des BEKI-Registers 910 hinzuaddiert, der vor
der Operation vom Rechner 901 über die Sammelleitung 902 gesetzt worden ist. Die so gebildete Summe wird zusammen
mit der Mantisse über die Multiplexer 9 24 und 9022 an den Y-Speicher 904 gesendet.
Der so ausgerechnete Gradient Y. wird an der der Recheneinheit DLY1 entsprechenden Adresse des Y-Speichers 904
eingeschrieben. Zusätzlich wird der numerische Wert Null über den Multiplexer 9022 an der der Recheneinheit DLY1-entsprechenden
Adresse des Y-Speichers 904 eingeschrieben.
Nach dem obigen Verfahren ist der Gradient Y. zur Verwendung in Gleichung (11) erhalten worden. Sodann wird zum
Inhalt an der Adresse (Inhalt des CL-Zählers 919) des
ADMA-AdressenSpeichers 905 entsprechend der Recheneinheit
DLY11 der obige Wert M über eine Addierstufe 935 hinzuaddiert
und die Summe wird wiederum an der der Recheneinheit DLY entsprechenden Adresse des Speichers 905 über den
Multiplexer 9023 eingespeichert. Beim Abfallen des Zeit-Steuersignals
TA in Figur 6 werden die Inhalte des CS-Zählers 919 und des ADCA-Adressenzählers 920 um eins erhöht.
Dieser durch die Addierstufe ausgeführte Additionsvorgang wird mittels des Zeitsteuersignals TA1 bewirkt, das von
der Steuerstufe 911 ausgegeben wird und etwas eher abfällt,
als das Zeitsteuersignal TA.
Der CS-Zähler 919 wird bei jedem von der Steuerstufe
911 ausgegebenen Iterationssignal (ITE in Figur 6) zurückgestellt.
Vorstehend ist ein Ausführungsbeispiel im einzelnen erläutert worden, bei dem das erfindungsgemäße Verfahren zur
Erzeugung der Laufzeit bei einem digitalen Rechengerät für Differentialgleichungen angewendet wird. Im folgenden soll
ein Ausführungsbeispiel kurz beschrieben werden, bei dem die Erfindung auf ein von einem derartigen DRD verschiedenen
Gerät angewendet wird.
Figur 13 zeigt' ein Blockschaltbild für ein derartiges
Ausführungsbeispiel. Bei dem in dem strichpunktierten Kasten enthaltenen Schaltungsteil 1300 handelt es sich um die
Schaltung in dem DRD entsprechend Figur 9(A). Dieser Schaltungsteil
dient zum Ausrechnen der Änderung des Eingangssignals im Abtastintervall sowie zur Berechnung des Gradienten
zur Verwendung bei der Interpolation mit der Änderung. In ähnlicher Weise handelt es sich bei dem in einem gestrichelten
Kasten gezeigten Schaltungsteil 1301 um die Schaltung in dem DRD entsprechend Figur 9(C). Dieser Schaltungsteil
dient für den Interpolationsvorgang unter Verwendung des durch den Schaltungsteil 1300 bei jeder Iteration
ausgerechneten Gradienten und ermittelt ein Ausgangssignal mit der gewünschten Laufzeit.
Die in Figur 13 gezeigte Schaltung zur Erzeugung der Laufzeit stellt lediglich die Laufzeit bereit. Als Eingangssignal
liegt die Größe Y an einer Klemme 131, und als Ausgangssignal wird die Größe Z an einer Klemme 132 abgegeben.
Anders als bei dem DRD werden die Eingangs- und Ausgangssignale nicht im Inkrement-Format gehandhabt, sondern
5 durch das Datenformat A nach Figur 12 wiedergegeben.
Ferner handelt es sich bei der Steuerschaltung 1302 für den Speicher A um die gleiche Schaltung wie sie in
Figur 9(B) dargestellt ist, die den Multiplexer 9023, die den ADMA-Adressenspeicher 905, den CS-Zähler 919,
den ADCA-Adresszähler 920, die Addierstufe 935 und den
Multiplexer 921 umfaßt. Diese Schaltung 1302 steuert die Adressen eines SDM-Speichers 1303 beim Einschreiben und Auslesen
des Eingangssignals e. (Y). Bei der Steuerschaltung 1304 für den Speicher B handelt es sich um die gleiche
Schaltung wie die nach Figur 9(C), die aus den Multiplexern 9025, dem ADMB-Adressenspeicher 907, dem CI-Zähler 933,
dem ADCB-Adresszähler 931, der Addierstufe 934 und dem
Multiplexer 932 besteht. Diese Schaltung 1304 steuert die Adressen eines IDM-Speichers 1305 beim Einschreiben und Auslesen.
Als Übertragungsleitung dient eine Sammelleitung 1308,
die Informationen von einem (nicht gezeigten) Rechner überträgt. Die Leitung führt die Anfangsadresse IA. in Gleichung (17)
zur Einspeicherung in den ADMA-Adressenspeicher innerhalb der Steuerschaltung für den Speicher A, die Anfangsadresse IB.
in Gleichung (17) zur Einspeicherung in den ADMB-Adressenspeicher
innerhalb der Steuerschaltung für den Speicher B, sowie einen Index (= -b) zur Verwendung in der im folgenden
beschriebenen Gradienten-Berechnung nach Gleichung (26) an die jeweiligen Schaltkreise. Ferner überträgt die Sammelleitung
1308 ein Steuersignal zum Beginnen oder Beendigen des Betriebs einer Steuerstufe 1306, die eine für die Berechnung
der Laufzeit erforderliche Folge von Zeitsteuersignalen erzeugt.
Im Vergleich mit dem Ausführungsbeispiel für das DRD unterscheidet sich die Rechenschaltung nach Figur 13 nur
in dem Schaltungsteil zur Ausrechnung des Gradienten für die Verwendung bei der Interpolation aus dem Eingangssignal
sowie in dem Verfahren der Interpolations-Operation. Da die Schreib- und Lese-Steuerungen für den SDM-Speicher 1303 und
den IDM-Speicher 1305 auf der Basis der Zeitsteuersignale
in Figur 6 sowie nach Verfahren erfolgt, die denen beim DRD ähnlich sind, seien sie hier nur kurz erläutert.
Die Arbeitsweise des Ausführungsbeispiels nach Figur 13 zur Erzeugung der Laufzeit beginnt derart, daß von dem
Rechner über die Sammelleitung 1308 ein Startsignal an die Steuerstufe 1306 übertragen wird. Beim Beginn der Arbeitsweise
führt die Steuerstufe 1306 bestimmten Schaltungsteilen nach Figur 13 ein Rückstellsignal RST zu, um deren Inhalte
zu löschen. Danach stellt die Steuerstufe 1306 die zur Erzeugung der Laufzeit erforderliche Folge von Zeitsteuersignalen
bereit.
Das in Figur 13 gezeigte Ausführungsbeispiel führt zunächst mit Hilfe des Schaltungsteils 1301 Operationen durch,
die der Recheneinheit DLY1 des DRD entsprechen, und anschließend
mit Hilfe des Schaltungsteils 1300 Operationen, die der Recheneinheit DLA11 des DRD entsprechen. Damit sind
die Operationen einer Iteration beendet.
Beim Interpolationsvorgang wird ein mit dem Schaltungsteil 1300 in dem unmittelbar vorhergehenden Abtastintervall
berechneter Gradient G ,der unten angegeben ist, aus derjenigen Adresse eines Y-Speichers 1307 ausgelesen, die der
Nummer des jeweiligen Laufzeitelements entspricht, und in
das Y-Register 13080 eingegeben:
(ΔΥ _+1(E) - b)
Gp = AVq+1(M)'2 * (26)
Die Indices ρ und q in Gleichung (26) sind mit denen in Figur 4, die Variable b mit der in Gleichung (12) identisch
.
Anschließend wird das Ergebnis Z1.. der der jeweiligen
Iteration vorhergehenden Interposition aus derjenigen Adresse eines Z-Speichers 1309 ausgelesen, die der Nummer des jeweiligen
Laufzeitelements entspricht, und mittels eines FADD-•
Gleitkomma-Addierers 1310 zu dem den Inhalt des Y-Registers
13080 bildenden Gradienten G hinzuaddiert. Das Additionsergebnis wird mit mit Z' bezeichnet:
Z1 = Z' + G . (27)
χ χ— ι ρ
Das Ergebnis Z'. wird an der gleichen Adresse des Z-Speichers
1309 eingespeichert wie. die obere Größe Z1.,.
Gleichzeitig wird mit Hilfe des Steuerkreises 1304 für den
Speicher B ein Vorgang durchgeführt, der dem für die Rechenschaltung des DRD beschriebenen Vorgang ähnlich ist, um das
Ergebnis Z1. in den IDM-Speicher 1305 einzuspeichern. Indem
als Adresse der Inhalt eines dem ADCB-Adresszähler nach Figur 9(C) entsprechenden Zählers innerhalb der Steuerschaltung
1304 für den Speicher B verwendet wird, wird das Ausgangssignal Z. mit der gewünschten Laufzeit aus dem IDM-Speicher 1305
ausgelesen. Dieses Signal wird in ein BR3-Pufferregister 1311
eingegeben und an der Ausgangsklemme 132 einem weiteren Rechenelement zugeführt.
Der insoweit beschriebene Interpolationsvorgang wird unter Verwendung des in Figur 6 gezeigten Zeitsteuersignals TB
als Basissignal ausgeführt.
Im folgenden soll das Verfahren zur Erzielung des Gradienten G zur Durchführung der Operation nach Gleichung (26)
mittels des Schaltungsteils 1300 erläutert werden.
Der Gradient G wird in jeder Tastperiode h, ausgedrückt nach Gleichung (12) ausgerechnet. Dazu wird das Eingangssignal
Y in den SDM-Speicher 1303 auf der Basis des Zeitsteuersignals TA nach Figur 6 eingeschrieben. Die Schreibsteuerung erfolgt
dabei mittels der Steuerschaltung 1302 des Speichers A, wobei dieser Vorgang hier nicht erläutert werden soll, da er mit
dem Vorgang beim DRD gleich ist. Nach Einspeicherung des Abtastwertes Y des Eingangssignals in den SDM-Speicher 13O3,
wird der (p - q + 1)-te Abtastwert Y+1 des jeweiligen
Laufzeitelements aus der durch die Steuerschaltung 1302 des
Speichers A angegebenen Adresse des SDM-Speichers 1303 ausge-
lesen und in ein BR1-Pufferregister 1312 eingegeben. Der
Inhalt dieses Pufferregisters 1312 wird mit Hilfe eines FADD-Gieitkomma-Addierers
1314 zum Inhalt eines weiteren BR2-Pufferregisters 1313 addiert, und die Änderung des Eingangssignals
wird nach folgender Gleichung ausgerechnet:
- Vq ■ (28)
Die Änderung ΔΥ _ .. wird mittels eines Decoders 1315 in
eine Mantisse und einen Exponenten aufgeteilt. Der Exponent wird mittels einer Addierstufe 1316 zu dem vorher
durch den Computer in ein BEKI-Register 1317 eingegebenen
Inhalt (= -b) addiert, und die so erhaltene Summe wird wiederum an der dem jeweiligen Laufzeitelement entsprechenden
Adresse des U-Speichers zusammen mit der obengenannten Mantisse eingeschrieben. Gleichzeitig wird der Inhalt
des BR1-Registers in das Register BR2 eingegeben und für die Berechnung des Gradienten im nächsten Abtastintervall
verwendet.
Das Ausführungsbeispiel für den Fall, daß das erfindungsgemäße Verfahren zur Erzeugung der Laufzeit auf eine
von einem DRD verschiedene Rechenschaltung angewandt wird, ist nach Aufbau und Arbeitsweise oben beschrieben worden.
Bei den Ausführungsbeispielen nach Figur 9(A) bis 9(C) und nach- Figur 13 handelt es sich um Rechenschaltungen,
die als Gleitkomma-Zahlen ausgedrückte Daten handhaben.
Festkomma-Operationen lassen sich mit der gleichen Schaltungsanordnung
mit Ausnahme des Decoders und des Addierers, die zur Gradientenberechnung verwendet werden, ausführen.
In diesem Fall werden der Decoder und der Addierer durch ein Schiebeglied ersetzt, mittels dessen die Mantisse des Gradienten
auf den Betrag des Exponenten dieses Gradienten verschoben wird, und nur die sich ergebende Mantisse wird als
Wert des Gradienten benützt.
Wie oben erläutert, gestattet es die Erfindung, die für
320108
die Erzeugung einer Laufzeit erforderliche Speicherkapazität auf etwa 1/90 derjenigen Speicherkapazität herabzusetzen,
die bei einem Verfahren benötigt wird, bei dem lediglich ein Eingangssignal abgetastet und nach Verstreichen der Laufzeit
wieder ausgelesen und rekonstruiert wird. Dank der Verwendung eines einfachen Speicher-Steuersystems ist es ferner möglich,
eine lange Laufzeit mit hoher Geschwindigkeit und hoher Genauigkeit zu erzeugen, indem lediglich die Speicherkapazität
erhöht wird. Die Erfindung ist also außerordentlich effizient.
PS/Ug/üS
Claims (9)
- SCHIFF ν. FÜNER STREH L "* SCH Ü BEL-H OPF EBBINGHAUS FINCKMARIAHILFPLATZ 2 Λ 3, MÜNCHEN ΘΟ POSTADRESSE: POSTFACH 95Ο16Ο, D-BC)OO MDNC; iüN 95Hitachi, Ltd.Hitachi Denshi K.K. 15. Januar 1981DEA-25656VERFAHREN ZUR ERZEUGUNG EINER LAUFZEITPATENTANSPRÜCHE^ 1/) Verfahren zur Erzeugung einer Laufzeit, wobei ein Eingangssignal jedes Arbeitszyklus nach der gewünschten Laufzeit ausgegeben wird, gekennzeichnet durch die folgenden Verfahrensschritte:(a) das Eingangssignal wird mit einer einem ganzzahligen Vielfachen (mindestens 2-fachen) einer Zykluszeit des Arbeitszyklus abgetastet, an jedem Abtastpunkt wird die Änderung des Eingangssignals innerhalb eines Abtastintervalls zwischen dem jeweiligen und dem benachbarten Abtastpunkt ausgerechnet, und diese Variationen werden nacheinander in eine erste Speichereinrichtung eingespeichert;(b) die Änderung in einem einer vorgegebenen Abtastzahl vorangehenden Abtastintervalls wird in jedem Abtastintervallaus der ersten Speichereinrichtung ausgelesen; und (c) das Eingangssignal jedes Arbeitszyklus in dem vorhergehenden Abtastintervall wird durch einen auf der ausgelesenen Variation und der Abtastperiode beruhenden Interpolationsvorgang angenommen, und ein dem angenommenen Wert entsprechender Weirt als Ausgangssignal des Laufzeitelements für das Eingangssignal jedes Arbeitszyklus ausgegeben.
- 2. Verfahren nach Anspruch 1, dadurch gekenn ζ eic hn e t , daß im Verfahrensschritt (c) die angenommenen Werte der jeweiligen Arbeitszyklen in eine zweite Speichereinrichtung eingespeichert werden und diese eingespeicherten Werte in einem einer vorgegebenen Arbeitszykluszahl vorangehenden Arbeitszyklus aus der zweiten Speichereinrichtung in jedem Arbeitszyklus ausgelesen und als der dem angenommenen Wert entsprechende Wert verwendet.
- 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die vorgegebene Abtastzahl ein Quotient ist, der durch die Vision der Laufzeit durch die Abtastperiode erhalten wird.
- 4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die vorgegebene Arbeitszykluszahl ein Quotient ist, der dadurch erhalten wird, daß ein bei der Division der Laufzeit durch die Abtastperiode sich ergebender Rest weiterhin durch die Arbeitszykluszeit dividiert wird.
- 5. Verfahren nach Anspruch 1 oder 4, dadurch gekennzeichnet, daß im Verfahrensschritt (c) der Interpolationsvorgang auf der Basis der Abtastperiode unter Verwendung einer Größe durchgeführt wird, die durch Division der Änderung durch die Abtastperiode gewonnen wird, wozu das Eingangssignal im Gleitkomma-Format mit Exponent und Mantisse ausgedrückt wird, so daß das berechnete Ergebnis der Änderung D folgendes Format hat:D = ΔΜ χ 2αΆ(wobei ΔΜ die Mantisse und ΔΕ der Exponent sind), und wobei die Abtastperiode h. entsprechend dem i-ten (mit i = positive ganze Zahl) Laufzeitelement folgendermaßen ausgedrückt wird:hi = 2<X(wobei α = ganze Zahl), so daß der Exponent des dividierten Wertes durch die OperationΔΕ -α
berechnet wird. - 6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß im Verfahrensschritt (a) das Eingangssignal in einem Inkrement-Format ausgedrückt wird, bei dem es auf n. (ganze positive Zahl) abgerundet wird, und ein durch Aufaddieren der Inkremente des Eingangssignals in den Arbeits-..-4 -:J .;. ^._:[. 320W88zyklen über das Abtastintervall erhaltene Ergebnis in die erste Speichereinrichtung als die besagte Änderung eingespeichert wird, und daß im Verfahrensschritt (c) als Integrationswert jedes Arbeitszyklus ein Wert benützt wird, der durch MuI- tiplikation der Arbeitszykluszeit mit einer Größe gewonnen wird, die dadurch erhalten wird, daß die an einer vorgegebenen Adresse der ersten Speichereinrichtung ausgelesene Änderung durch die Abtastperiode dividiert wird, wobei der durch Addieren des Integrationswertes und des Integrationsrestes in dem dem bestimmten Arbeitszyklus unmittelbar vorangehenden Arbeitszyklus erhaltene Wert auf n„ (ganze positive Zahl) gerundet und die Summe von n„ Bits in die zweite Speichereinrichtung als der angenommene Wert eingespeichert wird, und wobei der an einer vorgegebenen Adresse der zweiten Speichereinrichtung ausgelesene angenommene Wert als Ausgangssignal des Laufzeitelements, ausgedrückt im Inkrement-Format, verwendet wird.
- 7. Verfahren nach Anspruch 1 oder 6, dadurch gekennzeichnet, daß die Abtastperiode für sämtliche Laufzeitelemente gleich gewählt wird.
- 8. Verfahren nach Anspruch 1, dadurch gekennzeic hn e t, daß im Verfahrensschritt (a) die Änderungen des Eingangssignals in dem Abtastintervall zwischen dem betreffenden Abtastpunkt des Eingangssignals und dem benachbarten Abtastpunkt nacheinander an durch eine erste Zähleinrichtung be-stimmten Adressen der ersten Speichereinrichtung eingespeichert werden, wobei der Zählwert der ersten Zählereinrichtung für jedes der gewünschten Laufzeitelemente an jedem Abtastpunkt des Eingangssignals um jeweils eins geändert wird, und daß im Verfahrensschritt (b) eine erste Adressenspeichereinrichtung zur Bezeichnung derjenigen Adressen der ersten Speichereinrichtung, an denen Daten ausgelesen werden sollen, in eine erste Gruppe von Teilspeicherbereichen einer der Anzahl der Laufzeitelemente gleichen Anzahl unterteilt wird, und die Änderungen in den um eine vorgegebene Abtastzahl dem jeweiligen Abtastintervall vorangehenden Abtastintervall nacheinander von den durch die erste Adressenspeichereinrichtung bezeichneten Adressen der ersten Speichereinrichtung ausgelesen werden, wobei die Inhalte der ersten Gruppe von Teilspeicherbereichen entsprechend dem gewünschten Laufzeitelement für jede Zahl der Laufzeitelemente in jedem Abtastintervall geändert werden.
- 9. Verfahren nach Anspruch 1 oder 8, dadurch gekennzeichnet, daß im Verfahrensschritt (c) die angenommenen Werte der jeweiligen Arbeitszyklen nacheinander an durch eine zweite Zähleinrichtung bezeichneten Adressen der zweiten Speichereinrichtung eingespeichert werden, wobei der Zählwert der zweiten Zähleinrichtung für jedes der gewünschten Laufzeitelemente in jedem Arbeitszyklus um eins geändert wird, ferner die zweite Adressenspeichereinrichtung zum Bestimmen derjenigen Adressen der zweiten Speichereinrichtung, aus denen die gewünschten angenommenen Werte ausgelesen werden sollen,in eine zweite Gruppe von Teilspeicherbereichen einer der Anzahl der Laufzeitelemente gleichen Anzahl unterteilt wird, sowie die angenommenen Werte in dem dem bestimmten Arbeitszyklus um eine vorgegebene Zykluszahl vorangehenden Arbeitszyklus als die den angenommenen Werten entsprechenden Werte an durch die zweite Adressenspeichereinrichtung angegebenen Adressen der zweiten Speichereinrichtung ausgelesen werden, wobei die Inhalte der zweiten Gruppe von Teilspeicherbereichen entsprechend dem gewünschten Laufzeitelement für jede Zahl der Laufzeitelemente in jedem Arbeitszyklus geändert werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP56003790A JPS57120157A (en) | 1981-01-16 | 1981-01-16 | Method and device for generation of waste time |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3201088A1 true DE3201088A1 (de) | 1982-08-05 |
DE3201088C2 DE3201088C2 (de) | 1988-06-30 |
Family
ID=11566977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19823201088 Granted DE3201088A1 (de) | 1981-01-16 | 1982-01-15 | Verfahren zur erzeugung einer laufzeit |
Country Status (3)
Country | Link |
---|---|
US (1) | US4497035A (de) |
JP (1) | JPS57120157A (de) |
DE (1) | DE3201088A1 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58106638A (ja) * | 1981-12-18 | 1983-06-25 | Hitachi Ltd | デイジタル微分解析機の演算方式 |
FR2548851B1 (fr) * | 1983-07-07 | 1986-11-14 | Electricite De France | Procede et installation d'analyse et de restitution de signal a echantillonnage et interpolation |
US4837722A (en) * | 1986-05-14 | 1989-06-06 | Massachusetts Institute Of Technology | Digital high speed 3-dimensional interpolation machine |
US5167018A (en) * | 1986-09-24 | 1992-11-24 | Daikin Industries, Ltd. | Polygon-filling apparatus |
US5043932A (en) * | 1989-10-30 | 1991-08-27 | Advanced Micro Devices, Inc. | Apparatus having modular interpolation architecture |
US5191546A (en) * | 1991-01-22 | 1993-03-02 | The United States Of America As Represented By The Secretary Of The Navy | Time-interpolation method for digital beamformers |
BE1007909A3 (nl) * | 1993-12-24 | 1995-11-14 | Philips Electronics Nv | Niet-geheeltallige vertraging. |
US5553013A (en) * | 1994-09-30 | 1996-09-03 | Ford Motor Company | Delay generation filter |
JP2021168096A (ja) * | 2020-04-13 | 2021-10-21 | 富士通株式会社 | サンプリング装置、サンプリング方法及びサンプリングプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2145235A1 (de) * | 1971-09-09 | 1973-08-16 | Industrial Research Prod Inc | Digitales verzoegerungssystem fuer tonsignale |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3735270A (en) * | 1972-03-20 | 1973-05-22 | Us Navy | Delayed pulse generator |
IL50822A (en) * | 1975-12-11 | 1979-09-30 | Hughes Aircraft Co | Signal sampling system |
JPS5842890B2 (ja) * | 1976-03-24 | 1983-09-22 | 株式会社日立製作所 | デイジタル微分解析機 |
US4125897A (en) * | 1977-05-10 | 1978-11-14 | Oki Electric Industry Co., Ltd. | High speed pulse interpolator |
-
1981
- 1981-01-16 JP JP56003790A patent/JPS57120157A/ja active Granted
-
1982
- 1982-01-05 US US06/337,292 patent/US4497035A/en not_active Expired - Lifetime
- 1982-01-15 DE DE19823201088 patent/DE3201088A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2145235A1 (de) * | 1971-09-09 | 1973-08-16 | Industrial Research Prod Inc | Digitales verzoegerungssystem fuer tonsignale |
Non-Patent Citations (1)
Title |
---|
US-Z.: Simulation, Mai 1972, S.161-169 * |
Also Published As
Publication number | Publication date |
---|---|
DE3201088C2 (de) | 1988-06-30 |
US4497035A (en) | 1985-01-29 |
JPS57120157A (en) | 1982-07-27 |
JPH035093B2 (de) | 1991-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3485792T2 (de) | Digitale signalverarbeitungseinrichtungen. | |
DE3789116T2 (de) | Prozessor zur zweidimensionalen diskreten cosinustransformation. | |
DE3339288C2 (de) | ||
DE2432594C3 (de) | Rekursives Digitalfilter | |
DE2918692C2 (de) | Digitalfilter | |
DE3201088A1 (de) | Verfahren zur erzeugung einer laufzeit | |
DE2729912A1 (de) | Digitale signalverarbeitungsanordnung | |
DE2638314C2 (de) | ||
DE4226929C2 (de) | Tonhöhensteuervorrichtung | |
DE69032358T2 (de) | Datenverarbeitungssystem für Audiosignale | |
DE2554562C3 (de) | Nichtrekursives Digitalfilter mit herabgesetzter Ausgangsabtastfrequenz | |
DE3226619C2 (de) | ||
DE2451235A1 (de) | Schaltungsanordnung fuer ein digitales filter | |
DE2039228A1 (de) | Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage | |
DE2064606A1 (de) | Anordnung zur Echtzeitverarbeitung elektrischer Signale | |
DE3124964C2 (de) | ||
DE69636352T2 (de) | Hierarchische Kodierungs-Vorrichtung und -Verfahren mit Speicher für ein digitales Bildsignal | |
DE2712582C2 (de) | DDA-Rechner (Digital-Differential-Analysator) | |
DE19637369C2 (de) | Digitaler Signalprozessor mit Multipliziereinrichtung und -Verfahren | |
WO2006069743A1 (de) | Fir-dezimationsfilter und anordnung mit demselben | |
DE3115884C2 (de) | ||
DE2253746A1 (de) | Modul-signalprozessrechner | |
DE3416536C2 (de) | ||
DE3609056A1 (de) | Zaehlerschaltkreis | |
DE3634691A1 (de) | Differenzpulscodemodulator sowie dessen verwendung als demodulator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |