Electronics-Related.com
Forums

DDS wisdom

Started by Phil Hobbs December 4, 2014
On 12/10/2014 12:46 AM, josephkk wrote:
> On Tue, 09 Dec 2014 19:26:16 -0500, Joe Gwinn <joegwinn@comcast.net> > wrote: > >> In article <m65m7a$da2$1@dont-email.me>, rickman <gnuarm@gmail.com> >> wrote: >> >>> On 12/8/2014 8:50 PM, Joe Gwinn wrote: >>>> >>>> I did find the Timing Solutions patent numbers from back in the day. >>>> There may be more patents. Search on the inventor names, and the >>>> "referenced by" section in Google Patents and the US Patent Office. >>>> Stein pat5315566, Stein pat5155695, Stein pat5128909, Solbrig (Phase >>>> Det) pat7227346, Solbrig (DDS) pat7436166, pat7511469, pat6194918, and >>>> pat6172533. >>>> >>>> Rickman - see Solbrig (DDS) pat7436166. >>> >>> The Solbrig patent includes a way of designing a DDS (they even call it >>> a DDS) that uses a table of variable size. But they are still limited >>> to the frequencies they can generate. They can only produce frequencies >>> that are rationally related to the reference clock frequency. >> >> Yes, they call it a DDS, and it does implement rational ratios, but it >> lacks a phase accumulator and clock-driven adder incrementing the >> accumulator by the value of the tuning word, et al. Solbrig uses a >> very different approach, one that solves a host of problems. >> >> >>> The point is that the spurs that were eliminated are not *inherent* in >>> DDS designs. They arise from trying to generated output frequencies >>> that are not related to the reference clock. >> >> True, but there is more to it than that. >> >> By varying the number of waveform samples and the time increment, one >> can get just as close to a specified frequency as a traditional DDS, >> without the many imperfections. Which is why it was worth patenting, >> and why the Patent Office saw it that way. >> >> >>> You never did explain what you meant by the "phase bumps". >> >> Think of it as a retrace, because that's what it looked like. The root >> cause was that the phase truncation error grew linearly until the >> 48-bit phase accumulator overflowed, whereupon the apparent phase error >> abruptly went to the other extreme, and resumed creeping up, time after >> time. >> >> This effect is almost impossible to see directly unless one is >> comparing very stable signal sources. >> >> Joe Gwinn > > > I think i finally see what you are talking about. It is a phase error > created by the artifacts of the true desired frequency not being the same > as the frequency created with nearest phase increment value. Thus phase > drift/slide. In this case, some modulation of the phase word can help > some by reducing the final amplitude of the phase error.
I don't think that is the right problem to blame it on. The lack of precision in setting the frequency will give a good waveform without anything "creeping up" and the dropping. He is describing the result of the phase accumulator being truncated. The remainder increases (or decreases depending on the step word programmed) in value until this truncated portion rolls over and carries into the rest of the phase accumulator. The "phase bumps" and spurs from the truncated phase register are the same thing. Most importantly they are not coincident with the overall accumulator rolling over. They are related to the programmed phase step word used. -- Rick
In article <XnsA3FE1D2AA4A8idtokenpost@69.16.179.23>, Tom Swift
<spam@me.com> wrote:

> Joe Gwinn <joegwinn@comcast.net> wrote: > > > In article <XnsA3FD2DF90694Fidtokenpost@69.16.179.22>, Tom Swift > > <spam@me.com> wrote: > > >> Your employer is very fortunate to have you. Anyone else would have > >> been totally baffled. > > > > Well, the vendor's engineers were baffled to be sure. They knew about > > time, but not so much DDS theory. > > > I did find the Timing Solutions patent numbers from back in the day. > > There may be more patents. Search on the inventor names, and the > > "referenced by" section in Google Patents and the US Patent Office. > > Stein pat5315566, Stein pat5155695, Stein pat5128909, Solbrig (Phase > > Det) pat7227346, Solbrig (DDS) pat7436166, pat7511469, pat6194918, and > > pat6172533. > > Thanks, there are several new ones I haven't seen before. > > > Rickman - see Solbrig (DDS) pat7436166. > > >>>> Also, if you happen to come across anything from Holzworth > >>>> Instrumentation in Boulder, please let me know. They have a > >>>> propretary synthesizer technique that doesn't use plls and > >>>> apparently no DDS. They can switch frequencies anywhere from > >>>> anywhere to in 50us, and nearby frequencies in 5us. It is > >>>> driving me mad to figure out how they do it. > > >>>> There is apparently nothing in the literature or anything on > >>>> the web that talks about anything that can do that. > > >> > Yeah, I know. Their sales engineers were giving me the > >> > I've-got-a-secret routine as well. But the founder (Jason > >> > Breitbarth) is the main brain, and as is often the case with small > >> > technology companies, the core technology was developed for his > >> > PhD thesis, and it's all there: > > <http://ecee.colorado.edu/microwave/docs/theses/jasonb_phd_thesis.pdf> > > > So, you still live in Boulder? > > I wish. I moved back to Canada some time ago and often regret it. But my > green card expired after a year and it would be very difficult to move > back. > > >> I read through the entire thesis but it's basically a 4.6GHZ coaxial > >> resonator oscillator and nonlinear transmission lines using a YIG > >> filter. There's nothing on wideband synthesizers. Multiplying up > >> from 100MHz would create sidebands that would be very hard to remove, > >> especially for a variable frequency system. > > > > Hmm. The mapping from the various boasts about Holtzworth's products > > and sales pitches to the thesis seemed pretty clear to me. If I > > recall, he was using a vernier set of frequency combs, arranged such > > that it was easy to lock a PLL onto a specified multiple. After that, > > one used mixers. > > The thesis talks about NLTL comb generators followed by a YIG filter and > pll to drive the 4.6GHz oscillator. It reads like an undergrad lab paper > reviewing old technology. There is nothing new or phd-worthy anywhere in > the thesis.
Well, his professors didn't see it that way.
> The technology I am interested in has no pll and offers reasonable phase > noise and very fast switching. Here's some numbers from the HS6002A RF > Synthesizer (8MHz to 6GHz) > > Frequency Resolution : 0.001 Hz > > Switching Speed > > 50 us : Any frequency over full instrument BW > 5us : Any frequency within 5% BW > > <http://www.dqm.it/documentazione/HS6002_Web_Datasheet.pdf> > > They stress the non-pll design constantly. Here's a blurb from the web > site: > > Holzworth non-PLL Design Overview > > Holzworth synthesizers are designed with a digital front end and a > proprietary, direct analog back end. The proprietary architecture > maintains low spurious response while also providing industry > leading phase noise performance, exhibiting signal jitter > performance of far less than 100fs. > > The PLL was excluded from the Holzworth designs for optimal signal > stability and fast switching speeds. Unlike PLL designs, there is no > post switch settling time to reach the new frequency. Holzworth > synthesizers exhibit little or no settling time under most switching > scenarios. > > <http://www.holzworth.com/coherency.html> > > After reading the thesis, it doesn't seem like Breitbarth could come up > with something this clever. However, it appears the company was based on > the new synthesizer design, so it seems like he joined forces with the > actual inventor who may now be an upper-level executive in the company.
Well, he now has a staff of EEs, and I'm sure that they they are on the 4th generation or so. But the fundamental approach does not seem to have changed. I bet Breitbarth is listed as an inventor. If he chooses to patent things versus keeping things as trade secrets.
> So the next step may be to research the executives, find out where they > graduated, and get their thesis papers.
It's been a few years, so I don't recall the details of Breitbarth's thesis well enough to argue, but I do recall understanding the Holzworth products well enough for my purposes, which did not include rolling my own. I just wanted to know why I should believe the various claims about the product. I do sorta recall a trick with bandpass filters with bandwidths narrow enough to pick out a single tooth of the comb, but wide enough that the comb could be steered high and low without causing the wrong tooth to pass the filter.
> Thanks for your interest and replies. I really appreciate your comments.
Welcome, Joe Gwinn
Joe Gwinn <joegwinn@comcast.net> wrote:

