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
Application number
DE3201088A
Other languages
English (en)
Other versions
DE3201088A1 (de
Inventor
Shigeru Nishitama Tokio/Tokyo Jp Yabuuchi
Takeyuki Kodaira Tokio/Tokyo Jp Endoh
Kazuyuki Hachioji Tokio/Tokyo Jp Kodama
Jushi Mito Ibaraki Jp Ide
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)
  • 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 · ht < (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:
(1) P-Phase - Aufnahmephase
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 :
(2) Y-Phase - Aktualisierungsphase
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)
(3) I-Phase - Integrationsphase
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.
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 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)

* 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 富士通株式会社 サンプリング装置、サンプリング方法及びサンプリングプログラム

Family Cites Families (5)

* 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
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

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) &#34;frequenzabfuehlschaltung&#34;

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