The present invention is related to a numerically controlled oscillator.
A numerically (or digitally) controlled oscillator is an electronic system for synthesizing a range of frequencies in response to a digital signal. The range of frequencies generated by a numerically controlled oscillator is related to the bit resolution of the input digital signal and the clock used to control the numerically controlled oscillator. In particular, the generated frequencies are less than half of the frequency of the clock used to control the numerically controlled oscillator as a result of Nyquist's theorem.
If a relatively high degree of accuracy is desired, the use of a ROM structure to perform the phase to amplitude conversion requires an appreciably large amount of memory. Typically, implementations of phase to amplitude converter 104 truncate phase signal 103 (i.e., drop a number of the least significant bits) thereby reducing the amount of necessary memory. The truncation of phase signal 103 generates an error in digital amplitude signal 105. The error in digital amplitude signal 105 also generates spurs in the analog output signal.
A number of mechanisms have been implemented in an attempt to mitigate the error generated by truncation of phase signal 103. For example, an additional ROM can be programmed with an additive correction factor as described in U.S. Pat. No. 4,855,946. Alternatively, a power series expansion may be used to approximate the error as described in U.S. Pat. No. 4,905,177. A trigonometric expansion may be applied where combined terms of the trigonometric expansion are placed in respective ROMs for summation to construct an improved approximation as described in “CMOS/SOS Frequency Synthesizer LSI Circuit for Spread Spectrum Communications,” David Sutherland et al., IEEE Journal of Solid-State Circuits, VOL SC-19, No. 4, August 1984. Also, a repetitive algorithm may be applied to generate an improved approximation as described in U.S. Pat. No. 5,757,253. Although all of these mechanisms mitigate the error associated with the truncation, a degree of error remains in digital amplitude signal 105. The error propagates through to the analog output signal.
Representative embodiments are directed to numerically controlled oscillators and methods of operation. Representative embodiments enable a reduction in the total amount of memory used by ROM units of numerically controlled oscillators by utilizing a trigonometric identity. In one representative embodiment, a phase-to-amplitude converter receives a digital phase signal (represented by Φ) from a phase accumulator. The received digital phase signal may be a truncation or may include all of the bits from the phase accumulator. The phase-to-amplitude converter includes a first set of ROM units for storing sine and cosine values corresponding to the most significant bits (represented by θc) of Φ. The phase-to-amplitude converter includes a second set of ROM units for storing sine and cosine values corresponding to the lesser significant bits (represented by θf) of Φ. The sine and cosine values retrieved by the ROM units are combined according to sin(θc)·cos(θf)+sin(θf)·cos(θc) to generate a digital amplitude signal. Furthermore, the use of the trigonometric identity to reduce the amount of memory associated with the ROM units does not compromise the accuracy of the phase to amplitude conversion. Specifically, the use of the trigonometric identity does not involve any algorithmic error.
Referring now to one representative embodiment shown in
As shown in
Furthermore, truncated signal 212 is separated into a “coarse” portion (θc) and a “fine” portion (θf). The lines of bus 210 corresponding to the “coarse” bits [47:38] and the lines corresponding to “fine” bits [37:28] are provided to separate components within phase-to-amplitude converter 250.
Phase-to-amplitude converter 250 enables a reduction in the size of ROM units 201-204 without loss of accuracy in the calculation of digital amplitude signal 211 (V(k)). Specifically, phase-to-amplitude converter 250 uses the trigonometric identity of equation (1).
sin(Φ′)=sin(θc+θf)=sin(θc)·cos(θf)+sin(θf)·cos(θc), where Φ′=θc+θf. (1)
In the embodiment shown in
Using the trigonometric identity of equation (1), the sine value from ROM unit 201 and the cosine value from ROM unit 204 are provided to multiplier 207. The sine value from ROM unit 203 and the cosine value from ROM unit 202 are provided to multiplier 208. The products from multipliers 207 and 208 are summed by adder 209 to generate digital amplitude signal 211 (V(k)). Digital amplitude signal 211 is converted into an analog signal by digital to analog converter (DAC) 106. Alternatively, other processing may occur before digital to analog conversion. For example, amplitude modulation may be performed in the digital domain if desired for a particular application. Similarly, phase modulation may be performed by suitably processing phase signal 103. Frequency modulation may be performed by suitably processing frequency input digital signal 102.
By implementing phase-to-amplitude converter 250 according to the representative embodiment shown in
Moreover, the reduction in the total amount of memory occurs without any loss in accuracy. Specifically, equation (1) used by phase-to-amplitude converter 250 is a trigonometric identity and is not an approximation. Thus, the reduction in the amount of memory associated with ROM units 201-204 does not cause any error in the phase-to-amplitude conversion. In contrast, known approximation methods of reducing the amount of memory for phase-to-amplitude conversion involve intrinsic algorithmic error. By implementing numerically controlled oscillator 200 as shown in
To calculate the I and Q channels in the digital domain, the outputs of ROM units 201 and 203 are provided to multiplier 301. The outputs of ROM units 201 and 204 are provided to multiplier 302. The outputs of ROM units 201 and 204 are provided to multiplier 302. Also, the output of ROM unit 202 and ROM unit 203 are provided to multiplier 303. The output of ROM unit 203 and ROM unit 201 are provided to multiplier 304. The output of ROM unit 204 and ROM unit 202 are provided to multiplier 304. The Q-channel (V sin(k) 307) is generated by adder 305 using the outputs of multipliers 302 and 303. The I-channel (V cos(k) 308) is generated by adder 306 which sums the negative value of the output of multiplier 301 with the output of multiplier 304. Digital to analog conversion is performed for the Q-channel by DAC 106a. Likewise, digital to analog conversion is performed for the I-channel by DAC 106b Other suitable signal processing may occur in the digital domain before digital to analog conversion as appropriate for a particular application.
Representative embodiments enable a reduction in the total amount of memory used for ROM units for numerically controlled oscillators. Representative embodiments further enable phase-to-amplitude conversion to occur in a more accurate manner by using a trigonometric identity instead of a numerical approximation. Furthermore, the accuracy associated with the phase-to-amplitude conversion mitigates spurs exhibited in analog signals derived from numerically controlled oscillators.
Number | Name | Date | Kind |
---|---|---|---|
4855946 | Ruben et al. | Aug 1989 | A |
4905177 | Weaver, Jr. et al. | Feb 1990 | A |
5276633 | Fox et al. | Jan 1994 | A |
5321642 | Goldberg | Jun 1994 | A |
5467294 | Hu et al. | Nov 1995 | A |
5737253 | Madisetti et al. | Apr 1998 | A |
RE36388 | Fox et al. | Nov 1999 | E |
6587862 | Henderson | Jul 2003 | B1 |
6807554 | Vergel | Oct 2004 | B2 |
6867625 | Stoyanov | Mar 2005 | B1 |
Number | Date | Country | |
---|---|---|---|
20050278403 A1 | Dec 2005 | US |