DE2606931A1 - Verfahren zur erzeugung von werten mathematischer funktionen - Google Patents

Verfahren zur erzeugung von werten mathematischer funktionen

Info

Publication number
DE2606931A1
DE2606931A1 DE19762606931 DE2606931A DE2606931A1 DE 2606931 A1 DE2606931 A1 DE 2606931A1 DE 19762606931 DE19762606931 DE 19762606931 DE 2606931 A DE2606931 A DE 2606931A DE 2606931 A1 DE2606931 A1 DE 2606931A1
Authority
DE
Germany
Prior art keywords
order
value
polynomial
interpolation
expression
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.)
Withdrawn
Application number
DE19762606931
Other languages
English (en)
Inventor
Reginald Catherall
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.)
Pitney Bowes Document Messaging Technologies Ltd
Original Assignee
Pitney Bowes Document Messaging Technologies 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 Pitney Bowes Document Messaging Technologies Ltd filed Critical Pitney Bowes Document Messaging Technologies Ltd
Publication of DE2606931A1 publication Critical patent/DE2606931A1/de
Withdrawn 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/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Description

PATENTANWÄLTE
HENKEL, KERN, FEILER &HÄNZEL
BAYERISCHE HYPOTHEKEN- UND TELEX: 05 29 «02 HNKL D EDUARD-SCHMID-STRASSE 2 WECHSELBANKMÜNCHENNr.SlS-SSlli TELEFON: (0 89) 66 31 97, 66 30 91 - 92 „ ____ X/rfvxr/-,„„XI nn DRESDNER BANK MÜNCHEN 3 914 TELEGRAMME: ELLIPSOID MÜNCHEN ^8000 MÜNCHEN 90 POSTSCHECK: MÜNCHEN 1621 47 -
Bell & Howell Limited, 2606931
Basingstoke, Hampshire,
England
L J
UNSERZEICHEN: VI/ώϊΙ MÜNCHEN, DEN CU, Γ 60,
R PTRIFT'
Verfahren zur Erzeugung von Werten mathematischer Funktionen
Die Erfindung betrifft ein Verfahren und Geräte zum Erzeugen von Werten mathematischer Funktionen unter Verwendung von iterativen Interpolationsverfahren.
Es ergeben sich eine Reihe von Datenverarbeitungssituationen, bei welchen die Forderung besteht, den Wert einer Funktion y = f (x) bei irgendeinem Wert von χ innerhalb eines gegebenen Bereiches verfügbar zu haben. Ein Weg, dieser Forderung bei Datenverarbeitungssystemen zu genügen, besteht darin, in einem Speicher Werte der abhängigen Veränderlichen y für gegebene Werte der unabhängigen Veränderlichen χ zu speichern und dann den Speicher abzufragen, um den Wert von y für einen gegebenen Wert von χ zu erhalten. Ein Nachteil einer solchen Anordnung besteht darin, daß es möglich ist, nur diskrete Werte von χ zu speichern und, wenn es erforderlich ist, eine große Anzahl solcher Werte zu speichern, so werden die Kosten des Speichers hoch.
-2-
609833/0608
In der Beschreibung der britischen Patentanmeldung Nr. 8045/75 des gleichen Datums ist das sogenannte inter-alia-Verfahren erläutert, und zwar ein Verfahren zur Interpolation eines Wertes der abhängigen Veränderlichen y für einen gegebenen Wert der unabhängigen Veränderlichen χ einer Funktion y = f (x) und ebenso ein Gerät zur Durchführung des Verfahrens. Die Funktion y = f (x) ist ein lineares Polynom in x. Das Verfahren erfordert eine iterative Interpolationstechnik, die so betrachtet werden kann, daß durch wiederholte Zweiteilung eines Segments des Betriebsbereiches der unabhängigen Veränderlichen χ interpoliert wird, wobei ein Anfangssegment, welches sich an zwei Punktwerte der Funktion an den Enden des Bereiches anschließt, zweigeteilt wird, um zwei neue Segmente zu bilden. Eines der zwei neuen Segmente enthält den gegebenen Wert von x, für welchen der Wert der abhängigen Veränderlichen y gefordert wird, und dies ist das neue interessierende Segment. Das neue interessierende Segment kann dann auf die gleiche Weise zweigeteilt werden und so weiter, so daß die Länge jedes Segments progressiv halbiert wird und auf den gegebenen Wert von χ zukonvergiert. In einer Hinsicht umfaßt dieses Verfahren die Verfahrensschritte einer linearen Interpolation zwischen zwei Punktwerten, die ein interessierendes Segment definieren, um einen Mittelpunktswert zu erhalten, wobei dann der Mittelpunktswert durch Addition eines Korrekturwertes oder "Resterfordernisses" korrigiert wird. Der korrigierte Mittelpunktswert wird dann für einen der zwei früheren Punktwerte substituiert, um ein neues interessierendes Segment zu definieren, und es wird dann der Schritt der Interpolation und der Korrektur des neuen Mittelpunkts-
-3-
009338/0608
wertes .mit einem neuen Korrekturwert iterativ wiederholt, bis der Wert von y für einen gegebenen Wert von χ erhalten ist. Die Korrekturwerte können von dem Ausdruck zweiter Ordnung bzw. zweiten Grades einer Polynomreihe oder von einer Kombination des Ausdrucks zweiter Ordnung mit einem progressiv höhergradigen Ausdruck oder Ausdrücken der Reihe abgeleitet werden. Die bei dem Verfahren verwendete Reihe wird als binäre Polynomreihe bezeichnet.
Ein anderes Verfahren und Gerät zur Interpolation des Wertes der abhängigen Veränderlichen y für einen gegebenen Wert χ einer Funktion y = f (x) ist in der Beschreibung eines britischen Patents Nr. 1 363 073 (US-Patent Nr. 3 789 203) beschrieben, in welcher auch die binären Polynome mehr im einzelnen erläutert sind.
Die in den zuvor erwähnten Patentschriften erläuterten Verfahren sind für eine Realisierung bei einem geeignet programmierten Computer oder bei einem anderen Gerät (hardware), welches für diesen Zweck ausgelegt ist, geeignet.
Das binäre Polynom-Interpolationsverfahren hat die Eigenschaft, daß es interpolierte Werte von y an den Endpunkten des interessierenden Anfangssegments und bei einer binären Folge von x-Werten liefern kann. Die Länge der Folge, für welche genaue Werte von y erhalten werden, hängt von dem Grad bzw. der Ordnung des interpolierten Polynoms ab, so daß beispielsweise bei einem Polynom vierter Ordnung eine Interpolation über einen normierten x-Bereich von Warten von O bis 1 der so erhaltene Wert von y eine genaue Entsprechung bei Werten von χ von 0,
-4-
609838/0608
1/4, 1/2, 3/4 und 1 findet. In ähnlicher Weise ergibt sich für ein Polynom achter Ordnung der interpolierte Wert von y als genaue Entsprechung bei x-Werten von O, 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8 und 1. Bei den zuvor erläuterten Verfahren wurde festgestellt, daß die Zahl der Punkte einer genauen Entsprechung in der Folge um 1 höher liegt als die Ordnung des interpolierten Polynoms. Es sei erwähnt, daß allgemein die Genauigkeit der Interpolation durch Erhöhen der Ordnung des Polynoms erhöht werden kann, was Jedoch mit einer gleichlaufenden Erhöhung der Komplexität der entsprechenden Einrichtung verbunden ist.
Wenn eine polynomische Annäherung für mehrere Funktionen erforderlich ist, so kann festgestellt werden, daß eine gegebene polynomische Ordnung oder Grad die meisten der Anforderungen erfüllt, eine kleine Zahl von Funktionen jedoch eine Annäherung höherer Ordnung erforderlich macht.
Eine Möglichkeit, diesem Problem zu begegnen, würde darin bestehen, die Interpolation bei der höchsten erforderlichen Ordnung durchzuführen, um der Anforderung der schwierigsten Funktion Rechnung zu tragen, wobei jedoch die erhöhte Komplexität und Kosten nicht gerechtfertigt wären. Eine weitere Möglichkeit besteht darin, eine als "stückweise Annäherung" bezeichnete Technik zu verwenden, bei welcher der Bereich in eine Anzahl von Zonen unterteilt ist, wobei diese Möglichkeit jedoch in einer beträchtlichen Vermehrung der gespeicherten Daten resultiert, wenn für eine schwierige Funktion eine genaue Interpolation erforderlich ist.
-5-
609838/0608
Es ist somit Aufgabe der vorliegenden Erfindung, ein Verfahren zum Interpolieren eines Wertes einer abhängigen Veränderlichen y zu schaffen, die eine Punktion einer unabhängigen Veränderlichen χ ist, bei welchem die Hardware oder die Software, die vorgesehen wird, um die Interpolation nfter Ordnung zu erreichen, dazu verwendet werden kann, bis hinauf zu einer 2n-ten Ordnung eine Interpolation durch Doppelbetrieb zu erreichen.
Die vorliegende Erfindung schafft ein Verfahren zur Interpolation eines Wertes der abhängigen Veränderlichen y, der einen gegebenen Wert einer unabhängigen Veränderlichen χ entspricht, wobei y eine Punktion von χ ist und durch eine lineare polynomische Reihe der 2n-ten Ordnung beschrieben ist und die Ausdrücke der Reihe, welche die (n+1)-ten bis 2η1ten Polynome enthalten, in Form eines Ausdrucks vorliegen, der ein Produkt eines gemeinsamen Polynoms n-ter Ordnung von χ ist und jeweils der Summe des BAynoms der n'ten bis zur null'ten Ordnung ist, von denen jedes mit einem geeigneten Koeffizienten multipliziert wird, und zwar unter Verwendung eines Interpolationsverfahrens entsprechend einem Polynom n'ten Grades oder Ordnung, um eine Annäherung bis zu einer 2n'ten Ordnung in zwei Iterationen des Interpolationsverfahrens n'ter Ordnung zu erhalten, wobei dieses Verfahren dann darin besteht, die Koeffizienten zu bestimmen und diese dazu zu verwenden, eine Interpolation n-ter Ordnung durchzuführen, um einen spezifischen Koeffizienten für das gemeinsame Polynom n-ter Ordnung bei einem gegebenen Wert der unabhängigen Veränderlichen χ zu erhalten, daß dann die die Polynome n-ter und niedrigerer Ordnung betreffenden Koeffizienten, wie gefordert, modifiziert werden, um den das gemeinsame
-6-
€09838/0608
Polynom n'ter Ordnung enthaltenden Ausdruck zusammenzulegen, der mit seinem spezifischen Koeffizienten multipliziert wurde, und daß dann eine zweite Interpolation n-ter Ordnung unter Verwendung der modifizierten Koeffizienten bei dem gegebenen Wert der unabhängigen Veränderlichen χ durchgeführt wird, so daß das Ergebnis der zweiten Interpolation aus dem Wert der abhängigen Veränderlichen y für einen gegebenen Wert der unabhängigen Veränderlichen besteht, der unter Verwendung eines Interpolationsverfahrens höherer Ordnung bis hinauf zur 2n-ten Ordnung erhalten worden wäre.
Das Verfahren nach der vorliegenden Erfindung kann dadurch realisiert werden, indem man einen Computer so programmiert, daß er automatisch den Wert der geforderten Veränderlichen berechnet, oder mit Hilfe eines Datenverarbeitungsgerätes, welches für den genannten Zweck ausgelegt ist.
Die Erfindung betrifft auch ein Rechengerät oder ein Datenverarbeitungsgerät, welches zur Durchführung des Verfahrens nach der Erfindung ausgestaltet ist.
Die Erfindung umfaßt auch ein Verfahren in Form eines Programms, welches in physikalischer Form gespeichert wird, wie beispielsweise in einem programmierten Read Only Memory-Speicher.
Im folgenden wird die Erfindung anhand eines Ausführungsbeispiels unter Hinweis auf die Zeichnungen näher erläutert. Es zeigt:
-7-
609838/0609
Fig. 1 bis 7 graphische Darstellungen polynomischer Ausdrücke von der null1ten bis zur achten Ordnung;
Fig. 8 eine graphische Darstellung eines polynomischen Ausdrucks vierter Ordnung mit einem gemeinsamen Faktor, der zur Beschreibung des Gegenstandes der Erfindung vorteilhaft ist;
Fig. 9 graphische Darstellungen von y = sin χ und y = χ über einen x-Bereich von O bis 90°, normiert auf einen Bereich 0 bis 1, eine Auftragung der Unterschiede zwischen den Werten y = sin χ und y = χ und eine graphische Darstellung einer Parabel der in Figur 3 gezeigten Form, multipliziert mit einem Koeffizienten, wodurch deren Größe gleich ist derjenigen der Differenzkurven bei χ = 1/2;
Fig.10 eine Auftragung der Unterschiede zwischen der Kurve y = sin χ und der Kurve eines Ausdrucks y = 1/2 (b + a) + 1/2(b - a).2(x - 1/2) + K4x(1 - χ), das ist ein Polynom zweiter Ordnung, zusammen mit .einer Kurve der in Figur 4 gezeigten Form, multipliziert mit einem Koeffizienten, wodurch die Differenz zwischen den zwei Kurven bei den Werten von χ = 1/4 und χ = 3/4 auf Werte reduziert wird, die hinsichtlich der Amplitude und des Vorzeichens identisch sind; und
Fig.11 ein vereinfachtes Blockschaltbild eines Gerätes zur Realisierung des Verfahrens nach der Erfindung, wie es in der zuvor erwähnten Patentanmeldung Nr. 8045/75 erläutert ist.
-8-
609838/0608
Die Ableitung der binären Polynome und Verfahren und Gerät zur Realisierung der Polynome sind in Einzelheiten in der zuvor genannten Patentbeschreibung dargelegt. Für ein besseres Verständnis des Verfahrens nach der Erfindung ist jedoch eine allgemeine Erläuterung von Vorteil.
Wenn eine polynomische Annäherung dazu verwendet wird, um Werte von y als eine Funktion von χ zu interpolieren, so ist es allgemein üblich, das Problem zunächst auf einen bequemen x-Bereich zu normieren, wie beispielsweise -1 bis +1 oder 0 bis 1. Bei der folgenden Erklärung ist angenommen, daß der x-Bereich auf 0 bis 1 normiert ist und daß die Algorithmen ausgeführt werden unter Verwendung eines Zweikomplement-Binärkodes (2's complement binary code), es sei jedoch hervorgehoben, daß dies keine Einschränkung des Verfahrens darstellt.
Wie bereits erwähnt, gelangt man mit dem iterativen Interpolationsverfahren unter Verwendung einer binären Polynomreihe an dem geforderten x-Wert an, für welchen der Wert von y dadurch erhalten werden soll, indem man wiederholt eine Zweiteilung des x-Bereiches durchführt, das heißt, y wird in einer Reihe von Stufen interpoliert, die zu einer binären Reihe von x-Werten führen, so daß:
bei der ersten Stufe (n = 1) y erhalten wird bei x/2 bei der zweiten Stufe (n = 2) y bei dem ungeraden Viertelwert von χ in dem Segment erhalten wird, welches den geforderten x-Wert enthält.
-9-
609838/0608
bei der dritten Stufe (n = 3) y bei dem ungeraden Achtelwert von χ in dem Segment erhalten wird, welches den geforderten x-Wert enthält.
Wie bereits erwähnt wurde, besitzt das Binärpolynom-iterative Interpolationsverfahren die Eigenschaft, daß es interpolierte Werte von y für eine binäre Folge von x-Werten liefert.
Eine binäre Polynomreihe vierter Ordnung der folgenden Form:
y = do Bo + d1 B1 + d2 B2 + d3 B3 + d4 B4
in welcher dn der Koeffizient n'ter Ordnung und Bn ein lineares Polynom von χ der η'ten Ordnung ist, soll nun anhand eines Beispiels abgeleitet werden, und zwar unter Verwendung einer gut bekannten Funktion y = sin χ über einen Bereich von 0 bis 90°, normiert auf den x-Bereich 0 bis 1. Es soll dann die Erweiterung auf eine Polynomreihe achter Ordnung überprüft werden, um ein spezifisches Verfahren nach der Erfindung zu beschreiben.
Gemäß Figur 9 ist eine Kurve 10 der Funktion y = sin χ über einen x-Bereich 0 bis 90°, normiert auf einen x-Bereich 0 bis 1, gezeigt, und der Wert von y bei irgendeinem gegebenen Wert χ in dem Bereich wird in der üblichen Weise herausgegriffen als Y/n\ = sin X(n)> d.h. y/QN = sin 0 = 0; Y(W2) = sin(i/2) = sin ^5 = °>70711 ··· usw.
Es wurden zwei spezifische Endpunktwerte a, b auf der Kurve gezeichnet. Der Punkt "a" ist der Wert von Y/q\ beim
-10-
609838/0608
260693
Ursprung, das ist der Wert von dem x-Schnittpunkt, und der Punkt "b" ist der Wert von y^)· Die Gleichung einer zwischen den Punkten a und b gezogenen Linie kann in der Form y = i/2(a + b) + 1/2(b - a)*2(x - 1/2) = a + (b - a)x ausgedrückt werden. Eine Lösung dieses Ausdrucks führt lediglich zu den Werten y = x, d.h. eine gerade Linie 12. Eine lineare Interpolation zwischen diesen zwei Punktwerten führt zu einem Wert von y bei χ = 1/2 von
Für eine zweite Interpolation sind zwei Angaben (options) verfügbar, und zwar weiterzuschreiten nach UP oder nach-DOWN, d.h. zu interpolieren
y(i/4) oder y(3/4)
dies bedeutet y^/4) = [a + y(1/2)^2 oder y(3/4) = [y(1/2) + b]/2
und die Entscheidung y,^ ,.s oder Υ(-ζ/ι,\ zu interpolieren, wird durch den gegebenen x-Wert bestimmt, für welchen der Wert von y gefordert wird.
Es geht hervor, daß die lineare Interpolation zwischen zwei Endpunkten Antworten im Einklang mit dem Polynomausdruck y = mx + b liefert (die Gleichung für eine gerade Linie), jedoch ziemlich unangebracht für den Fall einer nicht-linearen Funktion, wie beispielsweise y = sin χ ist.
In Figur 9 stellt eine Kurve 14 die Auftragung der Differenzen zwischen den Kurven 10 und 12 dar und kann als
-11-
609838/0608
Restefforderniskurve betrachtet werden; dies bedeutet, daß bei einem gegebenen Wert von y = f(x) dies der Wert (oder Resterfordernis) ist, der zu dem Wert addiert werden muß, der durch lineare Interpolation von y = f(x) zwischen zwei Punktwerten erhalten wird, die den gegebenen Wert von χ einklammern. Es wird sich ergeben, daß dies zu einer Annäherung an eine Parabel führt, die ein Polynom zweiten Grades darstellt, und zwar der Form B1 = K4x(1 - x), wobei K ein Koeffizient ist und das Polynom x(1 - x) zweiter Ordnung bzw. zweiten Grades durch einen Maßstabsfaktor 4 multipliziert wird, der einen Wert der Einheit für den Ausdruck liefert, wenn χ = 1/2.
Wenn daher ein Ausdruck, der eine Parabel, multipliziert mit einem Koeffizienten K, beschreibt, zu den oben beschriebenen linearen Ausdrücken addiert wird, so führt dies dazu, daß der Gesamtausdruck eine dichtere Annäherung an die gewünschte Sinusfunktion darstellt.
Wenn die Differenz zwischen den zwei Werten bei χ = 1/2 mit K bezeichnet wird, dann muß Κ4χ· (1 - χ) gleich der Differenz zwischen y = sin χ und y = χ bei x=1/2 sein, d.h. (0,70711 - 0,5) = 0,20711. K kann als Resterfordernis bei χ = 1/2 bezeichnet werden. Für den polynomischen Ausdruck muß zum Erreichen des richtigen Wertes von y für sin x, wenn χ = 1/2, der quadratische Ausdruck einen Wert gleich mit K liefern und die polynomische Reihe läßt sich schreiben als:
y = 1/2(b + a) + 1/2(b - a)*2(x - 1/2) + Κ·4χ(ΐ - χ) und es läßt sich erkennen, daß für die Funktion γ - sin χ
-12-
609838/0608
y richtig ist bei x-Werten von O, 1 und 1/2. Für eine zweite Interpolation bei χ = 1/4 oder 3/4, führt die Interpolation zu
DOWN Ύ(Λ/ι,\ = 1/2[a + γ /9n] + (ein Korrekturfaktor zweiter u/ ' u/ ; Ordnung)
up Y(^IL\ = 1/2 Cy/* io\ + fe] + (ein Korrekturfaktor zweiter ^/n-) \-\i<L) Ordnung)
und es kann gezeigt werden, daß der neue Korrekturfaktor gleich K/4 ist. Für eine dritte Interpolation bei χ = 1/8 oder 3/8 oder 5/8 oder 7/8, wie dies gefordert wurde, beträgt der Korrekturausdruck K/16 usw.
Es ist daher möglich, dies als einen Algorithmus der folgenden Form aufzuschreiben:
yn = 1/2(an +DnJ+Kn
wobei η die Stufe in dem Algorithmus ist, so daß bei der η'ten Stufe sich ergibt:
ÜP a
DOWN a(n+1) = an
UP oder DOWN K(n+1) =
Eine Interpolation des polynomischen Ausdrucks der Form
y = 1/2(b + a) + 1/2(b - a)'2(x - 1/2) χ K.4x(1 - x)
führt somit zu einer sehr viel besseren Annäherung für die gegebene Funktion y = sin χ als die lineare Interpolation zwischen zwei Endpunkten, es sei jedoch erwähnt,
-13-
509838/0608
daß drei Werte erforderlich sind, nämlich die Werte von y bei χ = O und 1 und der Wert von K, um die Interpolation durchzuführen, und allgemein sind (n+1)-Größen erforderlich, um eine Interpolation n'ter Ordnung durchzuführen.
Es wurde bereits erwähnt, daß die Kurve 14 keine echte Parabel darstellt. Figur 3 zeigt eine Parabel der Form y = 4x(1 - x) und die Kurve 16 von Figur 9 zeigt eine Parabel der Form K4x(1 - x), wobei K = 0,20711 ... Die Differenz zwischen den zwei Kurven 14 und 16 ist bei der Kurve 18 in Fig. 10 gezeigt und es läßt sich zeigen, daß diese ähnlich derjenigen einer kubischen Kurve (dritten Grades bzw. Ordnung) ist. Diese Differenzkurve 18 stellt den Fehler zwischen der Sinusfunktion und dem zuvor angegebenen Polynomausdruck mit dem quadratischen Ausdruck dar. Die reduzierten Maßstabswerte für die Ordinate y zeigen die relativen Größen in den Fehlern an, die durch die Kurven 14 und 18 herausgegriffen werden. ·
Die Addition eines kubischen Ausdrucks zum Polynomausdruck reduziert weiter beträchtlich die Größe dieser Differenz. Die Kurve 18 ist nicht um die x-Achse symmetrisch, so daß daher für den Reduzierung des Fehlers der kubische Ausdruck bzw. Ausdruck dritten Grades folgende Form haben sollte:
wie dies in Figur 4 gezeigt ist. Bei diesem Ausdruck ist -4 der Maßstabskoeffizient, der Ausdruck x(1-x) ist ähnlich dem Parabelausdruck tew. Ausdruck zweiter Ordnung
-14-109838/0608
und der Faktor (x - 1/2) wird dazu verwendet sicherzustellen, daß der Ausdruck einen Beitrag von null bei χ = 1/2 liefert, während das negative Vorzeichen die erforderliche Polaritätsumkehrung bewirkt. Der Polynomausdruck kann nunmehr wie folgt beschrieben werden:
y = i/2(b+a) + i/2(b-a)*2(x-i/2) + Κ·4χ(1-χ + C-~x(i-x)(x
wobei der Wert des Koeffizienten C so ausgewählt wird, daß die Differenz zwischen den Kurven 18 und 20 bei χ = 1/4 und χ = 3/4 reduziert wird, und zwar auf Werte, die hinsichtlich Amplitude und Vorzeichen identisch sind.
Die Differenz zwischen der echten Sinusfunktion und einer Funktion, die durch Interpolieren des Polynomausdrucks abgeleitet wird und das Polynom dritten Grades oder Ordnung enthält, ist als Kurve 22 in Figur 10 gezeigt und es sei erwähnt, daß diese ähnlich derjenigen einer Kurve vierten Grades (vierter Ordnung) ist (wie in Figur 5 gezeigt), bei welcher die Fehler bei χ = 0, 1/2 und 1 null sind und nunmehr bei χ = 1/4 und χ = 3/4 beträchtlich reduziert sind, jedoch nicht null sind.
Eine Grundregel der binären Polynomreihe besteht darin, daß beim Aufstellen jedes Punktes einer genauen Entsprechung (fit) alle nachfolgenden Polynome diese Entsprechung bewahren müssen. Dies bedeutet, daß bei Verwendung der binären PoXynomannäherung mit dem Ausdruck zweiten Grades eine genaue Entsprechung hergestellt werden kann für χ = 0, χ - 1/2 und χ = 1. Das Polynom B^ dritten Grades und alle nachfolgenden Polynome müssen daher den Ausdruck x(1-x)(x-i/2) enthalten. Um nun mit der Erläu-
-1.5-
600838/0608
terung der Regel einer genauen Entsprechung weiterzufahren, so fordert die Regel, daß das Polynom B4 vierten Grades oder Ordnung ebenfalls das Polynom x(1-x)(x-i/2) enthalten muß, da die aufgestellten Punkte der genauen Entsprechung weiterhin sind χ = O, 1/2 und 1. B4 muß jedoch vierten Grades sein und bei diesem Beispiel wird die geforderte Form dadurch erhalten, indem man einen zweiten Faktor (x- 1/2) addiert. Somit enthält Bj. den Ausdruck x(1-x)(x-1/2) und Figur 5 zeigt eine Kurve eines Polynoms vierten Grades der Form
worin =sp. den Maßstabsfaktor darstellt.
Die Addition eines Ausdrucks vierten Grades der Form
wobei der ¥ert des Koeffizienten Q so gewählt ist, daß eine exakte Entsprechung bei Werten von y für χ = 1/4 und χ = 3/4 erhalten wird, führt zu einer noch weiteren Reduzierung des Fehlers.
Das binäre Polynom vierten Grades bzw. Ordnung
y = do B0 + d1 B1 + d£ B2 + d3 B3 + d4 B4 kann somit wie folgt geschrieben werden:
y = i/2(b+a) + i/2(b-a)'2x + K.4x(1-x) +
C-ψ χ (1-x)(x-1/2) +
q.256x (^)(X-1Z2)Z
-16-603838/0608
Der Algorithmus kann somit geschrieben werden als: Yn « i/2(an η- bn) + Kn
K(n+D =1/4Kn [£]Cn +
.D
Der Polaritätsoperator [+U ] bedeutet einfach, daß der
n+1
Koeffizient, den dieser qualifiziert, abgezogen wird, wenn die Interpolation DOWN ist, d.h. für ein niedrigeres Segment von χ bei dem (n+i)-ten Schritt durchgeführt wird, und addiert wird, wenn diese nach UP verläuft, d.h. für das höhere Segment von χ durchgeführt wird.
Wenn y als Polynom achten Grades oder Ordnung ausgedrückt wird, so führt eine Annäherung vierten Grades zu einem Restbetrag oder Erfordernis, welcher als ein Polynom ausgedrückt werden kann, das Polynome fünften bis achten Grades enthält.
Um somit den Algorithmus bis zum Polynom vierter Ordnung aufzustellen, ist es erforderlich, die Werte der Koeffizienten a, b, K, C und Q zu kennen, die bequemerweise von einer Kenntnis der fünf Punktwerte von y bei spezifischen Werten von χ abgeleitet werden können, nämlich bei
x=O, 1/4, 1/2, 3/4, 1.
-17-
609338/0608
Die zuvor aufgeschriebene Polynomreihe kann bis ins Unendliche erweitert werden, eine bequeme Progression besteht jedoch darin, die Reihe bis zum achten Grad zu erweitern und so anzuordnen, daß die Koeffizienten de bis dQ für die Polynome B,- bis BQ fünfter und achter Ordnung in Kombination exakte Entsprechungen für die Funktion bei den ungeraden i/8-¥erten von χ erreichen. Um eine Polynominterpolation achter Ordnung zu realisieren, ist es erforderlich, neun spezifische Größen zu kennen, wie die neun Punktwerte von y bei spezifischen Werten von x, nämlich bei x=O, 1/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8, 1.
Die Koeffizienten d , d^., K, C und Q der binären Polynome sind als solche Koeffizienten definiert, die zu einer genauen Entsprechung bei den Endpunkten χ = 0, 1 und der binären Folge von x-Werten bei 1/2, 1/4 und 3/4 führen. Es wird angenommen, daß die fünf Punktwerte Y(Q)t Υ(α/ι±\ usw. der anzunäherenden Funktion bekannt sind. Die Werte der Koeffizienten d , d^, K, C und Q können dann unmittelbar auf einer einfachen algebraischen Grundlage bestimmt werden, wie dies näher im einzelnen in den zuvor erwähnten Patentschriften erläutert ist.
Verfahren, welche Flußkarten und ein Gerät für die Interpolation derartige Polynome mit einem Polynom vierten Grades enthalten, sind in den früher genannten Schriften erläutert, der einfacheren Erläuterung wegen wird jedoch in der folgenden Tabelle 1 eine Aufstellung eines Binärpolynomalgorithmus vierten Grades angegeben, der mit Hilfe des in den früher genannten Schriften erläuterten Verfahrens aufgestellt wurde.
-18-
603338/0608
Tabelle 1
Register . Anfangs- gehalten beim Algorithmus-Anweisung bedingungen "n"-ten Stu- "n"-ter Stufe, mit
fenstart Folge wie Schreibfolge
y keine v ι Y = .
y , wenn UP bei a a bei n=1 an an+1 = (n+1)'ter
a , wenn DOWN bei
b - wenn UP bei
n (n+D'ter b bei bei n=1 bn bn+1 = wenn OQm bei
n (n+D'ter
K K bei n=1
C-DQ C C bei n=1 Cn n nr·" Ί η
Qn
Q Q bei n=1 Ώ
Bei der Ausbildung der speziellen Algorithmus-Anweisung, die beschrieben werden soll, sind bestimmte Annahmen getroffen, um eine bevorzugte Realisierung des Verfahrens zu einem bestimmten Anwendungsfall vorzusehen, und es sind bestimmte Angaben (options) gemacht, wobei diese Annahmen und Angaben natürlich keine Einschränkungen des Gegenstandes der Erfindung darstellen. Einige dieser Annahmen und Angaben sind wie folgt:
-19-
609838/0608
1. - Punktwerte wiedergebende digitale Größen, die ein Segment definieren, und Korrekturausdrücke werden in einem Zweikomplementkode in fester Punktschreibweise vorgesehen.
2. Anweisungen oder Feststellungen sind innerhalb einer Zone gültig, die durch den 0- bis 1-Bereich in sowohl xals auch y-Richtung eingeschränkt ist. Es sei erwähnt, daß bipolare Koeffizienten und Ausdrücke auftreten trotz der zuvor aufgeführten unipolaren Einschränkungen.
3.· Ein "idealer" Algorithmus erzeugt direkt irgendeine Funktion vierter Ordnung, die in die Zone gezogen werden kann, welche durch den 0- bis 1-Bereich von χ und y eingeschränkt ist, vorausgesetzt, daß zwischen den x-Bereichsgrenzen die Funktion keine der Linien y = 0 oder y = 1 schneidet.
Eckschnittpunkte (d.h. bei χ = 0 oder χ = 1) und tangentiale Berührung (d.h. von y = 0 oder y = 1-Linien) sind beide erlaubt.
Betrachtet sei eine Funktion von x, die durch einen allgemeinen Polynomausdruck dargestellt werden soll:
y - do Bo + d1 B1 + d2 B2 + d3 B3 + d4 B4
wobei B ein linearer Polynomausdruck in χ der η'ten Ordnung ist und On die den relevanten adressierenden Koeffizienten spezifizierende Amplitude ist.
Wie zuvor erwähnt wurde, erfordert das Konzept der "binären
-20-
609838/0608
Polynome", daß Punkte genauer Entsprechung aufgestellt werden und in einer binären Folge von x-Werten festgehalten werden, die der folgenden bevorzugten Folge entspricht:
Polynomgruppe Ergebnisse in exakten Entsprechungen bei den x-Werten
B0 und B1 0 und 1
B2 1/2
B, und B^ 1/4 und 3/4
B5, B6, B7 und Bg 1/8, 3/8, 5/8 und 7/8 Bq bis B^6 inklusive (ungerade 1/16-Brüche) -
1/16 bis 15/16 inklusive
Jede Polynomgruppe erreicht die exakten Entsprechungen bei der nächsten Gruppe von x-Werten in der binären Sub-Division.
Die algebraischen Faktoren jedes Polynoms werden entweder einheitlich bestimmt, oder geführt durch die Anforderungen der exakten Entsprechung bestimmt. Ein numerischer Maßstabsfaktor wird in jedem Fall ausgewählt, um einen polynomischen Spitzenwert so nah wie möglich bei der Einheit zu liefern; diese Wahl steht im Einklang mit der Realisierung der Interpolation bei einer vorteilhaften add-shift-Organisation, wobei beispielsweise digitale Werte in Schieberegistern festgehalten werden und eine Teilung durch eine Potenz von 2 erreicht wird, indem die digitale Zahl um die geeignete Anzahl von Stellen in dem Register verschoben wird.
-21-
609838/0608
Es sind verschiedene Angaben für die algebraischen Faktoren eines gegebenen binären Polynoms verfügbar. Die ersten Angaben entstehen für das B- und IL -Paar der Polynome. Es wäre möglich gewesen, das Polynom B zu verwenden, um eine genaue Entsprechung bei χ = O zu erreichen, und das Polynom B^ zu verwenden, um eine genaue Entsprechung bei χ = 1 zu erreichen. Die Entscheidung bestand jedoch darin, diesen Weg nicht zu verfolgen, sondern das BQ- und B^-Paar gleichzeitig zu verwenden, um genaue Entsprechungen bei x=O und χ = 1 zu erhalten. Eine ähnliche Situation ergibt sich für das B^- und B^-Paar der Polynome. Immer zunehmende Zahlen von Angaben entstehen für jede Gruppe höherer Ordnung durch die Möglichkeiten der Entsprechung (fit) als eine kollektive Polynomgruppe, als Paare von Polynomen, als einzelne Polynome und in unterschiedlicher Entsprechungsfolge.
Es wird angenommen, daß ein allgemeiner Vorteil dadurch erzielt werden kann, indem man für jedes Polynom den Zustand der ungeraden oder geraden Symmetrie um das x-Bereichszentrum festhält, d.h. dem Anfangssegment von χ (siehe die binärpolynomischen graphischen Formen der Figuren 1 bis 5, bei welchen das Anfangssegment sich von x=O bis χ = 1 erstreckt und das x-Bereichszentrum bei χ = 1/2 liegt).
Diese Entscheidung, eine solche Symmetrie festzuhalten, beseitigt die Angaben von den B0ZB1- und B,/B^-Paaren. Eine Reduzierung der Angaben (options) ergibt sich auch innerhalb jeder Gruppe höherer Ordnung.
-22-
609838/0608
2506931
Das Polynom y = dQ BQ + d^ B^ + d2 B2 + d^ B4 läßt sich somit durch die folgende Tabelle wiedergeben:
Tabelle 2
Polynomordnung Koeffizienten- Binäres Polynom (B )
Bezeichnung (d )
O i/2(b + a) Bo = 1 1/2)
1 i/2(b - a) B1 = 2(x - - x)
2 K B2 = 4x(1 - x)(x- 1/2)
3 C B^ = |^x(1
D 1 - x)(x - 1/2)2
4 Q B/, = ^r*(
Die bezeichneten Koeffizienten für die Annäherung vierter Ordnung können unmittelbar von fünf Funktionsproben abgeleitet werden, die in dem x-Bereich gleichen Abstand besitzen:
x-Wert y-Wert
0 yo = a
1/4 y^4 = 3/4a + i/4b + 3/4K - C + Q
1/2 yi/2 = i/2(a + b) + K
3/4 y3/4 = 1/4 3/4b
1 D
Die resultierende Annäherung vierter Ordnung ergibt: y = 1/2(b+a).B0 + 1/2(b-a)«B1 + Κ·Β2 + CB, +
-23-
6Ö3838/0608
Im allgemeinen schreitet der Algorithmus von Stufe zu Stufe voran und es wird die gespeicherte Funktion bei einer Sequenz von x-Werten interpoliert, die aufeinanderfolgende Zweiteilungen des x-Bereiches darstellen. Der Algorithmus startet seine Operation und hält die Punktwerte von y bei den x-Werten O und 1 und den Werten der Koeffizienten K, C, Q.
Die erste Algorithmusstufe (n = 1) interpoliert immer die gespeicherte Funktion bei χ = 1/2 (y ist bestimmt bei χ = 1/2).
Die zweite Algorithmusstufe (n = 2) interpoliert y bei dem x-Wert 1/4 oder 3/4, was davon abhängt, ob die Stufe nach DOViN (x = 1/4) oder nach UP (x = 3/4) schreitet.
Die dritte Algorithmusstufe (n = 3) interpoliert ähnlich y bei einem x-Wert 1/8, 3/8, 5/8 oder 7/8, was davon abhängt, ob die Stufe nach DOWN oder nach UP von dem interpolierten Wert bei χ = 1/4 oder 3/4 schreitet, usw.
Die DOWN- oder UP-Richtung, die von einer gegebenen Algorithmusstufe eingeschlagen wird, muß daher bestimmt werden. Wenn der Wert von y für einen gegebenen Wert von χ berechnet wird, so wird dies durch Betrachten des 0- oder 1-Zustandes durchgeführt, der für ein bestimmtes Bit von χ auftritt. Das η «te Bruch-Bit von χ bestimmt die DOWN- oder UP-Richtung, die von dem Algorithmus bei der (n+1)ften Stufe eingeschlagen wird.
Im folgenden wird nunmehr ein Beispiel angeführt, welches
-24-
609838/0608
mit einem Register beginnt, das einen ¥ert von χ als eine Zweikomplement-Bruchzahl hält:
-x-Register-
Polaritäts-Bit, welches für desn O- bis 1-Bereich von χ gleich 0 sein muß
1. Bruch-Bit
1 /ThIl n'tes Bruch-Bit
1 Λ. 0 f .
• 4.
i
W S t
η
j
_> ΐ . ί ■
1. 2.
ι
f
3.
Vj1 I
η+Λ
I
3
Es wird eine einzelne Nachlinksverschiebung ausgeführt, um das redundante, Polaritäts-Bit zu entfernen:
EinzelxBit-Detektor
Teil- oder Bruch-Bit von χ
Bestimmungen DOWN oder UP der Stufe
Ein einzelne Nachlinksverschiebung wird bei jeder Algorithmusstufe ausgeführt.
Bevor nun die Algorithmus-Anweisung der Tabelle 1 mehr im einzelnen betrachtet-wird, sollte erläutert werden, daß bestimmte Ausdrücke in dem Algorithmus, wie an früherer Stelle unter Hinweis auf Tabelle 1 beschrieben wurde, < einen ^Polaritätsoperator erfordern, der eine Subtraktion oder Addition anzeigt, bevor der Korrekturausdruck und möglicherweise ein anderer Ausdruck oder Ausdrücke auf den neuesten Stand gebracht werden.
Es sei ein Algorithmusausdruck· der "n"-ten Stufe betrachtet:
-25-
009838/0608
2606831
-D
Ou ]cn
n+1 n
Diese Anweisung erfordert, daß der Wert von C bei der "n"-ten Algorithmusstufe subtrahiert oder addiert wird, wenn der Kompensationsausdruck für die nächste Stufe (n + 1) des Algorithmus auf den neuesten Stand gebracht wird, und zwar in Einklang mit dem "Zustand" eines bestimmten x-Bits, was bedeutet:
Cn wird addiert, wenn der Cn wird subtrahiert, wenn der
Schritt bei der (n+1)«ten Schritt bei der (n+1)'ten
Stufe nach UP läuft, was Stufe nach DOWN läuft, was
erfordert, daß das "n"-te erfordert, daß das "n"-te.
Bruch-Bit von χ gleich 1 ist. Bruch-Bit von χ gleich 0 ist.
Wenn der Wert von χ für einen gegebenen Wert von y bestimmt werden soll (d.h. inverse Interpolation), so wird der interpolierte Wert von y mit dem gegebenen Wert von y verglichen, um festzustellen, ob die Stufe nach DOWN oder UP schreitet, und es wird eine entsprechende 0 oder 1 in das x-Register eingegeben.
Es sei nun auf die Algorithmus-Anweisung in Tabelle 1 eingegangen. Die Punktwerte von a und b bei χ = 0 und χ = 1, welche das Anfangssegment von χ bestimmen, und die Werte der Koeffizienten K, C und Q der zweiten, dritten und vierten Ordnung für den -jeweils für die erste Stufe ^n = 1) des Algorithmus gespeichert und es muß dann y für einen gegebenen Wert von χ bestimmt werden. Der Algorithmus schreitet dann von Stufe zu Stufe in der folgenden Weise voran:
-26-
609838/0608
Stufe 1, n=1
(i) y wird bei χ = 1/2 durch lineare Interpolation zwiden den Punktwerten a, b interpoliert, um einen Mittelpunktswert zu erhalten, und es wird der Mittelpunktswert durch Addition von K kompensiert, um zu erhalten Y(n_*\ = 1/2(a + b) + K.
(ii) Das erste Teil- oder Bruch-Bit von χ wird, wie zuvor beschrieben wurde, geprüft, um festzustellen, ob bei der nächsten Stufe (n +1) = 2 nach UP zum neuen Segment zwischen χ = 1/2 und χ = 1 oder nach DOWDi zum neuen Segment zwischen χ = 0 und χ = 1/2 geschritten wird.
(iii) Wenn die Entscheidung darin besteht, nach DOWN zu schreiten (bei χ = 1/4 zu interpolieren), so wird a festgehalten und Y(n^<) wird für b substituiert. (Allgemein kann dies als Dia n+-| = a n u*1^ b n+-i = v n bezeichnet werden). Wenn ähnlich die Entscheidung darin besteht, nach UP zu schreiten (bei χ = 3/4 zu interpolieren), so wird b festgehalten, jedoch wird y/ *\ für a, substituiert (U:a ^ =
(iv) K wird auf den neuesten Stand gebracht (auf K+^ = IC indem K durch 4 geteilt wird und C abgezogen wird, wenn die Entscheidung darin besteht, nach DOWN zu schreiten, und C wird addiert, wenn die Entscheidung darin besteht, nach UP zu schreiten. __
Es wird Q addiert, so daß K£ = K/4[+U]C + Q
Stufe 2 und allgemein ausgedrückt ergibt sich:
-27-
609838/0608
(ν) C wird auf den neuesten Stand gebracht, und zwar auf [Czn+1) = c(n_2)3» indem C durch 8 geteilt wird und Q/2 subtrahiert wird, wenn die Entscheidung darin besteht, nach DOWN zu schreiten, oder
es wird Q/2 addiert, wenn die Entscheidung darin besteht, nach UP zu schreiten, so daß
Stufe 2 und allgemein ausgedrückt:
-D
(vi) Q wird auf den neuesten Stand gebracht, und zwar auf [Qz+^n = Q(n_2)]> in(iem Q durch 2 geteilt wird, und -zwar für die Verwendung bei (v) und indem weiter Q/2. durch 8 geteilt wird, um zu erhalten: Q/n_p) = Q/16,
und allgemein ausgedrückt:
Stufe 2, η - 2
In Abhängigkeit von der Entscheidung, ob nach UP oder nach
-28-
609838/0608
DOWN geschritten wird, wird Yzn-2) ^i x = 1A oder χ = 3/4 interpoliert, um zu erhalten:
K2
und dann werden die Schritte (ii) bis (v) vor der Interpo lation von Υ(η_3) "bei der Stufe 3 wiederholt. Dieser Prozeß wird wiederholt, so daß das Segment von χ sukzessive zweigeteilt wird, derart, daß die Punktwerte a/ ., \, b/n+- auf den gegebenen Wert von χ zu korivergieren, für welchen y bestimmt werden soll.
Ein Verfahren der Bestimmung der polynomischen Koeffizien ten ist im einzelnen in der britischen Patentschrift Nr. 1 363 073 (US-Patentschrift Nr. 3 789 203) beschrieben.
Figur 11 zeigt ein vereinfachtes Blockschaltbild eines Datenverarbeitungsgerätes, um den Algorithmus zu realisieren. Das Gerät 10 umfaßt einen Serial Random Access-Speicher (RAM) 12, der inForm mehrerer 20-Bit-Schieberegister organisiert ist, wobei zwei 20-Bit-Register (SR) 14, 16 als SRA und SRB jeweils herausgegriffen sind, und ebenso einen Volladdierer 18.
Der Speicher RAM 12 besitzt einen Eingang 12a, der mit einer Eingangs-Auswähleinrichtung 22 mit einem Schalter S1 gekoppelt ist, wobei dieser Schalter als einfacher mechanischer Schalter gezeigt ist, und einen beweglichen Kontakt S1a besitzt, der selektiv mit einem von zwei festen Kontakten S1b und S1c gekoppelt werden kann. Der Kontakt S1b ist mit einem Eingangsanschluß 24 verbunden,
-29-
609838/0608
der im Betrieb die Punktwerte a und b und die Korrekturterme K, C und Q in Form von 20-Bitworten in einem Zweikomplement-Teilbinärkode empfängt. Die fünf binären Worte a, b, K, C und Q werden zu fünf-20-Bit-Registern des Speichers RAM 12 in Serienformat unter Steuerung eines Haupttaktimpulsgenerators 26 geleitet. Die Verbindungen von dem Generator 26 zu den verschiedenen Teilen der Schaltung 10, wie beispielsweise zum Speicher RAM und zu den Taktimpulseingängen der Schieberegister und zu anderen Steuerschaltungen, wurden weggelassen, da deren Ausführung zu dem zuständigen Konstrukteur offensichtlich sind und deren Erläuterung nur die vorliegende Beschreibung erschweren würde. Der Kontakt S1c ist mit dem Ausgang 18c des Addierers 18 gekoppelt.
Die Schieberegistereingangs-Auswählschaltung 28 besitzt Ausgänge 28a und 28b, die jeweils mit Eingängen 14a, 16a von zwei Schieberegistern 14 und 16 verbunden sind. Die Auswahlschaltung 28 besitzt vier Eingänge 28c, d, e, f; der Eingang 28c ist mit dem Ausgang 12b des Speichers RAM 12 verbunden, 28d ist mit dem Ausgang 18c des Addierers 18, 28e mit dem Ausgang 14b des Schieberegisters 14 und 28f mit dem Ausgang 16b des Schieberegisters 16 verbunden. Irgendeiner der Eingänge 28c bis 28f kann selektiv mit irgendeinem der Ausgänge 28a und 28b gekoppelt werden.
Die Ausgänge 14b, 16b der Schieberegister 14, 16 sind mit dem Addierer über eine logische Addierschaltung 30 gekoppelt, die in Abhängigkeit von der UP/DOWN-BeStimmung gesteuert werden kann, um einen ausgewählten Eingang von dem anderen abzuziehen oder zu diesem zu addieren.
-30-
609838/0608
Ein 16-Bit-Schieberegister 32, welches mit SRx bezeichnet ist, dient dazu, den gegebenen Wert von x, der von einer 'x-Eingangsschaltung 34 gesetzt wurde, zu speichern, für welchen Wert der Wert von y erhalten werden soll. Der Wert der unabhängigen Veränderlichen χ wird in dem Zweikomplement-Teilbinärkode gespeichert. Ein UP/DOWN-Detektor 36 ist so gekoppelt, daß er daqiiöchstwertige Teil-Bit .oder Bruch-Bit von χ empfängt und das Polaritätsbit ignoriert, und die logische Addierschaltung 30 entsprechend setzt, wenn die Korrekturausdrücke, wie beschrieben wurde, auf den neuesten Stand gebracht werden.
Eine Vergleichsschaltung 38 ist ebenfalls vorgesehen und besitzt Eingänge, die mit jeder Stufe des SRx-Registers verbunden sind und die so ausgelegt sind, daß sie feststellt, wann alle x-Bits null sind, um dann für die Beendigung der Interpolation ein Ausgangssignal vorzusehen. Wie bereits erwähnt wurde, wird die Zahl in dem SRx-Register 32 für jede Stufe in dem Algorithmus um eine Stelle verschoben, so daß das erste abzufragende Bit das höchstwertige Bit ist, nachdem das Polaritätsbit entfernt wurde.
Ein 16-Bit-Schieberegister 40, welches mit SRy bezeichnet ist, ist mit dem Ausgang.18c des Addierers verbunden und empfängt den interpolierten Wert von y.
Im Betrieb werden die digitalen Zahlen in den Speicher RAM 12 eingeschrieben und ausgelesen und werden durch die Schieberegister unter der Steuerung der Taktimpulse des Generators 26 verarbeitet. Eine Teilung einer digitalen Zahl in einem Schieberegister durch eine Potenz von 2
-31-.
609838/0608
wird dadurch erreicht, indem die Zahl um die richtige Anzahl von Stellen verschoben wird. Digitale Zahlen werden dem RAM angeboten und ebenso den Schieberegistern SRA, SRB und SRy, und zwar als 20-Bitzahlen, obwohl das Endresultat, welches von dem Register SRy abgegriffen wird, auf eine 16-Bitzahl beschränkt sein kann. Dies ist deshalb der Fall, um der Erfordernis einer Korrektur von Abrundungsfehlern während der Interpolation zu begegnen.
Es wird angenommen, daß der Betrieb der Schaltung 10, den Wert der abhängigen Veränderlichen y für einen gegebenen Wert der unabhängigen Veränderlichen χ zu interpolieren, am bequemsten durch eine Reihe von Anweisungen beschrieben werden kann. Bei den Anweisungen wird eine Kurzschrift verwendet, und zwar unter Anwendung der Bezugszeichen von Figur 11, und zwar immer, wo dies möglich ist, so daß beispielsweise viz. "28c bis 28a" bedeutet, daß der Eingang 28c des Schieberegister-Auswählkreises 28 mit dem Ausgang 28a verbunden ist.
Operation;
1. S1a bis S1b. Schreibe a, b, K, C, Q in RAM als eine Reihe von 5 x 20-Bitworten.
Stufe 1« η = 1
2. 28c bis 28a - lese a aus RAM aus und schreibe ein in SRA.
3. 28c bis 28b - lese b aus RAM aus und schreibe ein in SRB.
4. Schiebe a 1-Bit in . SRA = a/2.
5. Schiebe b 1-Bit in SRB «= b/2.
-32-
€09838/0608
6. Addiererlogik 30a + 30b; 28d bis 28b.
7. Addiere Ausgang 18c = (a+b)/2 und schreibe ein in SRB.
8. 28c bis 28a - lese K aus RAM aus und schreibe ein in SRA.
9. Addiererlogik 30a + 30b; addiere Ausgang 18c =
(a+b)/2 + K = y^ = y"(x_<j/2) ^10- S1a bis S1c» schreibe y.. in RAM ein und ebenso in SRy.
Erneuerungskoeffizienten (update)
10. Frage zuerst ab höchstwertiges' Teil-Bit von x,. um zu bestimmen, ob die nächste Stufe des Algorithmus nach UP schreitet (interpoliere y bei χ = 3/4) oder nach DOWN schreitet (interpoliere y bei χ = 1/4).
Wenn x-Bit = 1, schreite nach UP: Wenn x-Bit = 0, schreite nach DOWN.
Erneuerungspunktwerte a und b (update)
11.(i) Wenn χ = 1, schreite nach UP bei Stufe 2, halte b in RAM fest und substituierte y für a;
11(ii) wenn χ = 0, schreite nach DOWN bei Stufe 2; halte a in RAM fest und substituiere y für b.
Erneuerungs-K (update)
12. 28c bis 28b - lese K aus RAM aus und schreibe ein in SRB.
13. Schiebe K 2-Bits in SRB = K/4.
14. 28c bis 28a - lese C aus RAM aus und schreibe ein in SRA. 15·(i) Wenn χ = 1, schreite nach UP bei Stufe 2.
Addiererlogik 30a + 30b, Addier-Ausgang 18c = K/4 + C und 28d bis 28b schra.be (K/4 + C) vom Addierer 18 in SRB ein,
-33-
60Ö63Ö/0608
15(ii) wenn χ = O, schreite nach DOWN bei Stufe 2.
Addiererlogik 30b - 30a, Addier-Ausgang 18c = k/4 - C und 28d bis 28b schreibe (K/4 - C) vom Addierer in SRB ein.
16. 28c bis 28a - lese Q und schreibe ein in SRA.
17. Addiererlogik - 30a + 30b. Addiere Ausgang
18c = K/4 ["g] C+Q= Kn=2 Stufe 2
und S1a bis S1c, schreibe K2 in RAM ein.
Erneuerungs-C (update)
18. 28c bis 28b. Lese C aus RAM aus und schreibe ein in SRB,
19. 28c bis 28a. Lese Q aus RAM aus und schreibe ein in SRA.
20. Schiebe C 3-Bits in SRB = C/8.
21. Schiebe Q 1-Bit in SRA = Q/2.
22.(i) Wenn UP bei Schritt 10, Addiererlogik 30a + 30b Addier-Ausgang 18c = C/8 + Q/2 = C2, und S1a bis S1c - schreibe C2 in RAM ein
und 28e bis 28a - Q/2 in SRA. ODER
22(ii) Wenn DOWN beim Schritt 10, Addiererlogik 30b - 30a Addier-Ausgang 18c = C/8 - Q/2 = C2.
Und S1a bis S1c - schreibe C2 in RAM ein und 28e bis 28a - Q/2 in SRA.
Erneuerungs-Q (update)
23. Schiebe Q/2 in SRA 3-Bit = Q/16 = Q2
-34-
§09838/0608
24. Addiererlogik 30a + 30b (null). Addiere Ausgang 18c = Q/16 = Q2 und S1a Ms S1c - schreibe Q/16 in RAM ein.
Stufe 2, η = 2 - wiederhole Schritte 2 bis 24.
Es läßt sich somit erkennen, daß ein iteratives Interpolationsverfahren geschaffen wird, bei welchem alle Algorithmusstufen identisch sind und jeder Koeffizient in das richtige Register eingegeben wird, und zwar einzeln (in singularity) beim Beginn des Algorithmus (dies bedeutet keine Anforderung hinsichtlich eines verzögerten Eintrags) und es ist lediglich ein einzelnes x-Bit erforderlich, um jede Stufe des Algorithmus zu steuern.
Wenn eine polynomische Annäherung für mehrere Funktionen gefordert wird, so kann gefunden werden, daß ein gegebener Polynomgrad bzw. -Ordnung die meisten der Anforderungen erfüllt, daß jedoch eine kleine Zahl von Funktionen eine Annäherung höherer Ordnung erfordert. Im folgenden soll nun der Gegenstand der Erfindung bzw. das erfindungsgemäße Verfahren beschrieben werden, wobei Hardware oder Software, die für eine Interpolation n'ter Ordnung organisiert ist, dazu verwendet werden kann, eine Interpolation bis zur mn'ten Ordnung in m-Interpolationen zu liefern.
Die Beschreibung soll sich auf einen bestimmten Fall eines Interpolationsverfahrens vierter Ordnung konzentrieren, obgleich auch eine Interpolation achter Ordnung in zwei Operationen.
-35-
609838/0608
- - 35 -
Das Verfahren kann jedoch bei höheren oder niedrigeren Grundordnungen verwendet werden, kann bei anderen Polynomen angewandt werden und ebenso für eine weitere Erweiterung der Ordnung, indem man mehr als nur zwei Rekursionen der Interpolation verwendet.
Wie bereits erwähnt wurde, ist es für eine Interpolation vierter Ordnung vorzuziehen, die Kenntnis der Funktion, die interpoliert werden soll, in der Form von fünf Funktionswerten zu haben, die in dem x-BereichO bis 1 gleichen Abstand besitzen.
Bei dem beschriebenen Ausführungsbeispiel ist also bevorzugt, daß die Funktionsdefinition mit Hilfe von neun Funktionswerten gemacht wird, die in dem x-Bereich O bis 1 gleichen Abstand besitzen.
Die fünf Funktionswerte yQ, Yw^f Y1 /£> v3/4 ^14 V1 wer~ den in der normalen Weise für eine sich anschließende Koef fizientenbestimmung und Interpolation der Annäherung vierter Ordnung, wie dies beschrieben wurde, gespeichert.
Es sei angenommen, daß die Polynominterpolation achter Ordnung, die durchgeführt werden soll, geschrieben ist durch:
y = doBo + d1B1 + d2B2 + d3B3 + d4B4 + d5B5 + d6B6 + ^
worin d den Koeffizienten n'ter Ordnung darstellt und Bn ein lineares Polynom von χ- der n'ten Ordnung ist. Wenn die Koeffizienten dQ, CL1, d2, d, und d^ aus den fünf Punktwerten j(Oy y^/4), y(i/2)» y(3/4)' ^(I)'1"1* eine komM-
-36-
€09838/0608
2S0S931
nierte Interpolation der Ausdrücke der null'ten Ordnung bis zur vierten Ordnung durchgeführt ist, so würde der erhaltene Wert von y die Polynomdefinition achter Ordnung nicht erreichen, und zwar entsprechend dem Ausmaß des "Restbedarfs" oberhalb der vierten Ordnung.
Der Restbedarf ζ jenseits der Annäherung vierter Ordnung beträgt
ζ = d5B5 + d6B6 + d7B7 + d8B8
Die Restforderung ζ kann in einen Ausdruck faktorisiert werden, der das Produkt zweier Bestandteile enthält, von denen der eine ein Polynom vierter Ordnung bzw. vierten Grades von χ und der andere die Summe von vier Polynomen ist, die sich von der vierten bis inklusive ersten Ordnung bewegen und von denen jedes mit dem richtigen Koeffizienten multipliziert ist. Die Faktorisierung ergibt somit:
ζ = Cd5H1 + d6H2 + d7H3 + CL8H4J-G4
Hierin bedeuten H^, Hp> H, und H4 spezifische Polynome erster, zweiter, dritter und vierter Ordnung.
Für einen spezifischen Wert von χ besteht der Bestandteil, welcher die Polynome erster bis vierter Ordnung bzw. Grades enthält, aus einem numerischen Wert und der Ausdruck für den Restbedarf kann wie folgt geschrieben werden:
Wenn es so getroffen werden kann, daß die Polynome ILj, HL,,, H, und H4 in der Tat die gleichen Polynome wie B.., B2* B-, und B4 sind, so könnte der Wert von g4 unmittelbar für
-37-
609838/0608
einen bestimmten Wert von χ bestimmt werden. Dies würde einfach erforderlich machen, daß eine Belastung (loading)
der Koeffizienten O, dp-, 6.,, dv und do auf eine Interpols <- ι ο
lation vierter Ordnung gemacht wird, wie dies unter Hinweis auf Figur 11 beschrieben wurde (normalerweise belastet mit jeweils dg, d., dp, d, und dr), und daß eine Interpolationsoperation durchgeführt wird.
Selbst wenn sich die Polynome EL, EL·, EU und H4 von B^, Bp, B^5 und B4 unterscheiden, jedoch selbstverständlich äquivalente Ordnung beibehalten, ist es dennoch möglich, g. durch Anwendung eines Interpolationsverfahrens vierter Ordnung zu bestimmen, die fünf Koeffizienten werden jedoch zu Kombinationen von d,-, dg, dy und dQ und nicht zu den Einheitswerten.
Die Bestimmung des Koeffizienten g^ soll an späterer Stelle beschrieben werden.
Für einen gegebenen Wert von χ läßt sich somit die polynomische Annäherung achter Ordnung neu schreiben als:
y = d0B0 + d1B1 + U3B3 + d4B4 +
Wenn das gemeinsame Polynom G4 vierter Ordnung bzw. Gra des äquivalent ist mit dem Polynom B4, dann wäre es lediglich erforderlich, den Koeffizienten d4 vierter Ordnung dadurch zu modifizieren, indem man ihn mit dem spe zifischen Koeffizienten g4 vierter Ordnung des Polynoms G4 aisammenlegt und der Ausdruck dann lauten würde:
y = d0B0 + CL1B1 + dp_H2 + d^ + (d4 + g4) B4
-38-
603838/0608
Wenn die Polynome G^ und Βλ unterschiedlich sind, kann es erforderlich sein, mehr als nur einen der Koeffizienten dg bis d, der nullten bis vierten Ordnung zu modifizieren, um den spezifischen Koeffizienten g^ zusammenzuziehen.
Die binären Polynome und deren relevante Koeffizientenbezeichnungen oder -beStimmungen, die an früherer Stelle für die Annäherung vierter Ordnung im x-Bereich O bis 1 ausgewählt wurden, sind in der folgenden Tabelle 3 gezeigt:
Tabelle 3
Koeffizienten-Kennzeichnung (d ) Binäres Polynom (Bn)
B0 = 1
B1 = 2(x-1/2) B2 = 4x(1-x)
B3 = £|x(1-x) (x-1/2)
do b + a
d1 2
d2 b a
d3 2"
d4 — K
= C
= Q
und die Polynome und deren Koeffizienten für die .vierte bis achte Ordnung bzw. Grad sind gemäß dem bevorzugten Verfahren nach der Erfindung wie folgt:
d5 = I B5 = 128x(1-x)(x-1/2)(x-1/4)(x-3/4)
d6 = S B6 = 256x(1-x)(x-1/2)2(x-1/4) (x-3/4)
-39-
603838/0608
d7 = P B7 = ~-x2(1-x)2(x-1/2)(x-1/4(x-3/4) d8 - E B8 = 2 T-x2(1-x)2(x-1/2)2(x-1/4)(x-3/4)
Es sei daran erinnert, daß eine Grundregel der Verfahren unter Verwendung von binären Polynomreihen darin besteht, daß dann, wenn jeder Punkt einer exakten Entsprechung aufgestellt ist, alle nachfolgenden Polynome dieser Entsprechung genügen müssen. Demnach müssen alle Polynome oberhalb der vierten Ordnung bei den x-Werten 0, 1/4, 1/2, 3/4 und 1 einen Beitrag von 0 liefern. Alle solche Polynome müssen daher enthalten:
Genau wie es bevorzugt wurde, die Polynome B^ und Βλ als Paare zu betrachten, die kollektiv angeordnet wurden, um genaue Entsprechungen für die Funktion bei Werten von χ gleich 1/4 und 3/4 zu erhalten; bei dem bevorzugten Verfahren nach der vorliegenden Erfindung werden die Polynome Bc, Bg, B7 und Bg als eine Gruppe betrachtet, die so angeordnet werden muß, daß sie kollektiv exakte Entsprechungen bei ungeraden Achtelwerten von χ erreichen.
Wenn der Ausdruck für das Restbedürfnis ζ faktorisiert wird, ist es zunächst erforderlich, ein Polynom vierter Ordnung abzuleiten, welches den in Tabelle 3 aufgeführten Polynomen fünfter bis achter Ordnung gemeinsam ist. Folgt man der Grundregel, so ist es erforderlich, ein gemeinsames Polynom abzuleiten, welches vier von fünf geforderten Nullen bei x, (1-x), (x-1/2), (x-1/4) und (x-3/4) liefert. Bei der Entwicklung des bevorzugten Verfahrens wurde
-40-
609838/0608
angenommen, daß nur ein Nachteil vom Fallenlassen des Prinzips der Symmetrie entstehen kann, wobei jedes Polynom eine "ungerade" und "gerade" Symmetrie um χ = 1/2 beibehält. Dieser Glaube an die Symmetrie ermöglicht es, den Faktor (x-1/2) zu eliminieren, und so lautet der x-abhängige Teil von
G4 = x(1-x)(x-i/4)(x-3/4) und G4 = 64x(1-x)(x-1/4)(x-3/4)
wobei der Maßstabsfaktor "64" so gewählt ist, daß G4 = -1 bei χ = 1/2. Figur 8 zeigt dieses gemeinsame Polynom G4 vierten Grades oder vierter Ordnung in graphischer Form. Es sei hervorgehoben, daß das gemeinsame Polynom vierten Grades auch andere Formen annehmen kann, wobei natürlich vorausgesetzt ist, daß es vom vierten Grad bzw. Ordnung ist.und gemeinsam bei jedem Polynom der fünften bis zur achten Ordnung vorhanden ist, wobei jedoch festgestellt wurde, daß dies ein angebrachtes Merkmal des Verfahrens ist.
Nachdem nun das gemeinsame Polynom vierter Ordnung abgeleitet wurde, besteht der nächste Schritt darin, den Ausdruck für den Restbedarf zu faktorisieren, die Polynome H1 bis H4 in dem folgenden Ausdruck abzuleiten:
ζ = §4^4 = G4 Cd5H1 + d6H2 + d?H3 + dgH4] = G4 [1.H1 + SH2 + PH3 + E.H4]
und dies wird durch Teilen der Polynome B1- bis Bg» die in Tabelle 3 aufgeführt sind, durch den aufgestellten
-41-
609838/0608
Ausdruck von G^ erreicht, was führt zu:
S4(x-1/2)2
E.£|£ x (1-x)(x-i/2)2
Wenn die Polynome H^ bis H^ die gleichen sind wie die Polynome B^ bis B^, so können die Koeffizienten I, S, P und Ξ als äquivalent mit den Koeffizienten d^ bis d^ betrachtet werden, und zwar jeweils von einem Polynom vierter Ordnung und einer Polynominterpolation vierter Ordnung, die, wie beschrieben, durchgeführt wird, um den Wert von g^ bei einem gegebenen Wert von χ zu erhalten. In dem gewählten Fall sind sie natürlich nicht vorhanden und so müssen die Koeffizienten modifiziert werden. Eine Überprüfung des Polynomausdruckes, der zuvor für g^ abgeleitet wurde, zeigt, daß die Polynomausdrücke dritten und vierten Grades E, und EL die gleichen sind wie die Polynome B^ und Βλ. Daher lassen sich der Koeffizient P und E direkt als Koeffizienten C und Q in einer Interpolation vierter Ordnung verwenden und werden jeweils als Nc und Nq bezeichnet. Der Ausdruck zweiter Ordnung für H2, der lautet 4(x-i/2) , ist nicht der gleiche wie derjenige für B2, der lautet 4x(1-x), obwohl sie aufgrund der Definition denselben Grad bzw. von der selben Ordnung sind. Es ist daher erforderlich, die zwei Polynome zu faktorisieren, um einen Wert eines Koeffizienten für den χ -Ausdruck zu erhalten, der als der Koeffizient K bei der Interpolation vierter Ordnung betrachtet werden kann. Es läßt sich zeigen, daß der Koeffizient, der mit NK bezeichnet ist, gleich ist -S. Dies liefert einen
-42-
809838/0608
26Q6931
Ausdruck erster Ordnung in x, der nach "unten gedrückt" werden muß, um ihn mit dem EL-Polynom betrachten zu können, wenn die Koeffizienten nullter und fünfter Ordnung für eine Interpolation vierter Ordnung abgeleitet werden. Obwohl daher EL das gleiche ist wie B^, werden die Koeffizienten modifiziert und es läßt sich zeigen, daß (S-I)=N äquivalent ist mit a und daß (S+I) = IL· äquivalent ist mit b in Ausdrücken einer Interpolation vierter Ordnung.
Durch Prüfen der Polynome bis zum vierten Grad bzw. Ordnung läßt sich die Interpolation von g. für einen gegebenen ¥ert von χ dadurch erreichen, indem man in den Speicher RAM 12 des Gerätes von Figur 11 folgendes einlädt:
S - I in das 'a1-Register
S + I in das 'b'-Register
- S in das 1K1-Register
P in das "C'-Register
E in das 1Q'-Register
Nachdem nun das gemeinsame Polynom G^ vierter Ordnung, die Polynome EL bis Ηλ und deren Koeffizienten abgeleitet wurden und die Koeffizienten dazu verwendet wurden, eine Interpolation vierter Ordnung durchzuführen, um den spezifischen Koeffizienten g^ zu bestimmen, besteht der nächste Schritt bei dem Verfahren darin, die Koeffizienten d~ bis d^ der nullten bis vierten Ordnung zu modifizieren, um den g»G^-Ausdruck zusammenzuziehen, bevor eine zweite Interpolation vierter Ordnung durchgeführt wird. Dies kann dadurch erläutert werden, indem man zu
-43-
609838/0608
Beginn als Beispiel eine Interpolation vierter Ordnung betrachtet, bei welcher a, b und C gleich null gemacht sind, K gleich gemacht ist mit -gj, und Q gleich gemacht ist 3'4g^. Eine Überprüfung der Polynome zweiter und vierter Ordnung (Tabelle 3) zeigt, daß das interpolierte Ergebnis wie folgt lautet:
. 64x (1
Die Interpolation eines Ausdrucks 4fter Ordnung (Grades) nach Maßgabe der Feststellungen der Tabelle 3 ist gegeben durch
y = ί£+£ΐ.Β0 + .B1 + K-B2 + C.B, + Q-B4
Zum speziellen Fall ist
a = O; b = O; K = g4; C = 0; Q = 3/4g4 y = -g4B2 +
Durch Substitution für B2 und B4 ergibt sich
7 = -S4
-x) /="1 + 16(x2 -x - 16x + 3)
Das Verfahren ist nur gedacht für den bestimmten Wert von x, für den
G4 = 64x(1-x)(x-1/4)(x-3/4)
Damit ist durch Substitution des belangvolle! bestimmten Wertes von y gleich g4 ► G4.
609838/0608 ,
-43a-
Um die g;Qr-Interpolation zusammenzufassen oder zusammenzuziehen, werden die binären Polynomkoeffizienten von den fünf Funktionswerten von y und x-¥erten von 0, 1/4, 1/2, 3/4 und 1, wie zuvor beschrieben wurde, abgeleitet und werden dann unter Verwendung des spezifischen Wertes von g^, welches für den gegebenen Wert von χ bestimmt wurde, modifiziert. Aus dem Beispiel der unmittelbar voran gegangenen Beschreibungsabsätze werden die Koeffizienten in der folgenden Weise modifiziert:
Annäherungskoeffizienten Modifizierte Koeffizien vierter Ordnung ten zusammenziehend g^G
a a
. b b
K K - g4
C ' · C Q ' Q + 3/4g4
Wenn diese modifizierten Werte der Koeffizienten nun dazu verwendet werden, eine zweite Interpolation vierter Ordnung durchzuführen, so liefert die Interpolation einen
-44-
609838/0608
Wert von y, der erhalten worden wäre, wenn man eine Interpolation achter Ordnung verwendet hätte.
Ein Verfahren zur Bestimmung der Polynomkoeffizienten bis zum vierten Grad "bzw. Ordnung ist in der britischen Patentschrift 1 363 073 (US-Patent 3 789 203) beschrieben. Die zusätzlichen erforderlichen Berechnungen, um das Verfahren zur Durchführung einer Interpolation achter Ordnung zu erweitern, sollen nunmehr beschrieben werden.
Wie bereits an früherer Stelle erwähnt wurde, sind neun Funktionswerte von y bei x-Werten von 0, I/8, 1/4, 3/8, 1/2, 5/8, 3/4, 7/8 und 1 bevorzugt.
Zusätzlich zum Speichern von fünf dieser Werte, nämlich y(0), y(i/4), y(i/2), y(3/4) und y(1), für eine Definition vierter Ordnung, müssen vier Zahlen"Na, Nb, Nc und Nq aus den neun Funktionswerten berechnet werden.
Werni das Verfahren in einem Computer durchgeführt wird, so wird ein Standardprogramm in das Hauptalgorithmusprogramm eingeführt. Wenn das Verfahren in einer entsprechend ausgelegten Hardware ausgeführt wird und wenn ein Computeranschluß oder programmierbarer Rechner verfügbar ist, wird ein Programm geschrieben, um die Rechnung durchzuführen.
Immer wenn eine Definition achter Ordnung erforderlich ist, läuft das Programm so, daß es die neun Funktionswerte in die erforderlichen vier Definitionskonstanten höherer Ordnung übersetzt Na, Nb, Nc und Nq.
-45-
609838/0608
Die Berechnung der vier Konstanten Na, ITb, Nc und Nq wird anhand des folgenden Beispiels beschrieben:
(a) Die Interpolationswerte (w) der Annäherung vierter Ordnung werden bei den ungeraden Achtelwerten von χ bestimmt, d.h. χ = 1/8, 3/8, 5/8 und 7/8. Diese Werte können durch ein polynomisches Interpolationsverfahren bestimmt werden, wenn .jedoch feste Wortlängenregister in einem entsprechend ausgelegten Datenverarbeitungsgerät verwendet werden, können Fehler eingeführt werden. Ein bequemes Verfahren, die Vierte von w zu bestimmen, ist wie folgt:
wi/8 = + m yo + 32 yi/4 - m yi/2 + 32 y3/4
w3
3/8 = - hg yo + Ü yi/4 +y1/2 - h y3/4 + hs y1
w5/8 = + fe yo - §2 yi/4 + m yi/2 + ^l y3/4 " T28 y1
w7/8 = - Ϊ28 yo + h yT/4 - Ü yi/2 +H y3/4 + τΐδ y1
(b) Die Resterfordernisse (z) bei den ungeraden Achtelwerten von χ werden dann wie folgt berechnet:
z1/8 = yi/8 - w1/8 Z3/8 = y3/8 - w3/8 Z5/8 = y5/8 z7/8 = y7/8 -
-46-
609838/0608
2S06931
(c) .Die Binärpolynomkoeffizienten höherer Ordnung werden von den Resterfordernissen berechnet:
I =16 C^(z7/8 - zi/8) - fe(z3/s - 25/8)]
i/8) - fe(z3/s - 25/8
S = 3 C7(z7/S + zi/3}
P =
[- 7(27/8 - z1/8) + 5(23/8 Cl (z
7/8
(d) Die Konstanten (N) werden von den binären Polynom koeffizienten berechnet:
Na - S - I
Nb = S + I
Nc = P
und die für die erste Interpolationsbeladung erforderliche fünfte Zahl wird innerhalb des Interpolationsprogramms auf folgende Weise erhalten:
<Na
Es läßt sich erkennen, daß bei einem kleinen Zeitverlust eine Interpolation achter Ordnung durch Anwendung eines vergleichsweise einfachen Verfahrens oder Gerätes erhal-
-47-
609838/0608
ten werden kann, welches lediglich für eine Interpolation vierter Ordnung organisiert bzw. ausgelegt, ist. Allgemein kann das Verfahren dazu verwendet werden, einen Wert einer abhängigen Veränderlichen y, der einem gegebenen Wert einer unabhängigen Veränderlichen χ entspricht, zu interpolieren, wobei y eine Funktion von χ ist und durch eine lineare Polynomreihe der mn'ten Ordnung bzw. Grades beschrieben ist, und zwar unter Verwendung eines Interpolationsverfahrens n'ter Ordnung, um dadurch eine Annäherung in m-Iterationen des Verfahrens n'ter Ordnung · bis zur ranften Ordnung zu erzielen.
Um beispielsweise eine Interpolation bis zur sechzehnten Ordnung zu erhalten, und zwar unter Verwendung einer Interpolation vierter Ordnung, müßten vier Iterationen der Interpolation vierter Ordnung durchgeführt werden. Ausgedrückt in einfachen Ausdrücken würden siebzehn Funktionswerte von y bei gleichen Intervallen von χ die bevorzugte Funktionsdefinitionsform sein und das Verfahren würde folgende Schritte erforderlich machen:
1. Eine Faktorisierung der Polynome dreizehnter bis sechzehnter Ordnung, um einen Ausdruck zu erhalten, der ein Produkt eines gemeinsamen Polynoms G^ρ zwölfter Ordnung ist, und die Summe der Polynome zwölfter und neunter Ordnung, von denen jedes mit seinem richtigen Koeffizienten multipliziert ist;
2. Bestimmen der Koeffizienten und Verwenden derselben zur Durchführung einer Interpolation vierter
-48-
609838/0608
2B06931
Ordnung, um einen spezifischen Koeffizienten g12 bei einem gegebenen Wert von χ zu erhalten;
3. Abänderung in der geforderten Weise der Koeffizienten, relativ zu den Polynomen neunter bis zwölfter Ordnung, um den Ausdruck g-ipG-ip zusarflRien2uziehen;
4. Verwenden der modifizierten Koeffizienten zur Durchführung einer zweiten Interpolation, um dadurch einen Wert für gQ zu erhalten, und dann Fortfahren mit den Verfahrensschritten, wie beschrieben.
Es können dynamische Bereichseinschränkungen auftreten, wenn das erfindungsgemäße Verfahren bei Festpunktschreibweise realisiert wird. Diese Einschränkungen ergeben sich, da die Polynome höherer Ordnung bzw. Grades weitgehend durch die Polynome niedrigerer Ordnung bzw. Grades bestimmt sind und durch die auftretenden Polynome beeinflußt werden, ebenso aufgrund der Ordnung des Grundinterpolationsverfahrens oder -gerätes oder aufgrund der verwendeten Anzahlen der Interpolationsrekursionsschritte. Bei den meisten praktischen Anwendungsfällen ist nicht anzunehmen, daß die Einschränkungen hindernd sind, sie führen jedoch zu einer Einschränkung in der Amplitude der Beiträge höherer Ordnung der Gesamtannähe
Die Figuren 6 und 7 zeigen graphische Darstellungen von Polynomen fünfter bis achter Ordnung bzw. Grades, die
-49-
609838/0608
in Verbindlang mit dem Gerät verwendet werden, welches dazu ausgelegt ist, einen Algorithmus vierter Ordnung in fester Punktschreibweise zu realisieren. Es läßt sich zeigen, daß die Maßstabsfaktoren so gewählt sind, daß die Spitzenamplituden dieser B1--, Bg-, B7- und Bg-Polynoine kleiner sind als die Vierte, die verwendet worden wären oder verwandt hätten werden können, wenn eine freie Wahl der Maßstabsfaktoren möglich gewesen wäre.
Es ist unwahrscheinlich, daß diese Einschränkung irgend eine Konsequenz hat, wenn der Gegenstand der Erfindung unter Verwendung einer schwimmenden Punktschreibweise realisiert wird.
Ein weiterer Grad der Festpunkt-Maßstabseinschränkung ergibt sich für die fünfte und sechste Ordnung aufgrund der Erfordernis, daß beide (S-I) und (S+l) in dem ^1-Be reich liegen müssen.
Der größtmögliche Beitrag zur Einschränkung ergibt sich aus dem Polynomkonflikt, der in einer Eskalation der (S-I)-, (S+I)-, P- und E-Koeffizienten resultiert. Dieses Problem kann oder kann nicht entstehen, was von dem Profil der Resterfordernis oberhalb der Annäherung vierter Ordnung abhängig ist. Der schlechteste bzw. ungünstigste Fall tritt auf, wenn die Kurvenentsprechung (fit) große Amplituden erfordert (bei den ungeraden Achtel-x-Werten), die in Kombination ungünstig für die betriebene Gruppe der Binärpolynome sind.
-50-
609830/0808
Obwohl die vorliegende Erfindung in Verbindung mit einem speziellen Anwendungsfall erläutert wurde, sei darauf hingewiesen, daß sie nicht auf dieses Ausführungsbeispiel beschränkt ist. Beispielsweise kann das Verfahren nach der Erfindung dadurch realisiert werden, indem man in geeigneter Weise einen Computer programmiert oder ein Datenverarbeitungsgerät, welches für diesen Zweck ausgelegt ist. Ein Beispiel einer Ausführungsform eines solchen Gerätes wurde in Verbindung mit Figur 10 beschrieben, es sind jedoch sehr viele andere Anordnungen ebenso möglich, was vom Anwendungsfall abhängig ist. Beispielsweise kann das Gerät so ausgelegt werden, daß es in Bit-Serienformat, ¥ort-Serienformat; Bit-Serienformat, Wort-Parallelformat (Figur 10); Bit-Parallelformat, Wort-Parallelformat oder irgendwelchen Kombinationen von diesen arbeitet.
689838/0608

Claims (1)

  1. Patentansprüche
    1. Verfahren zum Interpolieren eines Wertes der abhängigen Veränderlichen y, die einem gegebenen Wert einer unabhängigen Veränderlichen χ entspricht, wobei y eine Funktion von χ ist und durch eine lineare PoIynornreihe der zweiten Ordnung (Grades) beschrieben ist und wobei die Ausdrücke der die (n+i)'ten bis 2n'ten Polynome enthaltenden Reihe in Form eines Ausdrucks vorliegen, der aus einem Produkt eines gemeinsamen Polynoms von χ der η'ten Ordnung (Grades) und der Summe der Polynome O'ter bis n'ter Ordnung (Grades) besteht, von denen jedes durch seinen geeigneten Koeffizienten multipliziert ist, unter Anwendung eines Polynominterpolationsverfahrens entsprechend n'ter Ordnung (Grades), um in zwei Iterationen des Interpolationsverfahrens n'ter Ordnung eine Interpolation bis zu einer 2n'ten Ordnung zu erhalten, dadurch gekennzeichnet, daß die geeigneten Koeffizienten bestimmt werden und diese zur Durchführung der Interpolation n'ter Ordnung verwendet werden, um einen spezifischen Koeffizienten für das gemeinsame Polynom n'ter Ordnung bei dem gegebenen Wert der unabhängigen Veränderlichen χ zu erhalten, daß dann die Koeffizienten der Polynome n?ter Ordnung und niedrigerer Ordnung in der geforderten Weise modifiziert werden, um den Ausdruck zusammenzufassen, der das gemeinsame Polynom n'ter Ordnung (Grades) enthält, multipliziert mit dessen spezifischem Koeffizienten, und daß dann eine Interpolation unter Verwendung der modifizierten Koef-
    -52-
    609838/0608
    fizienten bei dem gegebenen Wert der unabhängigen Veränderlichen χ eine zweite Interpolation n'ter Ordnung durchgeführt wird, wobei das Ergebnis der zweiten Interpolation den Wert der abhängigen Veränderlichen y für den gegebenen Wert der unabhängigen Veränderlichen darstellt, die unter Anwendung eines Interpolations-Verfahrens höherer Ordnung bis zur 2n'ten Ordnung (Gra des) erhalten worden wäre.
    2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Polynome O'ter bis n'ter Ordnung der genannten Reihe, welche die (n+1)'ten bis 2n'ten Polynome enthält, die gleichen sind wie die Polynome der Reihe O'ter bis n'ter Ordnung und daß die genannten geeigneten Koeffizienten in nicht-modifizierter Form verwendet werden, um die erste Interpolation n'ter Ordnung (Grades) durchzuführen.
    3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß wenigstens einige der Polynome O'ter bis n'ter Ordnung der genannten Reihe, die die (n+i)'ten bis 2n'ten Polynome enthalten,unterschiedlich von den Polynomen O'ter bis n'ter Ordnung der Reihe sind, jedoch von derselben Ordnung (bzw. Grades), und daß wenigstens einige der geeigneten Koeffizienten modifiziert werden, bevor sie zur Durchführung der ersten Interpolation n'ter Ordnung verwendet werden.
    4. Verfahren nach einem der Ansprüche 1 bis 3» dadurch gekennzeichnet, daß das gemeinsame Polynom n'ter Ord-
    -53-
    609833/0608
    nung das gleiche ist wie das Polynom n'ter Ordnung der Reihe und daß die Modifizierung der die Polynome O'ter bis h'ter Ordnung in der Reihe betreffenden Koeffizienten in der Zusammenfassung des Koeffizienten des Polynoms n'ter Ordnung und des speziellen Koeffizienten n'ter Ordnung, der bei der ersten Interpolation n'ter Ordnung erhalten wurde, besteht.
    5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das gemeinsame Polynom n'ter Ordnung gegenüber dem Polynom n'ter Ordnung in der Reihe unterschiedlich ist.
    6. Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß η = 4.
    7. Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß die Reihe aus einer binären Polynomreihe besteht.
    8. Verfahren nach Anspruch 7» dadurch gekennzeichnet, daß die binäre Polynomreihe aus einer binären Polynomreihe achter Ordnung (Grades) besteht und daß der Wert der abhängigen Veränderlichen unter Anwendung zweier Iterationen des Interpolationsverfahrens vierter Ordnung (Grades) interpoliert wird.
    9. Verfahren nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß das gemeinsame Polynom n'ter Ordnung (Grades) um das x-Bereichszentrum symmetrisch ist.
    -54-
    609838/0808
    10. Verfahren nach den Ansprüchen 7, 8 oder 9, dadurch gekennzeichnet, daß die binäre Polynomreihe die Form y = UqB0 + d^jB^ + ... ^8Bg gemäß der Definition in Tabelle 3 hat.
    11. Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß das Interpolationsverfahren n'ter Ordnung ein Verfahren umfaßt, durch welches ein Wert einer abhängigen Veränderlichen y für einen gegebenen Wert einer unabhängigen Veränderlichen χ erhalten wird, wobei y eine Funktion von χ ist und durch eine Polynomreihe der Form y = dB + d^B^ d2Bp + d^B, + ... + CUnBp beschrieben ist, wobei Bn ein linearer Polynomausdruck von χ in der η'ten Ordnung und dn der relevante Koeffizient ist, und daß das Interpolationsverfahren aus folgenden Verfahrensschritten besteht:
    daß zwei Punktwerte wiedergebende digitale Größen, die ein Anfangssegment der unabhängigen Veränderlichen definieren, und bestimmte Werte von wenigstens einem Korrekturausdruck zweiter Ordnung und dritter Ordnung gespeichert werden, daß dann zwischen den zwei gespeicherten Punktwerten linear interpoliert wird, um einen digitalen Mittelpunktswert zu erhalten und um zwei neue Segmente zu erzeugen, von denen das eine UP gegenüber dem Mittelpunktswert ist und von denen eines DOWN gegenüber diesem Wert ist, daß durch Addition eines Kompensierwertes, der aus dem Korrekturausdruck zweiter Ordnung besteht, zur Bildung eines kompensierten digitalen Mittelpunktswertes der digitale Mittelpunktswert kompensiert wird, daß dann bestimmt
    -55-
    609838/0609
    wird, ob das neue interessierende Segment für die nächste Stufe des Verfahrens gegenüber dem kompensierten Mittelpunktswert UP oder DOWN ist, daß die festgestellte UP/DOWN-Information dazu verwendet wird, um eine der ersten und zweiten digitalen Größen, welche die zwei gespeicherten Punktwerte wiedergeben, durch das kompensierte digitale Mittelpunktssignal zu ersetzen, um ein neues Segment zu erzeugen, welches den richtigen Wert der unabhängigen Veränderlichen enthält, daß dann das Kompensationssignal durch Teilen des den Korrekturausdruck zweiter Ordnung wiedergebenden digitalen Wertes durch vier modifiziert wird und daß die UP/ DOWN-Information dazu verwendet wird, eine Addition des den Korrekturausdruck dritter Ordnung wiedergebenden Wertes zu dem geteilten Wert des Korrekturausdruckes zweiter Ordnung oder eine Subtraktion von diesem geteilten Wert in Abhängigkeit davon zu bewirken, ob das neue Segment UP oder DOWN ist, um einen neuen Korrekturausdruck zu bilden, daß dann der den Korrekturausdruck dritter Ordnung wiedergebende digitale Wert durch Teilen durch acht modifiziert wird und daß die Schritte der linearen Interpolation, Kompensation, Bestimmung, Ersetzen und Modifizieren wiederholt werden, um neue digitale Größen zu erzeugen, die aufeinanderfolgend kleiner werdende Segmente mit Endpunkten definieren, die auf den richtigen Wert der unabhängigen Veränderlichen hin konvergieren.
    12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die Korrekturausdrücke einen Korrekturausdruck vierter Ordnung enthalten und daß die Modifizierung
    -56-
    des Kompensationswertes die Addition des Korrekturausdruckes vierter Ordnung umfaßt und daß weiter der Verfahrensschritt der Modifizierung des den Korrekturausdruck dritter Ordnung wiedergebenden digitalen Wertes den Verfahrensschritt der Verwendung der UP/ DOWN-Information umfaßt, um eine Addition der Hälfte des Wertes des Ausdrucks vierter Ordnung zum Ausdruck dritter Ordnung oder eine Subtraktion von diesem Ausdruck in Abhängigkeit davon zu bewirken, ob das neue Segment UP oder DOWN ist, und daß schließlich der den Ausdruck vierter Ordnung wiedergebende digitale Wert durch Teilen durch 16 modifiziert wird.
    13. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, daß jeder Polynomausdruck so angeordnet ist, daß er eine ungerade oder gerade Symmetrie um das x-Bereichszentrum aufweist.
    14. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß das Anfangssegment der unabhängigen Veränderlichen sich von χ = Ö bis χ = 1 erstreckt und das x-Bereichszentrum gleich ist mit 1/2.
    15. Verfahren nach einem der Ansprüche 11 bis 14, zum Ermitteln des Wertes der abhängigen Veränderlichen y für einen gegebenen Wert der unabhängigen Veränderlichen x, dadurch gekennzeichnet, daß der Wert der unabhängigen Veränderlichen χ in binärer Form gespeichert wird und daß dessen Bits geprüft werden, wobei mit dem höchstwertigen Bit begonnen wird, und daß der Verfahrensschritt der Bestimmung, ob das neue Segment UP
    -57-
    oder DOWN für die (n+i)'te Stufe des Verfahrens ist, durch Prüfen des η'ten Bits der unabhängigen Veränderlichen durchgeführt wird, um in Abhängigkeit vom Wert des η'ten Bits zu bestimmen, ob das neue Segment UP oder DOWN ist.
    16. Verfahren nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, daß die Ausdrücke höherer Ordnung (Grades) der Reihe von der fünften bis zur achten Ordnung (Grades) in Faktoren zerlegt werden, um einen Ausdruck der Form G^[I H1 + SH2 + FH, + EH^] = g^G^ abzuleiten, bei welchem G^ das gemeinsame Polynom vierter Ordnung, H1 bis Ηλ jeweils die Polynome erster bis vierter Ordnung, I, S, P und E die Koeffizienten jeweils der Polynome fünfter bis achter Ordnung (Grades) und gr = [i H1 + SHp + PH^ + EH^] ein numerischer Ausdruck für den genannten gegebenen Wert von χ ist bzw. sind.
    17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß die Koeffizienten fünfter bis achter Ordnung (Grades) I, S, P und E bei der ersten Interpolation vierter Ordnung verwendet werden, um den speziellen Koeffizienten gr in solcher Weise zu erhalten, daß Werte (S-I) und (S+I) die zwei Punktwerte darstellen, die das Anfangssegment der unabhängigen Veränderlichen definieren, und daß die Werte -S, P und E jeweils den zweiten, dritten und vierten Korrekturausdruck wiedergeben .
    18. Verfahren nach den Ansprüchen 4 und 17, dadurch gekennzeichnet, daß das gemeinsame Polynom vierter Ord-
    -58-
    nung G^ gleich ist mit dem Polynom vierter Ordnung B^ in der Reihe und daß die Modifizierung der Koeffizienten, die die Polynome vierter und niedrigerer Ordnung in der Reihe betreffen, aus der Addition des Koeffizienten d^ des Polynoms vierter Ordnung und des Koeffizienten g^ besteht.
    19. Verfahren nach den Ansprüchen 5 und 17, dadurch gekenn zeichnet, daß das gemeinsame Polynom vierter Ordnung G^ von dem Polynom vierter Ordnung B^ in der Reihe unterschiedlich ist und daß die Modifizierung der Koef fizienten, welche die Polynome vierter und niedrigerer Ordnung in der Reihe betreffen, aus einer Subtraktion des Wertes des spezifischen Koeffizienten g^ vom Koeffizienten K zweiter Ordnung und der Addition von drei Viertel des Wertes des Koeffizienten g^ zum Koeffizien ten vierter Ordnung besteht.
    20. Verfahren nach einem der Ansprüche 17 bis 19, dadurch gekennzeichnet, daß die Koeffizienten fünfter bis achter Ordnung I, S, P und E und die Punktwerte und. Korrekturausdrücke für die erste Interpolation gemäß dem beschriebenen Ausführungsbeispiel abgeleitet werden.
    21. Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß es in Form eines Programms in physikalischer Form, beispielsweise in einem programmierten Read Only Speicher gespeichert wird.
    -59-
    609838/0608
    22. Verfahren nach einem oder mehreren der vorangegangenen Ansprüche, dadurch gekennzeichnet, daß es durch Programmieren eines Computers oder eines Datenverarbeitungsgerätes für die automatische Berechnung des Wertes der geforderten Veränderlichen durchgeführt wird.
    23. Computer oder Datenverarbeitungsgerät, dadurch gekennzeichnet, daß es zur Durchführung des Verfahrens nach einem der vorangegangenen Ansprüche ausgebildet ist.
    Gerät zur Durchführung des Verfahrens nach einem der vorangegangenen Ansprüche, um einen Wert einer ersten Veränderlichen y und einer zweiten Veränderlichen χ für einen gegebenen Wert einer anderen Veränderlichen zu erhalten, wobei y eine Funktion von χ ist und durch eine Polynomreihe der Form y = dB + d.B,. + ^2Β^5 + d^B^ + ' * * d2nB2n t)esc^irie^en ist, wobei Bn ein linearer Polynomausdruck von χ in der b'ten Ordnung (Grades) und d der relevante Koeffizient ist, dadurch gekennzeichnet, daß das' Gerät folgende Einrichtungen und Merkmale aufweist:
    eine Speichereinrichtung für die Speicherung digitaler Größen, die zwei ein Anfangssegment der unabhängigen Veränderlichen definierende Punktwerte wiedergeben, und um vorbestimmte Werte der Korrekturausdrücke von der zweiten Ordnung bis zur 2n-ten Ordnung zu speichern, und daß eine Einrichtung vorgesehen ist, um eine Interpolation n'ter Ordnung (Grades) durchzuführen, und daß diese Einrichtung folgende Mittel enthält;
    -60-
    609838/0609
    Mittel für die lineare Interpolation zwischen zwei gespeicherten Endpunktwerten, um einen digitalen Mittelpunktswert zu erhalten und um zwei neue Segmente zu erzeugen, von denen einer UP gegenüber dem Mittelpunktswert ist und einer DOWN gegenüber dem Mittelpunktswert ist, Mittel für die Kompensation des digitalen Mittelpunktswertes durch Addition eines Kompensationswertes zu diesem Mittelpunktswert, der einen Korrekturausdruck zweiter Ordnung enthält, um einen kompensierten digitalen Mittelpunktswert zu bilden, Mittel für die Bestimmung, ob das neue interessierende Segment für die nächste Stufe des Verfahrens UP oder DOWN hinsichtlich des kompensierten Mittelpunktswertes ist,
    auf die UP/DOWN-Information, die ermittelt wurde, ansprechende Mittel, um eine der ersten und zweiten digitalen Größen, die die zwei gespeicherten Punktwerte wiedergeben, durch das genannte kompensierte digitale Mittelpunktssignal zu ersetzen, um ein neues den richtigen Wert der unabhängigen Veränderlichen enthaltendes Segment zu erzeugen,
    Mittel zur Modifizierung des Kompensationssignals durch Teilen des digitalen Wertes, der den Korrekturausdruck zweiter Ordnung wiedergibt, durch vier, und zwar unter Verwendung der UP/DOWN-Information, um eine Addition des den Korrekturausdruck dritter Ordnung wiedergebenden Wertes zum geteilten Wert des Korrekturausdrucks zweiter Ordnung oder eine Subtraktion von diesem Wert in Abhängigkeit davon zu bewirken, ob das neue Segment UP oder DOWN ist, um dadurch einen neuen Korrekturausdruck zu bilden,
    -61-
    und um den digitalen Wert, der den Korrekturausdruck dritter Ordnung wiedergibt, durch Teilen durch acht zu modifizieren, und Steuermittel, um das Gerät derart zu steuern, daß dieses iterativ neue digitale Größen erzeugt, die aufeinanderfolgend kleinere Segmente mit Endpunkten definieren, die auf den gewünschten Wert der unabhängigen Veränderlichen hin konvergieren.
    25. Gerät nach Anspruch 24, dadurch gekennzeichnet, daß die Speichereinrichtung so ausgebildet ist, daß sie einen bestimmten Wert des Korrekturausdrucks vierter Ordnung speichert und daß die Mittel zur Modifizierung den Kompensationswert durch Addition des Korrekturausdrucks vierter Ordnung zu diesem Kompensationswert modifizieren, weiter den digitalen Wert, der den Korrekturausdruck dritter Ordnung wiedergibt, unter Verwendung der UP/DOWN-Information modifizieren, um eine Addition des halben Wertes des Ausdrucks vierter Ordnung zum Ausdruck dritter Ordnung oder eine Subtraktion von diesem in Abhängigkeit davon zu bewirken, ob das neue Segment UP oder DOWN ist, und eine Modifikation des den Ausdruck vierter Ordnung wiedergebenden digitalen Wertes durch Teilen desselben durch 16 durchführt.
    26. Gerät nach Anspruch 24 oder 25, dadurch gekennzeichnet, daß die lineare Polynomreihe aus einer binären Polynomreihe besteht.
    -62-
    609838/0609
    27. Gerät nach einem der Ansprüche 24 bis 26, dadurch gekennzeichnet, daß jeder Polynomausdruck so angeordnet ist, daß er eine ungerade oder gerade Symmetrie um das x-Bereichszentrum aufweist.
    28. Gerät nach Anspruch 27, dadurch gekennzeichnet, daß das Anfangssegment der unabhängigen Veränderlichen sich von χ = O bis χ = 1 erstreckt und daß das x-Bereichszentrum gleich ist 1/2.
    29. Gerät nach einem der Ansprüche 24 bis 28, dadurch gekennzeichnet, daß eine Speichereinrichtung vorgesehen ist, um den Wert der unabhängigen Veränderlichen χ in binärer Form zu speichern, und daß eine Einrichtung vorgesehen ist, um die Bits in Aufeinanderfolge zu prüfen, wobei mit dem höchstwertigen Bit begonnen wird, und daß die Einrichtung zur Bestimmung, ob das neue Segment UP oder DOWN für die (n+i)'te Stufe des Verfahrens ist, für die Prüfung des ηHen Bits der unabhängigen Veränderlichen angeordnet und ausgebildet ist, um in Abhängigkeit von dem Wert des η'ten Bits zu bestimmen, ob das neue Segment UP oder DOWN ist.
    30. Gerät nach einem der Ansprüche 24 bis 29, dadurch gekennzeichnet, daß die Speichereinrichtung mehrere Schieberegister enthält, die in Betrieb digitale Werte empfangen, welche die zwei Punktwerte wiedergeben und ebenso die anfänglichen modifizierten Korrekturausdrücke empfangen, wobei die Schieberegister durch Takt-impulse einer Steuereinrichtung gesteuert werden.
    -63-
    609838/0608
    31. Gerät nach einem der Ansprüche 24 bis 30, dadurch gekennzeichnet, daß die Mittel für die lineare Interpolation zweier Werte eine Addiereinrichtung enthalten, um die genannten zwei Werte zu addieren und um ein digitales Ausgangssignal vorzusehen, welches die Hälfte der Summe der zwei Werte wiedergibt.
    32. Gerät nach einem der Ansprüche 29 bis 31, dadurch gekennzeichnet, daß die Speichereinrichtung für die Speicherung des Wertes der unabhängigen Veränderlichen aus einem Schieberegister besteht, welches durch Taktimpulse aus der genannten Steuereinrichtung gesteuert wird, und daß die Mittel für die Prüfung der Bits der unabhängigen Veränderlichen aus einem Detektor bestehen, der das höchstwertige Teil- oder Bruch-Bit im Schieberegister bei jeder Stufe der Operation erfaßt.
    33· Gerät nach Anspruch 32, dadurch gekennzeichnet, daß eine Einrichtung vorgesehen ist, um zu bestimmen, wann alle Bits der unabhängigen Veränderlichen in dem Schieberegister am Ende der ersten Interpolation gleich null sind, daß weiter Mittel vorgesehen sind, um den Wert der unabhängigen Veränderlichen in dem Schieberegister wieder zu speichern, und ebenso Mittel, die auf die Einrichtung für die Bestimmung ansprechen, wann alle Bits der unabhängigen Veränderlichen am Ende der zweiten Interpolation null sind, und ein Ausgangssignal erzeugen, um den Betrieb des Gerätes zu beenden.
    609338/0608
DE19762606931 1975-02-26 1976-02-20 Verfahren zur erzeugung von werten mathematischer funktionen Withdrawn DE2606931A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8134/75A GB1536845A (en) 1975-02-26 1975-02-26 Generation of mathematical functions

Publications (1)

Publication Number Publication Date
DE2606931A1 true DE2606931A1 (de) 1976-09-16

Family

ID=9846404

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762606931 Withdrawn DE2606931A1 (de) 1975-02-26 1976-02-20 Verfahren zur erzeugung von werten mathematischer funktionen

Country Status (3)

Country Link
US (1) US4031370A (de)
DE (1) DE2606931A1 (de)
GB (1) GB1536845A (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4636955A (en) * 1984-05-01 1987-01-13 Mobil Oil Corporation Method for establishing continuity between contiguous data sets
JPH0766372B2 (ja) * 1986-11-26 1995-07-19 株式会社日立製作所 浮動小数点演算処理装置
JPH0664089B2 (ja) * 1990-09-07 1994-08-22 菊水電子工業株式会社 サンプリング信号処理装置
US5379241A (en) * 1993-12-23 1995-01-03 Genesis Microchip, Inc. Method and apparatus for quadratic interpolation
DE4406300C2 (de) * 1994-02-26 1997-10-30 Itt Ind Gmbh Deutsche Lineares Interpolationsverfahren
US5796983A (en) * 1995-08-14 1998-08-18 J. A. Woollam Co. Inc. Dielectric function parametric model, and method of use
US5751617A (en) * 1996-04-22 1998-05-12 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded away from zero in a single instruction cycle
US6007232A (en) * 1996-11-14 1999-12-28 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
US5917739A (en) * 1996-11-14 1999-06-29 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
US5949695A (en) * 1997-01-10 1999-09-07 Harris Corporation Interpolator using a plurality of polynomial equations and associated methods
US6084924A (en) * 1998-03-13 2000-07-04 International Business Machines Corporation Asynchronous low sampling rate read channel using combination midpoint and linear interpolation
US6073151A (en) * 1998-06-29 2000-06-06 Motorola, Inc. Bit-serial linear interpolator with sliced output
CA2265389C (en) * 1999-03-12 2011-07-12 Certicom Corp. System and method for efficient basis conversion
US20020009394A1 (en) 1999-04-02 2002-01-24 Hubert Koster Automated process line
US7917301B1 (en) 2000-09-19 2011-03-29 Sequenom, Inc. Method and device for identifying a biological sample
US6704013B2 (en) * 1999-12-03 2004-03-09 Texas Instruments Incorporated Function graphing method with detection of discontinuities
TWI223781B (en) * 2002-04-01 2004-11-11 Mstar Semiconductor Inc Scaling method by using dual point slope control
DE10360168A1 (de) * 2003-12-20 2005-07-21 Rexroth Indramat Gmbh Verfahren und Vorrichtung zur Korrektur der Lageabweichung eines Transportgutes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1363073A (en) * 1970-07-17 1974-08-14 Solartron Electronic Group Generation of trigonometrical and other functions by interpolation between point values
US3967100A (en) * 1973-11-12 1976-06-29 Naonobu Shimomura Digital function generator utilizing cascade accumulation

Also Published As

Publication number Publication date
GB1536845A (en) 1978-12-20
US4031370A (en) 1977-06-21

Similar Documents

Publication Publication Date Title
DE2606931A1 (de) Verfahren zur erzeugung von werten mathematischer funktionen
DE2135590C3 (de) Schaltungsanordnung zum Interpolieren des Wertes einer Funktion einer unabhängigen Veränderlichen
DE2628473B2 (de) Digitales Faltungsfilter
DE2625973A1 (de) Verfahren und anordnung zur redundanzvermindernden transformation von bildern
DE2508706A1 (de) Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis
EP0149785B1 (de) Verfahren und Schaltungsanordnung zur Digitalsignalverarbeitung nach Art eines vorzugsweise adaptiven Transversalfilters
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE2936915A1 (de) Verfahren und vorrichtung zur steuerung einer ablaufanzeige
DE2305201A1 (de) Schnellteiler zur iterativen division, insbesondere fuer digitalrechner
DE1588093A1 (de) Anordnung zum automatischen Steuern von Werkzeugmaschinen
DE3303269C2 (de)
DE2513262A1 (de) Digitale codeumwandlungsanordnung
DE60101745T2 (de) Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben
DE4010735C2 (de)
DE2826454C3 (de) Faksimilesignal-Codiersystem
DE3702697C2 (de)
EP0769853A1 (de) Logischer Block für einen Viterbi-Decoder
DE2214053A1 (de) Verfahren und Vorrichtung zum Steuern einer numerisch gesteuerten Werkzeugmaschine entlang einer Kreisbahn
DE60004958T2 (de) Fehlerkorrektur mit einem cross interleave Reed-Solomon Code, insbesondere für CD-ROM
DE3443272A1 (de) Verfahren und anordnung zur fehlererkennung in datenverarbeitungsanlagen
DE2300505A1 (de) Vorrichtung zur schwellwertdecodierung
DE2606981A1 (de) Verfahren zur erzeugung von werten mathematischer funktionen
EP0046963B1 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlerbündeln
DE2636028A1 (de) Digitaler multiplizierer
DE2543697C3 (de) Variables Digitalfilter hoher Bitrate

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee