DE3201088A1 - Verfahren zur erzeugung einer laufzeit - Google Patents

Verfahren zur erzeugung einer laufzeit

Info

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
Application number
DE19823201088
Other languages
English (en)
Other versions
DE3201088C2 (de
Inventor
Takeyuki Kodaira Tokyo Endoh
Jushi Mito Ibaraki Ide
Kazuyuki Hachioji Tokyo Kodama
Shigeru Nishitama Tokyo Yabuuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Denshi KK
Hitachi Ltd
Original Assignee
Hitachi Denshi KK
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Denshi KK, Hitachi Ltd filed Critical Hitachi Denshi KK
Publication of DE3201088A1 publication Critical patent/DE3201088A1/de
Application granted granted Critical
Publication of DE3201088C2 publication Critical patent/DE3201088C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/64Digital 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.
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)
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
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
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)
(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
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)

  1. SCHIFF ν. FÜNER STREH L "* SCH Ü BEL-H OPF EBBINGHAUS FINCK
    MARIAHILFPLATZ 2 Λ 3, MÜNCHEN ΘΟ POSTADRESSE: POSTFACH 95Ο16Ο, D-BC)OO MDNC; iüN 95
    Hitachi, Ltd.
    Hitachi Denshi K.K. 15. Januar 1981
    DEA-25656
    VERFAHREN ZUR ERZEUGUNG EINER LAUFZEIT
    PATENTANSPRÜ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 Abtastintervall
    aus 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. 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. 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. 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. 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. 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 .;. ^._:[. 320W88
    zyklen ü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. 7. Verfahren nach Anspruch 1 oder 6, dadurch gekennzeichnet, daß die Abtastperiode für sämtliche Laufzeitelemente gleich gewählt wird.
  8. 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. 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.
DE19823201088 1981-01-16 1982-01-15 Verfahren zur erzeugung einer laufzeit Granted DE3201088A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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