-
-
Interpolationsverfahren bei einem Funktionsgenerator und Inter-
-
polationsschaltung zur Durchführung des Verfahrens Die Erfindung bezieht
sich auf ein Interpolationsverfahren bei einem Funktionsgenerator mit in einem Speicher
gespeicherten und mit einer Taktfrequenz ausgelesenen Ordinatenwerten, sowie auf
eine interpolationsschaltung zur Durchführung des Verfahrens.
-
Es sind Funktionsgeneratoren bekannt, beispielsweise aus der DT-OS
2 260 263, bei denen in einem Speicher Ordinatenwerte beliebiger Funktionen gespeichert
sind. Diese Ordinatenwerte können mit einer wählbaren Taktfrequenz aus dem Speicher
ausgelesen und über einen Digital-Analog-Umsetzer in eine analoge Funktion umgewandelt
werden. Beim Gegenstand der erwähnten Offenlegungsschrift ist auch ein Interpolationsverfahren
vorgesehen, mit dessen Hilfe den diskreten digitalen Ordinatenwerten besonders erzeugte
Sägezahnspannungen überlagert werden. Auf diese Weise werden die diskreten Ordinatenwerte
linear interpoliert und ein annähernd stetiger Verlauf der künstlich erzeugten Funktion
erreicht.
-
Das bekannte Verfahren hat den Nachteil, daß für die Erzeugung der
Sägezahnspannungen eine Technik angewandt werden muß, die mit hochgenauen Gleichspannungsverstärkern
arbeitet. Dadurch werden an die Konstanz von Bauteilen und Spannungsquellen erheblich
höhere Anforderungen gestellt als es bei der digitalen Technik im allgemeinen notwendig
ist.
-
Der Erfindung lag die Aufgabe zugrunde, ein Interpolationsverfahren
und eine Schaltung zur Durchführung dieses Verfahrens zu schaffen, die sich ausschließlich
im Rahmen der digitalen Schaltungstechnik halten und deshalb geringere Anforderungen
als das
bekannte Interpolationsverfahren stellen.
-
Diese Aufgabe wird bei einem eingangs genannten Interpolationsverfahren
gemäß der Erfindung dadurch gelöst, daß in zeitlich aufeinanderfolgenden Schritten
die Differenz zwischen zwei benachbarten Ordinatenwerten gebildet, der Differenzwert
durch eine der Anzahl der im zwischen den benachbarten Ordinatenwerten liegenden
Intervall vorgesehenen Interpolationswerte (Inkremente) entsprechenden Zahl k geteilt,
der Quotient nacheinander im Takt einer zweiten, gegenüber der Auslesefrequenz k-fach
erhöhten Taktfrequenz mit allen ganzen Zahlen von 1 bis k multipliziert und die
Produkte jeweils einem der das Interpolationsintervall begrenzenden Ordinatenwerte
additiv zugeordnet werden.
-
Das neue Interpolationsverfahren arbeitet demnach nur mit digitalen
Methoden und vermeidet eine aufwendige Mischtechnik, in der digitale und analoge
Methoden miteinander kombiniert sind.
-
Eine Interpolationsschaltung zur Durchführung des Verfahrens nach
der Erfindung ist gekennzeichnet durch je ein Register für einen von zwei benachbarten
Ordinatenwerten, eine mit je einem ihrer beiden Eingänge an Ausgängen der Register
angeschlossene Subtraktionseinheit, ein mit seinem Eingang an dem Ausgang der Subtraktionseinheit
liegendes erstes Zwischenregister, eine mit dessen Ausgang über einen digitalen
Multiplexer verbundene Addiereinheit, von der ein zweiter Eingang über ein zweites
Zwischenregister an ihren Ausgang angeschlossen ist und von der ein dritter Eingang
mit einem Ubertragsausgang eines Vergleichers verbunden ist, an dessen eine Eingänge
Ausgänge für die ( - 1)-Bits geringerer Wertigkeit des digitalen Multiplexers angeschlossen
sind und an dessen anderen Eingängen - 1 Bitausgänge eines mit der k-fachen Taktfrequenz
beaufschlagten Zählers liegen, eine mit ihren Eingängen an den Ausgängen der ersten
Addiereinheit bzw.
-
einen Ausgang eines dritten Zwischenregisters für einen der benachbarten
Ordinatenwerte angeschlossene zweite Addiereinheit, deren Ausgang mit dem Eingang
eines Registers für die interpolierten Ordinatenwerte verbunden ist, sowie durch
eine Zeitsteuerung, über die Takteingänge des ersten und dritten Zwischenregisters
mit der einfachen Taktfrequenz und Takteingänge des zwei-
ten Zwischenregisters
und des Registers für die interpolierten Ordinatenwerte mit der k-fachen Taktfrequenz
beaufschlagt sind.
-
Die Erfindung wird anhand einer Zeichnung, die ein Blockschaltbild
eines Ausführungsbeispiels darstellt, näher erläutert.
-
Ein Schreib-Lesespeicher RAM ist mit seinen Ausgängen mit einem Register
A und einem Register B verbunden. Dabei wird das Register B 20 ns vor dem Register
A angesteuert, so daß ein zeitlich zuerstkommender Ordinatenwert in dem Register
B und ein darauffolgender Ordinatenwert im Register A abgespeichert wird. Ausgänge
der Register A und B sind an Eingänge einer Subtraktionseinheit SUB gelegt. Der
Ausgang der Subtraktionseinheit SUB liegt am Eingang eines ersten Zwischenregisters
C. Ein Ausgang des Zwischenregisters C ist mit einem entsprechenden Eingang und
ein invertierter Ausgang ist mit einem entsprechenden anderen Eingang eines digitalen
Multiplexers MUX verbunden. Die drei ersten Bitausgänge des digitalen Multiplexers
liegen an entsprechenden Eingängen eines Vergleichers COM. Ausgänge des Multiplexers
MUX für die Bits 4 bis 12 sind mit entsprechenden Eingängen einer Addiereinheit
AD1 verbunden. Summenausgänge der Addiereinheit AD1 sind an Eingänge einer zweiten
Addiereinheit AD2 angeschlossen und ebenso über ein zweites Zwischenregister R mit
zweiten Eingängen der Addiereinheit AD1 verbunden. Ein Ubertragsausgang des Vergleichers
COM ist an einen Übertragseingang der Addiereinheit AD1 angeschlossen. Vergleichseingänge
des Vergleichers sind mit entsprechenden Bitausgängen eines Zählers Z verbunden,
dessen Zähleingänge von einer Zeitsteuerung ZST mit einer Taktfrequenz beaufschlagt
sind, die das 8-fache einer Taktfrequenz beträgt, die den Steuereingang des ersten
Zwischenregisters C beaufschlagt.
-
Die einfache Taktfrequenz liegt auch am Steuereingang eines Registers
B' für den Ordinatenwert, der im Register B gespeichert liegt und an Clear-Eingängen
des Zählers Z und des Zwischenregisters R. Bitausgänge des Registers B' liegen an
entsprechenden Eingängen der Addiereinheit AD2. Summenausgänge der Addiereinheit
AD2 sind mit entsprechenden Eingängen eines Registers INT verbunden, in dem die
interpolierten Ordinatenwerte gespeichert sind. Von dort können sie mit Hilfe der
8-fachen Taktfrequenz an
einen nicht dargestellten Digitalmultiplexer
weitergegeben und anschließend in einem ebenfalls nicht dargestellten Digital-Analog-Wandler
in eine analoge Funktion umgewandelt werden. Die 8-fache Taktfrequenz wird dem Register
INT über ein NA#TD-Gatter N3 zugeführt. Ein zweiter Eingang des NAND-Gatters N3
ist mit dem Ausgang eines NAND-Gatters N2 verbunden, dessen einer Eingang an den
Ausgang eines NAND-Gatters N1 angeschlossen ist, dessen Eingänge an den Bitausgängen
des Zählers Z liegen. Ein zweiter Eingang des NAND-Gatters N2 liegt an einem Bitausgang
für das 11. Bit des Registers B', das eine Information darüber enthält, ob die Interpolation
durchgeführt werden soll oder nicht. Das 10. Bit der Differenz der Ordinatenwerte
enthält eine Information über das Vorzeichen. Es ist mit einem Select-Eingang des
digitalen Multiplexers MUX und Steuereingängen SO bis S3 der Addiereinheit AD2 verbunden.
-
Im folgenden wird die Wirkungsweise der Interpolationsschaltung erläutert.
Die aus dem Schreib-Lesespeicher RAM ausgelesenen Daten werden in den zwei nachgeschalteten
Registern A und B abgelegt. Das Register B wird 20 ns vor dem Register A angesteuert,
so daß der zeitlich vorauslaufende Ordinatenwert in das Register B und der darauffolgende
Ordinatenwert in das Register A abgespeichert wird. Für die Zwischenzeit zwischen
zwei Taktimpulsen stehen die zwei digitalen Ordinatenwerte für die Weiterverarbeitung
zur Verfügung. Wenn keine Interpolation programmiert ist, werden die Daten aus dem
Register A über einen nicht dargestellten digitalen Multiplexer zum Analogteil weitergeleitet.
Wird interpoliert, so stehen dafür die Subtraktionseinheit SUB und die Addiereinheiten
AD1 und AD2 zur Verfügung. Die Subtraktionseinheit SUB besteht aus drei 4-Bit-arithmetischen
Logikeinheiten und einer Übertragseinheit, die als 12-Bit-Rechenelement mit Parallelübertrag
geschaltet sind. Durch nicht dargestellte Steuereingänge ist die Recheneinheit fest
als Subtraktionseinheit programmiert.
-
Mit einem in der Zeitsteuerung ZST erzeugten Übernahmesignal wird
die Differenz der Inhalte der Register A und B im Zwischenregister C abgespeichert.
Gleichzeitig wird der Ordinatenwert aus dem Register B in dem nachgeschalteten Register
B' gespeichert. Das
10. Bit steuert den Select-Eingang des digitalen
Multiplexers MUX derart, daß, wenn das Vorzeichen positiv ist, die nichtinveftierten
Ausgänge des Zwischenregisters C durchgeschaltet und, wenn das Vorzeichen negativ
ist, die invertierten Ausgänge durchgeschaltet werden. Die Teilung der Differenz
der Ordinatenwerte durch die Zahl k, im Beispiel 8, wird dadurch erreicht, daß nur
das 4. bis 12. Bit der Differenz auf die einen Eingänge der Addiereinheit AD1 geschaltet
werden. Die anderen Additionseingänge sind über das Zwischenregister R mit dem Summenausgang
der Addiereinheit AD1 gekoppelt. Mit jedem Taktimpuls der 8-fachen Taktfrequenz
findet eine Multiplikation der Inkremente durch Aufaddieren statt. Die vernachlässigten
1. bis 3. Bits werden über einen Vergleicher als Rest berücksichtigt, so daß bei
jedem Impuls der 8-fachen Taktfrequenz ein Ubertrag zum Inkrement addiert wird,
bis der Rest gleich Null ist. Dazu dient der Zähler Z, der mit der 8-fachen Taktfrequenz
angesteuert ist. Die Operation der Inkrementbildung wiederholt sich achtmal, bis
das Inkrement gleich der Differenz der benachbarten Ordinatenwerte wird. Dann wird
das Intervall zwischen den nächsten Ordinatenwerten interpoliert. In der Addiereinheit
AD2 werden die Inkremente zu dem Ordinatenwert des Registers B addiert bzw. subtrahiert,
je nach dem Vorzeichen der Differenz. Diese Steuerung findet über Steuereingänge
SO bis S3 der Addiereinheit AD2 statt. Die in der Addiereinheit AD2 anfallenden
Ausgangswerte sind im nachgeschalteten Register INT gespeichert und können von dort
über einen digitalen Multiplexer an den Digital-Analog-Wandler weitergegeben werden.
-
Die Zeitsteuerung ZST regelt den zeitlichen Ablauf des Interpolationsvorgangs
und berücksichtigt die in der Schaltung aufgetretenen Durchlaufzeiten der zu verarbeitenden
Daten.
-
2 Patentansprüche 1 Figur
L e e r s e i t e