DE19738357B4 - Verfahren zum Betrieb eines digitalen Sinus-Generators - Google Patents

Verfahren zum Betrieb eines digitalen Sinus-Generators Download PDF

Info

Publication number
DE19738357B4
DE19738357B4 DE1997138357 DE19738357A DE19738357B4 DE 19738357 B4 DE19738357 B4 DE 19738357B4 DE 1997138357 DE1997138357 DE 1997138357 DE 19738357 A DE19738357 A DE 19738357A DE 19738357 B4 DE19738357 B4 DE 19738357B4
Authority
DE
Germany
Prior art keywords
sine
operating
wave generator
slope
value
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 - Lifetime
Application number
DE1997138357
Other languages
English (en)
Other versions
DE19738357A1 (de
Inventor
Kurt Dr. Schmidt
Jürgen Müller
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.)
Rohde and Schwarz GmbH and Co KG
Original Assignee
Rohde and Schwarz GmbH and Co KG
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 Rohde and Schwarz GmbH and Co KG filed Critical Rohde and Schwarz GmbH and Co KG
Priority to DE1997138357 priority Critical patent/DE19738357B4/de
Priority to PCT/EP1998/004527 priority patent/WO1999012089A1/de
Publication of DE19738357A1 publication Critical patent/DE19738357A1/de
Application granted granted Critical
Publication of DE19738357B4 publication Critical patent/DE19738357B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

Verfahren zum Betrieb eines digitalen Sinus-Generators, bei dem mindestens ein Quadrant des Sinus in eine Vielzahl von Segmenten (S1–Sn) aufgeteilt wird, für jeweils eine Stützstelle jedes Segments in einem Speicher (1, 2) ein der Amplitude des Sinus entsprechender Amplitudenwert und ein der Steigung des Sinus entsprechender Steigungswert gespeichert wird und durch lineare Interpolation für mehrere im Abstand benachbarte Zwischenwerte die Amplitude des zu erzeugenden Sinus berechnet wird, dadurch gekennzeichnet,
dass als Amplitudenwert ein optimierter Amplitudenwert gespeichert wird, der kleiner ist als der exakte Amplitudenwert des Sinus an der Stützstelle und
dass durch Vergleich der Steigung des Sinus mit dem exakten Amplitudenwert des Sinus die Maximalfehlerabweichung (Δmax) des Steigungswertes bestimmt wird und durch Subtraktion der halben Maximalfehlerabweichung (Δmax/2) vom exakten Amplitudenwert des Sinus an der optimierten Stützstelle der optimierte Amplitudenwert ermittelt wird.

