DE2150751B2 - Digitaler sinus-kosinus-generator - Google Patents
Digitaler sinus-kosinus-generatorInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/035—Reduction of table size
- G06F1/0353—Reduction 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°)
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
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>
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 φ
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,
+(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,
+ (180° · 90°+180° · 90°) ■ cos,
oder nach Vereinfachung ausgedrückt durch:
90° ■ sin+ 90° · cos.
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
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
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
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.
eingetragen.
Wird dagegen der Wert sin(210°) gewünscht, wird im Register der Wert
1 0 1111.11111
(Vorzeichenbit) (10. Binärziffer)
eingetragen.
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
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: 2δ = 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)
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
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)
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)
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)
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 |
-
1970
- 1970-10-19 NL NL7015266.A patent/NL164403C/xx not_active IP Right Cessation
-
1971
- 1971-10-07 CA CA124,660A patent/CA943256A/en not_active Expired
- 1971-10-08 CH CH1472971A patent/CH535998A/de not_active IP Right Cessation
- 1971-10-11 SE SE7112855A patent/SE368466C/xx unknown
- 1971-10-11 GB GB4730371A patent/GB1317693A/en not_active Expired
- 1971-10-12 DE DE2150751A patent/DE2150751C3/de not_active Expired
- 1971-10-12 BE BE773815A patent/BE773815A/xx not_active IP Right Cessation
- 1971-10-12 JP JP46079952A patent/JPS5217704B1/ja active Pending
- 1971-10-14 US US00189211A patent/US3735110A/en not_active Expired - Lifetime
- 1971-10-16 IT IT53521/71A patent/IT944851B/it active
- 1971-10-18 AU AU34722/71A patent/AU451132B2/en not_active Expired
- 1971-10-18 FR FR7137366A patent/FR2111503A5/fr not_active Expired
Cited By (1)
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 |