DE60319904T2 - Ein numerisch gesteuerter Oszillator (NCO) zur Erzeugung von Frequenzen mit rationalem Teilervehältnis - Google Patents

Ein numerisch gesteuerter Oszillator (NCO) zur Erzeugung von Frequenzen mit rationalem Teilervehältnis Download PDF

Info

Publication number
DE60319904T2
DE60319904T2 DE60319904T DE60319904T DE60319904T2 DE 60319904 T2 DE60319904 T2 DE 60319904T2 DE 60319904 T DE60319904 T DE 60319904T DE 60319904 T DE60319904 T DE 60319904T DE 60319904 T2 DE60319904 T2 DE 60319904T2
Authority
DE
Germany
Prior art keywords
nco
rational
value
overflow
output
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
DE60319904T
Other languages
English (en)
Other versions
DE60319904D1 (de
Inventor
Brian 94538 Fremont Schoner
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.)
Broadcom Corp
Original Assignee
Broadcom Corp
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 Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60319904D1 publication Critical patent/DE60319904D1/de
Publication of DE60319904T2 publication Critical patent/DE60319904T2/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/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

  • Hintergrund der Erfindung
  • Numerisch gesteuerte Oszillatoren (NCOs – Numerically Controlled Oscillators) sind gängige digitale Schaltungen und werden bei einer großen Vielzahl von Ablaufsteuerungsanwendungen verwendet. Solche Ablaufsteuerungsanwendungen können beispielsweise die Frequenzsynthese, Ratenumwandlung und Takterzeugung umfassen.
  • Ein bekannter digitaler NCO umfasst einen digitalen Akkumulator mit Überlauf (Overflow). Dieser Typ von NCO kann im Allgemeinen beispielsweise als einfacher NCO bezeichnet werden. Bei einem einfachen NCO wird einem binären N-Bit-Akkumulator wiederholt ein digitales Steuerwort, C, hinzugefügt. Der Akkumulator läuft periodisch über (d. h. immer wenn der Akkumulator 2N erreicht), wobei der Überlauf beispielsweise dazu verwendet werden kann, ein Ausgangsereignis in einer Ablaufsteuerungsanwendung zu erzeugen. Angenommen, dass das digitale Steuerwort C kleiner als 2N ist, dann beträgt die mittlere Frequenz des Akkumulatorüberlaufs in einem einfachen NCO:
    Figure 00010001
  • Wenn beispielsweise einem 8-Bit-Akkumulator bei 1 MHz der (dezimale) Wert 100 hinzugefügt wird, beträgt die mittlere NCO-Frequenz (100·1 MHz/256) = 390625 Hz.
  • Ein Beispiel für einen einfachen NCO ist der Harris Semiconductor HSP45102.
  • Bei Ablaufsteuerungsanwendungen muss ein NCO oftmals eine rationale Frequenz haben. Wie vorstehend erwähnt, läuft ein einfacher NCO insbesondere dann über, wenn der Akkumulator 2N erreicht. Ein einfacher NCO-Akkumulator kann mittels zusätzlicher Logik so modifiziert werden, dass er z. B. bei einer beliebigen ganzen Zahl, B, überläuft. In diesem Fall hat der NCO dann eine rationale Frequenz von C/B. Angenommen, dass C kleiner als B ist, dann beträgt die mittlere Frequenz des NCO-Akkumulators:
    Figure 00010002
  • Dieser Typ eines bekannten NCO kann beispielsweise als rationaler NCO bezeichnet werden.
  • NCOs müssen beispielsweise häufig einen auf den Bereich [0, 1) normierten binären gebrochenen Ausgang zur Verwendung bei Berechnungen oder Tabellennachschlagetätigkeiten (Tabellen-Lookups) bereitstellen. Ein einfacher NCO stellt diesen normierten Ausgang bereit – der Akkumulatorwert kann in dem Bereich [0, 1) als gebrochene N-Bit-Binärzahl betrachtet werden. Probleme entstehen jedoch dann, wenn ein normierter rationaler NCO erwünscht ist.
  • Insbesondere ist ein rationaler NCO-Akkumulator kein einfacher Binärzähler. Zur Umwandlung des rationalen NCO-Akkumulators in einen N-Bit-Binärbruch muss der Akkumulatorwert mit dem Wert (2N/B) multipliziert werden. Dieser Normierungsvorgang ist aus mehreren Gründen problematisch. Beispielsweise sind Multiplizierer im Allgemeinen große und teure digitale Schaltungen, insbesondere wenn sie mit hoher Geschwindigkeit laufen müssen, was bei NCOs häufig der Fall ist. Darüber hinaus kann das Berechnen des Werts (2N/B) eine Division erforderlich machen und Dividierer sind im Allgemeinen ebenfalls große und teuere digitale Schaltungen. Wenigstens aus diesen Gründen bringt das Normieren eines rationalen NCO im Allgemeinen hohe Kosten, sowohl im Hinblick auf den Konstruktionsraum als auch den Preis, mit sich.
  • Zusätzlich zur Normierung benötigen NCOs manchmal Anpassungen an eine aktuelle Frequenz und/oder Phase. Solche Anpassungen sind beispielsweise nötig, wenn der NCO in einem QPSK- oder FM-Sender verwendet wird. Ein einfacher NCO ermöglicht solche Anpassungen. Da der einfache NCO-Akkumulator eine Zweierpotenz ist, ist es ziemlich einfach, Phasenanpassungen um 90 Grad durchzuführen, und da der Akkumulatorwert normiert ist, haben die Anpassungen an das Steuerwort konsistente Effekte auf die Ausgangsfrequenz. Wiederum entstehen jedoch Probleme, wenn ein rationaler NCO erwünscht ist, da solche Phasenanpassungen bei einem rationalen NCO ziemlich schwierig sind. Phasenanpassungen rationaler NCOs bringen daher ebenfalls hohe Kosten mit sich, wiederum sowohl im Hinblick auf den Konstruktionsraum als auch den Preis, die auch auf die erforderliche Multiplikation zurückzuführen sind.
  • Im Stand der Technik wurde versucht, die in diesen Fallen erforderliche Multiplikation durch den Bau eines einfachen NCO mit sehr großen Akkumulatoren und Steuerworten zu vermeiden. Der vorstehend erwähnte Harris HSP 45102 beispielsweise hat nur einen 12-Bit-Ausgang, der Akkumulator und das Steuerwort umfassen jedoch 32 Bit. Die zusätzlichen 20 Präzisionsbits ermöglichen es dem einfachen NCO, sich an rationale Werte anzunähern. Das 32-Bit-Steuerwort kann sich beispielsweise dem rationalen Wert 1/3 bis auf ungefähr 1 Teil von 1 Milliarde annähern. Obgleich die Annäherung des einfachen NCO an 1/3 sehr genau sein kann, ist sie nicht exakt. Darüber hinaus driftet ein derartiger NCO mit der Zeit. Bei manchen Anwendungen ist diese Drift (Abweichung) nicht akzeptabel. Weitere Beschränkungen und Nachteile herkömmlicher und traditioneller Ansätze gehen für Fachleute auf dem Gebiet aus einem Vergleich solcher Systeme mit der vorliegenden Erfindung hervor, die im Rest der vorliegenden Anmeldung unter Bezugnahme auf die Zeichnungen dargelegt ist.
  • FR-A-2 671 246 offenbart einen programmierbaren Hochfrequenzgenerator oder -synthesizer mit Bruchauflösung, wobei ein NCO-System eine einen Überlaufwert generierende erste NCO-Schaltung und eine eine Ziffernfolge generierende zweite NCO-Schaltung umfasst, den Überlaufwert von der ersten NCO-Schaltung über eine Summiereinheit zu einer der Ziffernfolgen addiert und eine daraus resultierende Ziffernfolge ausgibt.
  • US 5,371,765 offenbart einen digitalen Direktsynthesizer des Phasenakkumulatortyps, der vollständig aus digitaler Binary-Radix-Hardware konstruiert ist, die Signale mit dezimal definierter Frequenzauflösung generiert. Dem Synthesizer wird ein Taktsignal zugeführt, das ebenfalls dezimal definiert ist. Die üblichen Dezimal-/Binär-Inkompatibilitätsprobleme einer solchen Kombination werden durch die Verwendung eines Phasenakkumulators überwunden, der in zwei Segmente aufgeteilt ist. Das erste Segment wird dem signifikantesten Teil der gewünschten Frequenz zugeordnet und das andere Segment dem restlichen Teil der gewünschten Frequenz. Die zwei Segmente haben unterschiedliche arithmetische Module. Typischerweise ist der Modul des ersten Segments eine Zweierpotenz, während derjenige des zweiten Segments eine ganze Zahl ist, die keine Zweierpotenz ist. Es wird ein Verfahren zum Bestimmen sowohl des Teilungspunkts als auch des zweiten arithmetischen Moduls angegeben.
  • US 6,259,727 offenbart ein Verfahren und Anordnungen zum Extrahieren einer Mehrzahl an Taktsignalen für Signalverarbeitungsschaltungen, insbesondere für ein digitales Modem, aus einem zugeführten Taktsignal, damit die zu extrahierenden Taktsignale in jedem Fall aus einem Ausgangssignal eines Akkumulators vorgegebener Bitbreite n gebildet werden. Der Akkumulator akkumuliert in jedem Fall ein Inkrement im Taktpuls des zugeführten Taktsignals und führt dabei eine Modulo-2N-Operation durch.
  • Zusammenfassung der Erfindung
  • Aspekte der vorliegenden Erfindung finden sich in einem numerisch gesteuerten Oszillatorsystem (NCO-System) mit einer ersten NCO-Schaltung und einer zweiten NCO-Schaltung. Die erste NCO-Schaltung, die beispielsweise einen rationalen NCO umfassen kann, generiert einen Überlaufwert. Die zweite NCO-Schaltung, die beispielsweise einen einfachen NCO umfassen kann, generiert eine Ziffernfolge, addiert den Überlaufwert von der ersten NCO-Schaltung zu einer oder mehreren der Ziffern in der Folge und gibt die daraus resultierende Ziffernfolge aus.
  • Die erste NCO-Schaltung generiert den Überlaufwert periodisch basierend auf der gewünschten rationalen Frequenz des Systems. Die erste NCO-Schaltung generiert den Überlaufwert beispielsweise während eines jeden von mehreren Zyklen des Systembetriebs und die zweite NCO-Schaltung addiert den Überlaufwert zu einer oder mehreren bestimmten Ziffern, die während solcher Zyklen generiert werden.
  • Die erste NCO-Schaltung wird mit ersten Informationen programmiert, die unter Verwendung der gewünschten rationalen Frequenz des Systems berechnet werden. Die ersten Informationen können dann dazu verwendet werden, den Überlaufwert zu generieren. Die zweite NCO-Schaltung wird desgleichen mit zweiten Informationen programmiert, die unter Verwendung der gewünschten rationalen Frequenz berechnet werden, und verwendet die zweiten Informationen und den Überlaufwert dazu, die gewünschte rationale Frequenz zu generieren.
  • Wenn die gewünschte rationale Frequenz durch das Verhältnis C/B dargestellt wird, können die ersten und zweiten Informationen unter Verwendung der folgenden Gleichung bestimmt werden:
    Figure 00040001
    wobei die ersten Informationen Werte für Y und B und die zweiten Informationen einen Wert für X umfassen.
  • Bei einer beispielhaften Implementierung akkumuliert die erste NCO-Schaltung einen ersten Eingangswert (z. B. Y) und generiert den Überlaufwert (z. B. die ganze Zahl 1), wenn ein Akkumulationsergebnis größer als ein zweiter Eingangswert (z. B. B) ist. Die zweite NCO-Schaltung akkumuliert einen dritten Eingangswert (z. B. X) und gibt eine 0 und eine 1 aus, wenn eine Kombination des Akkumulationsergebnisses und des Überlaufwerts selbst zu einem Überlaufzustand führt. Bei dieser Implementierung können die erste und die zweite NCO-Schaltung beispielsweise erste und zweite digitale Akkumulatoren umfassen.
  • Aspekte der vorliegenden Erfindung finden sich auch in einem System mit einem ersten NCO, der basierend auf einer gewünschten rationalen Frequenz einen Korrekturwert generiert, und einem zweiten NCO, der unter Verwendung des Korrekturwerts die gewünschte rationale Frequenz generiert.
  • Bei der Ausführungsform der Erfindung ist das System dazu in der Lage, einen Ausgang zu generieren, der auf den Bereich [0, 1) normiert ist.
  • Gemäß einem Aspekt der Erfindung wird ein numerisch gesteuertes Oszillatorsystem (NCO-System) bereitgestellt, das im unabhängigen Anspruch 1 definiert ist.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung gehen aus einem Studium der folgenden genauen Beschreibung der vorliegenden Erfindung zusammen mit den begleitenden Figuren hervor, in denen sich gleiche oder ähnliche Bezugszeichen überall auf gleiche oder ähnliche Teile beziehen.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt ein allgemeines Blockdiagramm eines NCO oder NCO-Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens darstellt, das in Verbindung mit dem erfindungsgemäßen NCO-System durchgeführt werden kann.
  • 3 zeigt eine Implementierung des NCO-Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein beispielhaftes Systemblockdiagramm einer Abtastratenumwandlungsanwendung, bei der Ausführungsformen des erfindungsgemäßen NCO-Systems verwendet werden können.
  • 5 ist eine Zeitachse, die den Betrieb einer spezifischen Abtastratenumwandlungsanwendung gemäß dem Diagramm aus 4 darstellt.
  • 6 zeigt eine beispielhafte Implementierung des NCO gemäß 4 für das in 5 dargestellte Beispiel.
  • Genaue Beschreibung der Erfindung
  • 1 zeigt ein allgemeines Blockdiagramm eines NCO oder NCO-Systems gemäß einer Ausführungsform der vorliegenden Erfindung. Das NCO-System 100 umfasst im Wesentlichen eine Kombination aus einem rationalen NCO 101 und einem einfachen NCO 103. Der rationale NCO 101 generiert einen Korrektur- oder Überlaufwert 105, der dem einfachen NCO 103 zugeführt wird. Der einfache NCO 103 verwendet den Korrektur- oder Überlaufwert 105 in Verbindung mit dem Generieren eines Ausgangs 107. Der Ausgang 107 umfasst im Allgemeinen einen binären Ausgang, der eine rationale Frequenz und eine normierte Phase aufweist.
  • Spezifischer wird gemäß der vorliegenden Erfindung eine beliebige gewünschte rationale Frequenz oder ein beliebiger gewünschter Bruch, z. B. C/B, als Summe zweier Brüche umgeschrieben:
    Figure 00060001
  • Der erste Bruch, X/2N, stellt eine Annäherung eines einfachen NCO an C/B dar und entspricht beispielsweise dem einfachen NCO 103 aus 1. Der zweite Bruch, (Y/B)/2N, ist ein rationaler NCO, wie etwa beispielsweise der rationale NCO 101 aus 1, der dem einfachen NCO eine kleine Korrektur zuführt. Diese Korrektur hält den einfachen NCO im Allgemeinen davon ab, zu driften.
  • Der einfache NCO stellt einen binären N-Bit-Ausgang bereit, der auf den Bereich [0, 1) normiert ist. Der Ausgang kann leicht auf jede gewünschte Genauigkeit erweitert werden. Darüber hinaus kann der einfache NCO-Akkumulator leicht für eine Phasen- oder Frequenzmodulation angepasst werden.
  • Bezug nehmend nochmals auf die obige Gleichung, lautet die Gleichung zum Erzeugen beispielsweise eines NCO mit einer Frequenz von 2/9 und einem normierten 4-Bit-Ausgang wie folgt:
    Figure 00070001
  • Der Zyklus-für-Zyklus-Betrieb dieses NCO ist in der folgenden Tabelle zusammengefasst:
    Rationaler NCO mit f = 5/9 Einfacher NCO mit f = 3/16 + Überlauf vom rationalen NCO Normierter 4-Bit-Ausgang (dezimal)
    0/9 0/16 0
    5/9 3/16 3
    1/9 (Überlauf) 6/16 + 1/16 = 7/16 7
    6/9 10/16 10
    2/9 (Überlauf) 13/16 + 1/16 = 14/16 14
    7/9 1/16 (*Überlauf) 1
    3/9 (Überlauf) 4/16 + 1/16 = 5/16 5
    8/9 8/16 8
    4/9 (Überlauf) 11/16 + 1/16 = 12/16 12
    0/9 (Überlauf) 15/16 + 1/16 = 0/16 (*Überlauf) 0
    5/9 3/16 3
    1/9 (Überlauf) 6/16 + 1/16 = 7/16 7
    6/9 10/16 10
    2/9 (Überlauf) 13/16 + 1/16 = 14/16 14
    7/9 1/16 (*Überlauf) 1
    3/9 (Überlauf) 4/16 + 1/16 = 5/16 5
  • Die erste Spalte der Tabelle entspricht allgemein dem zweiten Bruch, (5/9)/16, und stellt den Betrieb des rationalen NCO mit einer Frequenz von 5/9 dar. Mit anderen Worten, der rationale NCO läuft alle 9 Zyklen 5-mal über (wie aus der ersten Spalte der Tabelle ersichtlich ist).
  • Die zweite Spalte der Tabelle entspricht allgemein dem ersten Bruch, 3/16, und stellt den Betrieb eines einfachen NCO mit einer Frequenz von 3/16 zuzüglich des Überlaufs vom rationalen NCO dar. Wie aus der zweiten Spalte ersichtlich ist, läuft der Ausgang des einfachen NCO alle 9 Zyklen zweimal über.
  • Schließlich ist der NCO-Ausgang, wie der dritten Spalte der Tabelle zu entnehmen ist, ein 4-Bit-Ausgang und auf den Bereich [0, 1) normiert und weist die gewünschte Frequenz von 2/9 auf.
  • 2 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens darstellt, das in Verbindung mit dem erfindungsgemäßen NCO-System durchgeführt werden kann. Zunächst wird basierend auf einem gewünschten rationalen Verhältnis oder einer gewünschten rationalen Frequenz eine Ziffernfolge generiert (Schritt 201). Dieser Schritt kann beispielsweise von dem einfachen NCO 103 gemäß 1 durchgeführt werden. Außerdem wird ein Korrekturwert, der ebenfalls auf dem gewünschten rationalen Verhältnis basiert, generiert (Schritt 203). Dieser Schritt kann beispielsweise von dem NCO 101 gemäß 1 durchgeführt werden. Als Nächstes werden bestimmte Ziffern in der Folge unter Verwendung des Korrekturwerts angepasst (Schritt 205). Es werden beispielsweise diejenigen Ziffern angepasst, die während derselben Zyklen generiert wurden, in denen der Korrekturwert erzeugt wird. Schließlich wird die Ziffernfolge mit den Anpassungen ausgegeben (Schritt 207).
  • 3 zeigt eine beispielhafte Implementierung des NCO-Systems gemäß einer Ausführungsform der vorliegenden Erfindung. Zur Implementierung des N-Bit-NCO 300 gemäß 3 wird die vorstehend besprochene Gleichung verwendet. Der NCO 300 gemäß 3 umfasst im Wesentlichen zwei Abschnitte, nämlich einen rationalen NCO-Abschnitt 301 und einen einfachen NCO-Abschnitt 303. Bei der in 3 gezeigten Implementierung akkumuliert der rationale NCO-Abschnitt 301 den Wert von Y. Wenn das Ergebnis größer als B ist, wird B von dem Ergebnis subtrahiert und ein Wert von 1 zu dem einfachen NCO-Abschnitt 303 addiert. Der Abschnitt 303 akkumuliert einfach den Wert von X und addiert den vom Abschnitt 301 empfangenen Wert 1. Der Abschnitt 303 gibt eine N-Bit-Phase aus.
  • Die Implementierung gemäß 3 hat mehrere Vorteile. Sie ist beispielsweise klein und einfach (es ist keine Multiplikation oder Division erforderlich), sie gibt eine Phase aus, die bis auf N Bits genau ist, und sie stellt das Verhältnis C/B exakt dar.
  • 4 ist ein beispielhaftes Blockdiagramm einer Abtastratenumwandlungsanwendung, bei der der erfindungsgemäße NCO verwendet werden kann. In 4 wird ein erfindungsgemäßer NCO 401 dazu verwendet, die Abtastratenumwandlung von der Rate M in die Rate N (N > M) zu steuern. Die Abtastratenumwandlung wird durch Interpolieren zwischen Eingangsabtastwerten durchgeführt.
  • Ein Ausgangsabtastwert (output sample) kann beispielsweise bei einem Eingangsabtastwert (input sample) 3,279 liegen. Mit anderen Worten, der Ausgangsabtastwert liegt zwischen den Eingangsabtastwerten 3 und 4, wobei sich der Ausgangsabtastwert näher bei dem Eingangsabtastwert 3 befindet als bei dem Eingangsabtastwert 4. Die Stellen hinter dem Komma der Ausgangslage werden als "Phase" bezeichnet und durch P dargestellt. Die Phase ist bei diesem Beispiel gleich 0,279. Eine lineare Interpolation lautet beispielsweise wie folgt: out = in4·(P) + in3·(1 – P).
  • Eine beispielhafte Abtastratenumwandlung unter Verwendung der Implementierung gemäß 4 umfasst die Umwandlung von M = 44,1 kHz Audio in N = 48 kHz Audio. In diesem Fall ist M/N = 441/480 = 147/160. Ausgehend davon, dass es die Abtastratenumwandlung verlangt, dass die Phase bis auf 16 Bits genau ist, ist der Betrieb dieses Systems auf der Zeitachse gemäß 5 dargestellt.
  • 6 zeigt eine beispielhafte Implementierung des NCO 400 gemäß 4 für das in 5 dargestellte Beispiel, das eine Audioumwandlung von einer Ausgangsrate von 44,1 kHz in eine Ausgangsrate von 48 kHz umfasst. Der NCO 600 gemäß 6 entspricht dem NCO 300 gemäß 3. Zur Implementierung eines 16-Bit-NCO wird die obige Gleichung zum Berechnen der Werte von Y, B und X verwendet: 147/160 = 60211/65536 + (32/160)/65536(Man beachte, dass 216 = 65536). Wie der NCO 300 gemäß 3, umfasst der NCO 400 im Wesentlichen zwei Abschnitte, nämlich einen rationalen NCO-Abschnitt 601 und einen einfachen NCO-Abschnitt 603. Der rationale NCO-Abschnitt 601 akkumuliert den Wert 32. Wenn das Ergebnis größer als 160 ist, wird 160 von dem Ergebnis subtrahiert und ein Wert von 1 (eins) zu dem einfachen NCO-Abschnitt 603 addiert.
  • Der einfache NCO-Abschnitt 603 akkumuliert einfach den Wert 60211 und addiert den Wert 1 vom rationalen NCO 601.
  • Der NCO 600 gemäß 6 gibt eine Phase aus, die bis auf 16 Bits genau ist und das Frequenzverhältnis 147/160 (d. h. 441/480) exakt darstellt. Darüber hinaus hat der NCO 600 gemäß 6 den Vorteil der Programmierbarkeit. Spezifischer können beispielsweise die Eingangswerte (32, 160 und 60211) programmiert werden, um die Ausgangsrate zu verändern.
  • Das erfindungsgemäße NCO-System ist bis auf eine gewählte Bitanzahl genau und driftet mit der Zeit nicht von seiner erwarteten Frequenz ab.