Description

  • Die Erfindung betrifft ein Verfahren zum Betrieb eines digitalen Sinus-Generators laut Oberbegriff des Anspruchs 1.
  • Ein digitaler Sinus/Cosinus-Generator dieser Art ist aus der US 4,809,205 bekannt. Bei diesem bekannten Generator wird in einem ersten Speicher für jedes einzelne Segment jeweils die exakte Amplitude des Sinus als Amplitudenwert gespeichert und für die benachbarten Zwischenwerte, die im geringen Abstand vom Stützwert nach dem Prinzip der linearen Interpolation berechnet werden sollen, werden in einem zweiten Speicher jeweils die Steigungswerte des exakten Sinus gespeichert. Aus diesem für den ersten Quadranten des Sinus gespeicherten Amplitudenwerten und zugehörigen Steigungswerten werden dann durch lineare Interpolation die Zwischenwerte berechnet. Der durch diese Näherung auftretende Fehler wird bei dem bekannten Generator durch Hinzufügen eines zusätzlichen Carrier-Wertes klein gehalten. Trotz dieses hinzuaddierten Carrier-Wertes ist die Genauigkeit, mit welcher bei diesem bekannten Generator eine Sinusfunktion digital erzeugt wird, für manche Anwendungsfälle nicht ausreichend. Der bekannte Generator erfordert außerdem relativ viel Speicherkapazität.
  • Aus der US 4,482,975 geht ein Funktions-Generator mit segmentierter Interpolation entsprechend dem Oberbegriff des Anspruchs 1 hervor, wobei sich die Druckschrift damit beschäftigt, wie die Amplitudenwerte an den Stützstellen und die Steigungswerte innerhalb der Segmente für die lineare Interpolation optimiert werden können. Bei der US 4,482,975 wird jedoch ein relativ aufwendiges Optimierungsverfahren benutzt. Wie in Spalte 3 in den Gleichungen (5) dargestellt, werden innerhalb der Segmente die Funktionswerte zu einer Vielzahl von Argumenten berechnet. Dann wird die Fehlerabweichung von dem exakten Funktionswert mit der Methode der kleinsten Fehlerquadrate minimiert und durch eine Grenzwertbetrachtung am Übergang von n Funktionswerte auf unendlich viele Funktionswerte schließlich eine in den Gleichungen (19) bis (24) angegebene Optimierungsformel angegeben. In Gleichung (20) ist der optimierte Amplitudenwert Ri und der optimierte Steigungswert Si als Funktion der Segment-Endpunkte bzw. Segmentgrenzen X1 und X2 angegeben. Die in der US 4,482,975 angegebene Herleitung und die darin angegebenen Formeln (20) bis (24) beziehen sich jedoch nur auf die 1/X Funktion, was sich aus dem Ansatz in den Gleichungen (5) unschwer ergibt. Bereits für diese Funktion ergibt sich eine relativ aufwendige Berechnung der optimierten Amplitudenwerte Ri. Beispielsweise muss der Logarithmus des Quotienten der Segment-Endpunkte X1 und X2 ln (X2/X1) in Gleichung (23) berechnet werden, da Y in die Berechnung der optimierten Amplitudenwerte gemäß Gleichung (20) eingeht. Auch Gleichung (24) enthält mehrere Multiplikationen und eine Quotientenbildung.
  • Es ist daher Aufgabe der Erfindung, ein Verfahren zum Betrieb eines digitalen Sinus-Generators zu schaffen, der nach dem Prinzip der linearen Interpolation arbeitet und bei minimalem Speicherbedarf und geringem Aufwand für die Implementierung einen kleinstmöglichen Fehler besitzt.
  • Diese Aufgabe wird ausgehend von dem Verfahren laut Oberbegriff des Anspruchs 1 durch dessen kennzeichnende Merkmale gelöst. Vorteilhafte Weiterbildungen ergeben sich aus den Unteransprüchen.
  • Beim erfindungsgemäßen Verfahren zum Betrieb des Generators werden zwar die Zwischenwerte innerhalb der Segmente nach der an sich bekannten linearen Interpolation durchgeführt. Für die dabei benutzten Amplitudenwerte und Steigungswerte werden jedoch im Speicher optimierte Werte benutzt, die gemäß der Erfindung so berechne werden, dass ein minimaler Maximalfehler auftritt. Ein nach dem erfindungsgemäßen Verfahren arbeitender Generator arbeitet jedoch nicht nur mit geringerem Fehler, sondern benötigt für die Berechnung auch geringeren Speicherbedarf, da keine zusätzlichen Korrekturwerte wie beim oben erwähnten bekannten Generator zusätzlich gespeichert werden müssen. Bezüglich Speicherbedarf ist der betreffende Generator auch den anderen bekannten Sinus/Cosinus-Generatoren überlegen, die nach einem reinen Tabellenverfahren mit Grob- und Feintabellen arbeiten.
  • Ein besonderer Vorteil der im neuen Anspruch 1 angegebenen Berechnungsvorschrift für die optimierten Amplitudenwerte besteht darin, dass sich die Berechnungsvorschrift noch erheblich vereinfachen lässt, wenn näherungsweise unterstellt wird, dass die Ableitung innerhalb des Segments konstant ist und der Maximalfehler in der Mitte des Segments, also bei dx = 0 auftritt. Dann ergibt sich die im ursprünglichen Anspruch 5 angegebene besonders einfache Berechnungsformel für die optimierten Amplitudenwerte und optimierten Steigungswerte.
  • Das erfindungsgemäße Prinzip ist nicht nur zum Erzeugen von Sinusfunktionen, sondern in gleicher Weise auch zur Erzeugung von Cosinus-Funktionen oder beliebigen anderen periodischen Kurvenformen geeignet.
  • Die Erfindung wird im Folgenden anhand schematischer Zeichnungen an einem Ausführungsbeispiel näher erläutert. Es zeigen:
  • 1 das Prinzipschaltbild eines digitalen Sinus-Generators mit zwei Speichern 1 und 2, in welchem die Amplitudenwerte und die Steigungswerte für jeweils eine Stützstelle eines jeden Segmentes für die Durchführung der nachfolgend näher beschriebenen linearen Interpolation gespeichert sind;
  • 2 die Aufteilung des zu erzeugenden Funktionsverlaufs sin π/2·x im ersten Quadranten Q1 in eine Vielzahl von Segmenten S1 bis Sn und
  • 3 eines dieser Segmente Sn im vergrößerten Maßstab.
  • Im nachfolgenden Beispiel wird die Erzeugung einer Sinusfunktion beschrieben. In gleicher Weise ist jedoch auch die Erzeugung jeder anderen Kurvenform möglich.
  • Bei der Verteilhaft benutzten linearen Interpolation wird der Stütz- und Steigungswert so bestimmt, daß der kleinstmögliche Maximalfehler auftritt. Bei dieser optimierten linearen Interpolation wird der Maximalfehler mindestens um den Faktor zwei gegenüber der herkömmlichen linearen Interpolation verkleinert. Die optimierte lineare Interpolation wird durch sinlin(x) = Stützopt(xStütz) + dx·Steigopt(xStütz)berechnet, wobei die Berechnungsvorschrift für die optimale Stützstelle Stützopt(xStütz) und Steigungsstelle Steigopt(xStütz) mit Hilfe von 3 veranschaulicht wird: Das betrachtete Segment erstreckt sich über den Bereich dun ≤ dx ≤ dxob. Den optimalen Steigungswert erhält man aus den sin-Werten an den Segmenträndern gemäß
    Figure 00040001
  • Die optimale Stützstelle erhält man durch folgende Vorgehensweise: Zunächst werden gedanklich die Eckpunkte durch lineare Interpolation miteinander verbunden, was im Bild gestrichelt gezeichnet wurde (11). Trägt man den Fehlerverlauf zwischen dieser linearen Interpolation und dem Sollverlauf des Sinus auf, ergibt sich der Fehlerverlauf in Kurve (12). Man erkennt, daß bei dieser gedanklichen linearen Interpolation bei dxmax der Maximalfehler Δmax auftritt. Aus dem Bild ist leicht erkennbar, daß der Maximalfehler um den Faktor zwei reduzierbar ist, wenn die Stützstelle um –Δmax/2 verschoben wird. Damit ergibt sich die optimale Stützstelle nach der Vorschrift Stützopt(xStütz) = sinun(x) + Steigopt(xStütz)·|dxun| – Δmax/2
  • Diese relativ aufwendige Berechnungsvorschrift läßt sich vereinfachen, wenn davon ausgegangen wird, daß die Ableitung innerhalb des Segmentes näherungsweise konstant ist und der Maximalfehler bei dx = 0 auftritt. Diese Annahmen sind bei i.a. hinreichend kleinen Segmenten erfüllt und die optimale Stütz- und Steigungsstelle kann durch
    Figure 00040002
    angenähert werden.
  • Damit erzielt man durch die optimierte lineare Interpolation bei gleichem Speicherbedarf wie bei der linearen Interpolation einen Gewinn von 6 dB.
  • Im folgenden wird der "worst-case" Spurious-Abstand durch die lineare Interpolation abgeleitet. Es wird von folgenden Randbedingungen ausgegangen:
    • 1. Sowohl im Real- wie auch im Imaginärteil von zeig(k) tritt der maximale Fehler Δsinmax auf, d.h. der Fehler im komplexen Zeiger ergibt sich durch |Δzeigmax| = |(1 + j)·Δsinmax| – √2·Δsinmax
    • 2. Der Fehlerzeiger Δzeig(k) erzeugt nur eine diskrete Spektrallinie (worst-case)
  • Dann ergibt sich der minimale Spurious-Abstand durch die lineare Interpolation gemäß
  • Figure 00050001
  • In Tabelle 1 wird Δsinmax und Spurious (Lin) / min in Abhängigkeit der verwendeten Stützstellenzahl/Quadrant gezeigt. Man sieht, daß bei optimierter linearer Interpolation nur 256 Stützstellen mit einem worst-case Abstand von
    Figure 00050002
    ausreichen, um den geforderten gesamten Spurious-Abstand von 95 dBc zu erreichen, wobei noch genügend Reserven für die beiden andereren Fehlerquellen (siehe Kapitel "Gesamtkonzept") vorhanden sind. Prinzipiell sind auch 128 Stützstellen denkbar, allerdings zeigten die Simulationen, daß dann nur noch ein gesamter Spurious-Wert von 93.42 dBc erreicht wird, während bei 256 Stützstellen ein 3.4 dB Gewinn erzielt wird. Da der Gatteraufwand bei embedded Arrays gering ist und man durch die größere Tabelle eine zusätzliche Auflösung von einem halben Bit gewinnt, werden 256 Stützstellen vorgesehen.
  • Figure 00050003
    Tabelle 1: Worst-case Spurious-Abstand durch lineare Interpolation ddc_lin.m oder ddc.m
  • Im folgenden wird vereinbart, daß die Variable in Kleinbuchstaben und dessen Wortbreite als entsprechender Großbuchstaben verwendet wird.
  • Der Input x des Sinus-Blockes mit X = 18 Bit (über 90-Grad-Bereich) wird gemäß Gl.(1)
    Figure 00050004
    in
    a zur Adressierung der Stützstellen mit der Wortlänge A = 8 (28 = 256 Stützstellen) und
    d mit der Wortlänge D = 10 zur Erzeugung des dx-Wertes für die lineare Interpolation
    aufgeteilt. Um die weiteren Herleitungen besser zu veranschaulichen, wird ein Beispiel bei W = 5 Phasenbits (über 360 Grad) bzw. X = W – 2 = 3 Phasenbit (über 90 Grad) betrachtet. Hierzu wird in 4 die lineare Interpolation mit A = 1 und D = 2 gezeigt. Die Sterne zeigen die 2A = 2 Stützwerte des Tabellensinus und die Kreise symbolisieren die 2x = 8 berechneten Sinuswerte durch lineare Interpolation im ersten Quadranten.
  • Man beachte, daß der zu berechnende Sinus einen Phasenoffset von Qφ/2 besitzt, d.h. der Sinus wird an den normierten Phasenstellen (x 1) berechnet. Aus dem Bild erkennt man leicht, daß folglich auch die Stützwerte gemäß Gl.(2) xStütz = (a 1) (2)um einen Offset von einem halben LSB des Stützstellenwortes a berechnet werden müssen.
  • Als nächstes muß dx ermittelt werden (Abstand von der Stützstelle zu dem Interpolationspunkt). Hierzu wird d gemäß Gl.(3) in
    Figure 00060001
    in das Vorzeichen-Bit dvorz und das restliche Wort drest aufgespalten. Aus 4 erkennt man, daß aus dvorz das Vorzeichen Vorzdx von dx gemäß Gl.(4)
    Figure 00060002
    abgeleitet wird. Weiterhin sieht man, daß der Abstand von Stützwert zu Interpolationswert gemäß Gl.(5)
    Figure 00060003
    beträgt, wobei aber noch nicht das zusätzliche halbe LSB Abstand berücksichtigt wurde. Demnach ergibt sich der Abstand |dx| von der Stützstelle gemäß Gl.(6)
    Figure 00060004
  • Bei der Stützstellenberechnung der Steigungen muß beachtet werden, daß die maximale Steigung Steig(0) = π/2 = 1.57 > 1den unsigned FRAC-Bereich überschreitet. Deshalb muß in der Tabelle Steig(x)/2 abgelegt werden. Demnach muß laut Interpolationsvorschrift nun Steig(x)/2 mit
    Figure 00060005
    multipliziert werden. Die führenden Nullen werden bei der Multiplikation zwecks Gattereinsparung nicht verwendet, so daß zuerst gemäß Gl.(8) mit
    Figure 00070001
    multipliziert wird und anschließend um A Bit rechtsgeshiftet wird. In Tabelle 2 werden alle Berechnungsschritte von 4 beispielhaft für x = (100) gezeigt.
  • Figure 00070002
    Tabelle 2: Berechnungsschritte für Beispiel x = (100)
  • In 1 wird das Blockschaltbild der Sinuserzeugung im ersten Quadranten gezeigt. Der Input x wird nach Gl.(1) in die Adreßbits a der Stützwerttabellen und d zur Interpolation aufgespalten. Prinzipiell müssen bei der Steigungstabelle nicht a Adressen verwendet werden. Die Simulationen zeigten aber, daß 128 Steigungsstützstellen nicht ausreichen. Die gleichgroße Adressenzahl von Stützstellen- und Steigungs-ROM besitzen den Vorteil, daß nur ein ROM mit entsprechender Wortbreite implementiert werden muß.
  • Man beachte, daß die Tabellen im unsigned Format abgelegt sind, d.h. das führende Bit des Zweierkomplements wird nicht abgespeichert. Das ist zulässig, weil der Sinus und seine Steigung im ersten Quadranten positiv sind. Ebenso wird die Multiplikation im unsigned Format durchgeführt. Erst vor der Summation/Subtraktion der linearen Interpolation muß von der unsigned Darstellung durch Hinzufügen einer führenden Null auf die Zweierkomplement-Darstellung übergegangen werden.
  • Die Berechnung von d11 nach Gl.(5) erhält man durch eine EXNOR-Operation und durch rechtsseitiges Hinzufügen einer 1 erhält man 2A·2|dx| nach Gl.(8). Nach der 11 × 10-Unsigned-Multplikation muß mit 2–A = 2–8 multpliziert werden, d.h. es muß ein Rechtsshift um 8 Bit gemacht werden. Die Wortbreite des unsigned Ergebnisses steig·|dx| beträgt 29 Bit und nach Zweierkomplementbildung (Anhängen einer führenden Null) liegt eine Wortbreite von 30 Bit vor. Die nachfolgende Dimensionierung läßt sich durch das nachfolgende Gedankenspiel in 5 herleiten: Im oberen Teil des Bildes wird die Vorgehensweise ohne Verkürzung der Wortlänge gezeigt. Vor der Addition muß steig·|dx| mit Vorzdx = ±1 multipliziert werden. Bei der exakten Multiplikation mit –1 müssen alle Bit invertiert werden und ein LSB Q30 = 2/230 = 2–29 addiert werden. Die Addition des LSB wird zwecks Einsparung von Gattern weggelassen, weil dadurch ein nur vernachlässigbar kleiner Fehler entsteht. Folglich muß bei einer Multiplikation mit –1 nur invertiert werden. Nach Addition mit der Stützstelle Stütz (Wortbreite 20 Bit) entsteht der Sinus sin1 im 1. Quadranten. Man beachte, daß nur eine 20 Bit Addition durchgeführt werden muß und die restlichen 10 LSB-Bits von steig·dx angehängt werden müssen. Anschließend muß mit dem gewünschten Vorzeichen des Sinus Vorzsin = ±1 multipliziert werden. Da die Wortlänge ebenfalls 30 Bit beträgt, darf auch hier die Multiplikation mit –1 durch eine Invertierung angenähert werden. Anschließend wird die Wortbreite von 30 Bit auf 17 Bit durch Rundung reduziert. Bei der Rundung wird das 18. MSB-Bit auf den Carry-In Eingang eines 17-Bit-Addierers gelegt. Da die unteren 10 Bit von steig·|dx| keinen Einfluß auf die oberen 20 Bit und damit auch nicht auf das 18. MSB-Bit (= Carry-In Bit) des sin-Wertes haben, könnte man zur Berechnung des gerundeten Sinus von Anfang an diese 10 Bit abschneiden (vorausgesetzt: Näherung für Multiplikation mit –1 verwendet). Allerdings gibt es auch die Möglichkeit, den Drehzeiger zeigRAM(k) mit einer Wortbreite von 24 Bit im DSP zu verwenden. Um den Fehler so gering wie möglich zu halten, wird deshalb steig·|dx| nur auf eine Wortbreite von 24 Bit abgeschnitten. Die somit verwendeten Wortlängen sind zwecks der Übersichtlichkeit im unteren Teil des Bildes gezeigt und in 1 verwendet.

