Numerically controlled oscillator: Difference between revisions

Content deleted Content added
lighter correction
m compound modifier
 
(6 intermediate revisions by 5 users not shown)
Line 1:
{{short description|Digital signal generator}}
 
A '''numerically- controlled oscillator''' ('''NCO''') is a digital [[signal generator]] which creates a [[Synchronous circuit|synchronous]] (i.e., clocked), discrete-time, discrete-valued representation of a [[waveform]], usually [[sinusoidal]].<ref name="IEEE">{{cite book |last=Radatz |first=J. |title=The IEEE Standard Dictionary of Electrical and Electronics Terms |publisher=IEEE Standards Office |___location=New York, NY |year=1997 }}</ref> NCOs are often used in conjunction with a [[digital-to-analog converter]] (DAC) at the output to create a [[direct digital synthesizer]] (DDS).{{#tag:ref|While some authors use the terms DDS and NCO interchangeably,<ref name="latticeSC" /> by convention an NCO refers to the digital (i.e. the discrete-time, discrete amplitude) portion of a DDS<ref name="IEEE"/>}}
 
Numerically- controlled oscillators offer several advantages over other types of oscillators in terms of agility, accuracy, stability and reliability.<ref name="latticeSC">{{ cite web | title = Numerically Controlled Oscillator | url = http://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores02/NumericallyControlledOscillator.aspx | publisher = Lattice Semiconductor Corporation | year = 2009 }}</ref> NCOs are used in many communications systems including digital up/down converters used in 3G wireless and software radio systems, digital PLLs[[phase-locked loop]]s, radar systems, drivers for optical or acoustic transmissions, and multilevel [[Frequency-shift keying|FSK]]/[[Phase-shift keying|PSK]] modulators/demodulators.<ref name="latticeSC"/>
 
==Operation==
Line 11:
*A ''phase-to-amplitude converter'' (PAC), which uses the phase accumulator output word (phase word) usually as an index into a waveform [[look-up table]] (LUT) to provide a corresponding amplitude sample. Sometimes [[linear interpolation|interpolation]] is used with the look-up table to provide better accuracy and reduce phase error noise. Other methods of converting phase to amplitude, including mathematical algorithms such as [[power series]] can be used, particularly in a software NCO.
 
[[Image:Generic NCO.png|frame|Figure 1: Numerically- controlled oscillator with optional quadrature output]]
 
When clocked, the phase accumulator (PA) creates a [[modulo operation|modulo]]-2<sup>N</sup> [[sawtooth wave]]form which is then converted by the phase-to-amplitude converter (PAC) to a sampled sinusoid, where N is the number of bits carried in the phase accumulator. N sets the NCO frequency resolution and is normally much larger than the number of bits defining the memory space of the PAC [[look-up table]]. If the PAC capacity is 2<sup>M</sup>, the PA output word must be truncated to M bits as shown in Figure 1. However, the truncated bits can be used for interpolation. The truncation of the phase output word does not affect the frequency accuracy but produces a time-varying periodic phase error which is a primary source of spurious products. Another spurious product generation mechanism is finite word length effects of the PAC output (amplitude) word.<ref name="kroupa">{{cite book |last=Kroupa |first=V. F. |title=Direct Digital Frequency Synthesizers |publisher=IEEE Press |year=1999 |isbn=0-7803-3438-8}}</ref>
Line 22:
[[Image:Phase Accum Graph.png|frame|Figure 2: Normalized phase accumulator output]]
 
The adder is designed to overflow when the sum of the [[absolute value]] of its operands exceeds its capacity (2<sup>N</sup>−1). The overflow bit is discarded so the output word width is always equal to its input word width. The remainder <math>\phi _n</math>, called the residual, is stored in the register and the cycle repeats, starting this time from <math>\phi _n</math> (see figure 2).<ref name="Grzeg"/> Since a phase accumulator is a [[finite -state machine]], eventually the residual at some sample K must return to the initial value <math>\phi _0</math>. The interval K is referred to as the grand repetition rate (GRR) given by
:<math>\mbox{GRR}=\frac{2^N}{\mbox{GCD}(\Delta F,2^N)}</math>
 
Line 35:
 
==Phase-to-amplitude converter==
The phase-amplitude converter creates the sample-___domain waveform from the truncated phase output word received from the PA. The PAC can be a simple [[read only memory]] containing 2<sup>M</sup> contiguous samples of the desired output waveform which typically is a sinusoid. Often though, various tricks are employed to reduce the amount of memory required. This include various trigonometric expansions,<ref>{{ cite patent | inventor-last = Miller | inventor-first = B. M. | issue-date = October 14, 2008 | title = Numerically controlled oscillator and method of operation | country-code = US | patent-number = 7437391 }}</ref> trigonometric approximations<ref name="Grzeg">{{ cite web | first1 = G. | last1 = Popek | first2 = M. | last2 = Kampik | title = Low-Spur Numerically Controlled Oscillator Using Taylor Series Approximation | url = http://mechatronika.polsl.pl/owd/pdf2009/030.pdf | date = October 2009 | work = XI International PhD Workshop OWD 2009 | publisher = Silesian University of Technology | ___location = Gliwice, Poland | access-date = 2010-02-12 | archive-date = 2011-08-20 | archive-url = https://web.archive.org/web/20110820213740/http://mechatronika.polsl.pl/owd/pdf2009/030.pdf | url-status = dead }}</ref> and methods which take advantage of the quadrature symmetry exhibited by sinusoids.<ref>{{ cite patent | inventor1-last = McCallister | inventor1-first = R. D. | inventor2-last = Shearer | inventor2-first = D. | publication-date = 12/04/1984 | title = Numerically controlled oscillator using quadrant replication and function decomposition | country-code = US | patent-number = 4486846 }}</ref> Alternatively, the PAC may consist of [[random access memory]] which can be filled as desired to create an [[arbitrary waveform generator]].
 
==Spurious products==
Line 66:
 
==See also==
* [[Direct digital synthesis]] (DDS)
* [[Digital-to-analog converter]] (DAC)
* [[Digitally controlled oscillator]] (DCO)
* [[Direct digital synthesis]] (DDS)
 
==References==
Line 75:
{{good article}}
 
{{DEFAULTSORT:Numerically- controlled oscillator}}
[[Category:Digital signal processing]]
[[Category:Synthesizers]]