Claims (1)

  1. System aus NCOs, das umfasst: – einen rationalen NCO mit einem ersten Eingang zum Empfangen eines ersten ganzzahligen Werts Y und einem zweiten Eingang zum Empfangen eines zweiten ganzzahligen Werts B sowie einem Überlaufausgang zur periodischen Ausgabe eines Überlaufwerts, wobei der rationale NCO den ersten Eingangswert Y akkumuliert und den Überlaufwert generiert, wenn ein Akkumulationsergebnis größer als der zweite Eingangswert B ist, – einen einfachen NCO mit einem Addierer und einem N-Bit-Register, wobei der Addierer dafür ausgelegt ist, einen dritten Eingangswert X, den Überlaufwert vom rationalen NCO und einen Ausgang des N-Bit-Registers zu addieren, wobei der Addierer das Ergebnis der Addition an das N-Bit-Register ausgibt, und wobei der rationale NCO dafür ausgelegt ist, einen Überlaufwert auszugeben, der gleich 1 ist, – dadurch gekennzeichnet, dass die Eingangswerte X, Y und B so gewählt werden, dass der Ausgang des N-Bit-Registers des einfachen NCO periodisch ist und eine gewünschte rationale Frequenz C/B hat, die auf den Bereich [0, 1) normiert und gleich
    Figure 00110001
    ist, wobei C und B ganze Zahlen sind und N die Bitanzahl des N-Bit-Registers darstellt.