Claims (11)

  1. Verfahren zum Betrieb eines digitalen Sinus-Generators, bei dem mindestens ein Quadrant des Sinus in eine Vielzahl von Segmenten (S1–Sn) aufgeteilt wird, für jeweils eine Stützstelle jedes Segments in einem Speicher (1, 2) ein der Amplitude des Sinus entsprechender Amplitudenwert und ein der Steigung des Sinus entsprechender Steigungswert gespeichert wird und durch lineare Interpolation für mehrere im Abstand benachbarte Zwischenwerte die Amplitude des zu erzeugenden Sinus berechnet wird, dadurch gekennzeichnet, dass als Amplitudenwert ein optimierter Amplitudenwert gespeichert wird, der kleiner ist als der exakte Amplitudenwert des Sinus an der Stützstelle und dass durch Vergleich der Steigung des Sinus mit dem exakten Amplitudenwert des Sinus die Maximalfehlerabweichung (Δmax) des Steigungswertes bestimmt wird und durch Subtraktion der halben Maximalfehlerabweichung (Δmax/2) vom exakten Amplitudenwert des Sinus an der optimierten Stützstelle der optimierte Amplitudenwert ermittelt wird.
  2. Verfahren zum Betrieb eines digitalen Sinus-Generators nach Anspruch 1, dadurch gekennzeichnet, dass als Steigungswert ein optimierter Steigungswert im Speicher gespeichert wird, der aus den Amplitudenwerten des exakten Sinus an den Segmentgrenzen bestimmt wird.
  3. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der optimale Steigungswert aus den Sinuswerten an den Segmentgrenzen nach der Beziehung
    Figure 00090001
    ermittelt wird.
  4. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die optimale Stützstelle aus der Maximalfehlerabweichung nach der Beziehung Stützopt(xStütz) = sinun(x) + Steigopt(xStütz)·|dxun| – Δmax/2ermittelt wird.
  5. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die optimale Stützstelle nach der Beziehung
    Figure 00100001
    und die optimale Steigung nach der Beziehung Steigopt(x) = π/2·cos(π/2·xStütz)ermittelt wird.
  6. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass anstelle des Sinus eine Cosinusfunktion oder eine beliebig andere periodische Kurvenform generiert wird.
  7. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Speicher nur die optimierten Amplitudenwerte und optimierten Steigungswerte des ersten Quadranten des Sinus gespeichert werden und die Amplitudenwerte für die anderen Quadranten durch davon abgeleitete Werte berechnet werden.
  8. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Speicher die führenden Nullen der optimierten Steigungswerte nicht abgespeichert werden, sondern erst nach der Multiplikation der linearen Interpolation angehängt werden.
  9. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die –1 Multiplikation bei der linearen Interpolation im Zweierkomplement durch Invertierung erfolgt und das Produkt erst nach der Multiplikation auf die Ausgangswortbreite reduziert wird.
  10. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei der Addition der linearen Interpolation die Wortbreite des Addierers gleich der Wortbreite des Amplitudenwertes gewählt wird und die zusätzlichen LSB-Bits des Produktes nach der Addition angehängt werden.
  11. Verfahren zum Betrieb eines digitalen Sinus-Generators nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Multiplikation des positiven Sinuswertes im ersten Quadranten mit dem Vorzeichen +1 oder –1 vor der Rundung auf die Ausgangswortbreite reduziert wird und die Multiplikation des negativen Sinuswertes im Zweierkomplement durch Invertierung erfolgt.