> In article <XnsA3FE1D2AA4A8idtokenpost@69.16.179.23>, Tom Swift > <spam@me.com> wrote:
>> > Rickman - see Solbrig (DDS) pat7436166.
I have been studying this patent and can't make heads or tails of the DDS description. I quote the following: In one embodiment, the direct digital synthesizer is comprised of a digital sine wave generator for generating a digital signal that is representative of the amplitude of a sine wave at an angle of 2 * pi * k * J / M Where J is an integer number of cycles of the sine wave k is an integer having a value in a range that extends from 1 to and including M M is an integer number of sine wave amplitude values that are representative of the sine wave over J cycles The sine wave generator can be implemented as a look-up table that stores each of the M values of the sine wave over the J number of cycles or as a calculator. The synthesizer is further comprised of a next value selector that causes the sine wave generator to produce a digital signal that is representative of the next amplitude of the sine wave, which is attained by increasing the value of k by 1. -- OK to here. By appropriately choosing M to be an integer that is less than the clock frequency divided by the frequency bandwidth of the system within which the synthesizer is being utilized, spurious signals that may be produced by the generator are out of band and quantizing noise is confined to the spurs. -- What does this mean "clock frequency divided by the frequency bandwidth of the system?" -- What is the "frequency bandwidth of the system?" -- If I assume the DDS is followed by a low pass filter that is 1/3 of the clock frequency, then I assume M can be a maximum of 3. However, in the example he gives below, he sets M to 100. How come? Further, by appropriately choosing the values of J and M, the synthesizer can produce a digital signal that is any desired rational fraction of the frequency of the clock applied to the synthesizer. -- What does he mean by "rational fraction" For instance if the clock has a frequency of 10 MHz, choosing J equal to 11 and M equal to 100 results in the synthesizer producing a signal with a frequency of 1.1 MHz. -- How does he set M = 100? -- I assume the calculation for the output frequency is Fout = Fclk * J / M Then Fout = 1e7 * 11 / 100 = 1,100,000 Hz Working backwards, M = Fclk * J / Fout, so if I want 1,000,001 Hz, M = 1e7 * 11 / 1,000,001 = 109.99989. But that doesn't sound right. M has to be an integer, so I can't get 1,000,001 Hz. The closest I can get is Fout = 1e7 * 11 / 110 = 1,000,000, which is not interesting. From the patent description, this DDS is supposed to be used in a digital phase detector to measure phase noise. I assume this means the DDS output frequency has to match the input frequency exactly, or be very close. But from the above, it cannot generate many of these frequencies.
>> The thesis talks about NLTL comb generators followed by a YIG filter >> and pll to drive the 4.6GHz oscillator. It reads like an undergrad >> lab paper reviewing old technology. There is nothing new or >> phd-worthy anywhere in the thesis. > > Well, his professors didn't see it that way.
LOL! I hired some people from CU Boulder. Most didn't last long. One had a degree in Communications. She couldn't spell worth a damn, and as far as I could see, she had no special communications skills that were any different from anyone else. She was a good worker so I kept her on, but her degree meant nothing.
> It's been a few years, so I don't recall the details of Breitbarth's > thesis well enough to argue, but I do recall understanding the > Holzworth products well enough for my purposes, which did not include > rolling my own. I just wanted to know why I should believe the > various claims about the product.
I was suspicious. The datasheet only went down to -60dB, so any spurs would not show up. Also the bandwidth in "Figure 4: Output Power Flatness vs. Frequency" only went to 3GHz, so you have no idea what is happening above 3GHz. I really get suspicious of a company when they publish datasheets like this.
> I do sorta recall a trick with bandpass filters with bandwidths narrow > enough to pick out a single tooth of the comb, but wide enough that > the comb could be steered high and low without causing the wrong tooth > to pass the filter.
It appears reasonable to assume the frequency is generated by DDS, then fed into a NLTL to generate harmonics. Then, as you say, bandpass filters could be used to select the desired output frequency. When the datasheet only goes to -60dB, a simple bandpass filter is good enough. But I don't know where a signal generator this poor could be used.
>> Thanks for your interest and replies. I really appreciate your >> comments. > > Welcome,
> Joe Gwinn
On 12/10/2014 12:05 AM, rickman wrote:
> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >> On 12/09/2014 12:17 PM, rickman wrote: >>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>> >>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>> need to >>>>>>>> talk to anybody. ;) >>>>>>> >>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>> something in >>>>>>> the areas I know less about, like most things analog. Joerg helped >>>>>>> me a >>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>> cascode >>>>>>> circuits. >>>>>>> >>>>>>> Have you figured out what people are referring to when they talk >>>>>>> about >>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking they >>>>>>> are >>>>>>> talking about the remainder that results from the non-integral >>>>>>> ratio of >>>>>>> the step size and modulus. It's not really a "jump", but I can see >>>>>>> someone referring to it that way in a conversation. >>>>>> >>>>>> It seems like the issue is that for many choices of the phase >>>>>> increment, >>>>>> there's a spur very close to the carrier, associated with the actual >>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>> i.e. >>>>>> far too long to be visible on frequency-domain instruments such as >>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>> sophisticated users. >>>>> >>>>> Yes, but a spur would not be described as a "phase jump" on >>>>> "rollover". >>>>> Do you think this is what they are talking about? That would be so >>>>> far removed from what *is* happening that it's hard to imagine. >>>>> >>>>> >>>>>>> I find it funny that some don't seem to really understand how a DDS >>>>>>> works. Joe Gwinn seems to think there is something different about >>>>>>> the >>>>>>> way Timing Solutions implemented a non-DDS so it didn't have spurs. >>>>>>> "The >>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>> memory >>>>>>> rolls over." I believe all they did was use the equivalent of a DDS >>>>>>> circuit with limitations so there was no remainder. I expect they >>>>>>> incremented the phase by 1 and could only generate outputs that were >>>>>>> integer ratios to the reference clock. >>>>>> >>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>> two-turn CORDIC algorithm with AGC to generate the output is a pretty >>>>>> good read. >>>>> >>>>> I didn't dig into all the papers people referenced. I looked at some >>>>> and didn't find much to explain what they were talking about. What >>>>> Joe >>>>> described was a simple lookup table with sine values in it which is >>>>> how >>>>> a DDS works. There are two forms of spurs from digital >>>>> implementations. >>>>> One is from phase quantization and the other is from amplitude >>>>> quantization. Then the DAC has its own type of distortion which can >>>>> also produce spurs but are not directly related to the fact that the >>>>> data is digital. The other two types are an inherent limitation of >>>>> digital data representation of a sine wave. The phase quantization >>>>> can >>>>> be completely eliminated by using only integer ratios between the >>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>> quantization can not be eliminated and ultimately is imposed by the >>>>> resolution of the DAC. >>>>> >>>>> I designed a DDS a couple of years ago and used a reasonable size LUT >>>>> with linear interpolation. I think the ultimate sine values were >>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>> Even >>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and 100s of >>>>> dB. At least I was confident it wasn't the digital stuff that limited >>>>> the result. >>>>> >>>> The time-nuts post by Gerhard seemed to say that the very low frequency >>>> instability is due to the very long period of the actual waveform. If >>>> the phase increment M and 2**N are relatively prime, the actual period >>>> of the output waveform is M * 2**N clocks. >>> >>> I'm not clear on this. As long as there is no truncated bits in the >>> phase accumulator, there is no "instability", all the phase values are >>> exact. >>> >>> If you are working in the digital domain, there will be no noise or >>> distortion to the signal other than the limited amplitude resolution >>> which can be reduced as much as required. If you are converting to >>> analog you are only limited by your DAC and anti-alias filter. >> >> It was an analogue issue, AIUI. For a general choice of phase increment >> M, the nominal period of the output is 2**N/M, whereas the real period >> (where the DAC values all repeat) is the LCM of M and 2**N. That can be >> as much as M**2 times longer, and give rise to small phase artifacts >> that the time-nuts folks care about a lot. > > I'm a bit unclear. If it is an analog issue, it would have nothing to > do with the digital portion and in particular the ratios of modulus and > step size. > > There is some misunderstanding. The issue you are raising, the lack of > exact digital values repeating on each Fout cycle, will *not* create > spurs other than the other mechanisms as I have mentioned which include > amplitude quantization and analog effects. If it does I would like to > know the mechanism. >
Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase increment M = 7036874417767. Being an odd number, M is relatively prime to 2**48. Thus the sequence of phase accumulator values will not repeat for M cycles of the output. This requires 703687.4 seconds which is more than 8 days, despite an apparent periodicity of 100 ns. The DAC values may repeat more often than this, or very nearly repeat (which is what Gerhard was talking about on time-nuts) but there is the potential for DAC nonlinearities and slewing effects to produce phase and amplitude perturbations on time scales of hours to days. Since time and frequency can be measured to absurd accuracy, it's quite possible to get easily measureable phase errors at surprisingly long time scales. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC Optics, Electro-optics, Photonics, Analog Electronics 160 North State Road #203 Briarcliff Manor NY 10510 hobbs at electrooptical dot net http://electrooptical.net
On Wed, 10 Dec 2014 17:37:44 -0500, Phil Hobbs
<pcdhSpamMeSenseless@electrooptical.net> wrote:

>On 12/10/2014 12:05 AM, rickman wrote: >> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >>> On 12/09/2014 12:17 PM, rickman wrote: >>>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>>> >>>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>>> need to >>>>>>>>> talk to anybody. ;) >>>>>>>> >>>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>>> something in >>>>>>>> the areas I know less about, like most things analog. Joerg helped >>>>>>>> me a >>>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>>> cascode >>>>>>>> circuits. >>>>>>>> >>>>>>>> Have you figured out what people are referring to when they talk >>>>>>>> about >>>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking they >>>>>>>> are >>>>>>>> talking about the remainder that results from the non-integral >>>>>>>> ratio of >>>>>>>> the step size and modulus. It's not really a "jump", but I can see >>>>>>>> someone referring to it that way in a conversation. >>>>>>> >>>>>>> It seems like the issue is that for many choices of the phase >>>>>>> increment, >>>>>>> there's a spur very close to the carrier, associated with the actual >>>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>>> i.e. >>>>>>> far too long to be visible on frequency-domain instruments such as >>>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>>> sophisticated users. >>>>>> >>>>>> Yes, but a spur would not be described as a "phase jump" on >>>>>> "rollover". >>>>>> Do you think this is what they are talking about? That would be so >>>>>> far removed from what *is* happening that it's hard to imagine. >>>>>> >>>>>> >>>>>>>> I find it funny that some don't seem to really understand how a DDS >>>>>>>> works. Joe Gwinn seems to think there is something different about >>>>>>>> the >>>>>>>> way Timing Solutions implemented a non-DDS so it didn't have spurs. >>>>>>>> "The >>>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>>> memory >>>>>>>> rolls over." I believe all they did was use the equivalent of a DDS >>>>>>>> circuit with limitations so there was no remainder. I expect they >>>>>>>> incremented the phase by 1 and could only generate outputs that were >>>>>>>> integer ratios to the reference clock. >>>>>>> >>>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>>> two-turn CORDIC algorithm with AGC to generate the output is a pretty >>>>>>> good read. >>>>>> >>>>>> I didn't dig into all the papers people referenced. I looked at some >>>>>> and didn't find much to explain what they were talking about. What >>>>>> Joe >>>>>> described was a simple lookup table with sine values in it which is >>>>>> how >>>>>> a DDS works. There are two forms of spurs from digital >>>>>> implementations. >>>>>> One is from phase quantization and the other is from amplitude >>>>>> quantization. Then the DAC has its own type of distortion which can >>>>>> also produce spurs but are not directly related to the fact that the >>>>>> data is digital. The other two types are an inherent limitation of >>>>>> digital data representation of a sine wave. The phase quantization >>>>>> can >>>>>> be completely eliminated by using only integer ratios between the >>>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>>> quantization can not be eliminated and ultimately is imposed by the >>>>>> resolution of the DAC. >>>>>> >>>>>> I designed a DDS a couple of years ago and used a reasonable size LUT >>>>>> with linear interpolation. I think the ultimate sine values were >>>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>>> Even >>>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and 100s of >>>>>> dB. At least I was confident it wasn't the digital stuff that limited >>>>>> the result. >>>>>> >>>>> The time-nuts post by Gerhard seemed to say that the very low frequency >>>>> instability is due to the very long period of the actual waveform. If >>>>> the phase increment M and 2**N are relatively prime, the actual period >>>>> of the output waveform is M * 2**N clocks. >>>> >>>> I'm not clear on this. As long as there is no truncated bits in the >>>> phase accumulator, there is no "instability", all the phase values are >>>> exact. >>>> >>>> If you are working in the digital domain, there will be no noise or >>>> distortion to the signal other than the limited amplitude resolution >>>> which can be reduced as much as required. If you are converting to >>>> analog you are only limited by your DAC and anti-alias filter. >>> >>> It was an analogue issue, AIUI. For a general choice of phase increment >>> M, the nominal period of the output is 2**N/M, whereas the real period >>> (where the DAC values all repeat) is the LCM of M and 2**N. That can be >>> as much as M**2 times longer, and give rise to small phase artifacts >>> that the time-nuts folks care about a lot. >> >> I'm a bit unclear. If it is an analog issue, it would have nothing to >> do with the digital portion and in particular the ratios of modulus and >> step size. >> >> There is some misunderstanding. The issue you are raising, the lack of >> exact digital values repeating on each Fout cycle, will *not* create >> spurs other than the other mechanisms as I have mentioned which include >> amplitude quantization and analog effects. If it does I would like to >> know the mechanism. >> > >Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase >increment M = 7036874417767. Being an odd number, M is relatively prime >to 2**48. Thus the sequence of phase accumulator values will not repeat >for M cycles of the output. This requires 703687.4 seconds which is >more than 8 days, despite an apparent periodicity of 100 ns. > >The DAC values may repeat more often than this, or very nearly repeat >(which is what Gerhard was talking about on time-nuts) but there is the >potential for DAC nonlinearities and slewing effects to produce phase >and amplitude perturbations on time scales of hours to days. > >Since time and frequency can be measured to absurd accuracy, it's quite >possible to get easily measureable phase errors at surprisingly long >time scales. > >Cheers > >Phil Hobbs
As long as successive 100 ns sweeps through the sine table are not precisely identical, you'll get spurs and sub-harmonics. When they are identical every pass, all you can get is harmonics of the fundamental. Plus analog noise, of course. Interesting that the closest-in spurs will have a period of 8 days! That's 1.4 uHz. DDS is a horror in that almost every frequency-set M code has different math and different spur patterns. -- John Larkin Highland Technology, Inc picosecond timing precision measurement jlarkin att highlandtechnology dott com http://www.highlandtechnology.com
In article <XnsA3FFABB56A432idtokenpost@69.16.179.22>, Tom Swift
<spam@me.com> wrote:

