Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Numerically controlled oscillator
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Spurious products== [[Spurious emission|Spurious]] products are the result of [[harmonic distortion|harmonic]] or non-harmonic [[distortion]] in the creation of the output waveform due to non-linear numerical effects in the signal processing chain. Only numerical errors are covered here. For other distortion mechanisms created in the [[digital-to-analog converter]] see the corresponding section in the [[Direct digital synthesizer|direct-digital synthesizer]] article. ===Phase truncation spurs=== The number of phase accumulator bits of an NCO (N) is usually between 16 and 64. If the PA output word were used directly to index the PAC look-up table an untenably high storage capacity in the ROM would be required. As such, the PA output word must be truncated to span a reasonable memory space. Truncation of the phase word causes [[phase modulation]] of the output sinusoid which introduces non-harmonic [[distortion]] in proportion to the number of bits truncated. The number of spurious products created by this distortion is given by: :<math>n_W=\frac{2^W}{\mbox{GCD}(\Delta F,2^W)}-1</math> (3) where W is the number of bits truncated. In calculating the [[spurious-free dynamic range]], we are interested in the spurious product with the largest amplitude relative to the carrier output level given by: :<math>\zeta _{max}=2^{-M} \frac{\pi \mbox{GCD}(\Delta F,2^W)}{\sin \left( \pi \cdot 2^{-P}\mbox{GCD}(\Delta F,2^W) \right)}</math> where P is the size of the phase-to-amplitude converter's lookup table in bits, i.e., M in Figure 1. For W >4, :<math>\zeta _{max} \approx -6.02 \cdot P\;\mbox{dBc}.</math> Another related spurious generation method is the slight modulation due to the GRR outlined above. The amplitude of these spurs is low for large N and their frequency is generally too low to be detectable but they may cause issues for some applications.<ref name="Grzeg"/> One way to reduce the truncation in the address lookup is to have several smaller lookup tables in parallel and use the upper bits to index into the tables and the lower bits to weigh them for linear or quadratic interpolation. Ie use a 24-bit phase accumulator to look up into two 16-bit LUTS. Address into the truncated 16 MSBs, and that plus 1. Linearly interpolate using the 8 LSBs as weights. (One could instead use 3 LUTs instead and quadratically interpolate). This can result in decreased distortion for the same amount of memory at the cost of some multipliers. ===Amplitude truncation spurs=== Another source of spurious products is the amplitude [[Quantization (signal processing)|quantization]] of the sampled waveform contained in the PAC look up table(s). If the number of DAC bits is P, the AM spur level is approximately equal to β6.02 P β 1.76 [[dBc]].<ref name="intersil">{{ cite web | title = The NCO as a Stable, Accurate Synthesizer | url = http://www.intersil.com/content/dam/Intersil/documents/tb31/tb318.pdf | id = TB318.1 | publisher = Intersil Corporation | year = 1998 }}</ref> ===Mitigation techniques=== Phase truncation spurs can be reduced substantially by the introduction of [[White noise|white gaussian noise]] prior to truncation. The so-called [[dither]] noise is summed into the lower W+1 bits of the PA output word to linearize the truncation operation. Often the improvement can be achieved without penalty because the DAC noise floor tends to dominate system performance. Amplitude truncation spurs can not be mitigated in this fashion. Introduction of noise into the static values held in the PAC ROMs would not eliminate the cyclicality of the truncation error terms and thus would not achieve the desired effect.<ref name="kroupa"/>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)