DE1997138357 1997-09-02 1997-09-02 Verfahren zum Betrieb eines digitalen Sinus-Generators Expired - Lifetime DE19738357B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE1997138357 DE19738357B4 (de) 1997-09-02 1997-09-02 Verfahren zum Betrieb eines digitalen Sinus-Generators
PCT/EP1998/004527 WO1999012089A1 (de) 1997-09-02 1998-07-20 Digitaler sinusgenerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1997138357 DE19738357B4 (de) 1997-09-02 1997-09-02 Verfahren zum Betrieb eines digitalen Sinus-Generators

Publications (2)

Publication Number Publication Date
DE19738357A1 DE19738357A1 (de) 1999-03-04
DE19738357B4 true DE19738357B4 (de) 2005-01-05

Family

ID=7840977

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1997138357 Expired - Lifetime DE19738357B4 (de) 1997-09-02 1997-09-02 Verfahren zum Betrieb eines digitalen Sinus-Generators

Country Status (2)

Country Link
DE (1) DE19738357B4 (de)
WO (1) WO1999012089A1 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482975A (en) * 1982-03-29 1984-11-13 Motorola, Inc. Function generator
US4486846A (en) * 1982-06-28 1984-12-04 Motorola Inc. Numerically controlled oscillator using quadrant replication and function decomposition
US4809205A (en) * 1986-11-19 1989-02-28 Rockwell International Corporation Digital sine conversion circuit for use in direct digital synthesizers
US5113361A (en) * 1990-08-02 1992-05-12 Harris Corporation Sin/cos generator implementation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204720A (ja) * 1990-01-08 1991-09-06 Nec Corp 初等関数演算装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4482975A (en) * 1982-03-29 1984-11-13 Motorola, Inc. Function generator
US4486846A (en) * 1982-06-28 1984-12-04 Motorola Inc. Numerically controlled oscillator using quadrant replication and function decomposition
US4809205A (en) * 1986-11-19 1989-02-28 Rockwell International Corporation Digital sine conversion circuit for use in direct digital synthesizers
US5113361A (en) * 1990-08-02 1992-05-12 Harris Corporation Sin/cos generator implementation

