time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] AD9912 DDS frequency resolution measurement?

BH
Bo Hansen
Tue, Feb 19, 2019 11:29 AM

Hi

I have experience with the AD9912 in this H/W and S/W implementation: http://rudius.net/oz2m//ngnb/dds.htm

But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: http://phk.freebsd.dk/misc/ftw.c

Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct.

A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference.

Bo

Hi I have experience with the AD9912 in this H/W and S/W implementation: <http://rudius.net/oz2m//ngnb/dds.htm> But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: <http://phk.freebsd.dk/misc/ftw.c> Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct. A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference. Bo
JM
John Miles
Tue, Feb 19, 2019 9:25 PM

A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.

For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind.  E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB.  Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.

This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)

-- john, KE5FX
Miles Design LLC

> A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't > have access to any counters capable if measuring the difference. For sanity-checking an extremely small frequency discrepancy, perhaps you could set up the DDS to output a signal very close to a plesiochronous reference of some kind. E.g., a binary fraction of its own clock frequency plus or minus 1 LSB. Then trigger a scope from the DDS output while watching the clock slide past it on the other channel. This turns the question into one that can be answered definitively with a stopwatch, rather than ambiguously with a counter. :) -- john, KE5FX Miles Design LLC
GH
Gerhard Hoffmann
Wed, Feb 20, 2019 2:47 AM

Am 19.02.19 um 12:29 schrieb Bo Hansen:

Hi

I have experience with the AD9912 in this H/W and S/W implementation: http://rudius.net/oz2m//ngnb/dds.htm

But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: http://phk.freebsd.dk/misc/ftw.c

Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct.

A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference.

Actually, you can measure that with a voltmeter.

Force the frequency tuning word to 0x0000 0000 0000 and verify that the
sine output stays at 0

or wherever it was if you already have a phase offset.

Then set the f-word to 0x0000 0000 0001 and check after 19.5 hours if
the sine has crept by 90°.

BTW I've opened a case in AD's engineering zone this weekend about the
LTC6957 sine-to-square chip.

<
https://ez.analog.com/clock_and_timing/f/q-a/107463/ltc6957-ims-3-output-oscillations
    >

When it has no load at all, then connecting an inch of wire to one of
the outputs makes the other

output show some oscillations. Maybe the data sheet needs a minimum rise
time or minimum

input frequency spec. 1 MHz at 2Vpp  is already slow.

Not a show stopper, but that does not build confidence. Impressive
output rise time for CMOS, nevertheless.

And the AD9901 phase comparator I mentioned there at EZ was not a real
one from AD. :-)

It was a tiny corner in a $2  64-FlipFlop Coolrunner CPLD and half a
page of added VHDL.

best regards,

Gerhard

Am 19.02.19 um 12:29 schrieb Bo Hansen: > Hi > > I have experience with the AD9912 in this H/W and S/W implementation: <http://rudius.net/oz2m//ngnb/dds.htm> > > But I must admit that I personally haven't measured the minimum frequency step size. Poul-Henning Kamp, among others, is using one of the AD9912 DDS units and observed a similar error, I think, that he has solved in this S/W: <http://phk.freebsd.dk/misc/ftw.c> > > Whatever applies list the FTW values and calculate back to the real frequency and see if the frequency change is correct. > > A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't have access to any counters capable if measuring the difference. > Actually, you can measure that with a voltmeter. Force the frequency tuning word to 0x0000 0000 0000 and verify that the sine output stays at 0 or wherever it was if you already have a phase offset. Then set the f-word to 0x0000 0000 0001 and check after 19.5 hours if the sine has crept by 90°. BTW I've opened a case in AD's engineering zone this weekend about the LTC6957 sine-to-square chip. < https://ez.analog.com/clock_and_timing/f/q-a/107463/ltc6957-ims-3-output-oscillations     > When it has no load at all, then connecting an inch of wire to one of the outputs makes the other output show some oscillations. Maybe the data sheet needs a minimum rise time or minimum input frequency spec. 1 MHz at 2Vpp  is already slow. Not a show stopper, but that does not build confidence. Impressive output rise time for CMOS, nevertheless. And the AD9901 phase comparator I mentioned there at EZ was not a real one from AD. :-) It was a tiny corner in a $2  64-FlipFlop Coolrunner CPLD and half a page of added VHDL. best regards, Gerhard
AW
Anders Wallin
Thu, Feb 21, 2019 1:47 PM

AD replied to my message on the AD forums: (upon inspection they will
revise the datasheet to say the resolution is 47 bits now... ha!)
https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero
the datasheet has a copyright "2007-2010" so maybe the chip has been out
for 11-12 years already (?) but nobody bothered to measure the frequency
resolution!?

We might give the visual oscilloscope-method a go also at some point - just
for kicks.
For example one could set the DDS frequency so that there's a "beat" of
3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one
period (100ns) during an hour.
If I calculated correctly when the frequency is changed by one LSB that
3600s beat should change by around +/-45 seconds. If the change is 2LSB the
beat-period changes by around 90seconds.
To see the 'coincidence', maybe we need to collect traces from the
oscilloscope at 5s or 10s intervals, and do cross-correlation...

Anders

On Wed, Feb 20, 2019 at 2:00 AM John Miles john@miles.io wrote:

A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.

For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind.  E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB.  Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.

This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)

-- john, KE5FX
Miles Design LLC


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

