DE2150751C3 - Digitaler Sinus-Kosinus-Generator - Google Patents

Digitaler Sinus-Kosinus-Generator

Info

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
Application number
DE2150751A
Other languages
English (en)
Other versions
DE2150751A1 (de
DE2150751B2 (de
Inventor
Corstiaan Huizen Le Comte
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales Nederland BV
Original Assignee
Thales Nederland BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales Nederland BV filed Critical Thales Nederland BV
Publication of DE2150751A1 publication Critical patent/DE2150751A1/de
Publication of DE2150751B2 publication Critical patent/DE2150751B2/de
Application granted granted Critical
Publication of DE2150751C3 publication Critical patent/DE2150751C3/de
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

0=180° 2 12=: 0,8 mils (Teilstricne)
Im Speicher 2 befinden sich nun die Sinuswene 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° = 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°)
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 φ
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 φ
ab. Dieser Wert wird bei Eintragung in das Register 6 mit dem richtigen Vorzeichen versehen.
Soll der Sinus eines im vierten Quadranten liegenden Winkels ψ bestimmt werden, wird der Winkelwert φ-270° dem Speicher invertiert zugeführt Es wird folglich
90° - - 270°) = 360° - φ
angeboten. Der Speicher gibt seinerseits den Wert
sin(360° -φ)= -sin φ
ab. Dieser Wert wird bei Eintragung in das Register 6 mit dem richtigen Vorzeichen versehen.
Soll der Kosinus eines im vierten Quadranten liegenden Winkels φ bestimmt werden, wird der Winkelwert φ-270° unmittelbar dem Speicher zugeführt. Der Speicher gibt sodann den Wert
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.
+ (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,
■ 90' + 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.
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
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
f(ä)=f(ä)+(0....0\)
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.
Wird dagegen der Wert sin(210°) gewünscht, wird im Register der Wert
1 0 1111.11111
(Vorzeichenbit) (10. Binärziffer)
eingetragen.
In der gleichen Weise, wie es anhand von F i g. 1 beschrieben 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
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
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-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
Hierzu 5 Blatt Zeichnungen

Claims (1)

  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- β
    35
    mit π= 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 und
    c) 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 ist
    3. 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 durch
    in (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 sin
    mit /=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 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 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 wird
    Aufgabe 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 wird
    Diese 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 berechnet
    Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand von Unteransprüchen.
    Nachstehend werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen näher erläutert, von denen
    Fig.! 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 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 ί und der Speicher mit der Ziffer 2 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 stellenniedrigste das <5- Bit mit
DE2150751A 1970-10-19 1971-10-12 Digitaler Sinus-Kosinus-Generator Expired DE2150751C3 (de)

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
DE2150751A1 DE2150751A1 (de) 1972-04-20
DE2150751B2 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4024385A (en) * 1974-02-25 1977-05-17 Raytheon Company Second difference function generator
US3898446A (en) * 1974-09-06 1975-08-05 Us Army Quadratic phase memory
US3917935A (en) * 1974-12-23 1975-11-04 United Technologies Corp Reduction of look-up table capacity
JPS588401B2 (ja) * 1976-03-31 1983-02-16 大日精化工業株式会社 光硬化性着色組成物
JPS52152133A (en) * 1976-06-14 1977-12-17 Yokogawa Hokushin Electric Corp High-speed fourier transformation unit
US4077063A (en) * 1976-08-11 1978-02-28 The Singer Company Apparatus for rapidly determining the trigonometric functions of an input angle
JPS5918401B2 (ja) * 1976-08-16 1984-04-27 三井東圧化学株式会社 塩化ビニル(共)重合体の製造方法
JPS5823401B2 (ja) * 1977-08-02 1983-05-14 大日精化工業株式会社 光硬化性着色組成物
JPS57174742A (en) * 1981-04-21 1982-10-27 Mitsubishi Electric Corp Computer
US4636973A (en) * 1982-07-21 1987-01-13 Raytheon Company Vernier addressing apparatus
US4631694A (en) * 1984-04-27 1986-12-23 National Semiconductor Corporation Sine wave synthesizer
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)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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