DE60319904T 2002-04-26 2003-04-25 Ein numerisch gesteuerter Oszillator (NCO) zur Erzeugung von Frequenzen mit rationalem Teilervehältnis Expired - Lifetime DE60319904T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US133461 1998-08-13
US10/133,461 US6954114B2 (en) 2002-04-26 2002-04-26 NCO with rational frequency and normalized phase

Publications (2)

Publication Number Publication Date
DE60319904D1 DE60319904D1 (de) 2008-05-08
DE60319904T2 true DE60319904T2 (de) 2009-04-09

Family

ID=28791017

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60319904T Expired - Lifetime DE60319904T2 (de) 2002-04-26 2003-04-25 Ein numerisch gesteuerter Oszillator (NCO) zur Erzeugung von Frequenzen mit rationalem Teilervehältnis

Country Status (3)

Country Link
US (1) US6954114B2 (de)
EP (1) EP1357460B1 (de)
DE (1) DE60319904T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7262645B2 (en) * 2002-12-19 2007-08-28 Broadcom Corporation System and method for adjusting the phase of a frequency-locked clock
US7707235B2 (en) 2004-01-28 2010-04-27 Nxp B. V. Free-running numerically-controlled oscillator using complex multiplication with compensation for amplitude variation due to cumulative round-off errors
US7599462B2 (en) * 2006-09-25 2009-10-06 Cirrus Logic, Inc. Hybrid analog/digital phase-lock loop with high-level event synchronization
US7680236B1 (en) 2006-09-25 2010-03-16 Cirrus Logic, Inc. Hybrid analog/digital phase-lock loop for low-jitter synchronization
US7830951B2 (en) * 2007-03-30 2010-11-09 Sirf Technology Holdings, Inc. Efficient and flexible numerical controlled oscillators for navigational receivers
US8510589B2 (en) * 2008-08-29 2013-08-13 Intel Mobile Communications GmbH Apparatus and method using first and second clocks
US9048846B2 (en) 2008-08-29 2015-06-02 Intel Mobile Communications, Gmbh Device having digitally controlled oscillator
US8076977B2 (en) * 2008-08-29 2011-12-13 Infineon Technologies Ag Device having digitally controlled oscillator
US8271568B2 (en) 2008-08-29 2012-09-18 Infineon Technologies Ag Digital filter
US9632526B2 (en) * 2012-11-26 2017-04-25 Microchip Technology Incorporated Microcontroller with digital clock source
BR112017019570A2 (pt) 2015-04-08 2018-05-02 Halliburton Energy Services Inc sistema e método

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2671246B1 (fr) * 1990-12-27 1993-04-16 Erfatec Synthetiseur de frequence a resolution fractionnaire et programmable et son application a la synthese de frequences elevees.
GB2262006B (en) * 1991-11-30 1995-06-21 Technophone Ltd Digital radio modulator
US5371765A (en) * 1992-07-10 1994-12-06 Hewlett-Packard Company Binary phase accumulator for decimal frequency synthesis
US5504785A (en) * 1993-05-28 1996-04-02 Tv/Com Technologies, Inc. Digital receiver for variable symbol rate communications
US5521534A (en) * 1995-06-21 1996-05-28 Dsc Communications Corporation Numerically controlled oscillator for generating a digitally represented sine wave output signal
US5808493A (en) * 1995-08-03 1998-09-15 Anritsu Corporation Rational frequency division device and frequency synthesizer using the same
US5673212A (en) * 1995-09-01 1997-09-30 Motorola, Inc. Method and apparatus for numerically controlled oscillator with partitioned phase accumulator
US5748677A (en) * 1996-01-16 1998-05-05 Kumar; Derek D. Reference signal communication method and system
DE19608666A1 (de) * 1996-03-06 1997-09-11 Bosch Gmbh Robert Verfahren und Anordnung zur Ableitung von mehreren Taktsignalen

