DE3201088C2 - - Google Patents
Info
- Publication number
- DE3201088C2 DE3201088C2 DE3201088A DE3201088A DE3201088C2 DE 3201088 C2 DE3201088 C2 DE 3201088C2 DE 3201088 A DE3201088 A DE 3201088A DE 3201088 A DE3201088 A DE 3201088A DE 3201088 C2 DE3201088 C2 DE 3201088C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- sampling
- input signal
- delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- 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)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung geht aus von einem Verfahren zum Erzeugen eines
verzögerten Signals aus einem Eingangssignal bei jedem Arbeitszyklus eines
Gerätes, insbesondere eines digitalen Rechengeräts 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 Verzögerung
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:
e o (t) = e in (t-T). (1)
Darin bedeutet e in ein Eingangssignal und e o ein Ausgangssignal.
Zur Erzeugung von Verzögerungen 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 Verzögerungs-Recheneinheit arbeitet.
Hinsichtlich des ersten Verfahrens sind die Näherungsformeln
von Pade bekannt. Sie vermögen jedoch nur kurze Verzögerungszeiten
von ω T < 2 (rad) mit der zweiten Näherungsformel und
ω T < 6 (rad) mit der vierten Näherungsformel zu liefern,
wobei ω in den Ungleichungen die Winkelfrequenz eines Eingangssignals
angibt. Ein weiterer Nachteil besteht darin,
daß das Ausgangssignal bei einer Übergangsfunktion 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.
Aus der DE-OS 21 45 235 ist ein Verfahren bekannt, bei dem
das Eingangssignal einer Delta-Modulation unterworfen wird.
Die einzelnen Differenzsignale, die vom Pulsmodulator abgegeben
werden, werden zwischengespeichert und nach der vorgegebenen
Verzögerungszeit wieder ausgegeben. Da bei der
Delta-Modulation für eine befriedigende Übertragungsqualität
eine sehr hohe Taktfrequenz notwendig ist, werden demzufolge
sehr viele solcher Differenzsignale übertragen, so daß für
eine ausreichende Verzögerungszeit der Zwischenspeicher eine
außerordentlich hohe Kapazität haben muß.
Bei Anwendung dieses Verfahrens bei einem digitalen
Rechengerät ergeben sich jedoch weitere Probleme, die nachstehend
angegeben sind.
Ein erstes Problem besteht darin, daß die Abtastperiode
h klein sein muß, um eine Verzögerungszeit mit hoher Genauigkeit
zu berechnen und daß zur Erzeugung einer langen Verzögerungszeit
eine große Speicherkapazität erforderlich ist.
Die Figuren 1(A) bis 1(D) veranschaulichen das Prinzip
des Speichermodus. Danach wird ein Eingangssignal e in ,
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 in (p) mit p = 0,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 Verzögerungszeit T werden
die Abtastwerte aus dem Digitalspeicher in der Reihenfolge
e in (0), e in (1), . . . ausgelesen, sodann rekonstruiert
und ausgegeben. Auf diese Weise erhält das
verzögerte Ausgangssignal e o den in Figur 1(D) gezeigten
gestuften Verlauf. Dabei läßt sich der Fehler ε des verzögerten
Ausgangssignals folgendermaßen angeben:
Der Fehler e wird also für p · h ≦ t < (p + 1) · h am Abtastpunkt
p zu Null und nimmt zum nächsten Abtastpunkt
(p + 1) hin zu. Ist beispielsweise die Verzögerungszeit nach dem
in Figur 1(A) bis 1(D) gezeigten Verfahren als
e in = A sin x (3)
erzeugt worden, so wird der absolute Fehler ε zu
wobei 0 ≦ τ < h ist. Der maximale Fehler entsteht im Bereich
der maximalen Steigung der Gleichung (3), d. h. in der Umgebung
von x = 0. Dieser maximale Fehler in der Umgebung von
x = 0 läßt sich daher durch Einsetzen von p = 0 und τ = h
in Gleichung (4) näherungsweise folgendermaßen berechnen:
ε max ≅ A sin h. (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 einer Periode von 2π 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 Verzögerungselement erforderliche Speicherkapazität
W zu:
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-25 148 und 50-32 849). Dies führt zu dem Problem,
daß auch das verzögerte Ausgangssignal in ein Inkrement von
ein oder mehreren Bit umgewandelt werden muß.
Die Aufgabe der Erfindung besteht darin, ein auf dem
digitalen Speichermodus beruhendes Verfahren zur Erzeugung
einer Verzögerung anzugeben, mit dem lange Verzögerungszeiten
mit hoher Genauigkeit bei möglichst geringer Speicherkapazität
der Zwischenspeicher erzeugt werden.
Diese Aufgabe wird mit den im kennzeichnenden Teil des ersten
Patentanspruchs angegebenen Verfahrensschritten gelöst.
Zweckmäßige Ausgestaltungen ergeben sich aus den Unteransprüchen.
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
die durch Gleichung (7) wiedergegebene Interpolations-
Operation durchgeführt und für jeden Abtastpunkt p ein verzögertes
Ausgangssignal innerhalb p · h ≦ τ < (p + 1) · h erhalten:
Fig. 2 zeigt das Verzögerungs-Ausgangssignal, das derart
ausgegeben wird, daß das in Fig. 1(A) gezeigte Eingangssignal
e in mit derselben Abtastperiode h wie in Fig. 1(B)
abgetastet wird und nach Ablauf der Verzögerungszeit T die Abtastwerte
der Interpolation nach Gleichung (7) unterzogen werden. Vergleicht
man nur Fig. 1(D) mit Fig. 2, so wird ersichtlich,
daß das vorliegende Verfahren eine höhere Genauigkeit ergibt.
Der Fehler ε bei der Interpolation nach Gleichung (7) wird
zu
Indem als Beispiel angenommen wird, daß das durch Gleichung
(3) ausgedrückte Signal nach dem Verfahren gemäß Gleichung
(7) verarbeitet wird, soll der Fehler beim Erzeugen der
Verzögerungszeit nach dem vorliegenden Verfahren mit dem Fehler in
dem Verfahren nach Fig. 1(A) bis 1(D) verglichen werden.
Der Maximalwert des durch Gleichung (8) ausgedrückten Fehlers
entsteht, wenn die Bedingungen dε/dτ = 0 und d²ε/dτ² < 0
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 Fig. 3 veranschaulichten Fall entsteht. Demgemäß wird
der Maximalfehler ε max zu:
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 Fig. 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 zum Erzeugen der Verzögerung
mit einer etwa 90mal 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
verzögerte Ausgangssignal in ein Inkrement-Format umzuwandeln
und dann unter Verwendung einfacher Einrichtungen auszugeben.
Das hierfür angewandte Arbeitsverfahren ist in Fig. 4 und
5(A) bis 5(E) dargestellt.
Zunächst wird Gleichung (7) in das Inkrement-Format
der folgenden Gleichung umgewandelt:
Die in Gleichung (11) angegebenen Arbeitsschritte werden mittels
des DRD durchgeführt, indem τ auf Δ t, das Fein-Inkrement der
ganzzahligen unabhängigen Grundvariablen t des DRD, eingestellt
und der Interpolationsvorgang durchgeführt wird, bei
dem das sich ergebende Ausgangsinkrement Δ Z i als Inkrement
Δ e o des Ausgangssignals des Verzögerungselements verwendet wird:
In Gleichung (11) gibt i die Nummer der zwischen den Abtastpunkten
p und (p + 1) liegenden Iteration des DRD an, Y i den
Inhalt eines Registers Y bei der i-ten Iteration oder den
Gradienten der oben genannten Größe Δ e o , R i den ganzzahligen Rest
bei der i-ten Iteration, und R i-1 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 i eine Divisionsschaltung erforderlich
ist. Erfindungsgemäß wird deshalb für die Abtastperiode
h ein ganzzahliges Vielfaches m der Größe Δ t gewählt
und diese ganze Zahl m wird gemäß Fig. 2 als Potenz
von 2 gewählt, wodurch sich der Gradient Y i durch lediglich
Addition und Subtraktion erhalten läßt. Dies soll im folgenden
beschrieben werden.
Wählt man m als Potenz von 2, so nimmt die Abtastperiode
h folgenden Wert an:
h = m · Δ t = 2 b · Δ t. (b = ganze Zahl) (12)
Setzt man ferner das Inkrement des Eingangssignals e in
zwischen den Abtastpunkten p und (p + 1) als
SDY p + 1 = e in ((p + 1) · h) - e in (p · h), (13)
so wird der Gradient Y i in Gleichung (11) zu
Setzt man ferner Δ t als 2 k (k = ganze Zahl) und bezeichnet
man die Mantisse des Inkrements SDY p + 1 mit SDY p + 1 (M) und
dessen Exponenten mit SDY p + 1 (E), so wird der Gradient Y i
zu
Somit kann festgestellt werden, daß sich der Gradient
Y i durch lediglich Addition und Subtraktion des Exponenten
ausrechnen läßt.
Vorstehend ist das Interpolationsverfahren nach der
Erfindung zur Verwendung beim Erzeugen der Verzögerung beschrieben
worden. Es gibt ein weiteres Problem, das gelöst
werden muß. Dieses betrifft das Schreib- und Lese-Steuerverfahren
für den Digitalspeicher zum Erzeugen der Verzögerung
sowie den Aufbau des Speichers. Im folgenden soll ein Verfahren
nach der vorliegenden Erfindung in diesem Zusammenhang
erläutert werden.
Als Beispiel sei Fig. 4 angenommen. Soll aus dem Eingangssignal
e in das in Fig. 4 gezeigte Ausgangssignal e o mit
der Verzögerung T erzeugt werden, so wird für die Abtastperiode
h, wie oben angegeben, der Wert m · Δ t gewählt. Das
in Gleichung (13) wiedergegebene Inkrement SDY des Eingangssignals
e in im Abtastintervall wird für jede Abtastperiode h
abgetastet und in den Digitalspeicher A eingegeben. Dies ist
in den Fig. 5(A) bis 5(E) veranschaulicht. Fig. 5(A)
zeigt dabei ein Blockschaltbild eines Verzögerungselements (e-ST ,
wobei mit S der Laplace-Operator bezeichnet ist). Das Inkrement
des Eingangssignals e in im Abtastintervall wird durch
die in Gleichung (16) angegebenen Arbeitsschritte ausgerechnet:
In Gleichung (16) bezeichnet Δ Y i, j das j-ste Eingangssignal
bei der i-ten Iteration, l die Anzahl von Eingängen
des Verzögerungselements und SDY i den akkumulierten Wert des
Eingangssignals an und nach dem Abtastpunkt (p-1).
Auf diese Weise werden die Inkrementwerte des Abtastintervalls
in den Digitalspeicher A (im folgenden einfach
als "Speicher A") bezeichnet, in der in Fig. 5(B) gezeigten
Reihenfolge eingespeichert (Phase I). Anschließend wird
der um die Laufzeit T früher abgetastete Inkrementwert
des Eingangssignals aus dem Speicher A ausgelesen und als
Eingangssignal Y nach Fig. 5(C) zur Berechnung des verzögerten
Ausgangssignals verwendet (Phase II). Da jedoch, wie
oben beschrieben, bei der vorliegenden Erfindung m mit
2 b gewählt ist, stimmen die ganzzahligen Vielfachen der
Abtastperiode h nicht immer mit der Laufzeit T überein,
so daß, wie in Fig. 4 gezeigt, Reste als Zeitintervall
T″ (=q · Δ t) übrig bleiben. Es wird daher das
im folgenden beschriebene Verfahren durchgeführt. Dazu werden
die Größen n und q aufgefunden, die die nachstehende
Gleichung erfüllen:
T = T′ + T″ = n · h + q · Δ t; (0 ≦ q · Δ t < h). (17)
Bei Erreichen des Abtastpunktes p = n in Fig. 5(B) wird
der am Abtastpunkt (p-n + 1) eingespeicherte Inkrementwert
SDY p-n + 1 des Eingangssignals aus dem Speicher A herausgelesen
und zum Erzielen des Gradienten Y i mit Hilfe der Gleichung
(15) benützt. Unter Verwendung dieses Wertes Y i als Eingangssignal
in Fig. 5(C) erfolgt die Berechnung nach Gleichung
(11). Auf diese Weise wird das Ausgangssignal Δ Z′ der Verzögerungszeit
bei t′ = n · h für jeden Wert Δ t ausgerechnet, wie dies
als zwischenzeitliches Ausgangssignal e o ′ des Verzögerungselements
in Fig. 4 veranschaulicht ist. Gemäß Fig. 5(D)
wird das Ausgangssignal Δ Z′ für jeden Wert Δ t in einen Speicher
B eingespeichert. Um die Laufzeit T″ (=q · Δ t), die
den Rest bildet, zu erzeugen, wird der Wert Δ Z′ i-q , der
in der Adresse des Speichers B vor der Adresse q gespeichert ist,
als Ausgangssignal Δ Z i der gewünschten Verzögerungszeit ausgelesen.
Dieses Ausgangssignal wird zu dem Ausgangssignal e o des Verzögerungselements
in Fig. 4 gemacht. Fig. 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 Lesesteuerung
der Speicher A und B anhand der Fig. 6 bis 8
beschrieben werden.
Im allgemeinen sind die Längen der Verzögerungszeiten in einem
einzelnen System nicht fest sondern unterschiedlich. Auch
die Winkelfrequenzen ω des Eingangssignals des Systems
sind unterschiedlich. Dementsprechend variiert die optimale
Abtastperiode, die der Rechengenauigkeit genügt. Vom Standpunkt
einer möglichst weitgehenden Verringerung der Kapazitäten
der zum Berechnen der Verzögerungszeit dienenden Speicher A und
B ist es zweckmäßig, das Eingangssignal mit einer Abtastperiode
zu tasten, die für eine bestimmte Verzögerungszeit 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 Interpolationsvorganges für jedes Verzögerungselement
durchgeführt werden. Dies resultiert in dem Nachteil
einer komplizierten Schaltung. Erfindungsgemäß wird
daher ein Verfahren angewandt, bei dem die Eingangssignale
sämtlicher Verzögerungselemente mit einer allen Verzögerungselementen
gemeinsamen festen Abtastperiode getastet werden.
Das DRD der Erfindung soll weiter unten im einzelnen
beschrieben werden; hier sei nur gesagt, daß es keine Spezial-
Recheneinheit 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
Verzögerungselement und dergleichen gehören, gemäß dem Impulsdiagramm
nach Fig. 6 durchgeführt werden. Fig. 6 veranschaulicht
dabei als Beispiel einen Fall, bei dem vier Rechenelemente
mit den Nummern 1 bis 4 vorhanden sind. Mit ELC
ist das Betriebs-Zeittaktsignal der Rechenelemente und
mit ITE ein Iterationssignal bezeichnet. Bei den Rechenelementen
Nr. 1 und Nr. 4 handelt es sich um Verzögerungselemente,
wobei für die Abtastperiode h der Wert von 2 · Δ t unter der
Annahme von m = 1 gewählt wird. In Fig. 6 ist mit TA
ferner das Schreib- und Lese-Zeitsteuersignal für den
Speicher A in Fig. 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
Fig. 5(D) bezeichnet.
Das Einschreiben in die Speicher A und B erfolgt nach
dem in Fig. 7 veranschaulichten Verfahren. Mit 71 ist dabei
ein Adreßzähler (ADC) bezeichnet, der Schreibadressen
für die Speicher A und B angibt und dabei maximal die
Adresse V (=2 w ) bezeichnen kann. Beiden Speichern A und B
sind Adressen 0-V zugeordnet. Beim Einschreiben in die
Speicher A und B werden der Inhalt des Adreßzählers 71
oder die Schreibadressen im Ausgangszustand durch ein Löschsignal
(RESET) auf die Adressen 0 eingestellt. Beim Betrieb
wird der Inhalt des Adreßzählers 71 entsprechend einem
Inkrementsignal UP jeweils um +1 erhöht, und der Inkrementwert
SDY i in dem Abtastintervall sowie das Inkrement Δ Z′
des interpolierten Verzögerungs-Ausgangssignals werden, wie oben
dargelegt, in die durch den Adreßzähler 71 bezeichneten
Adressen der Speicher A und B eingeschrieben. Als Inkrementsignal
UP wird an den Speicher A des 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 Adreßzählers 71 nach
Überschreiten des Wertes V wieder Null. Somit läßt sich
jeder Speicher A oder B zu einem Speicher 72 mit dem in Fig.
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 gelöscht,
und neue Daten werden eingeschrieben. Das gleiche
gilt für die Adresse 1 und die nachfolgenden Adressen.
Wird nun mit p der Abtastpunkt und mit M die Anzahl von
Verzögerungselementen bezeichnet, so werden die Daten am
p-ten Abtastpunkt mit (p = 0, 1, . . ., n-1) bezüglich
des j-sten Laufzeitelement (mit j = 1, 2, . . ., M) jeweils
an der Adresse (M × p + j) des Speichers 72 eingeschrieben.
Anschließend wird das Auslesen aus den Speichern A und
B nach dem in Fig. 8 veranschaulichten Verfahren gesteuert.
Für das Lesen sind Adreßspeicher 80, die diejenigen Adressen
der Speicher A und B behandeln, von denen Daten ausgelesen
werden, der Anzahl von Elementen zugeordnet. Diese Adreßspeicher
sind jeweils mit RA₀, RA₁, . . . und RA M-1 bezeichnet
und generell mit den Bezeichnungen ADM 81 versehen. Eine
der Anzahl der Elemente gleiche Anzahl von Speichern ist
erforderlich, weil die jeweiligen Verzögerungszeiten unterschiedliche
Intervalle zum Auslesen aufweisen.
Für jede Verzögerungszeit und vor der Bearbeitung wird aus
einem (nicht gezeigten) Primärrechner über einen Multiplexer
(MPX) 82 eine Anfangsadresse INIT in den Adreßspeicher 81
eingegeben. Diese Anfangsadressen sind für die Speicher A und
B unterschiedlich und werden vorher nach folgenden Schritten
berechnet:
Hierin bedeuten
IA j
die Anfangsadresse des Speichers A betreffend das
j-ste Verzögerungselement,
IB
j
die Anfangsadresse des Speichers B betreffend das
j-ste Verzögerungselement,
VA
den Maximalwert der Adressen des Speichers A,
VB
den Maximalwert der Adressen des Speichers B,
M
die Gesamtzahl von Verzögerungselementen,
N
j
den Wert n in Fig. 4 betreffend das j-ste Verzögerungselement,
und
Q
j
den Wert q in Fig. 4 betreffend das j-ste Verzögerungselement.
Während des Vorgangs der Erzeugung der Laufzeit wird
ein Zähler (C 1) 83 durch das Inkrementsignal UP jeweils
um +1 erhöht, nachdem er durch das Signal RESET entsprechend
dem Iterationssignal ITE in Fig. 6 zurückgestellt worden
ist. Ferner werden die Inhalte der dem Zähler 83 zugeordneten
Adressen des Adreßspeichers 81 ausgelesen und über eine
Addierstufe 84 zur Gesamtzahl der Verzögerungselemente entsprechend
dem Inkrementsignal UP hinzuaddiert. Das Additionsergebnis
wird wieder in die durch den Zähler 83 angegebene Adresse
des Adreßpeichers eingeschrieben. Von den somit bezeichneten
Adressen der Speicher A und B werden Daten ausgelesen. Das
Inkrementsignal UP bildet das Signal TA in Fig. 6 für den
Speicher A und das Signal TB für den Speicher B.
Der Adreßspeicher 81 kann den gleichen Umfang von
Adressen wie der Adreßzähler 81 in Fig. 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 Verzögerungselement
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:
Hierin sind
MAXN= MAX (N₀, N₁, N₂, . . ., Nj, . . .);
MAXQ= MAX (Q₀, Q₁, Q₂, . . ., Qj, . . .).
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 werden
nun anhand der Zeichnungen näher erläutert. Darin zeigen
Fig. 1(A) bis 1(D) Diagramme zur Veranschaulichung eines
herkömmlichen Verfahrens zum Erzeugen einer Verzögerungszeit
unter Verwendung eines Digitalspeichers;
Fig. 2 ein Diagramm zur Darstellung eines auf der Interpolations-
Methode beruhenden verzögerten Ausgangssignals;
Fig. 3 ein Diagramm zur Darstellung des Zustandes, bei
dem bei der Interpolations-Methode der größte Fehler
entsteht;
Fig. 4 und 5(A) bis 5(E) Diagramme und schematische Darstellungen
zur Erläuterung der Grundlagen der vorliegenden
Erfindung;
Fig. 6 ein Impulsdiagramm der grundsätzlichen Steuersignale
bei der Arbeitsweise mittels eines nach
der vorliegenden Erfindung arbeitenden digitalen
Rechengerätes für Differentialgleichungen (DRD);
Fig. 7 eine schematische Darstellung zur Veranschaulichung
eines Steuerverfahrens für das Einschreiben in einen
Digitalspeicher nach der vorliegenden Erfindung;
Fig. 8 ein schematisches Schaltbild zur Veranschaulichung
eines Steuerverfahrens für das Auslesen aus einem
Digitalspeicher entsprechend der vorliegenden Erfindung;
Fig. 9(A) bis 9(C) die Schaltungsanordnung eines Ausführungsbeispiels
eines DRD, das Arbeitsschritte zur erfindungsgemäßen
Erzeugung einer Verzögerung ausführt;
Fig. 10 ein Zeitdiagramm einer Pipeline-Steuerung in dem
in Fig. 9(A) bis 9(C) gezeigten DRD;
Fig. 11 ein Diagramm zur Veranschaulichung des Bit-Aufbaus
eines Operations-Steuerbefehls in dem DRD
nach Fig. 9(A) bis 9(C);
Fig. 12 ein Diagramm zur Darstellung des Aufbaus der
Gleitkomma-Zahlenwertsysteme, wie sie in den
Operationen des DRD nach Fig. 9(A) bis 9(C)
angewandt werden; und
Fig. 13 die Schaltungsanordnung eines Ausführungsbeispiels,
bei dem die Erfindung auf von Operationen bei einem
DRD verschiedene Operationen angewendet wird.
In den Fig. 9(A) bis 9(C) ist das Blockschaltbild
eines DRD (digitales Rechengerät für Differentialgleichungen)
gezeigt, das nach der vorliegenden Erfindung arbeitet.
Es sind zwei Arten von Digitalspeichern
A und B zur Erzeugung einer Verzögerung vorgesehen. Die Eingangssignale
der einzelnen Verzögerungselemente 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 Verzögerungszeit 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 Verzögerungszeit
T durch die Abtastperiode h resultierenden
Rest v (ganze Zahl) vorangehen, und als
Ausgangssignal der Verzögerungszeit zur Verfügung gestellt.
Für die Speicher A und B sind
Adreßzähler ADCA bzw. ADCB zur Handhabung der Adressen
der Speicher A bzw. B vorgesehen. Der Adreßzähler ADCA wird
in jeder Abtastperiode h und für jedes Verzögerungselement um
1 erhöht, und der jeweilige Abtastwert wird an der resultierenden
Adresse des Speichers A eingespeichert. Gleichzeitig
wird der Adreßzähler ADCB für jede Iteration und
jedes Verzögerungselement 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.
Für die Speicher A und B sind 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 Verzögerungselemente gleiche Anzahl von
Speicherplätzen enthält. Der Inhalt desjenigen Speicherplatzes
in dem Adressenspeicher ADMA, der dem jeweiligen
Verzögerungselement entspricht, stellt die Gesamtzahl der in
jeder Abtastperiode h aufaddierten Verzögerungselemente 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 Verzögerungselement entspricht, die Gesamtzahl
der in der jeweiligen Iteration aufaddierten Verzögerungselemente
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. Um
hohe Arbeitsgeschwindigkeit zu erreichen, werden die Operationen
des DRD unter einer in Fig. 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:
Die Feininkremente Δ Y i,j der j-sten Eingangsvariablen
in der i-ten Iteration werden für j = 1 bis l aufsummiert
und ergeben ein Inkrement Δ Y i :
In einer der jeweiligen Iteration vorangehenden Periode
wird eine Addition zwischen dem Inkrement Δ Y i und dem (mit
Y i-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:
Y i = Y i-1 + Δ Y i . (20)
Der genannte Wert Y i und der Inhalt (R i-1) eines R-
Registers werden zueinander addiert, ein oder mehrere Bits
einschließlich einer Überlaufkomponente werden von dem
(mit R i bezeichneten) Additionsergebnis als Δ Z i ausgegeben,
und das Ergebnis, bei dem Δ Z i von der Größe R i entfernt
worden ist, wird in das R-Register eingegeben. Somit wird
die folgende Operation
ausgeführt:
R i = R i-1 + Y i · Δ X i - Δ Z i (21)
Dabei bedeutet Δ X i das Fein-Inkrement der ganzzahligen
unabhängigen Variablen in der i-ten Iteration.
Die Figuren 9(A) bis 9(C) entsprechen den einzelnen
Operationsphasen. Fig. 9(A) zeigt das Blockschaltbild des
DRD zur Ausführung der P-Phase, Fig. 9(B) das zur Ausführung
der Y-Phase und Fig. 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 Berechnung zum Erzeugen der Verzögerung
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 länger als gewöhnliche,
mit dem DRD ausgeführte Integrationsvorgänge. Daher lassen
sich die Arbeitsperioden der zum Erzeugen der Verzögerung
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 die Operation zum Erzeugen der Verzögerung in Arbeitszyklen
durchgeführt, die zwei Rechenelementen entsprechen.
Gemäß Fig. 10 werden für ein Verzögerungselement die Zyklen
N und (N + 1) benützt. Die Operationen der Gleichung (11)
werden in den Phasen Y N und I N ausgeführt, während die
Operationen der Gleichung (16) in den Phasen Y N + 1 und I N + 1
ausgeführt werden.
Gemäß Fig. 9(A) bis 9(C) überträgt ein Rechner 901
die jeweiligen Ausgangswerte an einen Δ Z-Speicher 903 zur
Aufnahme des Ausgangs-Inkrements Δ Z i 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 j in Gleichung
(17), einen R-Speicher 906 zur Aufnahme des Rechenergebnisses
der Gleichung (21) sowie einen ADMB-Adressenspeicher 907
zur Aufnahme der Anfangsadresse IB j in Gleichung (17), wobei
die Übertragungen über eine Sammelleitung 902 sowie Multiplexer
9021, 9022, 9023, 9024 und 9025 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 909
angegebenen Adresse PC aus dem Steuerspeicher 908 ausgelesen
wird, entsprechend der von der Steuerstufe 911 erzeugten Folgen
von Zeitsteuersignalen ausgeführt wird.
Der Arbeitssteuerbefehl, 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 verwendende
Recheneinheit, der zugeordnete Operationsmodus,
usw. bezeichnet sind.
Fig. 11 zeigt ein Beispiel des Bitaufbaus des Arbeitssteuerbefehls.
Unter den verschiedenen Teilen der Fig. 11 bezeichnet
EL die Art der Recheneinheit, die zur Ausführung einer gewünschten
Operation zu benützen ist, während mit Δ X A diejenige
Adresse des Δ Z-Speichers 903 bezeichnet ist, an der
das Fein-Inkrement Δ X i 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
Δ X i um das Zeitinkrement Δ t handelt, und P x gibt die Polarität
der genannten Größe Δ X i an. Δ Y A1 , Δ Y A2 und Δ Y A3 (in dem
vorliegenden Ausführungsbeispiel ist angenommen, daß die Anzahl
der Eingänge drei beträgt), stellen diejenigen Adressen
des Δ Z-Speichers 903 dar, an denen die Größen Δ Y i, 1, Δ Y i, 2 bzw.
Δ Y i, 3 der Gleichungen (16) und (19) gespeichert sind. P₁, P₂
und P₃ stellen Ein-Bit-Markierungen zur Steuerung der Polaritäten
der genannten Größen Δ Y i,1 , Δ Y i,2 bzw. Δ Y i,3 dar.
Im folgenden sollen die Funktionen der Schaltungsanordnung
nach Fig. 9(A) bis 9(C) im einzelnen anhand eines Beispiels
beschrieben werden, bei dem die erfindungsgemäße Arbeitsweise
zum Erzeugen der Verzögerung auf der Grundlage des Arbeitssteuerbefehls
mit dem Bitaufbau nach Fig. 11 ausgeführt
wird.
In dem Beispiel der Fig. 11 wird als Recheneinheit DLY I
die N-te Recheneinheit angenommen, die den Interpolationsvorgang
nach Gleichung (11) in den Operationsphasen Y N und I N
gemäß Fig. 10 ausführt, während die (N + 1)-ste Recheneinheit
als Recheneinheit DLY II zur Durchführung der Operation angenommen
wird, mit der die Änderung des Eingangssignals im Abtastintervall
gemäß Gleichung (16) in den Operationsphasen
P N + 1 und Y N + 1 in Fig. 10 erhalten wird.
Ist die durch den Programmzähler 909 angegebene Adresse
gleich N, so wird der Arbeitssteuerbefehl der Recheneinheit
DLY I 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 zum Erzeugen der Verzögerung 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 I die Steuerstufe 911 ein Aufsteuersignal
(ENABLE) an die Klemmen E des Δ Z-Speichers 903, des Y-Speichers
904 und des ADMA-Adressenspeichers 905 und sendet außerdem
die für die Bearbeitung der Gleichung (11) erforderliche
Folge von Zeitsteuersignalen aus. In Fig. 9(A) bis 9(C)
sind die Verbindungsleitungen zwischen der Steuerstufe 911
und diesen Klemmen zur Vereinfachung der Darstellung weggelassen.
In der P N -Phase der Recheneinheit DLY I werden die
decodierten Ergebnisse ( Δ Y A1), ( Δ Y A2) und Δ Y A3) der jeweiligen
Adressen Δ Y A1, Δ Y A2 und Δ Y A3 wie im Falle anderer Recheneinheiten
der Adressenklemme A des Δ Z-Speichers 903 zugeführt,
und die Werte Δ Y i,j (mit j = 1, 2, und 3) werden nacheinander
an den angegebenen Adressen ausgelesen und in ein Δ Y-Register
914 eingegeben.
Der in das Δ Y-Register 914 eingegebene Wert Δ Y i,1 sowie
der Inhalt (SDY i,0=0) eines SDY-Registers 915, das durch
das Arbeitszeitsteuersignal ELC in Fig. 6 vor der i-ten
Iteration zurückgesetzt wird, werden einem FADD-Gleitkommaaddierer
916 zugeführt, der die folgende Gleitkomma-Operation
ausführt:
SDY i,0 + Δ Y i,1 = Δ Y i,1. (22)
Das Ergebnis Δ Y i,1 wird in das SDY-Register 915 als Größe
SDY i,1 eingegeben.
An dieser Stelle seien die Zahlenwert-Systeme der
in dem erfindungsgemäßen DRD gehandhabten Daten anhand von
Fig. 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 Δ Y der
Eingangsvariablen, das Fein-Inkrement Δ X der ganzzahligen
unabhängigen Variablen, das Fein-Inkrement Δ Z der Ausgangsvariablen,
sowie derartige Größen, die Inkrement-Format aufweisen.
Nach Berechnung der Gleichung (22) werden der in dem
Δ Y-Register 914 enthaltene Wert Δ Y i, 2 sowie der Inhalt (SDY i, 1
=Δ Y i, 1) des SDY-Registers 915 dem Gleichkomma-Addierer 916
zugeführt, der die folgende Operation ausführt:
SDY i, 1 + Δ Y i, 2 = Δ Y i, 1 + Δ Y i, 2. (23)
Das Ergebnis wird als Größe SDY i, 2 in das SDY-Register
915 eingegeben.
Durch Wiederholung ähnlicher Operationen werden die
Größen Δ Y i nach Gleichung (19) als Größen SDY i, l = SDY i, 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 (P₁), (P₂) oder (P₃) des
Polaritätsbits negativ, so erfolgt die Addition von SDY i, j
und dem Zweier-Komplement bezüglich des negativen Fein-Inkrements
in dem Gleitkomma-Addierer 916. Ist beispielsweise
die Größe Δ Y i, 2 negativ geworden, so wird die folgende
Operation durchgeführt:
SDY i, 1 - Δ Y i, 2 = Δ Y i, 1 - Δ Y i, 2. (24)
Hat nun die Markierung (DT) angezeigt, daß die Größe
Δ X i , die an der vom decodierten Ergebnis ( Δ X A ) der
Adresse Δ X A angegebenen Adresse des Δ Z-Speichers 903 ausgelesen
worden ist, dem Zeitinkrement Δ t entspricht, so
wird die genannte Größe Δ X i in ein Δ X-Register 917 eingegeben.
Bei der Recheneinheit DLY I bezeichnen die Adressen
Δ Y A 1-Δ Y A 3 spezielle Adressen derart, daß die Zahlenwerte
innerhalb des Δ Z-Speichers 903 zu Null werden, und auch
der Inhalt des SDY-Registers 915, der in der P N -Phase erhalten
wird, wird zu Null. Die Operationen der P N -Phase
werden zwar nach dem gleichen Vorgang wie in den anderen
Recheneinheiten durchgeführt, die in dem SDY-Register erhaltenen
Werte werden jedoch nicht benützt.
In der nächsten Y N -Phase werden die Werte SDY, P c ,
Δ X und P x , die in der P N -Phase erhalten werden, zunächst
in die Schalter 9121 bis 9124 zur Pufferung eingegeben.
Danach wird der in dem Y-Speicher 904 enthaltene Gradient
Y i , der in der Operation nach Gleichung (11) verwendet wird,
ausgelesen und dem Schaltkreis für die nächste I N -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 i 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 Fig. 9(C) zur Durchführung der I N -Phase zugeführt.
In der I N -Phase der Recheneinheit DLY I werden die von
der Schaltung nach Fig. 9(B) zugeführten Größen P x , Y, Δ X
und P c in die Schalter 9126 bis 9129 zur Pufferung eingegeben.
Sodann werden die Operation des Schrittes 1 nach Gleichung (11)
oder die Interpolations-Operation für jedes Zeitinkrement
Δ t sowie die Umwandlung des Ausgangssignals in das Inkrement-
Format durchgeführt. Zusätzlich wird die der Größe q · Δ t nach
Fig. 4 entsprechende Verzögerungszeit durch Einschreiben der Daten
in den Speicher B und Auslesen von Daten aus diesem Speicher
erzeugt. Schließlich wird das Ausgangssignal mit der Verzögerungszeit
T = m · n · Δ t + q · Δ t bereitgestellt.
Der Interpolationsvorgang nach Gleichung (11) wird dadurch
begonnen, daß der Inhalt Y i des Puffer-Schalters 9127
mit dem Inhalt Δ X i des Puffer-Schalters 9128 über eine
Multiplizierstufe 927 multipliziert wird. Der Ausgang Y i · Δ X i
der Multiplizierstufe 927 wird in einem FADD-Gleitkomma-
Addierer zu dem aus dem R-Speicher 906 vor einer Iteration
vorhandenen ganzzahligen Rest R i-1 hinzuaddiert. Das Ergebnis
durchläuft den Addierer 928 und wird einem Decoder 929 zugeführt.
Dieser Decoder 929 bildet das Inkrement Δ Z i ′, in dem
die Mantisse (m 1 + 1)-m 2 aus einem Bis mehreren Bit gemäß
dem Datenformat B nach Fig. 12 besteht. Das Inkrement Δ Z i ′
wird an einen IDM-Speicher 930 gesandt. Der mit dem Addierer
928 erhaltene Rest R i , bei dem das Inkrement Δ Z i ′ 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 DLY I entspricht.
Das an den IDM-Speicher 930 gesendete Inkrement Δ Z i ′
wird in diesen Speicher, der dem Speicher 72 nach Fig. 7 entspricht,
nach dem anhand von Fig. 7 erläuterten Verfahren
eingespeichert. Dabei entspricht der IDM-Speicher 930 dem
Speicher B und der ADCB-Adreßzähler 931 dem Adreßzähler 71.
Der Inhalt des ADCB-Adreßzählers 931 wird über einen Multiplexer
932 an die Klemme A des IDM-Speichers 930 angelegt und
an der durch das Ausgangssignal des Multiplexers 932 bestimmten
Adresse eines SDM-Speichers 918 mittels des Aufsteuersignals
(E) aus der Steuerstufe 911 eingespeichert.
Das Auslesen des Ausgangsinkrements Δ Z i mit der Laufzeit
T aus dem IDM-Speicher 930 erfolgt, sobald der obige
Schreibvorgang beendet ist.
Der ADMB-Speicher 907 in Fig. 9(C) entspricht dem
Adressenspeicher ADM 81 in Fig. 8, während der CI-Zähler
933 in Fig. 9(C) dem C 1-Zähler 83 nach Fig. 8 entspricht.
Der CI-Zähler 933 wird bei jedem Impuls des durch die
Steuerstufe 911 erzeugten Iterationssignals ITE (in Fig. 6)
zurückgesetzt. Das Auslesen des Inkrements Δ Z i 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 Δ Z i
gespeichert ist, aus dem ADMB-Adressenspeicher 907 durch
das Aufsteuersignal (E) aus der Steuerstufe 911 ausgelesen
wird. Da das Zeitsteuersignal TB′ "aus" bleibt, wird zu
der ausgelesenen Adresse J nicht die oben erwähnte Größe M
in einer Addierstufe 934 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 Δ Z i durch das Aufsteuersignal (E) aus
der Steuerstufe 911 aus dem IDM-Speicher 930 ausgelesen.
Das auf diese Weise ausgelesene Ausgangsinkrement Δ Z i
mit der Verzögerungszeit T wird an der der Recheneinheit DLY I entsprechenden
Adresse (N) des Δ Z-Speichers 903 über einen
Multiplexer 9240 und den Multiplexer 9021 in Fig. 9(A)
eingeschrieben.
Nach Erhalten des gewünschten verzögerten Ausgangssignals
wird zum Inhalt der der Recheneinheit DLY I entsprechenden
Adresse (Inhalt des Zählers 933) des ADMB-Adressenspeichers
907 die erwähnte Größe M über die Addierstufe 934 hinzuaddiert,
und die Summe wird über den Multiplexer 925 an
der der Recheneinheit DLY I entsprechenden Adresse des ADMB-
Adressenspeichers 907 wieder eingespeichert, um den resultierenden
Inhalt für die Operation der Recheneinheit DLY I
bei der nächsten Iteration verwenden zu können. Die Inhalte
des CI-Zählers 933 und des ADCB-Adreßzählers 931 werden
mit Abfallen des Zeitsteuersignals TB in Fig. 6 um 1 erhöht.
Dieser mit der Addierstufe 934 ausgeführte Vorgang
der Erhöhung um 1 wird mittels des Zeitsteuersignals TB′
bewirkt, das durch die Steuerstufe 911 erzeugt wird und
etwas eher abfällt als das Zeitsteuersignal TB.
Damit ist die Folge von Arbeitsschritten der Recheneinheit
DLY I beendet. Im folgenden sollen die Funktionen der
Recheneinheit DLY II im einzelnen beschrieben werden, die
Operationen zum Auffinden der Änderung (SDY p ) des Eingangssignals
des Verzögerungselements in dem Abtastintervall gemäß
Gleichung (16) für das Verzögerungselement nach der vorliegenden
Erfindung ausführt.
Zunächst wird in der Operationsphase P N + 1 gemäß Fig.
10 eine Summierung des Eingangssignals der Recheneinheit
DLY II während der i-ten Iteration erhalten. Dieser Vorgang
wird durch die Schaltung nach Fig. 9(A) ausgeführt und
erfolgt in der gleichen Weise wie in der P N -Phase der Recheneinheit
DLY I.
In der nächsten Y N + 1-Phase werden wie in der Y N -Phase
der Recheneinheit DLY I die Werte SDY, PC, Δ X und P x , die
in der P N+1-Phase erhalten werden, in die Puffer-Schalter
9121 bis 9124 eingegeben. Danach werden die im folgenden
angegebenen bestimmten Operationen durchgeführt.
In der Y N + 1-Phase werden die Änderungen des Eingangssignals
im Abtastintervall bei den jeweiligen Iterationen aufaddiert.
Zu diesem Zweck wird die der jeweiligen Iteration
vorhergehende Größe Y i-1 aus dem der Recheneinheit DLY II
entsprechenden Y-Speicher 904 ausgelesen und über einen
Multiplexer 924 in das Y-Register 925 eingespeichert. Der Inhalt
Y i-1 des Y-Registers 925 sowie der Inhalt SDY i des
Pufferschalters 9122 werden dem FADD-Gleitkomma-Addierer 926
zugeführt, der die folgende Operation durchführt:
Y i = Y i-1 + SDY i . (25)
Die so erhaltene Größe Y i 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. Fig. 4) handelt. Ist dies nicht der Fall,
so wird der über den Addierer 926 erhaltene Wert Y i über
die Multiplexer 924 und 9022 an der der Recheneinheit
DLY II entsprechenden Adresse des Y-Speichers eingespeichert.
Entspricht dagegen die gegenwärtige Iteration dem Abtastpunkt,
so wird der Wert Y i dem in Fig. 7 veranschaulichten
Verfahren in den SDM-Speicher 918 eingeschrieben. Gleichzeitig
wird die Änderung SDY des Eingangssignals der Recheneinheit
DLY II im Abtastintervall, die in der (p-n + 1)-ten
Iteration eingespeichert worden ist, nach dem in Fig. 8
veranschaulichten Verfahren aus dem SDM-Speicher 918 ausgelesen
und zur Berechnung des Exponenten nach Gleichung (15)
verwendet, um den Gradient Y i zur Verwendung in Gleichung
(11) zu erhalten, und dieser Gradient Y i wird an der der
Recheneinheit DLY I 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 Fig. 6 wird einem CS-Zähler
919 und einem ADCA-Adreßzähler 920 in Fig. 9(B)
zugeführt, wodurch die obigen Vorgänge vertauscht werden.
Das letztere Verfahren soll nachstehend im einzelnen
erläutert werden.
Der SDM-Speicher 918 nach Fig. 9(B) entspricht dem
Speicher A, der CS-Zähler 919 dem C 1-Zähler 83 nach Fig. 8,
der ADMA-Adressenspeicher 905 dem ADM-Adressenspeicher 81
nach Fig. 8 und der ADCA-Adreßzähler 920 dem ADC-Zähler
71 nach Fig. 7.
Das Einschreiben des Gradienten Y i in den SDM-Speicher
918 erfolgt derart, daß der Inhalt des ADC-Adreßzählers 920
über einen Multiplexer 921 der A-Klemme des SDM-Speichers 918
zugeführt und an der durch den Inhalt des Adreßzählers 920
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-Adressenspeichers
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 A-Klemme des SDM-Speichers 918 über den Multiplexer 921
zugeführt, ohne daß eine Erhöhung um eins erfolgt.
Die gewünschten Daten oder die Änderung des Eingangssignals
der Recheneinheit DLY II im Abtastintervall werden
durch das Aufsteuersignal aus der Steuerstufe 911 ausgelesen.
Die ausgelesenen Daten werden durch einen Decoder
922 in den Exponenten (1 bis m 1) und die Mantisse (m 1 + 1
bis m 2) gemäß den in Fig. 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 924 und 9022 an den
Y-Speicher 904 gesendet.
Der so ausgerechnete Gradient Y i wird an der der Recheneinheit
DLY I entsprechenden Adresse des Y-Speichers 904
eingeschrieben. Zusätzlich wird der numerische Wert Null
über den Multiplexer 9022 an der der Recheneinheit DLY II
entsprechenden Adresse des Y-Speichers 904 eingeschrieben.
Nach dem obigen Verfahren ist der Gradient Y i 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
DLY II der obige Wert M über eine Addierstufe 935 hinzuaddiert
und die Summe wird wiederum an der der Recheneinheit
DLY II entsprechenden Adresse des Speichers 905 über den
Multiplexer 9023 eingespeichert. Beim Abfallen des Zeitsteuersignals
TA in Fig. 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 TA′ 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 Fig. 6) zurückgestellt.
Vorstehend ist ein Ausführungsbeispiel im einzelnen
erläutert worden, bei dem das erfindungsgemäße Verfahren zum
Erzeugen der Verzögerung 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.
Fig. 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 Fig. 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 Fig. 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 Verzögerung.
Die in Fig. 13 gezeigte Schaltung zur Erzeugung der
Verzögerung stellt lediglich die Verzögerung 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
durch das Datenformat A nach Fig. 12 wiedergegeben.
Ferner handelt es sich bei der Steuerschaltung 1302
für den Speicher A um die gleiche Schaltung wie sie in
Fig. 9(B) dargestellt ist, die den Multiplexer 9023, die
den ADMA-Adressenspeicher 905, den CS-Zähler 919,
den ADCA- Adreßzä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 in (Y). Bei der Steuerschaltung
1304 für den Speicher B handelt es sich um die gleiche
Schaltung wie die nach Fig. 9(C), die aus den Multiplexern
9025, dem ADMB-Adressenspeicher 907, dem CI-Zähler 933,
dem ADCB-Adreßzä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 j in Gleichung (17)
zur Einspeicherung in den ADMA-Adressenspeicher innerhalb der
Steuerschaltung für den Speicher A, die Anfangsadresse IB j
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 Verzögerungszeit erforderliche Folge von Zeitsteuersignalen
erzeugt.
Im Vergleich mit dem Ausführungsbeispiel für das DRD
unterscheidet sich die Rechenschaltung nach Fig. 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 Fig. 6 sowie nach Verfahren erfolgt, die denen
beim DRD ähnlich sind, seien sie hier nur kurz erläutert.
Die Arbeitsweise des Ausführungsbeispiels nach Fig.
13 zur Erzeugung der Verzögerung 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 Fig. 13 ein Rückstellsignal RST zu, um deren Inhalte
zu löschen. Danach stellt die Steuerstufe 1306 die zur Erzeugung
der Verzögerung erforderliche Folge von Zeitsteuersignalen
bereit.
Das in Fig. 13 gezeigte Ausführungsbeispiel führt zunächst
mit Hilfe des Schaltungsteils 1301 Operationen durch,
die der Recheneinheit DLY I des DRD entsprechen, und anschließend
mit Hilfe des Schaltungsteils 1300 Operationen,
die der Recheneinheit DLA II 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 p , der unten angegeben ist, aus derjenigen
Adresse eines Y-Speichers 1307 ausgelesen, die der
Nummer des jeweiligen Verzögerungselements entspricht, und in
das Y-Register 13080 eingegeben:
Die Indices p und q in Gleichung (26) sind mit denen
in Fig. 4, die Variable b mit der in Gleichung (12) identisch.
Anschließend wird das Ergebnis Z′ i-1 der der jeweiligen
Iteration vorhergehenden Interpolation aus derjenigen Adresse
eines Z-Speichers 1309 ausgelesen, die der Nummer des jeweiligen
Verzögerungselements entspricht, und mittels eines FADD-
Gleitkomma-Addierers 1310 zu dem den Inhalt des Y-Registers
13080 bildenden Gradienten G p hinzuaddiert. Das Additionsergebnis
wird mit Z′ i bezeichnet:
Z′ i = Z′ i-1 + G p . (27)
Das Ergebnis Z′ i wird an der gleichen Adresse des Z-Speichers
1309 eingespeichert wie die obere Größe Z′ i-1.
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 Z′ i in den IDM-Speicher 1305 einzuspeichern. Indem
als Adresse der Inhalt eines dem ADCB-Adreßzähler nach Fig.
9(C) entsprechenden Zählers innerhalb der Steuerschaltung
1304 für den Speicher B verwendet wird, wird das Ausgangssignal
Z i mit der gewünschten Verzögerungszeit aus dem IDM-Speicher 1305
ausgelesen. Dieses Signal wird in ein BR 3-Pufferregister 1311
eingegeben und an der Ausgangsklemme 132 einem weiteren Rechenelement
zugeführt.
Der insoweit beschriebene Interpolationsvorgang wird unter
Verwendung des in Fig. 6 gezeigten Zeitsteuersignals TB
als Basissignal ausgeführt.
Im folgenden soll das Verfahren zur Erzielung des Gradienten
G p zur Durchführung der Operation nach Gleichung (26)
mittels des Schaltungsteils 1300 erläutert werden.
Der Gradient G p 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 Fig. 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 p des Eingangssignals in den SDM-Speicher 1303,
wird der (p-q + 1)-te Abtastwert Y p-q + 1 des jeweiligen
Verzögerungselements aus der durch die Steuerschaltung 1302 des
Speichers A angegebenen Adresse des SDM-Speichers 1303 ausgelesen
und in ein BR 1-Pufferregister 1312 eingegeben. Der
Inhalt dieses Pufferregisters 1312 wird mit Hilfe eines FADD-
Gleitkomma-Addierers 1314 zum Inhalt eines weiteren BR 2-
Pufferregisters 1313 addiert, und die Änderung des Eingangssignals
wird nach folgender Gleichung ausgerechnet:
Δ Y p-q + 1 = Y p-q + 1-Y p-q . (28)
Die Änderung Δ Y p-q + 1 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 Verzögerungselement entsprechenden
Adresse des U-Speichers zusammen mit der obengenannten
Mantisse eingeschrieben. Gleichzeitig wird der Inhalt
des BR 1-Registers in das Register BR 2 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 Verzögerung auf eine
von einem DRD verschiedene Rechenschaltung angewandt wird,
ist nach Aufbau und Arbeitsweise oben beschrieben worden.
Bei den Ausführungsbeispielen nach Fig. 9(A) bis
9(C) und nach Fig. 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
das Erzeugen einer Verzögerung 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 Verzögerungszeit
wieder ausgelesen und rekonstruiert wird. Dank der Verwendung
eines einfachen Speicher-Steuersystems ist es ferner möglich,
eine lange Verzögerungszeit mit hoher Geschwindigkeit und hoher Genauigkeit
zu erzeugen, indem lediglich die Speicherkapazität
erhöht wird. Die Erfindung ist also außerordentlich effizient.
Claims (9)
1. Verfahren zum Erzeugen eines verzögerten Signals
aus einem Eingangssignal bei jedem Arbeitszyklus eines Gerätes, insbesondere eines
digitalen Rechengerätes für Differentialgleichungen,
gekennzeichnet durch folgende Verfahrensschritte:
- a) Das Eingangssignal wird mit einer solchen vorgegebenen Abtastfrequenz abgetastet, daß das Abtastintervall ein ganzzahliges Vielfaches (mindestens das Zweifache) der Dauer des Arbeitszyklus des Gerätes beträgt, an jedem Abtastpunkt wird die Änderung des Eingangssignales während des Abtastintervalls zwischen jedem einzelnen Abtastpunkt und dem vorangehenden benachbarten Abtastpunkt berechnet, und diese Änderungen werden nacheinander in einem ersten Speicher A gespeichert;
- b) nacheinander wird in jedem Abtastintervall die Änderung in einem Abtastintervall, das dem gegenwärtigen Abtastintervall um eine vorgegebene, der gewünschten Verzögerungszeit entsprechenden Anzahl von Abtastintervallen vorausgeht, aus dem Speicher A ausgelesen;
- c) in jedem Arbeitszyklus wird für jedes vorausgegangene Abtastintervall ein Schätzwert des Eingangssignals mit einem Interpolationsvorgang nach Maßgabe der aus dem ersten Speicher ausgelesenen Änderung, der Dauer des Arbeitszyklus und des Abtastintervalls gebildet, und die Schätzwerte werden zu einem jeden Arbeitszyklus als Ausgangssignal ausgegeben, das gegenüber dem Eingangssignal die gewünschte Zeitverzögerung hat.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß im Verfahrensschritt
(c) der Schätzwert des jeweiligen Arbeitszyklus
in einem zweiten Speicher eingespeichert wird und daß
in jedem Arbeitszyklus der Schätzwert, der in einem um
eine vorgegebene Anzahl von Arbeitszyklen vorhergehenden
Arbeitszyklus eingespeichert wurde, aus der zweiten Speichereinrichtung
ausgelesen und als der dem Schätzwert entsprechende
Wert verwendet wird.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die vorgegebene
Anzahl von Abtastintervallen der Quotient aus der Verzögerungszeit
und der Abtastperiode ist.
4. Verfahren nach Anspruch 2,
dadurch gekennzeichnet, daß die vorgegebene
Anzahl von Arbeitszyklen ein Quotient ist, der dadurch
erhalten wird, daß ein bei der Division der Verzögerungszeit
durch die Abtastperiode sich ergebender Rest weiterhin
durch die Periode des Arbeitszyklus 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 des Eingangssignales
durch die Abtastperiode gewonnen wird, wozu das Eingangssignal
im Gleitkomma-Format mit Exponent und Mantisse
ausgedrückt wird, so daß das berechnete Ergebnis (D) der
Änderung des Eingangssignales folgendes Format hat:
D = Δ M × 2 Δ E (wobei Δ M die Mantisse und Δ E der Exponent sind), und wobei
die Abtastperiode h i entsprechend dem i-ten (mit i = positive
ganze Zahl) Verzögerungselement folgendermaßen ausgedrückt
wird:h i = 2 α (wobei α = ganze Zahl), so daß der Exponent dieser Größe
durch die OperationΔ E-α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 i (ganze positive Zahl)
abgerundet wird, daß ein durch Aufaddieren der Inkremente
des Eingangssignals in den Arbeitszyklen über das Abtastintervall
erhaltenes Ergebnis in die erste Speichereinrichtung
als die besagte Änderung eingespeichert wird,
daß im Verfahrensschritt (c) ein Integrationswert
jedes Arbeitszyklus bestimmt wird, der sich durch Multiplikation
der Periode des Arbeitszyklus mit einem Wert
ergibt, den man durch Division der bei einer vorgegebenen
Adresse des ersten Speichers ausgelesenen Änderung durch
die Abtastperiode erhält, daß der Integrationswert und
der Integrationsrest des Arbeitszyklus, der dem jeweiligen
Arbeitszyklus unmittelbar vorangeht, addiert werden und
das Ergebnis auf eine ganze positive Zahl n₂ gerundet
wird, daß die Summe von n₂ Bits in den zweiten Speicher
als Schätzwert eingespeichert wird und daß der an einer
vorgegebenen Adresse des zweiten Speichers ausgelesene
Schätzwert als Ausgangssignal des Verzögerungselements,
ausgedrückt im Inkrement-Format, verwendet wird.
7. Verfahren nach Anspruch 1 oder 6,
dadurch gekennzeichnet, daß die Abtastperiode
für sämtliche Verzögerungselemente gleich groß
sind.
8. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß im Verfahrensschritt
(a) die Änderungen des Eingangssignals in dem
Abtastintervall (h) zwischen dem betreffenden Abtastpunkt
des Eingangssignals und dem benachbarten Abtastpunkt
nacheinander an von einer ersten Zähleinrichtung
(ADCA) bestimmten Adressen des ersten Speichers eingespeichert
werden, wobei der Zählwert der ersten Zählereinrichtung
für jedes der gewünschten Verzögerungselemente
an jedem Abtastpunkt des Eingangssignals um jeweils eins
geändert wird, daß im Verfahrensschritt (b) eine erste
Adressenspeichereinrichtung (ADMA) zur Bezeichnung derjenigen
Adressen des ersten Speichers, an denen Daten ausgelesen
werden sollen, in eine erste Gruppe von Teilspeicherbereichen
unterteilt wird, deren Anzahl der Anzahl der
Verzögerungselemente gleich ist, und daß die Änderungen in
dem Abtastintervall, das um eine vorgegebene Anzahl von
Abtastintervallen dem jeweiligen Abtastintervall vorangeht,
nacheinander von den durch die erste Adressenspeichereinrichtung
bezeichneten Adressen des ersten Speichers ausgelesen
werden, wobei die Inhalte der ersten Gruppe von
Teilspeicherbereichen entsprechend dem gewünschten Verzögerungselement
für jede Zahl der Verzögerungselemente
in jedem Abtastintervall geändert werden.
9. Verfahren nach Anspruch 1 oder 8,
dadurch gekennzeichnet, daß im Verfahrensschritt
(c) die Schätzwerte der jeweiligen Arbeitszyklen
nacheinander an durch eine zweite Zähleinrichtung (ADCB)
bezeichneten Adressen des zweiten Speichers eingespeichert
werden, wobei der Zählwert der zweiten Zähleinrichtung
für jedes der gewünschten Verzögerungselemente in jedem
Arbeitszyklus um eins geändert wird, daß eine zweite
Adressenspeichereinrichtung (ADMB) zum Bestimmen derjenigen
Adressen des zweiten Speichers, aus denen die
gewünschten Schätzwerte ausgelesen werden sollen, in eine
zweite Gruppe von Teilspeicherbereichen unterteilt wird,
deren Anzahl der Anzahl der Verzögerungselemente gleich
ist, und daß die Schätzwerte in dem Arbeitszyklus, der
dem jeweiligen Arbeitszyklus um eine vorgegebene Anzahl
von Arbeitszyklen vorausgeht, als die den Schätzwerten
entsprechenden Werte an durch die zweite Adressenspeichereinrichtung
angegebenen Adressen des zweiten Speichers
ausgelesen werden, wobei die Inhalte der zweiten Gruppe
von Teilspeicherbereichen entsprechend dem gewünschten
Verzögerungselement für jede Zahl der Verzögerungselemente
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 DE3201088A1 (de) | 1982-08-05 |
DE3201088C2 true 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 | 富士通株式会社 | サンプリング装置、サンプリング方法及びサンプリングプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2145235A1 (de) * | 1971-09-09 | 1973-08-16 | Industrial Research Prod Inc | Digitales verzoegerungssystem fuer tonsignale |
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
Also Published As
Publication number | Publication date |
---|---|
US4497035A (en) | 1985-01-29 |
DE3201088A1 (de) | 1982-08-05 |
JPS57120157A (en) | 1982-07-27 |
JPH035093B2 (de) | 1991-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3856045T2 (de) | Hochauflösungsumwandlung von phase zur sinusamplitude | |
DE3485792T2 (de) | Digitale signalverarbeitungseinrichtungen. | |
DE2247728A1 (de) | Vorrichtung zum pressen und dehnen von signalen | |
EP0475497A2 (de) | Stopfentscheidungsschaltung für eine Anordnung zur Bitratenanpassung | |
DE2432594C3 (de) | Rekursives Digitalfilter | |
DE3201088C2 (de) | ||
DE2160528C3 (de) | Digitaler Differential-integrator | |
DE2918692C2 (de) | Digitalfilter | |
DE69029796T2 (de) | Adressierprozessor für einen Signalprozessor | |
DE2730662A1 (de) | Verfahren und schaltung zum erzeugen eines autokorrelations-funktions-faktors | |
DE3232516A1 (de) | Schneller dpcm-kodierer | |
DE2638314C2 (de) | ||
DE2501531A1 (de) | Digitale anordnung zum umwandeln komprimierter deltamodulierter signale in pcm-signale | |
DE2039228A1 (de) | Verfahren und Vorrichtung zum Konvertieren und Stellenwert-Verschieben von Zahlsignalen unterschiedlicher Codes in einer Datenverarbeitungsanlage | |
DE2019603A1 (de) | Digital-analoge Recheneinrichtung | |
DE3124964C2 (de) | ||
DE4010735A1 (de) | Digitale wortserielle multiplizierschaltung | |
DE3115884C2 (de) | ||
DE2253746A1 (de) | Modul-signalprozessrechner | |
DE3853025T2 (de) | Anordnung und Verfahren zur Digitalsignalverarbeitung. | |
DE3239841A1 (de) | Schneller dpcm-codierer | |
DE3634691A1 (de) | Differenzpulscodemodulator sowie dessen verwendung als demodulator | |
DE3609056A1 (de) | Zaehlerschaltkreis | |
DE3852503T2 (de) | Verfahren und vorrichtung zur digitalen datenübertragung. | |
DE3124194A1 (de) | "frequenzabfuehlschaltung" |
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 |