DE2150751C3 - Digitaler Sinus-Kosinus-Generator - Google Patents
Digitaler Sinus-Kosinus-GeneratorInfo
- Publication number
- DE2150751C3 DE2150751C3 DE2150751A DE2150751A DE2150751C3 DE 2150751 C3 DE2150751 C3 DE 2150751C3 DE 2150751 A DE2150751 A DE 2150751A DE 2150751 A DE2150751 A DE 2150751A DE 2150751 C3 DE2150751 C3 DE 2150751C3
- Authority
- DE
- Germany
- Prior art keywords
- value
- sine
- memory
- cosine
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
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
0=180° 2 12=: 0,8 mils (Teilstricne)
bestimmten Anzahl vom Register 1 anzubietender
der hier wiedergegebenen Ausführungsform in 10
sin 30° = y und die stellenniedrigste 2 -l0 entspricht
Der digitale Sinus-Kosinus-Generator umfaßt eine
Steuereinheit 3. der einerseits der Inhalt des Teils des Wink» !registers zugeführt wird, in dem die zwei
steJlenhö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 v» erden soll.
Letztgenannte Signale sind mit sin(req), bzw. cos(req) bezeichnet. Die Steuereinheit 3 bewirkt unter Anwen
dung der dafür vorgesehenen Schaltmittel 4, daß der
Inhalt des Winkelregisters 1, vermindert um die zwei stellenhö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 winj, wenn entweder der Sinus eines im zweiten oder vierten
Quadranten liegenden Winkels oder aber der Kosinus
eines im ersten oder dritten Quadranten liegenden
Winkels bestimmt wrden soll. Der Sinus-Kosinus-Generator 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 Sinusbzw. Kosinuswert eingetragen wird.
Da das 180°- und das 90°-Bit der Steuereinheit 3
zugeführt werden, können dem Speicher vom Winkelregister
1 nur Winkelwerte kleiner als 90° angeboten werden. Die dem Speicher direkt bzw. indirekt
zugeführten Winkelwerte können gröllenmäßig wie folgt ausgedrückt werden:
0,d,2o,3d 90° -6.
Sofern ein Winkel φ im ersten Quadranten liegt, wird der im Register I 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 aibt 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° — (p) = 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.
180°-Bit 90°-Bit 45"-Bu ... 2Λ-ΒΗ
Λ-Bit
Inhalt
Winkelregister
(30°)
Nach Inversion
dem Speicher zugeführt (60°)
Winkelregister
(30°)
Nach Inversion
dem Speicher zugeführt (60°)
0 10 10 10 10 1 0
10 10 10 10 10 1
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.
So!! 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°-(g>-90°)=180°-g>
angeboten. Der Speicher gibt darauf den Wert
sin( 180° — φ) — sin φ
angeboten. Der Speicher gibt darauf den Wert
sin( 180° — φ) — sin φ
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(g> - 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°)= —sin φ
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 qp- 180° invertiert dem Speicher zugeführt; es wird also folgendes angeboten:
90° -(φ-180°) = 270° -φ.
Der Speicher gibt daraufhin den Wert
sin(27O° -φ)= -cos φ
Der Speicher gibt daraufhin den Wert
sin(27O° -φ)= -cos φ
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 φ
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
sin(g)-270") =
ab.
Zusammenfassend kann angenommen werden, daß der sich im Register I befindende Winkelwert,
vermindert um das 90°- und das 180°-Bit, unmittelbar
1.UgClUII
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:
O0 +180° · 90°) · sin
90° + 180° ■ 90°) · cos.
90° + 180° ■ 90°) · cos.
+ (180°
oder aber vereinfacht durch:
90° · sin+90o · cos.
In diesen Ausdrücken gibt 90° bzw. 180° an, daß das
90°- bzw. 180°-Bit »hoch« gesetzt sind und 90° bzw.
180°, daß das 90°- bzw. 180°-Bit »niedrig« gesetzt sind,
und geben sin bzw. cos an, daß die Signale sin(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 wittig! /um Ausdruck bringen:
sin
)· cos,
)· cos,
■ 90' + 180 ■ 90')
+ (180r · <HV + 180= -90"
+ (180r · <HV + 180= -90"
in(22,5° + γ A,
cos(22,5' + y
In der Steuereinheit 3 wild 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:
oder nach Vereinfachung ausgedrückt durch:
90' · sin+ 9(T · cos.
90' · sin+ 9(T · cos.
Die Signale, welche die beiden abgeleiteten Bedingungen
darstellen, werden in der Sl^iereinheit 3
erzeugt und dienen als Steuersignale für die Schaltmittel 4.
Die Schaltmittel 4 sind aus zwei Vielfach-UND Clicdem
22 bzw. 23 und einem Vielfach-ODF.R-Glied 24
aufgebaut. Der Inhalt des Winkelrcgisters I wird, vermindert um das 90- und das l80°-Bit. über das
Vielfach-UND-Glied 22 und das Vielfach-ODER-Glied
"Jd iinmittplhar Hpm ^inpirhpr 7 7iiCTpfiihrt fall*; Hip durch
— — r — —c-
■
die Steuereinheit 3 zu untersuchende Bedingung
90" · sin + 90° · cos
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+9(T · cos }0
ents rochen ist.
Bei näherer Betrachtung des vorgenannten Umkehrvorganges zeigt sich, daß ein Winkelwert q nach
Inversion nicht den Winkelwert 90c —φ 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,50+o)
ab. Der hier beschriebene Hehler laut steh dadurch
korrigieren, daß im Speicher nicht die Sinuswerte von 0,
Λ. 2ό 9Oc-<5 gespeichert werden, sondern die
Sinuswerte von
- — ή.
Wird nun nacheinander der Sinus bzw. der Kosinus des Winkelwertes φ = 22,5° verlangt, gibt der Speicher die
Werte
55
60
ab. Dazu sei bemerkt daß sinj ό durch 00000.00000 und
cosyo durch 11111.11111 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.
65 180" ■ sin+(9O' -180° + 90" · 180°) ■ cos.
Schließlich liefert die Steuereinheit 3 nach Zufuhr der Signale sin (req) bzw. cos (req) damit übereinstimmende,
jedoch verzögerte Ausgangssignale, welche die vom Ausgangskreis abgegebenen goniometrischen Werte als
den Sinus oder den Kosinus des im Register 1 eingetragenen Winkelwertes unterscheiden. Die beiden Ausgangssignale
sind mit sin (reply) bzw. cos (reply) bezeichnet.
Das dem Ausgangskrcis 5 zugehörige Register 6 wird durch ein I'arallcl-Addierwerk gebildet, dessen Anzahl
Elemente der Anzahl Hinärziffern entspricht, aus denen
sich ein vom Speicher abgegebener goniometrischer Wprl /inanimpncpb^ ZUZ1J0UCh d?m Vr>r7pirhpnh(l Qpr
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-UND-Glieder 26 und
27. das Viclfach-ODER-Glied 28 und das NAND-Glied
29 gebildet.
Der aus dem Speicher stammende goniometrische Wert wird über das Vielfach-UN D-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-UN D-Glied 27 in den geöffneten Zustand versetzt.
Dagegen wird der aus dem Speicher kommende goniometrische Wert nach erfolgter Inversion über das
Vielfach-UN D-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 dargestellten Tabelle erläutert wird. In dieser Tabelle ist die
Zrhlenreihe -5 bis +4 in der ersten Spalte nach Größe geordnet.
In der zweiten Spalte ist eine Reihe von Binärwerten gleichfalls nach Größe geordnet; dabei ist jeder Zahl der
ersten Spalte eine Binärwert der zweiten Spalte zugefügt Es sei bemerkt, daß die Binärwerte der
Einfachheit halber nur vier Ziffern umfassen, von denen die erste Ziffer eines Binärwertes ein Vorzeichenbit
darstellt Ausgehend von den den positiven Zahlen zugehörigen Binärwerten in der Tabelle wird nachstehend erläutert wie die Binärwerte der zugehörigen
negativen Zahlen erhalten werden können. Als Beispiel wird die Zahl »4« genommen, der der Binärwert 0100
(siehe zweite Spalte der Tabelle) zugeordnet ist Der invertierte Wert hiervon ist 1011, welchem Wert die
Zahl —5 zugeordnet ist Wenn die erhaltene Zahl um
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(7) = f(a~) + (0 0!);
dabei stellt f(a) den Binärwert der Zahl a dar, f(a) das
Invertierte von f(a)und Jdie 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 ,5
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 uCrrünrcndc oigftäi ΐViiΐ ucin VVci'i »0« Ouci »i« 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, 2J
jo wird in beiden Fällen dem Speicher der Wert 30° lugeführt, weshalb der Speicher in beiden Fällen den
Wert sin(30° t-i^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ß $in(210°) binär durch 1.10000.00000 ausgedrückt wird. 3S
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
Die Formel
f(ä)=f(ä)+(0....0\)
ist auch anzuwenden, falls ein bestimmter goniometrisrhpr Wprt Hpn Wf»rt i\f-* annimmt ι R ei« 1 Q(\° In
ist auch anzuwenden, falls ein bestimmter goniometrisrhpr Wprt Hpn Wf»rt i\f-* annimmt ι R ei« 1 Q(\° In
40 Dadurch ergibt sich eine Verringerung der zu belegenden Speicherkapazität. War diese bei der in
Fig. 1 dargestellten Ausführungsform 2" · 10, bei der
hier beschriebenen Ausbildung ist die Speicherkapazität auf 2" ■ 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 451·
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 »I« 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,J des zu einem Sinuswert
gehörigen Binärwertes gleich »0« ist, sondern auch der Wert des 22,5° -Bits (= 6223) des Winkelregisters 1 gleich
»1« ist. Auch bei den übrigen Quadranten sind auf ähnliche Weise die Werte von &15 bzw. χ und 622.5 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,5°-Bits (biu) 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 Eingangswortes des
if*-\l(
ict Hör "FoKeIIe
oK C i
diesem Fall gibt der Speicher den Wert sinyo ab, binär
ausgedrückt: 00000.00000. Von der Steuereinheit 3 wird dieser Sinus als negativ verwertet; demzufolge bewirkt
das Steuersignal, daß im Register 6 der invertierte Wert von sin ö^-eingetragen wird, binär ausgedrückt:
1.11111.11111, von denen die stellenhö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 stellenhöchste Binärziffer eines verlangten gouiometrischen Wertes wird nicht vom Speicher bestimmt.
entnehmen, daß die zehnte Binärziffer des zu einem positiven goniometrischen Wert gehörigen Binärwertes
immer gleich »1«ist, wenn der Bedingung
/=22,5· · 7+45·
entsprochen ist. Die Anwendung von NAND-Gliedern fordert eine Neuformulierung dieser Bedingung, wie
folgt:
/=22,5» · x+45· = x- 22,5* ■ 45*.
Falls die zehnte Binärziffer des zu einem negativen goniometrischen Wert gehörigen Binärwertes berechnet
werden muß, wird die Formel
/=7-22,5· -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 Um-I.
einschaltung 32, die Vielfach-UND-Glieder 33 und 34,
das Vielfach-ODER-GIied 35, und das NAND-Glied 36.
In dc. gleichtli 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 neun 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), aus dem Winkelregister.
Dieses Signal, welches das 43"-Bit am Eingang des Speichers darstellt, wird vereinfacht mit 43s*
angegeben;
das Signal 22,5° (90°^sin + 90° cos) + 22,5°-(90° sin+ 90° cos), d^s ebenfalls aus dem
Winkelregister kommt. Dieses Signal, das das 22,5°-Bit am Speichereingang darstellt, wird vereinfacht
durch 22,5°* ausgedrückt; die stellenhöchste Binärziffer des vom Speicher 2
gelieferten Wertes; dieses Signal wird mit x( = ydes
Gewichtes des genannten zehnten Bits) bezeichnet.
Ist der verlangte goniometrische Wert positiv, wird das von dem ODER-Glied 45 abgegebene Signal
wiedergegeben durch:
V=X- 22.5° * · 45° * = x- 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,5°<<p<45° wird obige Bedingung vereinfacht angegeben mit y=x- Es muß jedoch ein Unterschied
zwischen
22,5° < φ < 30° und 30° < φ
< 45°
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 gilt dann
der Wert »0« bzw. »1«. Zusammenfassend kann angeführt werden, daß der Inhalt der zehnten
Binärziffer des Registers 6 bei <p<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:
+45°
y=x- 22^° - 45° = x- 22,5C
Diese Bedingung bedeutet, daß wenn der dem Speicher zugeführte Winkelwert φ
< 22,5° ist, y unabhängig von χ den Wert »1« annimmt. Falls φ>45°.
nimmt y wiederum unabhängig von Af den Wert »0« an.
Bei 22,5° < φ < 45° wird die vorgenannte Bedingung
vereinfacht auf y=x. Es muß nun zwischen
s 22,5° < φ < 30° und 30°
< <p< 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: OKVIOIOIOIO. Die der logischen
Schaltung 31 zugeführten 45" * und 22,5° * Signale haben beide den Wert »!«.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 ( 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= 1 und bei der Bestimmung von sin(210°) y=0 ist. Wird der Wert
sin(30°) verlangt, wird im Register 6 der Wert
0 ! 0000.00000
(Vorzeichenbit) (10. Binärziffer)
eingetragen.
(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.
eingetragen.
In der gleichen Weise, wie es anhand von F i g. 1 beschrieben is* rr.uS auch ir. der ir; Fi ~ 3 ~ezei~ier.
Ausführungsform für negative goniometrische vVerte
0.00000.00001 zu dem im Register 6 befindlichen Inhalt addiert werden. Deshalb wird sin(210°) wiedergegeben
durch:
0000.00000.
(Vorzeichenbit) (10. Binärziffer)
In F i g. 6 ist ein zweites detailliertes Ausführungsbeispiel des Ausgangskreises 5, zusammen mit dem
verwendeten Speicher, dargestellt, während die dafür erforderlichen Grundlagen anhand von F i g. 7 erläutert
werden. Der Speicher 2 in F i g. 6 ist aus einem ersten Teilspeicher 46 und einem zweiten Teilspeicher 47
aufgebaut Von dem vom Winkelregister dem Speicher zugeführten Winkelwert werden die neun stellenhöchsten
Binärziffern dem Teilspeicher 46 zugeführt und
zwar das 45°-Bit das 22,5°-Bit 4<5-Bit. In diesem
Teilspeicher befinden sich 29 Sinuswerte, die sich größenmäßig wie folgt ausdrucken lassen:
■ 1S - 9 * ■ 17
sin — <5, sm — <5, sin -y
sin — <5, sm — <5, sin -y
usw.
Obwohl die verlangten goniometrischen Werte in zehn Binärziffern ausgedrückt werden müssen, werden sie
zur Eintragung in den Teilspeicher 46 in neun Binärziffern berechnet; der Teilspeicher 46 liefen 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 Sinuswenen werden in Wirklichkeit
nur acht im Teilspeicher 46 eingetragen. Entsprechend der anhand von Fig.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 V -8 Binärziffern angegeben werden.
Dem Teilspeicher 47 wird der gesamte vom Winkelregister dem Speicher angebotene Winkelwert zugeführt. In
diesem Teilspeicher befinden sich 2" Sinus- 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 Binärziffern angegeben werden. Die Gesamtkapazität des Speichers 2 ist
nun in Vergleich zu der in F i g. 3 uargesie'iien Ausführung auf
2"·8 +■ 2" 2 = 2''Binärziffern
reduziert.
Genau wie bei den in den F ι g. 1 und 3 dargestellten
Ausführungsformen wird auch hier das Register 6 durch ein Parallel-Addierwerk gebildet. Weiterhin umfaSt der
Ausgangskreis zwei Schaltungen, mit deren Hilfe die von den beiden Teilspeicnern 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 au; der
U.nkehrschaltung 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 Vie fach UND-Glied 50 in den geöffneten Zustand versetzt, und
der vom Teilspeicher 46 in acht Binärziffern ausgedrückte Wert wird über das Vielfach-UND-Giied 50 und
das Vielfach-ODER-Glied 51 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
eine neunte 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 Wert negativ, wird das Vielfach-UND-Giied 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-Giied 49 und das Vielfach-ODER-Glied
51. in das zweite bis neunte Element des Registers 6 gesetzt. Entsprechend der Formel
f(ä)=fTa)+(0 01)
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-Giied
49 und das Vielfach-ODER-Glied 51 dem Register 6 zugeführt wird.
Wie bereits bemerkt, wird der Inhalt des zehnte Elementes des Registers 6 durch die logische Schaltun
31 bestimmt, der, entsprechend der anhand von Fig. erläuterten Ausführung^sform, vom Winkelregister
abgeleitete Signale 45° und 22^° * zugeführt werdet
sowie der Inhalt der stellenhöchsten Binärziffer des vor Teilspeicher 46 abgegebenen Wertes und das mehrge
nannte von der Steuereinheit 3 kommende Signal.
Die in vorgenannter Weise im Register 6 eingetrage
nen »groben« goniometrischen Werte werden durc einen im Teilspeicher 47 vorhandenen Sinus-Inkrement
wert korrigiert Im Teilspeicher46 befinden sich 29 =
grobe Sinuswerte; im Teilspeicher 47 stehen 2" =204 Siiius-Inkrementwerte. Binär ausgedrückt nehmen dies
einen der Werte 00, 01, 10 oder II an. Da der Wert 0
keine Korrektur erfordert können zwischen zwe aufeinanderfolgenden groben Sinuswerten maximal dre
korrigierte (verfeinerte) Sinuswerte erhalten werdet Ein Beispiel hierfür sind die groben Sinuswerte Cund L
in Fig. 7. wobei mit stufenförmigen Korrekturwerte (01), (10) und (11) verfeinerte Sinuswerte erhaltet
werden: diese verfeinerten Simiswerte stimmen ausrei
chend mit den richtigen interpolierten Sinuswenen C Cj und Ct überein.
Der Ausgangskreis 5 enth.ili außer der bereit
genannten ersten Schaltung zum Eintragen der aus den Teilspeicher 46 kommenden Werte in das Register
noch eine zweite Schaltung, um den vom Teilspeicher 4
gelieferten Wer· in einer solchen Weise zu den bereits im Register 6 vorhandenen und aus den
Teilspeicher 46 kommenden Wert zu addieren, daß di gewünschten goniometrischen Werte als Zweier-Korn
plemente ausgedrückt werden. Diese zweite Schaltung enthält dazu eine Umkehrschaltung 53, die Vielfach
UND-Glieder 54 und 55. das Vielfach-ODER-Glied 5( und ein aus drei Elementen aufgebautes Parallel-Ad
dierwerk 57.
Ist der verlangte goniometrische Wert positiv, so wire
durch Verwendung des bereits genannten NAND-Glie des 52 das Vielfach-UND-Giied 55 in den geöffneter
Zustand versetzt, und der vom Teilspeicher 47 in zwe Binärziffern ausgedrückte Wert wird über das Vielfach
UND-Glied 55 und das Vielfach ODER-Glied 56 in da! erste und zweite Element des Registers 6 gesetzt. Den
dritten bis elften Element des genannten Registers wire eine »0« zugeführt: dazu wird den beiden von
Teilspeicher abgegebenen Binärziffern noch eine dritt hinzugefügt die ebenfalls über das Vielfach-UND-Gliec
55 und das Vielfach-ODER-Glied 56 dem Register ( zugeführt wird.
Ist der verlangte goniometrische Wert negativ, s wird das Vielfach-UND-Giied 54 in den geöffneter
Zustand versetzt. Über dieses Glied wird jedoch nich ohne weiteres der Umkehrwert des vom Teilspeicher 4'
kommenden Wertes dem Register 6 zugeführt sonder dieser Wert wird in das erste und zweite Element de
Parallel-Addierwerkes 57 gesetzt. Dem vom Teilspei
eher 47 stammenden Wert wird eine dritte Binärziffei
hinzugefügt, die konstant den Wert »I« 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, wir gemäß der Formel
f(7)=((ä)+(0 01)
der Inhalt des Parallel-Addierwerkes auch noch um »1 erhöht. Falls der vom Teilspeicher 47 kommend-Sinus-Inkremcniwert den Wert 00, bzw. 01, IO und
annimmt, liefert die Schaltung 53 den zugehörigen
Umkehrwert an die stellenniedrigsten Elemente des Parallel-Addierwerks 57 und wird in dem dritten und
stellenhöchsten Element die Binärziffer »1« eingeschrieben. Weiter wird entsprechend die Formel
f(ä)=J(ä)+(Q 01)
ü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. Ill, UO und 101
angegeben werdea Die ersten zwei Binärziffern des sich im Addierwerk 57 befindenden Wertes werden
über das Vielfach-UND-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-GIied 57 den übrigen Elementen des Registers 6 zugeführt, also dem dritten bis elften
Element, weil für die Bestimmung des Umkehrwertes der Gesamtinhait des Registers 6 berücksichtigt werden
muß. Zu dem verlangten grob bestimmten und im Register 6 stehenden goniometrischen Wert wird
deshalb, falls dieser Wen negativ ist, als Sinus-Inkrementwert addiert:
0.00000.00000.
1.11111.11111.
1.11111.11110. oder
1.11111.11101.
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
Inkrementwert 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 At aufweisen.
Der verfeinerte Sinuswert der durch Erhöhung des groben Sinuswertes A nur den stufenförmigen Korrekturwert Il erhalten wird, zeigt dagegen einen
bedeutenden Unterschied gegenüber dem richtigen Sinuswert Wenn der letztgenannte verfeinerte Sinus-
wert nochmals um (0 01) erhöht wird, entsteht ein
Wert, der dem richtigen Sinuswert A3 nahezu gleich
kommt Diese Sonderkorreklur 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: 20= 1,0= 1 und45»=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 ό · 2<5 · 45° entsprochen und
der gewünschte goniometrische Wert positiv ist In diesem Ausdruck stellen ό, 26 die bereits eher
iS 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 Stoiial in den
geöffneten Zustand versetzt wird falls der verlangte
goniometrische Wen positiv ist Ist der verlangte
goniometrische Wert negativ, muß auch der absolute Wert des Sinuswertes mit ^inen Sonderkorrektur
versehen werden falls ό·2<5·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
f(ä)=7(ä)+(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(5-45* gleich »0« ist
das UND-Glied 59 bewerkstelligt Daraus ergibt sich
eine Korrektur des grob bestimmten goniometrischen
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-Irkrementwert 00
ab, muß dem Register 6 als Korrektur zugeführt werden: +lmal der Wert der stellenniedrigsten
Binarziffer, 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
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 Winkel- to registers 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 ro-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 *: Binärziffern mit einem für Ar+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, dadurch gekennzeichnet, daß der Speicher (2) nur Zahlen mit höchstens k— 1 Binärziffern enthält, welche die stellenniedrigsten Teile der aus k Binärziffern bestehenden Sinuswerte angegeben, deren Größe durch-4- β35mit π= 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. 3) versehen ist an die folgende Leitungen geführt sind:a) die von der Steuereinheit (3) abgehende Leitung (8) für das Vorzeichensignal,b) eine Leitung, welche mit der die stellenhöchste Binärziffer (κ) führenden Ausgangsleitung des Speichers (2) verbunden ist undc) zwei Leitungen, welche mit jenen beiden Eingangsleitungen des Speichers (2) verbunden sind, welche den beiden stellenhöchsten Bits (45* bzw. 223*) zugeordnet sind,wobei die logische Schaltung (31) logische Verknüpfungen zur Bestimmung der stellenhöchsten Binärziffern (y) des gewünschten Sinus- bzw. Kosinuswertes gemäß folgenden Bedingungen ausführt:<x) für einen positiven goniometrischen Wert:y-22,5· · 3F+45· ß) für einen negativen goniometrischen Wert.60(3) kommende Vorzeichensignal nicht nur dem (k+\)-ten Element des Registers (6), sondern auch dessen erstem Element zugeführt wird, damit der Inhalt des genannten Registers (6) erhöht wird, wenn der gewünschte Sinus bzw. Kosinus negativ ist3. Digitaler Sinus-Kosinus-Generator nach Anspruch 1, dadurch gekennzeichnet, daß der Speicher (2) aus einem ersten und einem zweiten Teilspeicher (46, 47 in F i g. 6) aufgebaut ist, wobei dem ersten Teilspeicher (46) die ro—4 stellenhöchsten ar den Speicher (2) abzugebenden Binärziffern des Winkelregisters (1) zugeführt werden, wozu dieser Teilspeicher (46) 2m~* Zahlen mit Ar-2 Binärziffern enthält, weiche die zweite bis (k— l)-te Binärziffer derjenigen Zahlen darstellen, die Sinuswerte angeben, deren Größe durchin (41-1),2. Digitaler Sinus-Kosinus-Generator nach Anspruch 1, dadurch gekennzeichnet, daß das im Ausgangskreis (5) befindliche Register (6) durch ein aus k+1 Elementen bestehendes Parallel-Addierwerk gebildet ist und daß das von der Steuereinheit sinmit /=1,2,..., 2m~* 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 JIc -1 erhöht wird.4. Digitaler Sinus-Kosinus-Generator nach Anspruch 3, dadurch gekennzeichnet, daß das im Ausgangskreis (5) sich befindende Regiuer (6) durch ein aus k+1 Elementen bestehendes Parallel-Addierwerk gebildet ist, wobei, gesteuert durch das von der Steuereinheit (3) abgegebene Vorzeichensignal, ein vom Alisgangswert des ersten Teilspeichers (46) abgeleiteter Wert in das zweite bis (k-\)-te Element des Registers (6) gesetzt wird, und ein vom Ausgangswert des zweiten Teilspeichers (47) abgeleiteter Sinusinkrementwert 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, J.iß das von der Steuereinheit (3) kommende Vorzeichensignal unter Verwendung von dazu im Ausgangskreis (5) vorhandenen ersten Schaltmitteln (49 bis 52 in F i g. 6) bewirkt, daß die vom ersten Teilspeicher (46) abgegebene und aus k-2 Binärziffern bestehende Zahl unmittelbai 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, 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 Paralleladdierventils (6) addiert wird.6. Digitaler Sinus-Kosinus-Genera tor 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 Fig.6) 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 F i g. 6)vorgesehen ist, das zur Bestimmung des Sinus bzw. Kosinus von kleinen Winkelwerten die vom zweiten Teilspeicher abgegebenen Inkrementwerte korrigiertDie 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 Winkehvertes 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 τη—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 Jt+ 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«, Juli 1958, Seiten 316—319, bekannt Eine solche Ausbildung eines digitalen Sinus-Kosinus-Generators macht eine Speicherkapazität von 2m-2 · k Binärziffern erforderlich.Angesichts der Tatsache, daß jede Belegung von Speicherraum eine aufwendige Angelegenheit ist, ist es empfehlenswei i, diesen Gebrauch auf ein Mindestmaß zu beschränken, ohne daß dabei die Genauigkeit der gewünschten (goniometrischen) Größen beeinträchtigt wirdAufgabe der Erfindung ist es, eine solche Ausbildung des Sinus-Kosinus-Generators zu schaffen, daß unter Beibehaltung der gleichen Genauigkeit ein besserer Gebrauch der vorhandenen Speicherkapazität ermöglicht wirdDiese Aufgabe wird mit den im Patentanspruch 1 angegebenen Merkmalen gelöst.In dem Speicher brauchen damit lediglich (k-\) Bits für einen Si.ius- oder Kosinuswert gespeichert zu werden. Das k ■ Bit, das nicht gespeichert ist, wird berechnetVorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von Unteransprüchen.Nachstehend werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen näher erläutert, von denenFig.! eine allgemein bekannte Ausführungform des digitalen Sinus-Kosinus-Generators zeigt,Fig.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-Kosinus-Generator entsprechend der Erfindung zeigt zwecks Berechnung der stellenhöchsien Binärziffer des einem Sinuswert zugehörigen Binärwertes,Fig.4 einen Kreisbogen im ersten Quadranten s veranschaulicht zwecks Erläuterung der Grundlagen der Berechnung der stellenhöchsten Binärziffer des einem Sinuswert zugehörigen Binärwertes,Fi g. 5 eine Tabelle zur Erläuterung der Bildung der erforderlichen Bedingungssignale für die logische ίο Schaltung des Sinus-Kosinus-Generators zeigtFig.6 eine Ausbildung des Sinus-Kosinus-Generators zeigt falls der Generator zwei Teilspeicher aufweist undF i g. 7 einen Teil der Sinuskurve zur Erläuterung der erforderlichen Korrekturen bei Anwendung von zwei Teilspeichern in dem Generator darstelltEntsprechende Teile sind in den Figuren mit gleichen Bezugsziffern bezeichnetIm Blockschema eines allgemein bekannten digitalen ίο Sinus-Kosinus-Generators nach F i g. 1 ist das Winkelregister mit der Ziffer ί und der Speicher mit der Ziffer 2 versehen.Die Wahl der Anzahl Binärziffern, in denen derWinkelwert dem Speicher angeboten wird, wird bedingtdurch die Genauigkeit die für den angebotenenWinkelwert gefordert wird. In der im vorliegendennäher betrachteten Ausführungsform ist die Wahl derAnzahl Binärziffern auf 13 angesetzt wovon diestellenhöchste das 180 -Bit und die stellenniedrigste das <5- Bit mit
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 DE2150751B2 (de) | 1977-02-10 |
DE2150751C3 true 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 |
---|---|---|---|---|
DE3728689A1 (de) * | 1987-08-27 | 1989-03-09 | Hengstler Gmbh | Schaltung zur erzeugung eines sinus- und/oder cosinuswertes aus einem digitalen code |
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 |
AT399236B (de) * | 1986-02-03 | 1995-04-25 | Siemens Ag Oesterreich | Digitaler sinusgenerator |
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 | 三角関数前処理装置 |
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 GB GB4730371A patent/GB1317693A/en not_active Expired
- 1971-10-11 SE SE7112855A patent/SE368466C/xx unknown
- 1971-10-12 JP JP46079952A patent/JPS5217704B1/ja active Pending
- 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-14 US US00189211A patent/US3735110A/en not_active Expired - Lifetime
- 1971-10-16 IT IT53521/71A patent/IT944851B/it active
- 1971-10-18 FR FR7137366A patent/FR2111503A5/fr not_active Expired
- 1971-10-18 AU AU34722/71A patent/AU451132B2/en not_active Expired
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3728689A1 (de) * | 1987-08-27 | 1989-03-09 | Hengstler Gmbh | Schaltung zur erzeugung eines sinus- und/oder cosinuswertes aus einem digitalen code |
Also Published As
Publication number | Publication date |
---|---|
SE368466B (de) | 1974-07-01 |
NL7015266A (de) | 1972-04-21 |
CA943256A (en) | 1974-03-05 |
NL164403C (nl) | 1980-12-15 |
DE2150751A1 (de) | 1972-04-20 |
IT944851B (it) | 1973-04-20 |
BE773815A (fr) | 1972-01-31 |
NL164403B (nl) | 1980-07-15 |
FR2111503A5 (de) | 1972-06-02 |
GB1317693A (en) | 1973-05-23 |
AU451132B2 (en) | 1974-07-25 |
JPS478460A (de) | 1972-05-04 |
AU3472271A (en) | 1973-05-03 |
SE368466C (sv) | 1975-12-08 |
US3735110A (en) | 1973-05-22 |
DE2150751B2 (de) | 1977-02-10 |
CH535998A (de) | 1973-04-15 |
JPS5217704B1 (de) | 1977-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2150751C3 (de) | Digitaler Sinus-Kosinus-Generator | |
DE3300699A1 (de) | Verfahren und schaltungsanordnung zur adressierung der speicher mehrerer datenverarbeitender einrichtungen in einem mehrfachleitungssystem | |
DE2625973A1 (de) | Verfahren und anordnung zur redundanzvermindernden transformation von bildern | |
DE2361512C2 (de) | Schaltungsanordnung zur Prüfung eines Additionsresultates | |
DE2357654C2 (de) | Assoziativspeicher | |
DE1056396B (de) | Ferritmatrixspeicher | |
DE2900587C3 (de) | Decodierschaltung | |
DE1524291A1 (de) | Elektronischer Analogresolver | |
DE2461651A1 (de) | System zur zaehlung von mustern | |
DE2235802A1 (de) | Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise | |
DE1234054B (de) | Byte-Umsetzer | |
DE2230597A1 (de) | Anordnung zur erzeugung zweier zueinander hilberttransformierter signale | |
DE2306850A1 (de) | Generator fuer pseudounabhaengige geraeusche | |
DE1937259C3 (de) | Selbstprüf ende Fehlererkennungsschaltung | |
DE2712582C2 (de) | DDA-Rechner (Digital-Differential-Analysator) | |
DE2729361A1 (de) | Speicherschaltung | |
DE2831734C3 (de) | Signalgenerator zur Erzeugung sinusförmiger Ausgangssignale mit vorbestimmter gegenseitiger Phasenlage | |
DE3609056C2 (de) | ||
DE2142948A1 (de) | Verfahren und Konverter zur Konvertierung von Daten | |
DE2524129C3 (de) | Zeitsteuereinheit für die Steuerung logischer Schaltungen | |
DE2657408A1 (de) | Fehlerkorrekturschaltung | |
DE2135607C2 (de) | Schaltungsanordnung zur Inkrementierung oder Dekrementierung | |
DE2636028A1 (de) | Digitaler multiplizierer | |
DE2024234C3 (de) | Parallaxen-Diskriminator | |
DE2017879B2 (de) | Speicheranordnung mit freiem Zugriff |
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 |