Also Published As

Publication number Publication date
US20030201840A1 (en) 2003-10-30
EP1357460A2 (de) 2003-10-29
EP1357460A3 (de) 2006-03-08
DE60319904D1 (de) 2008-05-08
EP1357460B1 (de) 2008-03-26
US6954114B2 (en) 2005-10-11

Similar Documents

Publication Publication Date Title
DE60122787T2 (de) Digitaler frequenzvervielfacher
DE60319904T2 (de) Ein numerisch gesteuerter Oszillator (NCO) zur Erzeugung von Frequenzen mit rationalem Teilervehältnis
EP0406469B1 (de) Digitale Steuerschaltung für Abstimmsysteme
DE69731313T2 (de) Vorrichtung und verfahren zur tastaturkodierung
DE69925136T2 (de) Elektronische zeitmessvorrichtung mit zeitangabe auf einem dezimalsystem basierend
DE2643359A1 (de) Signalgenerator und verfahren zur erzeugung eines einer tastenfeldvorwahl entsprechenden ausgangssignals
EP1271173A2 (de) Verfahren zum Betrieb eines NMR-Spektrometers mit einem DDS-Generator
DE60211860T2 (de) Erzeugung von zufallszahlen
DE3013250A1 (de) Digitalsignalgenerator
DE3586366T2 (de) Verfahren und schaltung zur erzeugung eines zeitvariablen signals.
CH622113A5 (de)
DE2631496C3 (de) Superhet-Empfänger
DE60128696T2 (de) Frequenzsynthesizer
DE102008064063B4 (de) Steuersignalerzeugungsschaltung zur Einstellung eines Periodenwerts eines erzeugten Taktsignals als die Periode eines Referenzsignals, multipliziert mit oder dividiert durch eine beliebige reelle Zahl
DE2800858A1 (de) Digital-kodierter frequenzgenerator
DE102009052481B4 (de) Phasenregelkreis
DE102009039430B4 (de) Vorrichtung und Verfahren mit ersten und zweiten Zeittakten
DE102008051222B4 (de) Schaltung eines Funksystems, Verwendung und Verfahren zum Betrieb
EP0621965B1 (de) Pc-gesteuerter direct-digital-synthesizer
EP0080970B1 (de) Auf nichtganze Teilungszahlen einstellbarer Frequenzteiler
DE3046772A1 (de) Taktgenerator
EP0323595B1 (de) Schaltunganordnung zum Erzeugen eines elektrischen Sinussignals mit veränderlicher Frequenz
DE2531945C3 (de) Schaltung zur Erzeugung von Gleichspannungen
EP1016219B1 (de) Verfahren und einrichtung zum erzeugen eines ausgangssignals
DE2435279C2 (de) Elektronischer Frequenzzähler

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M