Also Published As

Publication number Publication date
WO1999012089A1 (de) 1999-03-11
DE19738357A1 (de) 1999-03-04

Similar Documents

Publication Publication Date Title
DE2549574C3 (de) Rekursives Digitalfilter
DE3500316C2 (de)
DE3202789C2 (de)
DE2045559A1 (de) Datenmodulator mit Sinuswellen synthese
DE2432594C3 (de) Rekursives Digitalfilter
DE2628473B2 (de) Digitales Faltungsfilter
DE2618823B2 (de) Generator zur Erzeugung periodischer Folgen
DE2736072A1 (de) Winkelfunktionsgenerator
DE2255821A1 (de) Automatisch adaptierender transversalentzerrer
DE69932673T2 (de) Digitaler Signalsynthetisierer
DE2918692A1 (de) Digitalfilter
EP0628183B1 (de) Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen
DE2315347A1 (de) Verfahren und vorrichtung zur fortlaufenden decodierung von gruppen bildenden signalen
DE19738357B4 (de) Verfahren zum Betrieb eines digitalen Sinus-Generators
DE2615498A1 (de) Konvolutionsfunktionsgenerator und dessen anwendung in digitalfiltern
DE60205297T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Zufallssignals mit kontrolliertem Histogramm und Spektrum
DE2900844A1 (de) Anordnung zum filtern komprimierter pulskodemodulierter signale
DE2752451C2 (de) Anpassende Phasenauswertung für Phasentastmodulation
EP0530912B1 (de) Funkempfänger mit analoger Dynamikkompression und digitaler Expandierung
DE3312796C2 (de)
DE2843493C3 (de) Schaltungsanordnung zum Erzeugen von phasendifferenzmodulierten Datensignalen
EP1232599B1 (de) Anordnung zum erzeugen eines digital modulierten prüfsignals
EP0629943B1 (de) Multiplizierer für reelle und komplexe Zahlen
DE69721779T2 (de) Verfahren zum generieren der amplitude eines signals in abhängigkeit von der gewünschten funktion und wandler
DE3104528C2 (de) Verfahren zur Umwandlung linear codierter PCM-Worte in nichtlinear codierte PCM-Worte und umgekehrt

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 1/035

8364 No opposition during term of opposition
R071 Expiry of right