DE2150751B2 - Digitaler sinus-kosinus-generator - Google Patents

Digitaler sinus-kosinus-generator

Info

Publication number
DE2150751B2
DE2150751B2 DE19712150751 DE2150751A DE2150751B2 DE 2150751 B2 DE2150751 B2 DE 2150751B2 DE 19712150751 DE19712150751 DE 19712150751 DE 2150751 A DE2150751 A DE 2150751A DE 2150751 B2 DE2150751 B2 DE 2150751B2
Authority
DE
Germany
Prior art keywords
value
memory
sine
register
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19712150751
Other languages
English (en)
Other versions
DE2150751A1 (de
DE2150751C3 (de
Inventor
Corstiaan Ie Huizen Comte (Niederlande)
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.)
Thales Nederland BV
Original Assignee
Thales Nederland BV
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 Thales Nederland BV filed Critical Thales Nederland BV
Publication of DE2150751A1 publication Critical patent/DE2150751A1/de
Publication of DE2150751B2 publication Critical patent/DE2150751B2/de
Application granted granted Critical
Publication of DE2150751C3 publication Critical patent/DE2150751C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0353Reduction of table size by using symmetrical properties of the function, e.g. using most significant bits for quadrant control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Description

■n (»-!)■
35
mit n= 1,2 2m~2 ausgedrückt wird, wobei ό den
Winkelwert der stellenniedrigsten Binärziffer im Winkelregister (1) darstellt, und daß der Sinus-Kosinus-Generator außerdem mit einer logischen Schaltung (31 in F i g. 4) versehen ist, mit deren Hilfe, nach Zufuhr des von der Steuereinheit (3) herrührenden Vorzeichensignals, sowie eines Signals (x in F i g. 4), das der stellenhöchsten vom Speicher (2) abgegebenen Binärziffer entspricht, und von Signalen (45°*, 22,5°* in Fig.4), die den zwei stellenhöchsten an dem Eingang des Speichers (2) vorhandenen Binärziffern des Winkelregisters (t) entsprechen, der Wert der stellenhöchsten Binärziffer des betreffenden Sinus- bzw. Kosinuswertes bestimmt wird.
2. Digitaler Sinus-Kosinus-Generator nach Anspruch 1, dadurch gekennzeichnet, daß das im Ausgangskreis (5) befindliche Register (6) durch ein aus Jt+1 Elementen bestehendes Parallel-Addierwerk angesteuert wi-d und daß das von der Steuereinheit (i) kommende Vorzeichensignal nicht nur dem (i+l)-ten Element des Registers (6), sondern auch dessen ersten Element zugeführt wird, damit der Inhalt des genannten Registers; (6) erhöht wird, wenn der gewünschte Sinus bzw. Kosinus negativ ist.
3. Digitaler Sinus-Kosinus-Generator nach Anspruch 1, dadurch gekennzeichnet, daß dsr Speicher (2) aus einem ersten und einem zweiten Teilspeicher (46, 47 in Fig.5) aufgebaut ist, wobei dem ersten Teilspeicher (46) die m—A stellenhöchsten an den Speicher (2) abzugebenden Binärziffern des Winkelregisters (1) zugeführt werden, wozu dieser Teilspeicher f46) 2m~4 Zahlen mit jt-2 Binärziffern enthält, sin (41-y
mit /= 1,2,.. -, 2°·-* ausgedrückt wird, und wobei im zweiten Teilspeicher (47) 2m~2 Sinusinkrementwerte stehen, die aus jeweils zwei Binärziffern bestehen und durch die die Stellenzahl der Binärziffern des ersten Teilspeichers (46) auf k-1 erhöht wird.
4. Digitaler Sinus-Kosinus-Generator nach Anspruch 3, dadurch gekennzeichnet, daß das im Ausgangskreis (5) befindende Register (6) durch ein aus k+l Elementen bestehendes Parallel-Addierwerk angesteuert wird, wobei, gesteuert durch das von der Steuereinheit (3) abgegebene Vorzeichensignal, ein vom Ausgangswert des ersten Teilspeichers (46) abgeleiteter Wert in das zweite bis (]fc-l)-ten Element des Registers (6) gesetzt wird, und ein vom Ausgangswert des zweiten Teilspeichers (47) abgeleiteter Sinusinkrenentwert den beiden stellenniedrigsten Elementen des Addierwerks zugeführt wird, durch das die beiden zugeführten Werte kombiniert werden.
5. Digitaler Sinus-Kosinus-Generator nach Anspruch 4, dadurch gekennzeichnet, daß das von der Steuereinheit (3) kommende Vorzeichensignal unter Verwendung von dazu im Ausgangskreis (5) vorhandenen ersten Schaltmitteln (49 bis 52 in F i g. 5) bewirkt, daß die vom ersten Teilspeicher (46) abgegebene und aus Ar-2 Binärziffern bestehende Zahl unmittelbar dem Parallel-Addierwerk zugeführt wird, falls der gewünschte Sinus bzw. Kosinus positiv ist, und in invertierter Form, we.'.n der gewünschte Sinus bzw. Kosinus negativ ist, wobei außerdem, in Abhängigkeit davon, ob der gewünschte Sinus bzw. Kosinus positiv oder negativ ist, dem stellenniedrigsten Element des Parallel-Addierwerks entweder eine »0« oder eine »1« zugeführt wird, welcher Wert zum Inhalt des Registers (6) addiert wird.
6. Digitaler Sinus-Kosinus-Generator nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß das von der Steuereinheit (3) kommende Vorzeichensignal unter Verwendung von dazu im Ausgangskreis (5) vorhandenen zweiten Schaltmitteln (54 bis 56 in Fi g. 5) bewirkt, daß die vom zweiten Teilspeicher (47) abgegebenen beiden Binärziffern unmittelbar dem Parallel-Addierwerk zugeführt wird, falls der gewünschte Sinus bzw. Kosinus positiv ist, und in invertierter Form, wenn der gewünschte Sinus bzw. Kosinus negativ ist, und daß außerdem ein Korrektur-Netzwerk (57 bis 59, 61 in Fig.5) vorgesehen ist, das zur Bestimmung des Sinus bzw. Kosinus von kleinen Winkelwerten die vom zweiten Teilspeicher abgegebenen Inkrementwerte korrigiert.
Die Erfindung bezieht sich auf einen digitalen Sinus-Kosinus-Generator mit einem Winkelregister, einem Speicher, einem Ausgangskreis und einer Steuereinheit, von denen das Winkelregister zur Speicherung eines in m Binärziffern ausgedrückten
'■f
Viinkelwertes geeignet ist wobei die Steuereinheit sowohl nach Zufuhr der zwei stellenhöchsten Binärziffem aus dem Inhalt des Winkelregisters, als auch nach Zufuhr von Signalen, die angeben, ob der Sinus oder der Kosinus des im Register befindlichen Winkelwertes bestimmt werden soll, unter Anwendung der dazu vorgesehenen Schaltmittel bewirkt, daß die m—1 stellenniedrigsten Binärziffern aus dem Inhalt des Winkelregisters unmittelbar oder aber invertiert dem Speicher zugeführt werden und wobei der ebenfalls an den Speicher angeschlossene Ausgangskreis zur Ausgabe des gewünschten Sinus- bzw. Kosinuswertes in jfc-Binärziffern mit einem für *+1 Binärziffern ausgelegten Register versehen ist, in dem, auch unter Steuerung eines von der Steuereinheit gelieferten Vorzeichensignals, der jeweilige Sinus- bzw. Kosinuswert sowie ein diesem Sinus- bzw. Kosinuswert entsprechendes Vorzeichenbit erhalten wird.
Ein derartiger digitaler Sinus-Kosinus-Generator ist aus der amerikanischen Zeitschrift »Transactions of the American Institute of Electrical Engineers«, Band »Communication and Electronics«, JuIi 1958, Seiten 316—319. bekannt Eine solche Ausbildung eines digitalen Sinus-Kosinus-Generators macht eine Speicherkapazität von 2-"-2A: Binärziffern erforder-
1 Angesichts der Tatsache, daß jede Belegung von Speicherraum eine aufwendige Angelegenheit ist, isi es empfehlenswert diesen Gebrauch auf ein Mindestmaß zu beschränken, ohne daß dabei die Genauigkeit der gewünschten (goniometrischen) Größen beeinträchtigt
* Die Erfindung bezweckt eine solche Ausbildung des Sinus-Kosinus-Generators zu schaffen, daß unter Beibehaltung der gleichen Genauigkeit ein besserer Gebrauch der vorhandenen Speicherkapazität ermög-
' Gemäß der Erfindung enthält der Speicher des digitalen Sinus-Kosinus-Generators eingangs erwähnter Art nur Zahlen mit höchstens k-\ Binärziffern, welche die stellenniedrigsten Teile der aus k Binärziffern bestehenden Sinuswerte angeben, deren Größe durch
F i g. 1 eine allgemein bekannte Ausführungform des digitalen Sinus-Kosinus-Generators zeigt
Fi fr. 2 eine Tabelle zur Erläuterung von Berechnungen der den Binärwerten zugehörigen Umkehrwerte zeigt,
Fig.3 ein Ausführungsbeispiel einer logischen Schaltung im digitalen Sinus-Kosmus-Generator entsprechend der Erfindung zeigt, zwecks Berechnung der stellenhöchsten Binärziffer des einem Sinuswert zugehörigen Binärwertes,
Fig.4 einen Kreisbogen im ersten Quadranten veranschaulicht zwecks Erläuterung der Grundlagen der Berechnung der stellenhöchsten Binärziffer des einem Sinuswert zugehörigen Binärwertes,
F i g. 5 eine Tabelle zur Erläuterung der Bildung der erforderlichen Bedingungssignale für die logische Schaltung des Sinus-Kosinus-Generators zeigt
Fig.6 eine Ausbildung des Sinus-Kosinus-Generators zeigt, falls der Generator zwei Teilspeicher aufweist und
F i g. 7 einen Teil der Sinuskurve zur Erläuterung der erforderlichen Korrekturen bei Anwendung von zwei Teilspeichern in dem Generator darstellt.
Entsprechende Teile sind in den Figuren mit gleichen Bezugsziffern bezeichnet.
Im Blockschema eines allgemein bekannten digitalen Sinus-Kosinus-Generators nach F i g. 1 ist das Winkelregister mit der Ziffer 1 und der Speicher mit der Ziffer versehen.
Die Wahl der Anzahl Binärziffern, in denen der Winkelwert dem Speicher angeboten wird, wird bedingt durch die Genauigkeit, die für den angebotenen Winkelwert gefordert wird. In der im vorliegenden näher betrachteten Ausführungsform ist die Wahl der Anzahl Binärziffern auf 13 angesetzt, wovon die stellenhöchste das 180° -Bit und die slellenniedrigste das ö-Bit mit
0=180° · 2-12 = 0,8 mils (Teilstriche)
sin(n-|)
mit π= 1, 2, ..., 2m~* ausgedrückt wird, wobei 6 den Winkelwert der stellenniedrigsten Binärziffer im Winkelregister darstellt Der Sinus-Kosinus-Generator ist außerdem mit einer logischen Schaltung versehen, mit deren Hilfe, nach Zufuhr des von der Steuereinheit herrührenden Vorzeichensignals, sowie eines Signals, das der stellenhöchsten vom Speicher abgegebenen Binärziffer entspricht und von Signalen, die den zwei stellenhöchsten an dem Eingang des Speichers vorhandenen Binärziffern des Winkelregisters entsprechen, der Wert der stellenhöchsten Binärziffer des betreffenden Sinus- bzw. Kosinuswertes bestimmt wird.
In dem Speicher brauchen damit lediglich (A— I) Bits für einen Sinus- oder Kosinuswert gespeichert zu werden. Das Jt · Bit, das nicht gespeichert ist, wird berechnet.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von Unteransprüchen.
Nachstehend werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen näher erläutert, von
Im Speicher 2 befinden sich nun die Sinuswerte einer bestimmten Anzahl vom Register 1 anzubietender Winkelwerte in digitaler Form. Diese Sinuswerte sind in der hier wiedergegebenen Ausführungsform in 10 Binärziffern ausgedrückt, von denen die stellenhöchste sin 30° =yund die stellenniedrigste 2-10 entspricht.
Der digitale Sinus-Kosinus-Generator umfaßt eine Steuereinheit 3, der einerseits der Inhalt des Teils des Winkelregisters zugeführt wird, in dem die zwei stellenhöchsten Binärziffern — das 180°- und 90°-Bit — eingetragen sind, und andererseits Signale, die angeben, ob der Sinus oder aber der Kosinus des im Register 1 befindlichen Winkelwertes bestimmt werden soll. Letztgenannte Signale sind mit sin(req), bzw. cos(req) bezeichnet. Die Steuereinheit 3 bewirkt, unter Anwendung der dafür vorgesehenen Schaltmittel 4, daß der Inhalt des Winkelregisters 1, vermindert um die zwei Siellenhöchsten Binärziffern, unmittelbar dem Speicher 2 zugeführt wird, falls entweder der Sinus eines im ersten oder dritten Quadranten liegenden Winkels oder der Kosinus eines im zweiten oder vierten Quadranten liegenden Winkels bestimmt werden soll, und danach invertiert dem genannten Speicher zugeführt wird, wenn entweder der Sinus eines im zweiten oder vierten Quadranten liegenden Winkels oder aber der Kosinus eines im ersten oder dritten Quadranten liegenden Winkeis bestimmt werden soll. Der Sinus-Kosinus-Ge-
nerator umfaßt außerdem einen Ausgangskreis 5, der zumindest ein Register 6 enthält, in das, gesteuert durch ein von der Steuereinheit kommendes Signal, ein vom Speicher gelieferter Sinuswert mit einem zugehörigen Vorzeichen, entsprechend dem gewünschten Sinus- bzw. Kosinuswert eingetragen wird.
Da das 180°- und das 90° -Bit der Steuereinheit 3 zugeführt werden, können dem Speicher vom Whikelregister 1 nur Winkelwerte kleiner als 90° angeboten werden. Die dem Speicher direkt bzw. indirekt zugeführten Winkelwerte können größenmäßig wie folgt ausgedrückt werden:
Ο,ό, 2ό, 3ό 9O°-<5.
Sofern ein Winkel φ im ersten Quadranten liegt, wird der im Register 1 eingetragene Winkelwert in seiner Gesamtheit dem Speicher angeboten. Liegt ein Winkel φ jedoch im zweiten Quadranten, wird dem Speicher nur ein Winkelwert φ -90° angeboten. Ebenso gilt, daß falls ein Winkel ψ im dritten oder vierten Quadranten liegt, ein Winkelwert φ-180° bzw. ψ-270° dem Speicher zugeführt wird.
Soll der Sinus eines im ersten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert insgesamt, und in 11 Binärziffern ausgedrückt, unmittelbar dem Speicher zugeführt. Der Speicher gibt dann seinerseits direkt, in 10 Binärziffern ausgedrückt, den Wert von sin φ ab.
Soll der Kosinus eines im ersten Quadranten liegenden Winkels φ bestimmt werden, muß dem Speicher der Winkelwert 90° φ angeboten werden; nur dann liefert der Speicher den Wert
sin(90° - φ) = cos φ.
Der Winkelwert 90° - φ wird durch Invertieren des im Register 1 eingetragenen Winkelwertes erhalten. Als Beispiel ist im folgenden Schema die Inversion eines Winkels φ = 30° dargestellt.
35
180° -Bit 90° -Bit 45° -Bit ... 2<5-Bit
δ-Bit
40
0 10 10 10 10 1 0
10 10 10 10 10 1
45
50
Inhalt
Winkelregister
(30°)
Nach Inversion
dem Speicher zugeführt (60°)
Zwecks Erzeugung des einem Winkel zugehörigen Umkehrwertes ist das Winkelregister 1 aus bistabilen Elementen aufgebaut; deshalb kann dieses Register sowohl den Winkelwert selbst als auch den zugehörigen Umkehrwert liefern.
Soll der Sinus eines im zweiten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert φ -90° invertiert dem Speicher zugeführt; es wird folglich der Winkelwert
90°-(φ-90°)=180β
angeboten. Der Speicher gibt darauf den Wert
sin(180o-g>)=sin9
Soll der Kosinus eines im zweiten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkel wert ψ -90° unmittelbar dem Speicher zugeführt. Der Speicher gibt darauf den Wert
sin(<p - 90° )= - cos φ
ab. Beim Eintragen dieses Wertes im Register 6 wird der Wert -cos φ mittels eines von der Steuereinheit 3 kommenden und über die Leitung 8 zugeführten Signals mit dem richtigen Vorzeichen versehen.
Soll der Sinus eines im dritten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert φ-180° unmittelbar dem Speicher zugeführt. Der Speicher gibt seinerseits den Wert
sin(g>-180°)= -sing)
ab. Dieser Wert wird bei Eintragung in das Register 6 mit dem richtigen Vorzeichen versehen.
Soll der Kosinus eines im dritten Quadranten liegenden Winkels ψ bestimmt werden, dann wird der Winkelwert φ -180° invertiert dem Speicher zugeführt; es wird also folgendes angeboten:
90°-(φ-180°)=270°-φ.
Der Speicher gibt daraufhin den Wert
sin(270°-9)=-cosg>
ab. Dieser Wert wird bei Eintragung in das Register 6 mit dem richtigen Vorzeichen versehen.
Soll der Sinus eines im vierten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert φ —270° dem Speicher invertiert zugeführt Es wird folglich
90° -(φ-270°) = 360°
angeboten. Der Speicher gibt seinerseits den Wert
sin(360° -φ)= -sin φ
ab. Dieser Wert wird bei Eintragung in das Register 6 mit dem richtigen Vorzeichen versehen.
Soll der Kosinus eines im vierten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert φ-270° unmittelbar dem Speicher zugeführt Der Speicher gibt sodann den Wert
ύη(ψ- 270°) = cosy
Zusammenfassend kann angenommen werden, daß der sich im Register 1 befindende Winkelwert vermindert um das 90°- und das 180°-Bit unmittelbar dem Speicher zugeführt wird, wenn der Sinus eines im ersten oder dritten Quadranten liegenden Winkels bestimmt werden soll oder der Kosinus eines im zweiten oder vierten Quadranten liegenden Winkels. Die Bedingung für diesen unmittelbaren Transport läßt sich wie folgt ausdrücken:
r^jJÖ5 + 180° · 90°) - sin
+(180° · 90° +180° · 90°) · cos,
oder aber vereinfacht durch:
90° · sin+90e · cos.
In diesen Ausdrücken gibt 90° bzw. 180° an, daß. das 90°- bzw. 180°-Bit »hoch« gesetzt sind and W bzw. 180°, daß das 90° - bzw. 180°-Bit »niedrig« gesetzt sind, und geben sin bzw. cos an, daß die Signale sm(req) bzw. cos(req) vorhanden sind.
Weiter läßt sich anführen, daß der im Register 1 vorhandene Winkelwert, vermindert um das 90°- und das 180°-Bit dem Speicher invertiert zugeführt werden.
falls der Sinus eines im zweiten oder vierten Quadranten liegenden Winkels bestimmt werden soll, oder der Kosinus eines im ersten oder dritten Quadranten liegenden Winkels. Die Bedingung für diesen in invertierter Form ausgeführten Transport läßt sich wie folgt zum Ausdruck bringen:
(18Ö1j.90°_+180° · 90°jj sin
+ (180° · 90°+180° · 90°) ■ cos,
oder nach Vereinfachung ausgedrückt durch:
90° ■ sin+ 90° · cos.
Die Signale, welche die beiden abgeleiteten Bedingungen darstellen, werden in der Steuereinheit 3 erzeugt und dienen als Steuersignale für die Schaltmittel 4.
Die Spaltmittel 4 sind aus zwei Vielfach-UND-Gliedern 22 bzw. 23 und einem Vielfach-ODER-Glied 24 aufgebaut. Der Inhalt des Winkelregisters 1 wird, vermindert um das 90°- und das 180°-Bit, über das Vielfach-UND-Glied 22 und das Vielfach-ODER-Glied 24 unmittelbar dem Speicher 2 zugeführt, falls die durch die Steuereinheit 3 zu untersuchende Bedingung
90° ■ sin+90° - cos
erfüllt ist. Dagegen wird der Inhalt des Winkelregisters, vermindert um die beiden stellenhöchsten Binärziffern, über das Vielfach-UND-Glied 23 und das Vielfach-ODER-Glied 24 in invertierter Form dem Speicher zugeführt, wenn der durch die Steuereinheit 3 zu untersuchenden Bedingung
90° · sin + 90° · cos
entsprochen ist
Bei näherer Betrachtung des vorgenannten Umkehrvorganges zeigt sich, daß ein Winkelwert φ nach Inversion nicht den Winkelwert 90° -φ ergibt, sondern den Wert 90° - φ - ό. Es wird also ein Fehler, entsprechend der stellenniedrigsten Binärziffer des angebotenen Winkelwertes, eingeführt Befindet sich z. B. im Winkelregister der Wert φ = 22,5° und wird der Reihe nach der Sinus und der Kosinus dieses Winkelwertes verlangt gibt der Speicher die Werte
sin 22.5° bzw. cos(22,5° + <5)
ab. Der hier beschriebene Fehler läßt sich dadurch korrigieren, daß im Speicher nicht die Sinuswerte von 0,
ό, 2ό 90°-ό gespeichert werden, sondern die
Sinuswerte von
Wird nun nacheinander der Sinus bzw. der Kosinus des Winkelwertes φ=223° verlangt gibt der Speicher die Werte
ab. Dazu sei bemerkt, daß sinjo durch 00000.00000 und cosyo durch 11111.11 Ul ausgedrückt wird. Durch vorerwähnte Lösung ist es gelungen, mit Hilfe einer einzigen Inversion doch das richtige Komplement eines angebotenen Winkelwertes zu erhalten.
In der Steuereinheit 3 wird weiter ein Signal erzeugt,
das als Steuersignal dem Ausgangskreis 5 zur Bildung des richtigen Vorzeichens des gewünschten Sinus oder Kosinus zugeführt wird. Es stellt folgende Bedingung dar:
180° · sin+(90° · 180° +
180s) ■ cos.
Schließlich umfaßt die Steuereinheit 3 noch zwei Verzögerungsschaltungen 20 und 21, denen die Signale
ίο sin(req) bzw. cos(req) zugeführt werden und wovon die Ausgangssignale die vom Ausgangskreis abgegebenen goniometrischen Werte als den Sinus oder den Kosinus des im Register 1 eingetragenen Winkelwertes unterscheiden. Die beiden Signale sind mit sin(reply) bzw. cos(reply) bezeichnet.
Das dem Ausgangskreis 5 zugehörige Register 6 wird durch ein Parallel-Addierwerk gebildet, dessen Anzahl Elemente der Anzahl Binärziffern entspricht, aus denen sich ein vom Speicher abgegebener goniometrischer Wert zusammensetzt zuzüglich dem Vorzeichenbit Der Ausgangskreis 5 enthält außer dem bereits genannten Register 6 eine Schaltung, mit deren Hilfe die aus dem Speicher kommenden goniometrischen Werte in dem Wahren-Komplement-System (Zweier-Komplement) ausgedrückt werden. Diese Schaltung wird durch die Umkehrschaltung 25, die Vielfach-UN D-Glieder 26 und 27, das Vielfach-ODER-Glied 28 und das NAND-Glied 29 gebildet.
Der aus dem Speicher stammende goniometrische Wert wird über das Vielfach-UND-Glied 27 und das Vielfach-ODER-Glied 28 in das Register 6 eingetragen, falls über das NAND-Glied 29 das von der Steuereinheit 3 herrührende Signal das angibt daß der verlangte goniometrische Wert positiv ist das Vielfach-UND-Glied 27 in den geöffneten Zustand versetzt.
Dagegen wird der aus dem Speicher kommende goniometrische Wert nach erfolgter Inversion über das Vielfach-UND-Glied 26 und das Vielfach-ODER-Glied 28 in das Register 6 eingetragen, falls das von der Steuereinheit 3 herrührende Signal, das angibt daß der verlangte goniometrische Wert negativ ist das Vielfach-UND-Glied 26 in den leitenden Zustand versetzt
Das bereits genannte von der Steuereinheit 3 herrührende Signal, das angibt ob der verlangte goniometrische Wert positiv oder negativ ist wird in das elfte Element des Registers 6 eingetragen. Ist der verlangte Wert positiv, wird eine »0« eingetragen; ist er negativ, wird eine »1« eingeschrieben. Beim Berechnen negativer goniometrischer Werte mit Hilfe der positiven Sinuswerte aus dem Speicher 2 ergibt sich eine Komplikation, die mittels einer in F i g. 2 dargestellter Tabelle erläutert wird In dieser Tabefie ist di« Zahlenreihe - 5 bis +4 in der ersten Spalte nach Groß« geordnet
In der zweiten Spalte ist eine Reihe von Binärwertei gleichfalls nach Größe geordnet; dabei ist jeder Zahl de ersten Spalte eine Binärwert der zweiten Spalt zugefügt Es sei bemerkt daß die Binärwerte de Einfachheit halber nur vier Ziffern umfassen, von den© die erste Ziffer eines Binärwertes, ein Vorzeichenbi darstellt Ausgehend von den den positiven Zahle: zugehörigen Binärwerten in der Tabelle wird nächste hend erläutert, wie die Binärwerte der zugehörige negativen Zahlen erhalten werden können. Als Beispic wird die Zahl »4« genommen, der der Binärwert 010 (siehe zweite Spalte der Tabelle) zugeordnet ist De invertierte Wert hiervon ist 1011, welchem Wert di Zahl -5 zugeordnet ist Wenn die erhaltene Zahl ui
ίο
0001 erhöht wird, ergibt sich 1100, welchem Wert die Ziffer -4 zugeordnet ist. Wird daher von dem einer positiven Zahl zugeordneten Binärwert ausgegangen, so wird durch Invertierung dieses Binärwertes und durch Erhöhung dieses Ergebnisses um 0001, der Binärwert der zugehörigen negativen Zahl erhalten. Dafür kann folgende Formel angesetzt werden:
f(a~) = fß) + (0 01);
dabei stellt f(a) den Binärwert der Zahl a dar. F(a) das Invertierte von f(a)\md Έάιε entgegengesetzte Zahl von a. Diese Formel kann auch auf den Wert »0« angewendet werden.
Gemäß dieser Erläuterung wird zur Bildung eines negativen goniometrischen Wertes ein vom Speicher 2 erhaltener Binärwert mit Hilfe der Schaltung 25 invertiert, und über die ODER-Schaltung 28 in das Register 6 gesetzt Dabei wird das stellenniedrigste Element des Registers 6 um »1« erhöht; dies wird dadurch erreicht daß das von der Steuereinheit 3 herrührende Signal mit dem Wert »0« oder »1« je nach dem der verlangte goniometrische Wert positiv oder negativ ist, über die Leitung 30 dem stellenniedrigsten Element des Registers 6 zugeführt wird.
Wird beispielsweise sin(30°) bzw. sin(210°) verlangt, so wird in beiden Fällen dem Speicher der Wert 30° zugeführt weshalb der Speicher in beiden Fällen den Wert sin(30° +ό) abgibt; in Binärziffern ausgedrückt wie folgt: 10000.00000. Wird der Wert sin(30°) - also ein positiver Sinuswert — verlangt wird im Register 6 der Wert 0.10000.00000 eingeschrieben. Wird dagegen der Wert sin(210°) — also ein negativer Sinuswert — verlangt, wird im Register 6 der Wert 1.01111.11111 eingeschrieben und 0.00000.00001 hinzuaddiert so daß sin(210°) binär durch 1.10000.00000 ausgedrückt wird. Außerdem zeigt sich, daß — abgesehen vom Vorzeichen — die Werte sin(30°) und sin(210°) sich ergänzende Zweier-Komplemente sind, da 10000.00000 zuzüglich 10000.00000 den binären Wert 1.00000.00000 ergibt
Die Formel
ist auch anzuwenden, falls ein bestimmter goniometrischer Wert den Wert »0« annimmt z.B. sin 180°. In
diesem Fall gibt der Speicher den Wert siny<5 ab, binär ausgedrückt: 00000.00000. Von der Steuereinheit 3 wird dieser Sinus aJs negativ verwertet; demzufolge bewirkt das Steuersignal, daß im Register 6 der invertierte Wert von sin 6j eingetragen wird, binär ausgedrückt:
1.11111.111! 1, von denen die steüenhöchste Binärziffer das Vorzeichen angibt Da der goniometrische Wert negativ ist wird der im Register 6 eingetragene Wert erhöht um (0... .01), wozu das Steuersignal angewendet wird. Auf diese Weise entsteht im Register 6 der Wert (0.0.... .0), was dem dem sin 180° zugehörigen Wert »0« entspricht
In Fig.3 ist ein detailliertes erfindungsgemäßes Ausführungsbeispiel des Ausgangskreises 5 im Zusammenwirken mit dem verwendeten Speicher 2 veranschaulicht
Beim hier verwendeten Speicher werden die Sinuswerte zwar in zehn Binärziffern berechnet es werden jedoch nur die neun stellenniedrigsten Binärziffern wirklich im Speicher eingetragen. Mit anderen Worten: die stelienhöchste Binärziffer eines verlangten goniometrischen Wertes wird nicht vom Speicher bestimmt Dadurch ergibt sich eine Verringerung der zl belegenden Speicherkapazität. War diese bei der in Fig. 1 dargestellten Ausführungsform 2" : 10, bei der hier beschriebenen Ausbildung ist die Speicherkapazität auf2" · 9 zurückgebracht.
Der Grundgedanke zur Bestimmung der stellenhöchsten Binärziffer eines verlangten goniometrischen Wertes ohne Anwendung des Speichers 2 wird nun anhand von F i g. 4 erklärt.
In Fig.4 ist ein zum ersten Quadranten gehöriger Kreisbogen wiedergegeben, wobei dem Bogen entlang einige Winkel sowie einige in Binärziffern ausgedrückte Werte dargestellt sind. Dieser Figur ist zu entnehmen, daß die zehnte Binärziffer eines zu einem Sinuswert gehörigen Binärwertes nur dann gleich »1« ist wenn der zugehörige Winkel zwischen 30° und 90° liegt. Diese Bedingung kann durch zwei andere Bedingungen ersetzt werden, nämlich ob der Winkel zwischen 45° und 90° oder zwischen 30° und 45° liegt. Die erste Bedingung ist erfüllt wenn der Wert des 45° -Bits (= 645) des Winkelregisters 1 gleich »1« ist; die zweite Bedingung ist nicht so einfach zu überprüfen. Für die Erfüllung dieser Bedingung ist es notwendig, daß nicht nur die neunte Binärziffer ( = x) des zu einem Sinuswert gehörigen Binärwertes gleich »0« ist, sondern auch der Wert des 22,5° -Bits (= Ö22.5) des Winkelregisters 1 gleich »1« ist. Auch bei den übrigen Quadranten sind auf ähnliche Weise die Werte von Ö45 bzw. *und 6223 für eine Erfüllung der Bedingungen zu bestimmen, nämlich ob die zehnte Binärziffer des einem Sinuswert zugehörigen Binärwertes gleich »1« ist; die Ergebnisse sind in einer Tabelle dargestellt (siehe F i g. 5). Dieser Tabelle ist zu entnehmen, daß die neunte Binärziffer ( — x) des zu einem Sinuswert gehörigen Binärwertes zwischen 30° und 45° bzw. 135° und 150°, 210° und 225° und 315° und 330° immer gleich »0« ist; ein ähnlicher Schluß läßt sich für den Wert des 22^°-Bits ^223) des Winkelregisters 1 nicht ziehen.
Der Wert des 22,5°-Bits (= 22,5*) des Eingangswertes des Speichers 2 ist jedoch in genannten Winkelbereichen immer gleich »1«. Ein derartiger Unterschied betrifft auch das 45°-Bit ( = 645) des Winkelregisters 1 und das 45°-Bit ( = 45*) des Eingangswertes des Speichers 2. Demzufolge ist der Tabelle nach F i g. 5 zu entnehmen, daß die zehnte Binärziffer des zu einem positiven goniometrischen Wert gehörigen Binärwertes immer gleich »1« ist wenn der Bedingung
y=22,5#
entsprochen ist Die Anwendung von NAND-Gliedern fordert eine Neuformulierung dieser Bedingung wie folgt:
= F- 22*5* - 45\
Falls die zehnte Binärziffer des zu einem negativen goniometrischen Wert gehörigen Binärwertes berechnet werden muß, wird die Formel
y=x-22£* -45*
angewendet
Für die Bestimmung der stellenhöchsten Binärziffer eines verlangten goniometrischen Wertes ist der Ausgangskreis 5 mit einer logischen Schaltung 31 versehen. Genauso wie in F i g. 1 enthält der Eingangskreis 5, wie es Fig.3 zeigt außerdem das als Parallel-Addierwerk ausgebildete Register 6, die Umkehrschaltung 32, die Vielfach-UND-Glieder 33 und 34, das Vielfach-ODER-Glied 35, und das NAND-Glied 36.
In der gleichen Weise, wie bereits anhand von F i g. 1 beschrieben, wird der vom Speicher kommende und nun in neun Binärziffern ausgedrückte Wert über das Vielfach-UND-Glied 34 und das Vielfach-ODER-Glied 35 in die ersten neuen Elemente des Registers 6 eingetragen, falls über das NAND-Glied 36 das von der Steuereinheit 3 kommende Signal mit der Information/ daß der verlangte goniometrische Wert positiv ist, das Vielfach-UND-Glied 34 in den geöffneten Zustand versetzt. Dagegen wird der vom Speicher abgegebene Wert nach erfolgter Inversion über das Vielfach-UND-Glied 33 und das Vielfach-ODER-Glied 35 in die ersten neun Elemente des Registers 6 eingeschrieben, falls das von der Steuereinheit 3 herrührende Signal mit der Angabe, daß der verlangte goniometrische Wert negativ ist das Vielfach-UND-Glied 33 öffnet.
Die logische Schaltung 31 dient zur Bestimmung des Inhaltes des zehnten Elementes des Registers 6. Die Schaltung ist dazu aus den NAND-Gliedern 37 bis 41, den UND-Gliedern 42,43 und 44 und dem ODER-Glied 45 aufgebaut Diese Glieder sind auf die in der Figur angegebenen Weise geschaltet.
Der Schaltung 31 werden folgende Signale zugeführt:
das Signal 45° ■ (90^· sin + 90° · cos)
+ 45° · (90° · sin + 90° · cos), au£ dem Winkelregister. Dieses Signal, welches das 45° -Bit am Eingang des Speichers darstellt, wird vereinfacht mit 45°*
angegeben;
das Signal 22,5° - (9O0^Sm + 90° · cos)
+ 22,5° -(90° sin + 90° cos), das ebenfalls aus dem Winkelregister kommt. Dieses Signal, das das 22,5°-Bit am Speichereingang darstellt wird vereinfacht durch 22JS° * ausgedrückt; die stellenhöchste Binärziffer des vom Speicher 2
gelieferten Wertes; dieses Signal wird mit χ (= ^-des Gewichtes des genannten zehnten Bits) bezeichnet
Ist der verlangte goniometrische Wert positiv, wird das von dem ODER-Glied 45 abgegebene Signal wiedergegeben durch:
r-45°* = Ä"-22,5°* + 45°*.
Diese Bedingung beinhaltet daß falls der dem Speicher angebotene Winkelwert φ < 22,5° ist y unabhängig von χ den Wert »0« annimmt Falls φ >45°, nimmt y wiederum unabhängig von χ den Wert »1« an. Bei 22£°:£gp<45° wird obige Bedingung vereinfacht angegeben mit y=x- Es muß jedoch ein Unterschied zwischen
•und30°:£g> <450
gemacht werden. Im erstgenannten Fall ist der Wert der stellenhöchsten Binärziffer des vom Speicher 2 abgegebenen Wertes »1«, im zweiten Fall »0«; für y gut dann der Wert »0« bzw. »1«. Zusammenfassend kann angeführt werden, daß der Inhalt der zehnten Binärziffer des Registers 6 bei φ<30° durch y=0 und bei 30° < φ durch y=* 1 ausgedrückt wird.
Ist der verlangte goniometrische Wert negativ, wird das von dem ODER-Glied 45 abgegebene Signal wiedergegeben durch:
0#+45°#.
Diese Bedingung bedeutet daß wenn der dem Speicher zugeführte Winkelwert φ<2Ζ5β ist y unabhängig von χ den Wert »1« annimmt Falls φ >45", nimmt /wiederum unabhängig von χ den Wert »0« an. Bei 22,5°<φ<45° wird die vorgenannte Bedingung vereinfacht auf y=x. Es muß nun zwischen
22,5° < φ30° und 30° < ψ < 45°
unterschieden werden. Im erstgenannten Fall ist der Wert der stellenhöchsten Binärziffer des vom Speicher 2 gelieferten Wertes »0«, im zweiten Fall »1«; für y gilt dann der Wert »1« bzw. »0«. Zusammenfassend läßt sich anführen, daß der Inhalt der zehnten Binärziffer des Registers 6 bei φ < 30° durch y= 1 und bei 30° < φ durch y= 0 angedeutet wird.
Als Beispiel wird wiederum sin(30°) bzw. sin(210°) einer Betrachtung unterzogen. In beiden Fallen ist der dem Speicher zugeführte Winkelwert 30°; binär ausgedrückt wie folgt: OHMOIOIOIO. Die der logischen Schaltung 31 zugeführten 45° * und 22,5° * Signale haben beide den Wert »1«. Soll sin(30°) bestimmt werden, wird die durch die Schaltung 31 dargestellte Bedingung vereinfacht auf y=~x ; soll sin(210°) bestimmt werden, auf y-x. Obschon bei der ursprünglichen Bestimmung des Speicherinhaltes der Wert
sin f 30° +
binär durch 10000.00000 ausgedrückt wurde, befindet sich im Speicher der dann auch ausgelesene Wert 0000.00000. Hieraus geht hervor, daß x=0 ist, so daß bei der Bestimmung des Wertes sin(30°) y=\ und bei der Bestimmung von sin(210°) y=0 ist. Wird der Wert sin(30°) verlangt, wird im Register 6 der Wert
0000.00000
(Vorzeichenbit) (10. Binärziffer)
eingetragen.
Wird dagegen der Wert sin(210°) gewünscht, wird im Register der Wert
1 0 1111.11111
(Vorzeichenbit) (10. Binärziffer)
eingetragen.
In der gleichen Weise, wie es anhand von F i g. 1 beschrieben ist muß auch in der in F i g. 3 gezeigten Ausführungsform für negative goniometrische Werte 0.00000.00001 zu dem im Register 6 befindlichen Inhalt addiert werden. Deshalb wird sin(210°) wiedergegeber durch:
1 1 0000.00000.
{Vorzeichenbit) (10. Binärziffer)
In F i g. 6 ist ein zweites detailliertes Ausführungsbei spiel des Ausgangskreises 5, zusammen mit den verwendeten Speicher, dargestellt während die dafü erforderlichen Grundlagen anhand von F i g. 7 erläuter werden. Der Speicher 2 in F i g. 6 ist aus einem erstei Teilspeicher 46 und einem zweiten Teilspeicher 4. aufgebaut Von dem vom Winkelregister dem Speiche zugeführten Winkelwert werden die neuen stellenhöch sten Binärziffern dem Teilspeicher 46 zugeführt, um zwar das 45°-Bit das 22,5°-Bit .... 4o-Bit In dieser Teilspeicher befinden sich 2* Sinuswerte, die sie größenmäßig wie folgt ausdrucken lassen:
1 Q 17
SlQ """"" Λ, Sill — ο, SIIl — Λ USW.
Obwohl die verlangten goniometrischen Werte in zeh Binärziffern ausgedrückt werden müssen, werden si
zur Eintragung in den Teilspeicher 46 in neun Binärziffern berechnet; der Teäspeicher 46 liefert dann die sogenannten »groben·*! Sinuswerte. Zum Beispiel sind in Fig.7 sechs »grobe« Sinuswerte mit A-F angedeutet Von diesen ursprünglich in neun Binärziffern berechneten Sinuswerten werden in Wirklichkeit nur acht im Teilspeicher 46 eingetragen. Entsprechend der anhand von Fi g, 3 beschriebenen Weise wird auch hier die stellenhöchste Binärziffer des verlangten goniometrischen Wertes nicht durch den Speicher, sondern durch die logische Schaltung 31 bestimmt Die vom Teilspeicher 46 verbrauchte Speicherkapazität kann nun durch 29-8 Binärziffern angegeben werden. Dem Teilspeicher 47 wird der gesamte vom Winkelregister dem Speicher angebotene Winkelwert zugeführt In , diesem Teilspeicher befinden sich 2n Smus-Inkrementwerte, ausgedrückt in 2 Binärziffern, die zur Korrektur der im Teilspeicher 46 grob bestimmten Sinuswerte dienen sollen. Die vom Teilspeicher 47 verbrauchte Speicherkapazität kann durch 2η·2 Biiärziffern angegeben werden. Die Gesamtkapazität des Speichers 2 ist nun im Vergleich zu der in F i g. 3 dargestellten Ausführung auf
2" ■ 8 + 2" · 2 = 213 Binärziffern
J . 2S
reduziert
Genau wie bei den in den F i g. 1 und 3 dargestellten Ausführungsformen wird auch hier das Register 6 durch ein Parallel-Addierwerk gebildet. Weiterhin umfaßt der Ausgangskreis zwei Schaltungen, mit deren Hilfe die von den beiden Teilspeichern kommenden und im Zweier-Komplement-System ausgedrückten Werte in das Register 6 eingetragen werden.
Die erste der beiden genannten Schaltungen, mittels der der vom Teilspeicher 46 gelieferte Wert in das Register 6 eingeschrieben wird, besteht aus der Umkehrschaltung 48, den Vielfach-UND-Gliedern 49 und 50, dem Vielfach-ODER-Glied 51, und dem NAND-Glied 52.
Ist der verlangte goniometrische Wert positiv, wird durch Benutzung des NAND-Gliedes 52 das Vielfach-UND-Glied 50 in den geöffneten Zustand versetzt, und der vom Teilspeicher 46 in asht Binärziffern ausgedrückte Wert wird über das Vielfach-UND-Glied 50 and das Vielfach-ODER-Glied 5t in das zweite bis neunte Element des Registers 6 gesetzt. Im ersten Element dieses Registers wird eine »0« eingetragen; hierfür wird den acht vom Teilspeicher 46 kommenden Binärziffern der Inhalt einer neunten Binärziffer hinzugefügt, die ebenfalls über das Vielfach-UND-Glied 50 und das Vielfach-ODER-Glied 51 dem Register 6 zugeführt wird.
Ist der verlangte goniometrische Weit negativ, wird das Vielfach-UND-GUed 49 in den geöffneten Zustand versetzt und der vom Teilspeicher 46 in acht Binärziffern ausgedrückte Wert wird erst nach erfolgter Inversion in der Umkehrschaltung 48, über das Vielfach-UND-Glied 49 und das Vielfach-ODER-Glied 51, in das zweite bis neunte Element des Registers 6 gesetzt. Entsprechend der Formel ho
wird im ersten Element dieses Registers nun eine »1« eingeschrieben; hierzu wird den acht vom Teilspeicher 46 kommenden Binärziffern der Inhalt einer neunten hinzugefügt, die ebenfalls über das Vielfach-UND-Glied 49 und das Vielfach-ODER-Glied 51 dem Register 6 7iii?eführt wird.
Wie bereiis bemerkt wird der Inhalt des zehnten Elementes des Registers 6 durch die logische Schaltung 31 bestimmt der, entsprechend der anhand von Fig.3 erläuterten Ausführungsform, vom Winkelregister 6 abgeleitete Signale 45° und 22£° zugeführt werden, sowie der Inhalt der stellenböchsten Binärziffer des vom Teilspeicher 46 abgegebenen Wertes und das mehrgenannte von der Steuereinheit 3 kommende Signal.
Die in vorgenannter Weise im Register 6 eingetragenen »groben« goniometrischen Werte werden durch einen im Teilspeicher 47 vorhandenen Sinus-Inkrementwert korrigiert Im Teilspeicher 46 befinden sich 2«=512 grobe Sinuswerte; im TeUspeicher 47 stehen 2" =2048 Sinus-Inkrementwerte. Binär ausgedrückt nehmen diese einen der Werte 00,01,10 oder 11 an. Da der Wert 00 keine Korrektur erfordert, können zwischen zwei aufeinanderfolgenden groben Sinuswerten maximal drei korrigierte (verfeinerte) Sinuswerte erhalten werden. Ein Beispiel hierfür sind die groben Sinuswerte Cund D in Fig.7, wobei mit stufenförmigen Korrekturwerten (0.1); (1,0) und (U) verfeinerte Sinuswerte erhalten werden; diese verfeinerten Sinuswerte stimmen ausreichend mit den richtigen interpolierten Sinuswerten C,. C2 und C3 überein.
Der Ausgangskreis 5 enthält außer der bereits genannten ersten Schaltung zum Eintragen der aus dem Teilspeicher 46 kommenden Werte in das Register 6 noch eine zweite Schaltung, um den vom Teilspeicher 46 gelieferten Wert in einer solchen Weise zu dem sich bereits im Register 6 vorhandenen und aus dem Teilspeicher 46 kommenden Wert zu addieren, daß die gewünschten goniometrischen Werte als Zweier-Komplemente ausgedrückt werden. Diese zweite Schaltung enthält dazu eine Umkehrschaltung 53, die Vielfach-UND-Glieder 54 und 55, das Vielfach-ODER-Glied 56 und ein aus drei Elementen aufgebautes Parallel-Addierwerk 57.
Ist der verlangte goniometrische Wert positiv, so wird durch Verwendung des bereits genannten NAND-Gliedes 52 das Vielfach-UND-Glied 55 in den geöffneten Zustand versetzt und der vom Teilspeicher 47 in zwei Bipärziffern ausgedrückte Wert wird über das Vielfach-UND-Glied 55 und das Vielfach-ODER-Glied 56 in das erste und zweite Element des Registers 6 gesetzt Dem dritten bis elften Element des genannten Registers wird eine »0« zugeführt; dazu wird den beiden vom Teilspeicher abgegebenen Binärziffern noch eine dritte hinzugefügt die ebenfalls über das Vielfach-UND-Glied 55 und das Vielfach-ODER-Glied 56 dem Register € zugeführt wird.
Ist der verlangte goniometrische Wert negativ, se wird das Vielfach-UND-Glied 54 in den geöffneter Zustand versetzt Über dieses Glied wird jedoch nichi ohnef weiteres der Umkehrwert des vom Teilspeicher 43 kommenden Wertes dem Register 6 zugeführt, sonderr dieser Wert wird in das erste und zweite Element de; Parallel-Addierwerkes 5? gesetzt. D?m vom Teüspei eher 47 stammenden Wert wird eine dritte Binärziffei hinzugefügt, die konstant den Wert »1« annimmt. Dies« Binärziffer wird in das dritte Element des Parallel-Ad dierwerkes 57 gesetzt. Im hier vorliegenden Fall, in den der verlangte goniometrische Wert negativ ist, win gemäß der Formel
/•(5)=/rä)+(o 01)
der Inhalt des Parallel-Addierwerkes auch noch um »1< erhöht. Falls der vom Teilspeicher 47 kommend' Sinus-Inkrementwert den Wert 00, bzw. 01, 10 und 1
annimmt, liefert die Schaltung 53 den zugehörigen Umkehrwert an die stellennied igsten Elemente des Parallel-Addierwerks 57 und wird in dem dritten und stellenhöchsten Element die Binärziffer »1« eingeschrieben. Weiter wird entsprechend die Formel
über die Leitung 60 die Binärziffer »1« in das stellenniedrigste Element des Parallel-Addierwerks 57 eingeschrieben. Folglich kann der Inhalt des Parallel-Addierwerkes durch 000, bzw. 111, 110 und 101 angegeben werden. Die ersten zwei Binärziffern des sich im Addierwerk 57 befindenden Wertes werden über das Vielfach-UN D-Glied 54 und das Vielfach-ODER-Glied 56 dem ersten und zweiten Element des Registers 6 zugeführt Die dritte Binärziffer des im Parallel-Addierwerk 57 vorhandenen Wertes wird jedoch über das Vielfach-UND-Glied 54 und das Vielfach-ODER-Glied 57 den übrigen Elementen des Registers 6 zugeführt, also dem dritten bis elften Element, weil für die Bestimmung des Umkehrwertes der Gesamtinhalt des Registers 6 berücksichtigt werden muß. Zu dem verlangten grob bestimmten und im Register 6 stehenden goniometrischen Wert wird deshalb, falls dieser Wert negativ ist, als Sinus-lnkre- 2$ mentwert addiert:
0.00000.00000,
1.Π111.111Π,
1.11111.11110, oder
1.Π1Π.1Π01,
oder anders ausgedrückt: von dem grob bestimmten goniometrischen Wert wird 0-, 1-, 2- oder 3mal die stellenniedrigste Binärziffer substrahiert, oder aber der Absolutwert des grob bestimmten goniometrischen Wertes wird 0-, 1-, 2- oder 3mal um den Inhalt der stellenniedrigsten Binärziffer erhöht.
Die Sinuswerte von der Reihe nach angebotenen Winkelwerten können, falls diese Winkelwerte nicht zu groß sind (z. B. kleiner als 45°), solche Unterschiede aufweisen, daß die vom Teilspeicher 47 gelieferten Sinus-Inkrementwerte für die erforderlichen Korrekturen der grob bestimmten goniometrischen Werte unzureichend sind. Die abgegebenen Inkrementwerte können die Werte 00, 01,10 oder 11 annehmen; ist der Inkremeniwert 11 unzulänglich, muß eine Erhöhung auf 100 möglich sein. Beispielsweise ist der Fig.7 zu entnehmen, daß die verfeinerten Sinuswerte, die durch Erhöhung des »groben« Sinuswertes A nun die stufenförmigen Korrekturwerte 01 bzw. 10 erhalten werden, nur recht unbedeutende Unterschiede gegenüber den richtigen Sinuswerten A\ und Ai aufweisen. Der verfeinerte Sinuswert, der durch Erhöhung des groben Sinuswertes A nur den stufenförmigen Korrekturwert 11 erhalten wird, zeigt dagegen einen bedeutenden Unterschied gegenüber dem richtigen Sinuswert. Wenn der letztgenannte verfeinerte Sinuswert nochmals um (0....01) erhöht wird, entsteht ein Wert, der dem richtigen Sinuswert A3 nahezu gleich kommt Diese Sonderkorrektur ist nur beim Vornehmen einer Verfeinerung um 11 erforderlich und zwar für Winkel in den Bereichen (0°,45°),(135°,225°)und(315°, 360°), wenn folgendes gilt: = 1, ό= 1 und 45» =0.
Diese Korrekturmöglichkeit wird durch ein aus dem NAND-Glied 58 und den UND-Gliedern 59 und 61 aufgebautes Korrektur-Netzwerk geschaffen. Unter Verwendung der UND-Glieder 59 und 61 dieses Netzwerkes wird der Inhalt des_Registers 6 um »1« erhöht, falls der Bedingung ό · 26 · 45° entsprochen und der gewünschte goniometrische Wert positiv ist In diesem Ausdruck stellen δ, 26 die bereits eher erwähnten, im Winkelregister 1 stehenden Signale vor, indem 45° das am Eingang des Speichers auftretende Signal ist Dazu sei bemerkt, daß das UND-Glied 61 durch ein über die Leitung 62 zugeführtes Signal in den geöffneten Zustand versetzt wird falls der verlangte goniometrische Wert positiv ist Ist der verlangte goniometrische Wert negativ, muß auch der absolute Wert des Sinuswertes mit _einen Sonderkorrektur versehen werden falls ό·2ό·45* gleich »1« ist; dies bedeutet, daß in diesen Fall der Binärwert dieses Sinuswertes um »1« verringert werden muß. Ebenso muß immer die Korrektur bezüglich der Formel
/fi)=/fa)+(0 01)
durchgeführt werden, was in einer Erhöhung des genannten Binärwertes resultiert. Im Endeffekt bedeutet dies daß die Erhöhung des Inkrementwertes im Parallel-Addierwerk 57 nur dann vorgenommen werden muß, wenn ό ■ 2ό · 45* gleich »0« ist.
Diese Korrektur wird durch das NAND-Glied 58 und das UND-Glied 59 bewerkstelligt. Daraus ergibt sich eine Korrektur des grob bestimmten goniometrischen Wertes von +1, 0, -1 oder -2mal den Wert der stellenniedrigsten Binärziffer.
Wird zum Beispiel sin(210°) verlangt wird dem Teilspeicher 46 folgendes angeboten: 010101010 und dem Teilspeicher 47: 01010101010. Der Teilspeicher 46 gibt an: 0000.0000, der Teilspeicher 47 dagegen 00. Der grob bestimmte goniometrische Wert im Register 6 wird dann dargestellt durch:
1 0 1111.1111 1
(Vor- (10. Binär- (vom Teil- (hinzugefügte
zeichenbit) ziffer) speicher 46) Binärziffer)
Gibt der Teilspeicher 47 als Sinus-Inkremerrtwert 00 ab, muß dem Register 6 als Korrektur zugeführt werden: -t-lmal der Wert der stellenniedrigsten Binärziffer, folglich: 0 0 0000.00001. Der verlangte sin(210°) wird deshalb ausgedrückt durch: 1.10000.00000. Dieses Ergebnis entspricht dem anhand der F i g. 1 und 3 ermittelten Resultat.
Hierzu 5 Blatt Zeichnungen

Claims (1)

Patentansprüche:
1. Digitaler Sinus-Kosinus-Generator mit einem Winkelregister, einem Speicher, einem Ausgangskreis und einer Steuereinheit, von denen das Winkelregister zur Speicherung eines in m Binärziffern ausgedrückten Winkelwertes geeignet ist, wobei die Steuereinheit sowohl nach Zufuhr der zwei stellenhöchsten Binärziffern aus dem Inhalt des Winkelregisters, als auch nach Zufuhr von Signalen, die angeben, ob der Sinus oder der Kosinus des im Register befindlichen Winkelwertes bestimmt werden soll, unter Anwendung der dazu vorgesehenen Schaltmittel bewirkt, daß die m—2 stellenniedrigsten Binärziffern aus dem Inhalt des Winkelregisters unmittelbar oder aber invertiert dem Speicher zugeführt werden und wobei der ebenfalls an den Speicher angeschlossene Ausgangskreis zur Ausgabe des gewünschten Sinus- bzw. Kosinuswertes in k-Binärziffern mit einem für k+l Binärziffern ausgelegten Register versehen ist, in dem, auch unter Steuerung eines von der Steuereinheit gelieferten Vorzeichensignals, der jeweilige Sinus- bzw. Kosinuswert sowie ein diesem Sinus- bzw. Kosinuswert entsprechendes Vorzeichenbit erhalten wird, dadurch gekennzeichnet, daß der Speicher (2) nur Zahlen mit höchstens k-1 Binärziffern enthält, welche die stellenniedrigsten Teile der aus it Binärziffern bestehenden Sinuswerte angeben, deren Größe durch
welche die zweite bis (k- l)-ten Binärziffer derjenigen Zahlen darstellen, die Sinuswerte angeben, deren Größe durch
DE2150751A 1970-10-19 1971-10-12 Digitaler Sinus-Kosinus-Generator Expired DE2150751C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL7015266.A NL164403C (nl) 1970-10-19 1970-10-19 Digitale sinus/cosinus generator.

Publications (3)

Publication Number Publication Date
DE2150751A1 DE2150751A1 (de) 1972-04-20
DE2150751B2 true DE2150751B2 (de) 1977-02-10
DE2150751C3 DE2150751C3 (de) 1981-03-26

Family

ID=19811323

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2150751A Expired DE2150751C3 (de) 1970-10-19 1971-10-12 Digitaler Sinus-Kosinus-Generator

Country Status (12)

Country Link
US (1) US3735110A (de)
JP (1) JPS5217704B1 (de)
AU (1) AU451132B2 (de)
BE (1) BE773815A (de)
CA (1) CA943256A (de)
CH (1) CH535998A (de)
DE (1) DE2150751C3 (de)
FR (1) FR2111503A5 (de)
GB (1) GB1317693A (de)
IT (1) IT944851B (de)
NL (1) NL164403C (de)
SE (1) SE368466C (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT399236B (de) * 1986-02-03 1995-04-25 Siemens Ag Oesterreich Digitaler sinusgenerator

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4024385A (en) * 1974-02-25 1977-05-17 Raytheon Company Second difference function generator
US3898446A (en) * 1974-09-06 1975-08-05 Us Army Quadratic phase memory
US3917935A (en) * 1974-12-23 1975-11-04 United Technologies Corp Reduction of look-up table capacity
JPS588401B2 (ja) * 1976-03-31 1983-02-16 大日精化工業株式会社 光硬化性着色組成物
JPS52152133A (en) * 1976-06-14 1977-12-17 Yokogawa Hokushin Electric Corp High-speed fourier transformation unit
US4077063A (en) * 1976-08-11 1978-02-28 The Singer Company Apparatus for rapidly determining the trigonometric functions of an input angle
JPS5918401B2 (ja) * 1976-08-16 1984-04-27 三井東圧化学株式会社 塩化ビニル(共)重合体の製造方法
JPS5823401B2 (ja) * 1977-08-02 1983-05-14 大日精化工業株式会社 光硬化性着色組成物
JPS57174742A (en) * 1981-04-21 1982-10-27 Mitsubishi Electric Corp Computer
US4636973A (en) * 1982-07-21 1987-01-13 Raytheon Company Vernier addressing apparatus
US4631694A (en) * 1984-04-27 1986-12-23 National Semiconductor Corporation Sine wave synthesizer
EP0259514A1 (de) * 1986-09-11 1988-03-16 Deutsche ITT Industries GmbH Digitalschaltung zur gleichzeitigen Erzeugung von digitalen Sinus- und Cosinusfunktionswerten
JPS63186329A (ja) * 1987-01-28 1988-08-01 Nec Corp 三角関数前処理装置
DE3728689A1 (de) * 1987-08-27 1989-03-09 Hengstler Gmbh Schaltung zur erzeugung eines sinus- und/oder cosinuswertes aus einem digitalen code
JPH01143964A (ja) * 1987-11-30 1989-06-06 Nippon Seiki Co Ltd 交叉コイル型計器
US5222036A (en) * 1990-07-19 1993-06-22 Motorola, Inc. Device and method for evaluating trigonometric functions
JPH1032531A (ja) * 1996-07-16 1998-02-03 Nec Corp 位相角度データ・三角関数変換回路と合成ダイバーシテ ィ 受信機
KR100202956B1 (ko) * 1996-12-26 1999-06-15 전주범 디지털 신호 처리 시스템에서의 삼각 합수 룩업 테이블 액세스 방법 및 장치
US6373316B1 (en) * 2000-01-18 2002-04-16 International Business Machines Corporation Digital cosine and sine multiplication circuits

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3529138A (en) * 1966-12-30 1970-09-15 Sylvania Electric Prod Digital function synthesizer
US3569684A (en) * 1967-03-23 1971-03-09 North American Rockwell Sine-cosine generator comprised of a diode array
US3596076A (en) * 1968-08-05 1971-07-27 Adams Paul E Converter circuitry
US3624636A (en) * 1970-03-11 1971-11-30 Decca Ltd Digitizers for sine and cosine analogue signals

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT399236B (de) * 1986-02-03 1995-04-25 Siemens Ag Oesterreich Digitaler sinusgenerator

Also Published As

Publication number Publication date
DE2150751A1 (de) 1972-04-20
CH535998A (de) 1973-04-15
CA943256A (en) 1974-03-05
AU3472271A (en) 1973-05-03
BE773815A (fr) 1972-01-31
NL164403B (nl) 1980-07-15
GB1317693A (en) 1973-05-23
SE368466B (de) 1974-07-01
US3735110A (en) 1973-05-22
FR2111503A5 (de) 1972-06-02
JPS5217704B1 (de) 1977-05-17
AU451132B2 (en) 1974-07-25
JPS478460A (de) 1972-05-04
NL164403C (nl) 1980-12-15
DE2150751C3 (de) 1981-03-26
SE368466C (sv) 1975-12-08
IT944851B (it) 1973-04-20
NL7015266A (de) 1972-04-21

Similar Documents

Publication Publication Date Title
DE2150751B2 (de) Digitaler sinus-kosinus-generator
DE2231458A1 (de) Digitaler frequenzzusammensetzer
DE1164129B (de) Volladdierer mit logischen Schaltungen
DE2427225A1 (de) Verfahren und schaltungsanordnung zur demodulation digitaler information
DE2401452A1 (de) Zweikanal-a/d-umsetzer
DE1762697A1 (de) Verfahren zur Umsetzung von analogen Signalen in digitale Werte
DE2357654C2 (de) Assoziativspeicher
DE1201406B (de) In seinem Teilerfaktor einstellbarer digitaler Frequenzteiler
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
DE2618633C3 (de) PCM-Decodierer
DE1947381A1 (de) Signalerzeugungsschaltungen
DE3602818A1 (de) Gewichtungsereignis-zaehlerschaltungsanordnung
DE1278765B (de) Einrichtung zur Fehlerueberwachung bei einer datenverarbeitenden Anlage
DE2324542C3 (de) Schaltungsanordnung zur frequenzdifferenziellen Phasenmodulation
DE2831734C3 (de) Signalgenerator zur Erzeugung sinusförmiger Ausgangssignale mit vorbestimmter gegenseitiger Phasenlage
DE3046772C2 (de) Taktgenerator
DE1762408C3 (de) Digital-Analog-Umsetzer
DE2657408A1 (de) Fehlerkorrekturschaltung
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE2002583C2 (de) Schaltung zum Vorwärts/Rückwärts-Zählen der von einem optischen System gelieferten Interferenzsstreifen
DE2710270B2 (de) Schaltungsanordnung zur Erzeugung von mit eintreffenden Datenimpulsen synchronisierten Taktimpulsen
DE1808159B2 (de) Einrichtung zur umsetzung von dualzahlen in binaer codierte dezimalzahlen in paralleler darstellung
DE2756952C3 (de) Digitaler Steuersatz für einen selbstgeführten Stromrichter
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
DE1549485B2 (de) Anordnung zur division binaerer operanden ohne rueckstellung des restes

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8380 Miscellaneous part iii

Free format text: PATENTSCHRIFT WEICHT VON AUSLEGESCHRIFT AB

8339 Ceased/non-payment of the annual fee