Post Go back to editing

AD9914 / AD9915 - Less Spurs with Programmable Modulus and Avoidance of Phase Trunca

Hi,

Because the AD9915 and AD9914 have a 16 Bit Phase to 12 Bit Amplitude Converter, there will be Phase Truncation Spurs if the FTW'S least significant 16 bits are not all at zero.

Other than using the rightmost 16 bits of the FTW for having finer than 16 bit frequency resolution, one may also use the Programmable Modulus Mode if I understood it correctly. Usually both are used in order to achieve super-fine frequency resolution, but for medium-fine resolution one of both alternatives should work.

The question is now, what kind of spurs would be generated by usin the Programmable Modulus Mode. Is there a rule of thumb? Is there a calculator available anywhere? Can someone who already tried this comment on wether Programmable Modulus Mode is better or worse than using the full width of the FTW and therefore introducing phase truncation spurs?

Thanks

Parents
  • The AD9914/15 uses a 17-b phase-to-amplitude converter (PTAC). That is, the 17 MSBs of the accumulator feed the PTAC. However, the phase offset adjustment feature is constrained to 16-b.

    That said, any FTW having a non-zero bit within its 15 LSB positions will exhibit phase truncation spurs. This is true for normal and programmable modulus operation.

    Programmable modulus provides additional tuning frequencies not available with a standard 32-b FTW. However, programmable modulus guarantees the existence of phase truncation spurs, because it modulates the LSB of the 32-b FTW applied to the PTAC. That said, programmable modulus exhibits dynamic phase truncation spurs, because the FTW is modulated rather than being static.

  • 17-b phase-to-amplitude converter (PTAC).

    Oh, sorry, my mistake. Thanks for the correction.

    Regarding the phase truncation spurs from the 17 bit truncation, there is the ADIsimDDS tool, where I can calculate at least the most dominant phase truncation spurs (do you know if it is possible to show more than only the singla most dominant one?).

    Is there also a tool that shows the sours generated by the programmable modulus?

    You say the programmable modulus guarantees the existance of spurs, but so does the usage of the 15 LSBs of the FTW. I can immagine that there may be output frequencies where you have to use at least one of these two options and where the spurs generated by the programmed modulus might be lower (in energy) than the ones generated by the 17 bit phase truncation or just at a less problematic frequency.

    Is there a table where one can easily see the width (in bits) of the look-up-table for the various DDS chips? Wouldn't it be good to include such a column in the selection table / parametric search?

  • Although it is possible to predict "normal" phase truncation spurs completely (frequency and magnitude), the computations are prohibitive. This is why ADIsimDDS shows only the primary phase truncation spurs. In fact, I provided the math that ADIsimClk uses for computing the primary phase truncation spurs. You can find details in application note AN-1396.

    There is no tool for showing phase truncation spurs in the context of programmable modulus.

    Yes, having non-zero bits in the truncated portion of the FTW guarantees phase truncation spurs. However, because the FTW is static, the spurs are completely deterministic (though predicting spur location and magnitude is extremely computation intensive).

    As stated in my previous post, programmable modulus modulates the LSB of the 32-b FTW yielding phase truncation spurs that vary with time, which further complicates predicting spur location and magnitude.

  • Ah, now I see.

    The programmable modulus adds to the LSB and therefore always introduces the truncation spurs and lets them even be dynamic.

    Programmable modulus would only be a possible alternative if one could make it modify only those bits that do not get truncated.

    Like if it would start on the "LSB" of the 17 MSBs.

    Regarding the exact calculations, how "prohibitive" would they be, given modern computing possibilities?

    Edit: There seems to be a module for Scilab making it capable of octuple precision math.

  • Actually, I should clarify a comment in my previous post. I stated that programmable modulus "modulates" the LSB of the 32-b FTW. That's not exactly true. If it were, then it would be a form of frequency modulation, which is not the case.

    Instead, programmable modulus uses the nearest 32-b FTW below the desired frequency and periodically injects an LSB directly into the accumulator. This slightly advances the phase of the accumulator so that the resulting frequency is exactly the desired frequency. Hence, it's more like phase modulation, but always in the positive direction.

    Believe me, the calculations for DDS spurious are prohibitive. It's not just about the precision, it requires computations on huge sets of numbers. Most computers (consumer/business) must grind away for hours to yield results (that's assuming they don't run out of memory space).

  • I'm quite sure that I underestimate how complicated such a calculation would be, but looking at "A Technical Tutorial on Digital Signal Synthesis" by Analog Devices from 1999, on page 19 and following pages, it does not look very difficult.

    Compute the GRR,

    Compute the ETW,

    Compute the truncation word capacity,

    Compute the number of overflows (GRR/(capacity/ETW)

    Compute the fundamental frequency of the truncation word sawtooth (Fs times (ETW/capacity)

    Compute all the harmonics of the frequency of the truncation word sawtooth from 1st harmonit to GRRst harmonic

    Fold each of these harmonics into the Nyquist band at Fs and it's harmonics

    Done

    I might try to calculate a few examples when my headaches have settled a bit. But as GRR can be huge with modern DDS chips, we may be talking about a huge number of spurs that would have to be calculated.

  • Surprise! You're talking to the person who wrote it.  ;^)

    Truth is, DDS spurious was not completely understood at the time. The section of the "Tutorial" that you reference was my stab at identifying spur locations. The algorithm is useful, but incomplete.

    In the early 2000's a doctoral thesis by Arthur Torosyan at Univ. of Calif. provided a mathematical analysis of DDS spurious that accurately predicts the frequency and magnitude of phase truncation spurs. Again, trust me, the computations get quickly out of hand. Especially for DDSs with large accumulators -- like our 48-b parts. Even for 32-b devices, the computations are cumbersome.

    Your last statement sums things up nicely. The number of spurs can be as large as 2^N, where N is the accumulator size in bits. For a 32-b device, that's over 4 billion spurs -- significant processing and significant memory requirements.

Reply
  • Surprise! You're talking to the person who wrote it.  ;^)

    Truth is, DDS spurious was not completely understood at the time. The section of the "Tutorial" that you reference was my stab at identifying spur locations. The algorithm is useful, but incomplete.

    In the early 2000's a doctoral thesis by Arthur Torosyan at Univ. of Calif. provided a mathematical analysis of DDS spurious that accurately predicts the frequency and magnitude of phase truncation spurs. Again, trust me, the computations get quickly out of hand. Especially for DDSs with large accumulators -- like our 48-b parts. Even for 32-b devices, the computations are cumbersome.

    Your last statement sums things up nicely. The number of spurs can be as large as 2^N, where N is the accumulator size in bits. For a 32-b device, that's over 4 billion spurs -- significant processing and significant memory requirements.

Children
No Data