> Joe Gwinn <joegwinn@comcast.net> wrote: > > > In article <XnsA3FE1D2AA4A8idtokenpost@69.16.179.23>, Tom Swift > > <spam@me.com> wrote: > > >> > Rickman - see Solbrig (DDS) pat7436166. > > I have been studying this patent and can't make heads or tails of the DDS > description. I quote the following:
I had that experience too.
> In one embodiment, the direct digital synthesizer is comprised of a > digital sine wave generator for generating a digital signal that is > representative of the amplitude of a sine wave at an angle of > > 2 * pi * k * J / M > > Where > > J is an integer number of cycles of the sine wave > > k is an integer having a value in a range that extends from 1 to and > including M > > M is an integer number of sine wave amplitude values that are > representative of the sine wave over J cycles > > The sine wave generator can be implemented as a look-up table that > stores each of the M values of the sine wave over the J number of > cycles or as a calculator. > > The synthesizer is further comprised of a next value selector that > causes the sine wave generator to produce a digital signal that is > representative of the next amplitude of the sine wave, which is > attained by increasing the value of k by 1. > > -- OK to here. > > By appropriately choosing M to be an integer that is less than the > clock frequency divided by the frequency bandwidth of the system > within which the synthesizer is being utilized, spurious signals > that may be produced by the generator are out of band and quantizing > noise is confined to the spurs. > > -- What does this mean "clock frequency divided by the frequency > bandwidth of the system?" > > -- What is the "frequency bandwidth of the system?"
No idea.
> -- If I assume the DDS is followed by a low pass filter that is 1/3 of > the clock frequency, then I assume M can be a maximum of 3. However, in > the example he gives below, he sets M to 100. How come? > > Further, by appropriately choosing the values of J and M, the > synthesizer can produce a digital signal that is any desired > rational fraction of the frequency of the clock applied to the > synthesizer. > > -- What does he mean by "rational fraction"
The ratio of integers, where the numerator is smaller than the denominator - this is straight from math.
> For instance if the clock has a frequency of 10 MHz, choosing J > equal to 11 and M equal to 100 results in the synthesizer producing > a signal with a frequency of 1.1 MHz. > > -- How does he set M = 100? > > -- I assume the calculation for the output frequency is > Fout = Fclk * J / M > > Then Fout = 1e7 * 11 / 100 = 1,100,000 Hz > > Working backwards, M = Fclk * J / Fout, so if I want 1,000,001 Hz, > M = 1e7 * 11 / 1,000,001 = 109.99989. > > But that doesn't sound right. M has to be an integer, so I can't get > 1,000,001 Hz. The closest I can get is > > Fout = 1e7 * 11 / 110 = 1,000,000, which is not interesting. > > From the patent description, this DDS is supposed to be used in a digital > phase detector to measure phase noise. I assume this means the DDS output > frequency has to match the input frequency exactly, or be very close. But > from the above, it cannot generate many of these frequencies.
Well, you are far deeper into the details than I have energy to follow at that level. But my recollection of how it worked is pretty simple: When the user specifies a frequency, a bit of software figures out the longest bit of stored time samples that will contain an integral number of cycles with adequate sampling frequency and also will fit into the waveform memory. The number of samples may vary. The sample frequency may possibly vary as well. The result is stored into the waveform memory, which contains the sinewave voltage values at each time step. These may be complex values or real values; I couldn't tell from the description, but complex seems more likely. When the user starts the generator, a hardware mechanism takes the next value out of the waveform memory at each sample clock, wrapping around to the start at the end of stored data. The number of samples is chosen to this rollover is seamless. This stream of samples is sent to a hardware multiplier, where the digitized incoming signal is pointwise multiplied with the sinewave samples, thus implementing a perfect product mixer function.
> >> The thesis talks about NLTL comb generators followed by a YIG filter > >> and pll to drive the 4.6GHz oscillator. It reads like an undergrad > >> lab paper reviewing old technology. There is nothing new or > >> phd-worthy anywhere in the thesis. > > > > Well, his professors didn't see it that way. > > LOL! I hired some people from CU Boulder. Most didn't last long. One had > a degree in Communications. She couldn't spell worth a damn, and as far > as I could see, she had no special communications skills that were any > different from anyone else. She was a good worker so I kept her on, but > her degree meant nothing.
Well, Breitbarth seems to have made a go of it, with 8 employees and a turnover of $1 million, so he cannot be useless. More generally, all schools have the stars and thuds.
> > It's been a few years, so I don't recall the details of Breitbarth's > > thesis well enough to argue, but I do recall understanding the > > Holzworth products well enough for my purposes, which did not include > > rolling my own. I just wanted to know why I should believe the > > various claims about the product. > > I was suspicious. The datasheet only went down to -60dB, so any spurs > would not show up. Also the bandwidth in "Figure 4: Output Power > Flatness vs. Frequency" only went to 3GHz, so you have no idea what is > happening above 3GHz. > > I really get suspicious of a company when they publish datasheets like > this. > > > I do sorta recall a trick with bandpass filters with bandwidths narrow > > enough to pick out a single tooth of the comb, but wide enough that > > the comb could be steered high and low without causing the wrong tooth > > to pass the filter. > > It appears reasonable to assume the frequency is generated by DDS, then > fed into a NLTL to generate harmonics. Then, as you say, bandpass filters > could be used to select the desired output frequency.
I'd have to think about this. If there is no suppression of spurs, why bother.
> When the datasheet only goes to -60dB, a simple bandpass filter is good > enough. But I don't know where a signal generator this poor could be > used.
I'd call them up and ask. Joe Gwinn
On 12/10/2014 5:37 PM, Phil Hobbs wrote:
> On 12/10/2014 12:05 AM, rickman wrote: >> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >>> On 12/09/2014 12:17 PM, rickman wrote: >>>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>>> >>>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>>> need to >>>>>>>>> talk to anybody. ;) >>>>>>>> >>>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>>> something in >>>>>>>> the areas I know less about, like most things analog. Joerg helped >>>>>>>> me a >>>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>>> cascode >>>>>>>> circuits. >>>>>>>> >>>>>>>> Have you figured out what people are referring to when they talk >>>>>>>> about >>>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking >>>>>>>> they >>>>>>>> are >>>>>>>> talking about the remainder that results from the non-integral >>>>>>>> ratio of >>>>>>>> the step size and modulus. It's not really a "jump", but I can see >>>>>>>> someone referring to it that way in a conversation. >>>>>>> >>>>>>> It seems like the issue is that for many choices of the phase >>>>>>> increment, >>>>>>> there's a spur very close to the carrier, associated with the actual >>>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>>> i.e. >>>>>>> far too long to be visible on frequency-domain instruments such as >>>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>>> sophisticated users. >>>>>> >>>>>> Yes, but a spur would not be described as a "phase jump" on >>>>>> "rollover". >>>>>> Do you think this is what they are talking about? That would be so >>>>>> far removed from what *is* happening that it's hard to imagine. >>>>>> >>>>>> >>>>>>>> I find it funny that some don't seem to really understand how a DDS >>>>>>>> works. Joe Gwinn seems to think there is something different about >>>>>>>> the >>>>>>>> way Timing Solutions implemented a non-DDS so it didn't have spurs. >>>>>>>> "The >>>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>>> memory >>>>>>>> rolls over." I believe all they did was use the equivalent of a >>>>>>>> DDS >>>>>>>> circuit with limitations so there was no remainder. I expect they >>>>>>>> incremented the phase by 1 and could only generate outputs that >>>>>>>> were >>>>>>>> integer ratios to the reference clock. >>>>>>> >>>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>>> two-turn CORDIC algorithm with AGC to generate the output is a >>>>>>> pretty >>>>>>> good read. >>>>>> >>>>>> I didn't dig into all the papers people referenced. I looked at some >>>>>> and didn't find much to explain what they were talking about. What >>>>>> Joe >>>>>> described was a simple lookup table with sine values in it which is >>>>>> how >>>>>> a DDS works. There are two forms of spurs from digital >>>>>> implementations. >>>>>> One is from phase quantization and the other is from amplitude >>>>>> quantization. Then the DAC has its own type of distortion which can >>>>>> also produce spurs but are not directly related to the fact that the >>>>>> data is digital. The other two types are an inherent limitation of >>>>>> digital data representation of a sine wave. The phase quantization >>>>>> can >>>>>> be completely eliminated by using only integer ratios between the >>>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>>> quantization can not be eliminated and ultimately is imposed by the >>>>>> resolution of the DAC. >>>>>> >>>>>> I designed a DDS a couple of years ago and used a reasonable size LUT >>>>>> with linear interpolation. I think the ultimate sine values were >>>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>>> Even >>>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and >>>>>> 100s of >>>>>> dB. At least I was confident it wasn't the digital stuff that >>>>>> limited >>>>>> the result. >>>>>> >>>>> The time-nuts post by Gerhard seemed to say that the very low >>>>> frequency >>>>> instability is due to the very long period of the actual waveform. If >>>>> the phase increment M and 2**N are relatively prime, the actual period >>>>> of the output waveform is M * 2**N clocks. >>>> >>>> I'm not clear on this. As long as there is no truncated bits in the >>>> phase accumulator, there is no "instability", all the phase values are >>>> exact. >>>> >>>> If you are working in the digital domain, there will be no noise or >>>> distortion to the signal other than the limited amplitude resolution >>>> which can be reduced as much as required. If you are converting to >>>> analog you are only limited by your DAC and anti-alias filter. >>> >>> It was an analogue issue, AIUI. For a general choice of phase increment >>> M, the nominal period of the output is 2**N/M, whereas the real period >>> (where the DAC values all repeat) is the LCM of M and 2**N. That can be >>> as much as M**2 times longer, and give rise to small phase artifacts >>> that the time-nuts folks care about a lot. >> >> I'm a bit unclear. If it is an analog issue, it would have nothing to >> do with the digital portion and in particular the ratios of modulus and >> step size. >> >> There is some misunderstanding. The issue you are raising, the lack of >> exact digital values repeating on each Fout cycle, will *not* create >> spurs other than the other mechanisms as I have mentioned which include >> amplitude quantization and analog effects. If it does I would like to >> know the mechanism. >> > > Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase > increment M = 7036874417767. Being an odd number, M is relatively prime > to 2**48. Thus the sequence of phase accumulator values will not repeat > for M cycles of the output. This requires 703687.4 seconds which is > more than 8 days, despite an apparent periodicity of 100 ns. > > The DAC values may repeat more often than this, or very nearly repeat > (which is what Gerhard was talking about on time-nuts) but there is the > potential for DAC nonlinearities and slewing effects to produce phase > and amplitude perturbations on time scales of hours to days. > > Since time and frequency can be measured to absurd accuracy, it's quite > possible to get easily measureable phase errors at surprisingly long > time scales.
I really don't get your point. To make a 10 MHz sine wave from a 400 MHz clock, the phase step will be M/400 where M is the modulus. So your phase increment *can't* be prime relative to the modulus. Where did you get the numbers you are working with? I have no idea why you are talking about the DAC. If you are referring to the values fed to the DAC repeating more often than the phase values, then you are talking about truncation of the phase values which *is* where spurs come from. So what was your point? -- Rick
On 12/10/2014 5:52 PM, John Larkin wrote:
> On Wed, 10 Dec 2014 17:37:44 -0500, Phil Hobbs > <pcdhSpamMeSenseless@electrooptical.net> wrote: > >> On 12/10/2014 12:05 AM, rickman wrote: >>> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >>>> On 12/09/2014 12:17 PM, rickman wrote: >>>>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>>>> >>>>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>>>> need to >>>>>>>>>> talk to anybody. ;) >>>>>>>>> >>>>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>>>> something in >>>>>>>>> the areas I know less about, like most things analog. Joerg helped >>>>>>>>> me a >>>>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>>>> cascode >>>>>>>>> circuits. >>>>>>>>> >>>>>>>>> Have you figured out what people are referring to when they talk >>>>>>>>> about >>>>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking they >>>>>>>>> are >>>>>>>>> talking about the remainder that results from the non-integral >>>>>>>>> ratio of >>>>>>>>> the step size and modulus. It's not really a "jump", but I can see >>>>>>>>> someone referring to it that way in a conversation. >>>>>>>> >>>>>>>> It seems like the issue is that for many choices of the phase >>>>>>>> increment, >>>>>>>> there's a spur very close to the carrier, associated with the actual >>>>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>>>> i.e. >>>>>>>> far too long to be visible on frequency-domain instruments such as >>>>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>>>> sophisticated users. >>>>>>> >>>>>>> Yes, but a spur would not be described as a "phase jump" on >>>>>>> "rollover". >>>>>>> Do you think this is what they are talking about? That would be so >>>>>>> far removed from what *is* happening that it's hard to imagine. >>>>>>> >>>>>>> >>>>>>>>> I find it funny that some don't seem to really understand how a DDS >>>>>>>>> works. Joe Gwinn seems to think there is something different about >>>>>>>>> the >>>>>>>>> way Timing Solutions implemented a non-DDS so it didn't have spurs. >>>>>>>>> "The >>>>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>>>> memory >>>>>>>>> rolls over." I believe all they did was use the equivalent of a DDS >>>>>>>>> circuit with limitations so there was no remainder. I expect they >>>>>>>>> incremented the phase by 1 and could only generate outputs that were >>>>>>>>> integer ratios to the reference clock. >>>>>>>> >>>>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>>>> two-turn CORDIC algorithm with AGC to generate the output is a pretty >>>>>>>> good read. >>>>>>> >>>>>>> I didn't dig into all the papers people referenced. I looked at some >>>>>>> and didn't find much to explain what they were talking about. What >>>>>>> Joe >>>>>>> described was a simple lookup table with sine values in it which is >>>>>>> how >>>>>>> a DDS works. There are two forms of spurs from digital >>>>>>> implementations. >>>>>>> One is from phase quantization and the other is from amplitude >>>>>>> quantization. Then the DAC has its own type of distortion which can >>>>>>> also produce spurs but are not directly related to the fact that the >>>>>>> data is digital. The other two types are an inherent limitation of >>>>>>> digital data representation of a sine wave. The phase quantization >>>>>>> can >>>>>>> be completely eliminated by using only integer ratios between the >>>>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>>>> quantization can not be eliminated and ultimately is imposed by the >>>>>>> resolution of the DAC. >>>>>>> >>>>>>> I designed a DDS a couple of years ago and used a reasonable size LUT >>>>>>> with linear interpolation. I think the ultimate sine values were >>>>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>>>> Even >>>>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and 100s of >>>>>>> dB. At least I was confident it wasn't the digital stuff that limited >>>>>>> the result. >>>>>>> >>>>>> The time-nuts post by Gerhard seemed to say that the very low frequency >>>>>> instability is due to the very long period of the actual waveform. If >>>>>> the phase increment M and 2**N are relatively prime, the actual period >>>>>> of the output waveform is M * 2**N clocks. >>>>> >>>>> I'm not clear on this. As long as there is no truncated bits in the >>>>> phase accumulator, there is no "instability", all the phase values are >>>>> exact. >>>>> >>>>> If you are working in the digital domain, there will be no noise or >>>>> distortion to the signal other than the limited amplitude resolution >>>>> which can be reduced as much as required. If you are converting to >>>>> analog you are only limited by your DAC and anti-alias filter. >>>> >>>> It was an analogue issue, AIUI. For a general choice of phase increment >>>> M, the nominal period of the output is 2**N/M, whereas the real period >>>> (where the DAC values all repeat) is the LCM of M and 2**N. That can be >>>> as much as M**2 times longer, and give rise to small phase artifacts >>>> that the time-nuts folks care about a lot. >>> >>> I'm a bit unclear. If it is an analog issue, it would have nothing to >>> do with the digital portion and in particular the ratios of modulus and >>> step size. >>> >>> There is some misunderstanding. The issue you are raising, the lack of >>> exact digital values repeating on each Fout cycle, will *not* create >>> spurs other than the other mechanisms as I have mentioned which include >>> amplitude quantization and analog effects. If it does I would like to >>> know the mechanism. >>> >> >> Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase >> increment M = 7036874417767. Being an odd number, M is relatively prime >> to 2**48. Thus the sequence of phase accumulator values will not repeat >> for M cycles of the output. This requires 703687.4 seconds which is >> more than 8 days, despite an apparent periodicity of 100 ns. >> >> The DAC values may repeat more often than this, or very nearly repeat >> (which is what Gerhard was talking about on time-nuts) but there is the >> potential for DAC nonlinearities and slewing effects to produce phase >> and amplitude perturbations on time scales of hours to days. >> >> Since time and frequency can be measured to absurd accuracy, it's quite >> possible to get easily measureable phase errors at surprisingly long >> time scales. >> >> Cheers >> >> Phil Hobbs > > As long as successive 100 ns sweeps through the sine table are not > precisely identical, you'll get spurs and sub-harmonics. > > When they are identical every pass, all you can get is harmonics of > the fundamental. Plus analog noise, of course. > > Interesting that the closest-in spurs will have a period of 8 days! > That's 1.4 uHz. > > DDS is a horror in that almost every frequency-set M code has > different math and different spur patterns.
John literally doesn't understand this topic. What causes the spurs is when the values are not accurate meaning either the phase word is truncated before use in the sine value lookup or the sine value is truncated (which it *always* is). The truncation of the sine value can be minimized to any degree you are willing to accommodate without too much difficultly. The phase angle is harder to use precisely, but still not impossible. As long as the ratio of the frequencies of the input and output are a rational number, the phase values can be determined precisely by a simple phase accumulator and phase step. Fin Modulus M ---- = --------- = --- Fout Step S Make M and S integers and you are home free with no spurs from the phase. -- Rick
On 12/10/2014 11:26 PM, rickman wrote:
> On 12/10/2014 5:37 PM, Phil Hobbs wrote: >> On 12/10/2014 12:05 AM, rickman wrote: >>> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >>>> On 12/09/2014 12:17 PM, rickman wrote: >>>>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>>>> >>>>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>>>> need to >>>>>>>>>> talk to anybody. ;) >>>>>>>>> >>>>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>>>> something in >>>>>>>>> the areas I know less about, like most things analog. Joerg >>>>>>>>> helped >>>>>>>>> me a >>>>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>>>> cascode >>>>>>>>> circuits. >>>>>>>>> >>>>>>>>> Have you figured out what people are referring to when they talk >>>>>>>>> about >>>>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking >>>>>>>>> they >>>>>>>>> are >>>>>>>>> talking about the remainder that results from the non-integral >>>>>>>>> ratio of >>>>>>>>> the step size and modulus. It's not really a "jump", but I can >>>>>>>>> see >>>>>>>>> someone referring to it that way in a conversation. >>>>>>>> >>>>>>>> It seems like the issue is that for many choices of the phase >>>>>>>> increment, >>>>>>>> there's a spur very close to the carrier, associated with the >>>>>>>> actual >>>>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>>>> i.e. >>>>>>>> far too long to be visible on frequency-domain instruments such as >>>>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>>>> sophisticated users. >>>>>>> >>>>>>> Yes, but a spur would not be described as a "phase jump" on >>>>>>> "rollover". >>>>>>> Do you think this is what they are talking about? That would >>>>>>> be so >>>>>>> far removed from what *is* happening that it's hard to imagine. >>>>>>> >>>>>>> >>>>>>>>> I find it funny that some don't seem to really understand how a >>>>>>>>> DDS >>>>>>>>> works. Joe Gwinn seems to think there is something different >>>>>>>>> about >>>>>>>>> the >>>>>>>>> way Timing Solutions implemented a non-DDS so it didn't have >>>>>>>>> spurs. >>>>>>>>> "The >>>>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>>>> memory >>>>>>>>> rolls over." I believe all they did was use the equivalent of a >>>>>>>>> DDS >>>>>>>>> circuit with limitations so there was no remainder. I expect >>>>>>>>> they >>>>>>>>> incremented the phase by 1 and could only generate outputs that >>>>>>>>> were >>>>>>>>> integer ratios to the reference clock. >>>>>>>> >>>>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>>>> two-turn CORDIC algorithm with AGC to generate the output is a >>>>>>>> pretty >>>>>>>> good read. >>>>>>> >>>>>>> I didn't dig into all the papers people referenced. I looked at >>>>>>> some >>>>>>> and didn't find much to explain what they were talking about. What >>>>>>> Joe >>>>>>> described was a simple lookup table with sine values in it which is >>>>>>> how >>>>>>> a DDS works. There are two forms of spurs from digital >>>>>>> implementations. >>>>>>> One is from phase quantization and the other is from amplitude >>>>>>> quantization. Then the DAC has its own type of distortion which can >>>>>>> also produce spurs but are not directly related to the fact that the >>>>>>> data is digital. The other two types are an inherent limitation of >>>>>>> digital data representation of a sine wave. The phase quantization >>>>>>> can >>>>>>> be completely eliminated by using only integer ratios between the >>>>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>>>> quantization can not be eliminated and ultimately is imposed by the >>>>>>> resolution of the DAC. >>>>>>> >>>>>>> I designed a DDS a couple of years ago and used a reasonable size >>>>>>> LUT >>>>>>> with linear interpolation. I think the ultimate sine values were >>>>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>>>> Even >>>>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and >>>>>>> 100s of >>>>>>> dB. At least I was confident it wasn't the digital stuff that >>>>>>> limited >>>>>>> the result. >>>>>>> >>>>>> The time-nuts post by Gerhard seemed to say that the very low >>>>>> frequency >>>>>> instability is due to the very long period of the actual >>>>>> waveform. If >>>>>> the phase increment M and 2**N are relatively prime, the actual >>>>>> period >>>>>> of the output waveform is M * 2**N clocks. >>>>> >>>>> I'm not clear on this. As long as there is no truncated bits in the >>>>> phase accumulator, there is no "instability", all the phase values are >>>>> exact. >>>>> >>>>> If you are working in the digital domain, there will be no noise or >>>>> distortion to the signal other than the limited amplitude resolution >>>>> which can be reduced as much as required. If you are converting to >>>>> analog you are only limited by your DAC and anti-alias filter. >>>> >>>> It was an analogue issue, AIUI. For a general choice of phase >>>> increment >>>> M, the nominal period of the output is 2**N/M, whereas the real period >>>> (where the DAC values all repeat) is the LCM of M and 2**N. That >>>> can be >>>> as much as M**2 times longer, and give rise to small phase artifacts >>>> that the time-nuts folks care about a lot. >>> >>> I'm a bit unclear. If it is an analog issue, it would have nothing to >>> do with the digital portion and in particular the ratios of modulus and >>> step size. >>> >>> There is some misunderstanding. The issue you are raising, the lack of >>> exact digital values repeating on each Fout cycle, will *not* create >>> spurs other than the other mechanisms as I have mentioned which include >>> amplitude quantization and analog effects. If it does I would like to >>> know the mechanism. >>> >> >> Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase >> increment M = 7036874417767. Being an odd number, M is relatively prime >> to 2**48. Thus the sequence of phase accumulator values will not repeat >> for M cycles of the output. This requires 703687.4 seconds which is >> more than 8 days, despite an apparent periodicity of 100 ns. >> >> The DAC values may repeat more often than this, or very nearly repeat >> (which is what Gerhard was talking about on time-nuts) but there is the >> potential for DAC nonlinearities and slewing effects to produce phase >> and amplitude perturbations on time scales of hours to days. >> >> Since time and frequency can be measured to absurd accuracy, it's quite >> possible to get easily measureable phase errors at surprisingly long >> time scales. > > I really don't get your point. To make a 10 MHz sine wave from a 400 > MHz clock, the phase step will be M/400 where M is the modulus. So your > phase increment *can't* be prime relative to the modulus. Where did you > get the numbers you are working with? > > I have no idea why you are talking about the DAC. If you are referring > to the values fed to the DAC repeating more often than the phase values, > then you are talking about truncation of the phase values which *is* > where spurs come from. > > So what was your point? >
Forget it. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal Consultant ElectroOptical Innovations LLC Optics, Electro-optics, Photonics, Analog Electronics 160 North State Road #203 Briarcliff Manor NY 10510 hobbs at electrooptical dot net http://electrooptical.net
On Thu, 11 Dec 2014 09:44:20 -0500, Phil Hobbs
<hobbs@electrooptical.net> wrote:

>On 12/10/2014 11:26 PM, rickman wrote: >> On 12/10/2014 5:37 PM, Phil Hobbs wrote: >>> On 12/10/2014 12:05 AM, rickman wrote: >>>> On 12/9/2014 3:34 PM, Phil Hobbs wrote: >>>>> On 12/09/2014 12:17 PM, rickman wrote: >>>>>> On 12/9/2014 10:23 AM, Phil Hobbs wrote: >>>>>>> On 12/8/2014 8:49 PM, rickman wrote: >>>>>>>> On 12/8/2014 7:57 PM, Phil Hobbs wrote: >>>>>>>>> On 12/8/2014 7:10 PM, rickman wrote: >>>>>>>>>> On 12/8/2014 6:57 PM, Phil Hobbs wrote: >>>>>>>>>>> >>>>>>>>>>> If I thought I was always right about everything, I wouldn't >>>>>>>>>>> need to >>>>>>>>>>> talk to anybody. ;) >>>>>>>>>> >>>>>>>>>> Lol, yeah. That's a large part of why I'm here, to learn >>>>>>>>>> something in >>>>>>>>>> the areas I know less about, like most things analog. Joerg >>>>>>>>>> helped >>>>>>>>>> me a >>>>>>>>>> lot a couple of weeks ago to learn about the Miller effect and >>>>>>>>>> cascode >>>>>>>>>> circuits. >>>>>>>>>> >>>>>>>>>> Have you figured out what people are referring to when they talk >>>>>>>>>> about >>>>>>>>>> the "phase jump" as the accumulator wraps around? I'm thinking >>>>>>>>>> they >>>>>>>>>> are >>>>>>>>>> talking about the remainder that results from the non-integral >>>>>>>>>> ratio of >>>>>>>>>> the step size and modulus. It's not really a "jump", but I can >>>>>>>>>> see >>>>>>>>>> someone referring to it that way in a conversation. >>>>>>>>> >>>>>>>>> It seems like the issue is that for many choices of the phase >>>>>>>>> increment, >>>>>>>>> there's a spur very close to the carrier, associated with the >>>>>>>>> actual >>>>>>>>> periodicity of the waveform. With an N-bit accumulator, it's quite >>>>>>>>> possible for this to be many times longer than 2**N clock cycles, >>>>>>>>> i.e. >>>>>>>>> far too long to be visible on frequency-domain instruments such as >>>>>>>>> spectrum analyzers, and long enough to be surprising to even fairly >>>>>>>>> sophisticated users. >>>>>>>> >>>>>>>> Yes, but a spur would not be described as a "phase jump" on >>>>>>>> "rollover". >>>>>>>> Do you think this is what they are talking about? That would >>>>>>>> be so >>>>>>>> far removed from what *is* happening that it's hard to imagine. >>>>>>>> >>>>>>>> >>>>>>>>>> I find it funny that some don't seem to really understand how a >>>>>>>>>> DDS >>>>>>>>>> works. Joe Gwinn seems to think there is something different >>>>>>>>>> about >>>>>>>>>> the >>>>>>>>>> way Timing Solutions implemented a non-DDS so it didn't have >>>>>>>>>> spurs. >>>>>>>>>> "The >>>>>>>>>> actual frequency is tweaked such that there is no glitch when the >>>>>>>>>> memory >>>>>>>>>> rolls over." I believe all they did was use the equivalent of a >>>>>>>>>> DDS >>>>>>>>>> circuit with limitations so there was no remainder. I expect >>>>>>>>>> they >>>>>>>>>> incremented the phase by 1 and could only generate outputs that >>>>>>>>>> were >>>>>>>>>> integer ratios to the reference clock. >>>>>>>>> >>>>>>>>> The paper referenced upthread that used (instead of a sine LUT) a >>>>>>>>> two-turn CORDIC algorithm with AGC to generate the output is a >>>>>>>>> pretty >>>>>>>>> good read. >>>>>>>> >>>>>>>> I didn't dig into all the papers people referenced. I looked at >>>>>>>> some >>>>>>>> and didn't find much to explain what they were talking about. What >>>>>>>> Joe >>>>>>>> described was a simple lookup table with sine values in it which is >>>>>>>> how >>>>>>>> a DDS works. There are two forms of spurs from digital >>>>>>>> implementations. >>>>>>>> One is from phase quantization and the other is from amplitude >>>>>>>> quantization. Then the DAC has its own type of distortion which can >>>>>>>> also produce spurs but are not directly related to the fact that the >>>>>>>> data is digital. The other two types are an inherent limitation of >>>>>>>> digital data representation of a sine wave. The phase quantization >>>>>>>> can >>>>>>>> be completely eliminated by using only integer ratios between the >>>>>>>> reference clock frequency and the synthesized frequency. Amplitude >>>>>>>> quantization can not be eliminated and ultimately is imposed by the >>>>>>>> resolution of the DAC. >>>>>>>> >>>>>>>> I designed a DDS a couple of years ago and used a reasonable size >>>>>>>> LUT >>>>>>>> with linear interpolation. I think the ultimate sine values were >>>>>>>> accurate to about 20 or maybe 22 bits. But that was all overkill. >>>>>>>> Even >>>>>>>> though I had 24 bit DACs the SNR and SINAD were in the 90s and >>>>>>>> 100s of >>>>>>>> dB. At least I was confident it wasn't the digital stuff that >>>>>>>> limited >>>>>>>> the result. >>>>>>>> >>>>>>> The time-nuts post by Gerhard seemed to say that the very low >>>>>>> frequency >>>>>>> instability is due to the very long period of the actual >>>>>>> waveform. If >>>>>>> the phase increment M and 2**N are relatively prime, the actual >>>>>>> period >>>>>>> of the output waveform is M * 2**N clocks. >>>>>> >>>>>> I'm not clear on this. As long as there is no truncated bits in the >>>>>> phase accumulator, there is no "instability", all the phase values are >>>>>> exact. >>>>>> >>>>>> If you are working in the digital domain, there will be no noise or >>>>>> distortion to the signal other than the limited amplitude resolution >>>>>> which can be reduced as much as required. If you are converting to >>>>>> analog you are only limited by your DAC and anti-alias filter. >>>>> >>>>> It was an analogue issue, AIUI. For a general choice of phase >>>>> increment >>>>> M, the nominal period of the output is 2**N/M, whereas the real period >>>>> (where the DAC values all repeat) is the LCM of M and 2**N. That >>>>> can be >>>>> as much as M**2 times longer, and give rise to small phase artifacts >>>>> that the time-nuts folks care about a lot. >>>> >>>> I'm a bit unclear. If it is an analog issue, it would have nothing to >>>> do with the digital portion and in particular the ratios of modulus and >>>> step size. >>>> >>>> There is some misunderstanding. The issue you are raising, the lack of >>>> exact digital values repeating on each Fout cycle, will *not* create >>>> spurs other than the other mechanisms as I have mentioned which include >>>> amplitude quantization and analog effects. If it does I would like to >>>> know the mechanism. >>>> >>> >>> Say you're using a 400 MHz, 48-bit DDS to make 10 MHz, using a phase >>> increment M = 7036874417767. Being an odd number, M is relatively prime >>> to 2**48. Thus the sequence of phase accumulator values will not repeat >>> for M cycles of the output. This requires 703687.4 seconds which is >>> more than 8 days, despite an apparent periodicity of 100 ns. >>> >>> The DAC values may repeat more often than this, or very nearly repeat >>> (which is what Gerhard was talking about on time-nuts) but there is the >>> potential for DAC nonlinearities and slewing effects to produce phase >>> and amplitude perturbations on time scales of hours to days. >>> >>> Since time and frequency can be measured to absurd accuracy, it's quite >>> possible to get easily measureable phase errors at surprisingly long >>> time scales. >> >> I really don't get your point. To make a 10 MHz sine wave from a 400 >> MHz clock, the phase step will be M/400 where M is the modulus. So your >> phase increment *can't* be prime relative to the modulus. Where did you >> get the numbers you are working with? >> >> I have no idea why you are talking about the DAC. If you are referring >> to the values fed to the DAC repeating more often than the phase values, >> then you are talking about truncation of the phase values which *is* >> where spurs come from. >> >> So what was your point? >> >Forget it. > >Cheers > >Phil Hobbs
Rickman just wants to argue and insult people. Better to ignore him. -- John Larkin Highland Technology, Inc picosecond timing laser drivers and controllers jlarkin att highlandtechnology dott com http://www.highlandtechnology.com