AD replied to my message on the AD forums: (upon inspection they will revise the datasheet to say the resolution is 47 bits now... ha!) https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero the datasheet has a copyright "2007-2010" so maybe the chip has been out for 11-12 years already (?) but nobody bothered to measure the frequency resolution!? We might give the visual oscilloscope-method a go also at some point - just for kicks. For example one could set the DDS frequency so that there's a "beat" of 3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one period (100ns) during an hour. If I calculated correctly when the frequency is changed by one LSB that 3600s beat should change by around +/-45 seconds. If the change is 2LSB the beat-period changes by around 90seconds. To see the 'coincidence', maybe we need to collect traces from the oscilloscope at 5s or 10s intervals, and do cross-correlation... Anders On Wed, Feb 20, 2019 at 2:00 AM John Miles <john@miles.io> wrote: > > A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't > > have access to any counters capable if measuring the difference. > > For sanity-checking an extremely small frequency discrepancy, perhaps you > could set up the DDS to output a signal very close to a plesiochronous > reference of some kind. E.g., a binary fraction of its own clock frequency > plus or minus 1 LSB. Then trigger a scope from the DDS output while > watching the clock slide past it on the other channel. > > This turns the question into one that can be answered definitively with a > stopwatch, rather than ambiguously with a counter. :) > > -- john, KE5FX > Miles Design LLC > > > > _______________________________________________ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to > http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there. >
MD
Magnus Danielson
Thu, Feb 21, 2019 2:59 PM

Hi Anders,

On 2019-02-21 14:47, Anders Wallin wrote:

AD replied to my message on the AD forums: (upon inspection they will
revise the datasheet to say the resolution is 47 bits now... ha!)
https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero
the datasheet has a copyright "2007-2010" so maybe the chip has been out
for 11-12 years already (?) but nobody bothered to measure the frequency
resolution!?

First of all, good catch!

I bet it took some internal process only to conclude that they knew of
it but thought nobody would be affected. It could be that they didn't
know, set up a simulation only to conclude that they did not nail all bits.

We might give the visual oscilloscope-method a go also at some point - just
for kicks.
For example one could set the DDS frequency so that there's a "beat" of
3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one
period (100ns) during an hour.
If I calculated correctly when the frequency is changed by one LSB that
3600s beat should change by around +/-45 seconds. If the change is 2LSB the
beat-period changes by around 90seconds.
To see the 'coincidence', maybe we need to collect traces from the
oscilloscope at 5s or 10s intervals, and do cross-correlation...

If you use Linear Regretion / Least Square frequency estimation methods,
it will be easy to be conclusive.

The counter/oscilloscope setup would work. You could even record the
Lissajou pattern shift ever so slowly.

Cheers,
Magnus

Anders

On Wed, Feb 20, 2019 at 2:00 AM John Miles john@miles.io wrote:

A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't
have access to any counters capable if measuring the difference.

For sanity-checking an extremely small frequency discrepancy, perhaps you
could set up the DDS to output a signal very close to a plesiochronous
reference of some kind.  E.g., a binary fraction of its own clock frequency
plus or minus 1 LSB.  Then trigger a scope from the DDS output while
watching the clock slide past it on the other channel.

This turns the question into one that can be answered definitively with a
stopwatch, rather than ambiguously with a counter. :)

-- john, KE5FX
Miles Design LLC


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to
http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.


time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com
and follow the instructions there.

Hi Anders, On 2019-02-21 14:47, Anders Wallin wrote: > AD replied to my message on the AD forums: (upon inspection they will > revise the datasheet to say the resolution is 47 bits now... ha!) > https://ez.analog.com/dds/f/q-a/107510/ad9912-ftw-lsb-always-zero > the datasheet has a copyright "2007-2010" so maybe the chip has been out > for 11-12 years already (?) but nobody bothered to measure the frequency > resolution!? First of all, good catch! I bet it took some internal process only to conclude that they knew of it but thought nobody would be affected. It could be that they didn't know, set up a simulation only to conclude that they did not nail all bits. > We might give the visual oscilloscope-method a go also at some point - just > for kicks. > For example one could set the DDS frequency so that there's a "beat" of > 3600 seconds (1 h) - i.e. the 10MHz reference and the DDS output drift one > period (100ns) during an hour. > If I calculated correctly when the frequency is changed by one LSB that > 3600s beat should change by around +/-45 seconds. If the change is 2LSB the > beat-period changes by around 90seconds. > To see the 'coincidence', maybe we need to collect traces from the > oscilloscope at 5s or 10s intervals, and do cross-correlation... If you use Linear Regretion / Least Square frequency estimation methods, it will be easy to be conclusive. The counter/oscilloscope setup would work. You could even record the Lissajou pattern shift ever so slowly. Cheers, Magnus > > Anders > > > On Wed, Feb 20, 2019 at 2:00 AM John Miles <john@miles.io> wrote: > >>> A friend of mine has a x96 multiplier from 108 MHz to 10 GHz but we don't >>> have access to any counters capable if measuring the difference. >> For sanity-checking an extremely small frequency discrepancy, perhaps you >> could set up the DDS to output a signal very close to a plesiochronous >> reference of some kind. E.g., a binary fraction of its own clock frequency >> plus or minus 1 LSB. Then trigger a scope from the DDS output while >> watching the clock slide past it on the other channel. >> >> This turns the question into one that can be answered definitively with a >> stopwatch, rather than ambiguously with a counter. :) >> >> -- john, KE5FX >> Miles Design LLC >> >> >> >> _______________________________________________ >> time-nuts mailing list -- time-nuts@lists.febo.com >> To unsubscribe, go to >> http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com >> and follow the instructions there. >> > _______________________________________________ > time-nuts mailing list -- time-nuts@lists.febo.com > To unsubscribe, go to http://lists.febo.com/mailman/listinfo/time-nuts_lists.febo.com > and follow the instructions there.