Suppressing spurious signals in direct-digital synthesizers
11563444 · 2023-01-24
Assignee
Inventors
Cpc classification
H03M1/282
ELECTRICITY
H03M1/126
ELECTRICITY
H03M1/665
ELECTRICITY
H03M1/0639
ELECTRICITY
G06F1/022
PHYSICS
International classification
Abstract
A technique for generating analog waveforms includes combining a desired, in-band signal with a randomizing, out-of-band signal at an input of a DAC, operating the DAC to generate DAC output based on a combination of the desired signal and the randomizing signal, and filtering the DAC output to pass the desired signal while removing the randomizing signal.
Claims
1. A method of generating analog waveforms, comprising: combining a first digital signal with a second digital signal at an input of a DAC (digital-to-analog converter), the first digital signal representing a desired output waveform, the second digital signal providing randomizing content; operating the DAC to generate DAC output based on a combination of the first digital signal and the second digital signal; and filtering the DAC output to pass the desired output waveform while removing the randomizing content.
2. The method of claim 1, wherein the first digital signal extends over a first bandwidth, and wherein the second digital signal extends over a second bandwidth, the first bandwidth distinct from the second bandwidth and higher in frequency than the second bandwidth.
3. The method of claim 2, wherein the first bandwidth has a lower frequency limit, wherein the second bandwidth has an upper frequency limit, and wherein the upper frequency limit of the second bandwidth extends to at least one-half the lower frequency limit of the first bandwidth.
4. The method of claim 3, wherein the upper frequency limit of the second bandwidth is a positive frequency, and wherein the second bandwidth further has a lower frequency limit that is a negative frequency.
5. The method of claim 4, wherein the negative frequency of the lower frequency limit of the second bandwidth has a same absolute value as the upper frequency limit of the second bandwidth.
6. The method of claim 2, wherein the second bandwidth extends over a frequency range that includes both positive and negative frequencies.
7. The method of claim 1, further comprising generating the second digital signal based at least in part on: generating a sequence of multi-bit digital values, the multi-bit digital values being random or pseudo-random; and transforming the multi-bit digital values into sinusoidally-varying digital values, the sinusoidally-varying digital values having frequencies based on the multi-bit digital values.
8. The method of claim 7, wherein the sequence of multi-bit digital values is generated at a first rate, wherein the DAC is activated to generate new output at a second rate, and wherein the second rate is a multiple of the first rate.
9. The method of claim 7, further comprising interpolating between successive multi-bit digital values of the sequence of multi-bit digital values, the interpolating causing the sinusoidally-varying digital values to change frequency incrementally over multiple time intervals between successive multi-bit digital values.
10. The method of claim 9, wherein interpolating between successive multi-bit digital values of the sequence of multi-bit digital values includes linearly interpolating, such that the sinusoidally-varying digital values change frequency linearly between successive multi-bit digital values.
11. The method of claim 1, wherein the first digital signal has a first amplitude, wherein the second digital signal has a second amplitude, and wherein the second amplitude is between 50% and 75% of the first amplitude.
12. The method of claim 1, wherein the first digital signal has a first amplitude, wherein the second digital signal has a second amplitude, and wherein the second amplitude is no greater than five times the first amplitude.
13. A direct digital synthesizer (DDS), comprising: a combiner having a first input configured to receive a first digital signal, a second input configured to receive a second digital signal, and an output configured to provide a combined digital signal, the first digital signal representing a desired output waveform, the second digital signal providing randomizing content; a DAC having an input configured to receive the combined digital signal and an output configured to provide an analog representation of the combined digital signal; and a filter coupled to the output of the DAC, the filter configured to pass the desired output waveform and to remove the randomizing content.
14. The DDS of claim 12, further comprising: a number generator of multi-bit digital values that are random or pseudo-random; and a phase accumulator having an input coupled to the number generator and an output that provides the second digital signal as a sequence of sinusoidally-varying digital values having frequencies based on the multi-bit digital values.
15. The DDS of claim 13, wherein the number generator is configured to generate multi-bit digital values at a first rate, wherein the DAC is configured to generate new output at a second rate, and wherein the second rate is a multiple of the first rate.
16. The DDS of claim 13, further comprising an interpolator coupled between the number generator and the phase accumulator, the interpolator configured to interpolate between successive multi-bit digital values generated by the number generator.
17. The DDS of claim 16, wherein the interpolator is a linear interpolator configured to linearly interpolate between successive multi-bit digital values generated by the number generator.
18. A DAC (digital-to-analog converter) circuit, comprising: a combiner configured to combine a first digital signal with a second digital signal to produce a combined signal, the first digital signal representing a desired output waveform, the second digital signal providing randomizing content; a DAC coupled to the combiner, the DAC configured to generate DAC output based on the combined signal; and a filter coupled to the DAC and configured to filter the DAC output by passing the desired output waveform while removing the randomizing content.
19. The DAC circuit of claim 18, wherein the filter is further configured to remove the randomizing content at lower frequencies and to pass the desired output waveform at higher frequencies.
20. The DAC circuit of claim 19, wherein the filter is further configured to remove the randomizing content at both positive and negative frequencies.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1) The foregoing and other features and advantages will be apparent from the following description of particular embodiments, as illustrated in the accompanying drawings, in which like reference characters refer to the same or similar parts throughout the different views.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION
(12) Embodiments of the improved technique will now be described. One should appreciate that such embodiments are provided by way of example to illustrate certain features and principles but are not intended to be limiting.
(13) An improved technique for generating analog waveforms includes combining a desired, in-band signal with a randomizing, out-of-band signal at an input of a DAC, operating the DAC to generate DAC output based on a combination of the desired signal and the randomizing signal, and filtering the DAC output to pass the desired signal while removing the randomizing signal.
(14)
(15) Rather than showing absolute values of DAC output,
(16) When the DAC of
(17)
(18) The spurs 220 are a direct mathematical consequence of the DAC's INL, clock frequency, and configured output frequency. The precise number and locations of spurs changes with changes in DAC output frequency (and/or clock frequency). As the DAC output is allowed to vary over a range of frequencies, suppression of spurs using filters or other simple approaches is not feasible. Although the spurs 220 are significantly smaller than the output tone 210, they are still too large for the most demanding applications, where their presence can cause downstream equipment to underperform or malfunction.
(19)
(20) The first DDS stage includes a frequency tuning word 302, a summer 304, a phase accumulator 306, and a waveform function 308. The frequency tuning word 302 is a digital value that sets a desired output frequency of the DDS 300. Smaller values correspond to lower frequencies and larger values correspond to higher frequencies. Summer 304 adds the value of the frequency tuning word 302 to the output of the phase accumulator 306 (Φ.sub.1), thus generating a new input to the phase accumulator 306 on each clock cycle. In an example, the phase accumulator 306 is provided in the form of an a-bit binary register, which is configured to roll over when the accumulated digital phase value reaches 2.sup.a. The output range of the phase accumulator 306 thus extends from 0 to 2.sup.a−1, which corresponds to a phase that ranges from 0 to just under 360 degrees
(21)
(22) In an example, the phase accumulator 306 is clocked at a higher frequency than the one specified by the frequency tuning word 302. In an example, a clock 350 operates at 2.5 GHz and the frequency specified by the frequency tuning word 302 ranges from 600 MHz to 1100 MHz. This arrangement ensures that the Nyquist rate is satisfied by producing at least two samples per cycle of the desired output frequency.
(23) The waveform function 308 is configured to translate accumulated phase values Φ.sub.1 to corresponding digital waveform values. For example, if the desired output waveform is a sine wave, then the waveform function 308 stores values of sin(Φ.sub.1), e.g., one value for each of the 2.sup.a possible input values. In some examples, waveform function 308 is implemented using a look-up table. Amplitude may be adjusted by scaling up or down the values in the lookup table, and/or by multiplying or dividing values produced by the waveform function 308. The output values from the waveform function 308 provide the above-described first digital signal 308a, which thus represents the desired output waveform, e.g., a sine wave at a frequency defined by the frequency tuning word 302.
(24) Turning now to the second DDS stage, a similar design is employed. Here, a summer 314, phase accumulator 316, and waveform function 318 perform similar roles as those described above for summer 304, phase accumulator 306, and waveform function 308. The two stages differ, however, in that DDS Stage 2 employs a number generator 310 and an interpolator 312 in place of the frequency tuning word 302. Number generator 310 is configured to produce multi-bit numbers (digital values) 310a, which are preferably random or pseudo-random. The number generator 310 may be implemented in a variety of ways known to those skilled in the art, such as by using a linear feedback shift register, for example.
(25) In the context of
(26) Interpolator 312 is configured to interpolate between adjacent random or pseudo-random numbers 310a. Linear or higher-order interpolation may be used (e.g., second or third-order interpolation), as well as other curve-fitting techniques. Linear interpolation has been found adequate for most requirements. The interpolator 312 may be omitted in certain embodiments, but it has been found to reduce side-lobe energy significantly and thus to enable improved performance.
(27) In an example, the number generator 310 is clocked at a lower frequency than the phase accumulators 306 and 316, which may be clocked at the same rate. For example, a clock divider 352 may divide the frequency of clock 350 by an integer N, where N may be a power of two, such as 64, 128, or 256, for example. Dividing the clock frequency allows random frequencies to fully develop and thus to affect accumulated phase (Φ.sub.2). With a clock frequency of 2.5 GHz and a value of N of 128, for example, the number generator 310 produces a new random or pseudo-random number every 51.2 ns (nanoseconds). Interpolator 312 connects these numbers linearly (assuming linear interpolation), which thus produces incrementally increasing and decreasing values 312a.
(28) With the depicted arrangement, the phase accumulator 316 and waveform function 318 transform the interpolated numbers 312a into the above-described second digital signal 318a, which is produced as a sequence of sinusoidally-varying digital values. The frequency of the second digital signal 318a varies based on the interpolated numbers 312a, e.g., the same way the frequency of the first digital signal 308a varies based on the frequency tuning word 302. A significant difference, however, is that the second digital signal 318a has random or pseudo-random frequency, whereas the first digital signal 308a has a frequency that is generally determined in advance, e.g., based on a programmed value.
(29) A combiner 320 receives and combines output of the two DDS stages. As shown, combiner 320 has a first input that receives the first digital signal 308a from DDS Stage 1 and a second input that receives the second digital signal 318a from DDS Stage 2. The combiner 320 combines (e.g., adds, subtracts, or performs some other combining function) the first digital signal 308a with the second digital signal 318a to produce a combined output 322, which is provided as an input to a DAC 330. In an example, the DAC 330 is clocked at the same frequency (e.g., 2.5 GHz) as the phase accumulators 306 and 316. The DAC 330 thus produces an analog output 332 (e.g., a voltage or current), which updates every clock cycle and includes both a desired component (from DDS Stage 1) and a randomizing component (from DDS Stage 2). Because the randomizing component is out-of-band, e.g., extending over a lower frequency range than the desired component, a filter 340 can easily remove the randomizing component via low-pass filtering. In an example, the filter 340 is provided as an analog band-pass filter, with a lower cut-off frequency set to attenuate the randomizing component and an upper cut-off frequency set to remove quantization effects. The filter has an output 342, which may be coupled to additional processing stages (e.g., amplifiers, attenuators, etc.), which are not shown.
(30) The DDS 300 may be implemented in a variety of ways. One suitable approach implements certain components of the DDS 300 in an FPGA (field-programmable gate array) 360, e.g., in the manner shown. Other samples may implement the DDS 300 or portions thereof using an ASIC (application-specific integrated circuit). Still other examples may implement the DDS 300 or portions thereof using a DSP (digital signal processing) processor, using a general-purpose computer, using discrete components, or using any combination of the above. When implemented on a DSP processor or other computer, the digital components of the DDS 300 (e.g., components 302, 304, 306, 308, 310, 312, 314, 316, 318, and 320) may be implemented in digital memory using software instructions and data. When the software instructions are run by control circuitry of the DSP processor or other computer, the control circuitry is made to carry out the functions and acts as described above.
(31)
(32)
(33)
(34)
(35) Ideally, the amplitude of the second digital signal 318a, i.e., the one providing the randomizing content, should be large enough to toggle all bits of the DAC 330, thus ensuring that no bit transitions are excluded from the randomizing effects. Providing the amplitude of the second signal 318a as half that of the signal 308a generally achieves this result. Preferably, the amplitude of the second signal 318a is between 50% and 75% of the amplitude of the first signal 308a, with 70% providing a near optimal result.
(36) The amplitude ranges above assume that the amplitude of the first signal 308a is approximately one-half the full-scale range of the DAC 330. It has been observed that driving the DAC at half of its full-scale range elicits minimal distortion. Thus, the 50%-to-75% range identified above corresponds to an amplitude range for the second digital signal 318a of between 25% and 37.5% the full-scale range of the DAC.
(37) For smaller amplitudes of the first signal 308a, it is not strictly necessary for the second signal 318a to toggle all bits of the DAC 330, as the first signal 308a will not by itself cause such bit transitions to occur. In such cases, the amplitude of the second signal 318a may be allowed to assume smaller values. For small amplitudes of the first signal 308a, the amplitude of the second signal 318a should preferably never exceed five times that of the first signal 308a.
(38)
(39) As shown, the first bandwidth 840 and the second bandwidth 850 are distinct from each other, with the first bandwidth 840 being higher than the second bandwidth 850. The second bandwidth 850 is preferably as large as practicable. For example, the upper frequency limit (UL2) of the second bandwidth 850 is at least one-half the lower frequency limit (LL1) of the first bandwidth 840. In some examples, such as the one shown in
(40) It is noteworthy that no spurs can be seen within the first bandwidth 840, which has a noise floor 830 of approximately −80 dB. The results after filtering (
(41) One should appreciate that the signal shown in
(42)
(43) At 1010, a first digital signal 308a is combined with a second digital signal 318a at an input of a DAC 330. The first digital signal 308a represents a desired output waveform, and the second digital signal 318a provides randomizing content.
(44) At 1020, the DAC 330 is operated to generate DAC output 332 based on a combination of the first digital signal 308a and the second digital signal 318a.
(45) At 1030, DAC output 332 is filtered (e.g., by filter 340) to pass the desired output waveform while removing the randomizing content.
(46) An improved technique has been described for generating analog waveforms. The technique includes combining a desired, in-band signal with a randomizing, out-of-band signal at an input of a DAC, operating the DAC to generate DAC output based on a combination of the desired signal and the randomizing signal, and filtering the DAC output to pass the desired signal while removing the randomizing signal.
(47) Having described certain embodiments, numerous alternative embodiments or variations can be made. For example, although embodiments have been described in which the desired output signal is a single tone, the desired output may instead include multiple tones. For example, additional DDS stages, like DDS Stage 1, may be provided for each additional desired output tone. The output of the waveform function of each such additional DDS stage can be provided as another input to combiner 320 (
(48) Further, although the examples provided above arise in the context of a DDS 300, embodiments are not limited to use in DDSs. Rather, embodiments may be constructed in any DAC circuits in which spurs are a concern.
(49) Further, although features have been shown and described with reference to particular embodiments hereof, such features may be included and hereby are included in any of the disclosed embodiments and their variants. Thus, it is understood that features disclosed in connection with any embodiment are included in any other embodiment.
(50) Further still, the improvement or portions thereof may be embodied as a computer program product including one or more non-transient, computer-readable storage media, such as a magnetic disk, magnetic tape, compact disk, DVD, optical disk, flash drive, solid state drive, SD (Secure Digital) chip or device, ASIC, FPGA, and/or the like (shown by way of example as medium 1050 in
(51) As used throughout this document, the words “comprising,” “including,” “containing,” and “having” are intended to set forth certain items, steps, elements, or aspects of something in an open-ended fashion. Also, as used herein and unless a specific statement is made to the contrary, the word “set” means one or more of something. This is the case regardless of whether the phrase “set of” is followed by a singular or plural object and regardless of whether it is conjugated with a singular or plural verb. Also, a “set of” elements can describe fewer than all elements present. Thus, there may be additional elements of the same kind that are not part of the set. Further, ordinal expressions, such as “first,” “second,” “third,” and so on, may be used as adjectives herein for identification purposes. Unless specifically indicated, these ordinal expressions are not intended to imply any ordering or sequence. Thus, for example, a “second” event may take place before or after a “first event,” or even if no first event ever occurs. In addition, an identification herein of a particular element, feature, or act as being a “first” such element, feature, or act should not be construed as requiring that there must also be a “second” or other such element, feature or act. Rather, the “first” item may be the only one. Also, and unless specifically stated to the contrary, “based on” is intended to be nonexclusive. Thus, “based on” should not be interpreted as meaning “based exclusively on” but rather “based at least in part on” unless specifically indicated otherwise. Although certain embodiments are disclosed herein, it is understood that these are provided by way of example only and should not be construed as limiting.
(52) Those skilled in the art will therefore understand that various changes in form and detail may be made to the embodiments disclosed herein without departing from the scope of the following claims.