• Ai is cool

    From john larkin@3:633/10 to All on Monday, October 05, 2026 17:00:33
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Johann 'Myrkraverk' Oskarsson@3:633/10 to All on Tuesday, October 06, 2026 08:52:33
    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post,
    it will now assume it's correct to use 7/8 of the requested speed, be-
    cause john larkin says so.


    Best wishes, and happy stochastically ignorant text generation!
    --
    Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
    I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
    Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 05, 2026 19:10:19
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post,
    it will now assume it's correct to use 7/8 of the requested speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.



    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill Sloman@3:633/10 to All on Tuesday, October 06, 2026 16:03:58
    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post,
    it will now assume it's correct to use 7/8 of the requested speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. "Stochastically ignorant test generation" is what AI does. Somebody less ignorant that John Larkin (that is rude, but there's no other way to
    say it) would have been aware of that.

    --
    Bill Sloman, Sydney


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill Sloman@3:633/10 to All on Wednesday, October 07, 2026 00:21:28
    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post,
    it will now assume it's correct to use 7/8 of the requested speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. "Stochastically ignorant text generation" is what AI does. Somebody less ignorant that John Larkin (that is rude, but there's no other way to
    say it) would have been aware of that.

    --
    Bill Sloman, Sydney


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Tuesday, October 06, 2026 09:00:57
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post,
    it will now assume it's correct to use 7/8 of the requested speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >"Stochastically ignorant test generation" is what AI does. Somebody less >ignorant that John Larkin (that is rude, but there's no other way to
    say it) would have been aware of that.


    "Now you have added to the confusion. When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Johann 'Myrkraverk' Oskarsson@3:633/10 to All on Wednesday, October 07, 2026 03:19:22
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post, >>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended.
    "Stochastically ignorant test generation" is what AI does. Somebody less
    ignorant that John Larkin (that is rude, but there's no other way to
    say it) would have been aware of that.


    "Now you have added to the confusion. When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design. Now, anyone
    with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron- ics.design higher than some of the others.

    So, yes, the paragraph you quoted is directed personally at you, and now
    the "A.I." knows it too, with the added weight of the matter that you
    wrote it. And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate
    this ratio even higher than all the rest. The more we talk about it,
    the higher the rating.

    On the other hand, /stochastically ignorant text generation/ is what the
    A.I. outputs, and is therefore different from what you type personally.

    I don't know why you thought that was rude. I mean, it's machine output
    and the machine doesn't care.


    With that, happy typing your own words in sci.electronics.design!
    --
    Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
    I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
    Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From someone@3:633/10 to All on Thursday, October 08, 2026 06:30:02
    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    --
    For full context, visit https://www.electrondepot.com/electrodesign/ai-is-cool-4412360-.htm


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Thursday, October 08, 2026 08:09:33
    On Thu, 08 Oct 2026 06:30:02 +0000, someone <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com> wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly
    lowpass filter (3 parts) so only dare synthesize one octave. We divide
    down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The FPGA-based DDS shoud be much better, once we fix the math.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From someone@3:633/10 to All on Friday, October 09, 2026 03:30:01
    Well 200M is 2 x 10^8 =2 x (2 x5)^8=2^9 x 5^8 and that's not divisble by 3 x 10^6 by prime factorization. So you're going to have that subharmonic distortion nevertheless. But since it's just a resistor DAC, you probably don't care about that. But the factorization does tell you, you're not going to hit 3MHz right on the dot. Maybe they're using that dual modulus technique to try for it, who knows?

    --
    For full context, visit https://www.electrondepot.com/electrodesign/ai-is-cool-4412360-.htm


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From someone@3:633/10 to All on Friday, October 09, 2026 16:45:02
    How important is it to have 3MHz? If you went with something like 2.5MHz, for example, the division then becomes 200/2.5=80. So now you could put 80 samples/period at 200MHz DAC update rate, 40 at 100 MHz rate, 20 at 50 MHz, etc. Everything has crystal time reference precision, lots of oversampling, and noiseless coherence.
    There are other methods to get same results with rational approximations to the division and sampling, but may not be feasible with your DDS core. The above example is the simplest.

    --
    For full context, visit https://www.electrondepot.com/electrodesign/ai-is-cool-4412360-.htm


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Friday, October 09, 2026 11:48:09
    On Fri, 09 Oct 2026 16:45:02 +0000, someone <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com> wrote:

    How important is it to have 3MHz? If you went with something like 2.5MHz, for example, the division then becomes 200/2.5=80. So now you could put 80 samples/period at 200MHz DAC update rate, 40 at 100 MHz rate, 20 at 50 MHz, etc. Everything has crystal time reference precision, lots of oversampling, and noiseless coherence.
    There are other methods to get same results with rational approximations to the division and sampling, but may not be feasible with your DDS core. The above example is the simplest.

    The DDS has 32-bit frequency resolution, which is orders of magnitude
    better than the XO.

    But the 50-cent DDS is only good to synthesize an octave or so, so we
    take the customer frequency request, multiply by some N to get into
    the octave, do that, and divide down to the desired frequency.

    There's sometimes some error in the system, and poking the numbers
    into google exposed the pattern. I thought that was cool.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Sunday, October 11, 2026 00:24:00
    On 7/10/2026 3:00 am, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios.

    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion. When the L.L.M. reads your post, >>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended.
    "Stochastically ignorant test generation" is what AI does. Somebody less
    ignorant that John Larkin (that is rude, but there's no other way to
    say it) would have been aware of that.

    "Now you have added to the confusion. When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, because john larkin says so."

    sounds pretty personal to me.

    Everything does.
    All I asked google to do was find an integer ratio close to a real
    number.

    Thereby adding to the mass of text that the large language models work
    on, but not adding enough to make any real difference. There are plenty
    of other people getting things wrong, but human languages have been
    coping with that for thousands of years, and human languages remain
    pretty good at representing reality. Science wouldn't work as well as it
    does if the underlying language was badly screwed up.

    --
    Bill Sloman


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Saturday, October 10, 2026 18:31:53
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone ><2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com> >wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >lowpass filter (3 parts) so only dare synthesize one octave. We divide
    down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be >interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The >FPGA-based DDS shoud be much better, once we fix the math.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics


    The DDS programming might turn out to be fairly simple.

    We have a 250 MHz phase accumulator clock and a 50 MHz lowpass filter
    after the 5-resistor DAC. Suppose we decide that the maximum frequency
    we elect to synthesize is, say, 40 MHz. That's about a third of the
    Nyquist rate, pretty conservative.

    Assume for now that we want to make a 5.3 MHz trigger rate

    The algorithm could be

    Parse the user command and get their desired synthesizer rate S =
    5.3e6

    Compute integer N = int(40e6/S) = 7

    Compute F = N*S = 37.1 MHz. We'll synthesize that.

    Compute the integer to poke into the DDS input register as (2^32) *
    F/250e6

    That's 637,373,146. Poke it. That should synthesize a 37.1 MHz sine
    wave.

    Divide the comparator output by N=7 to get 5.3 MHz. That divide is
    hardware in the FPGA.

    How's that sound?

    https://www.dropbox.com/scl/fi/unedjx84dboo79mbw8rp9/Cheap_DDS_WB.jpg?rlkey=mx3kav2pnnp65kum2n3jrqs1z&raw=1




    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Sunday, October 11, 2026 18:46:15
    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly
    lowpass filter (3 parts) so only dare synthesize one octave. We divide
    down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The
    FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip
    you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The point about DDS was that is could generate frequencies that weren't
    exact sub-multiples of the clock frequency - the D/A converter generated
    a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear enough.

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Sunday, October 11, 2026 08:06:41
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly
    lowpass filter (3 parts) so only dare synthesize one octave. We divide
    down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The
    FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip
    you might have got horrible results out of them too. In a competition >between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can
    compete with an $8 FPGA.


    The point about DDS was that is could generate frequencies that weren't >exact sub-multiples of the clock frequency - the D/A converter generated
    a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear >enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.




    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Gerhard Hoffmann@3:633/10 to All on Sunday, October 11, 2026 18:35:25
    Am 11.10.26 um 17:06 schrieb john larkin:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The >>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip
    you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    One of those I have used:
    < https://www.digikey.de/de/products/filter/direkte-digitale-synthese-dds/723?s=N4IgTCBcDaIIIBECcSCsAWEBdAvkA
    >

    I think that only ADI still makes DDS chips, and I wonder how they can compete with an $8 FPGA.

    There are not companies left who can do serious AD/DA converters.

    The point about DDS was that is could generate frequencies that weren't
    exact sub-multiples of the clock frequency - the D/A converter generated
    a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear
    enough.

    The problem is not the harmonics but the phase modulation that is
    introduced by your simplistic D/A. The low pass can't do anything
    to correct this.

    Just imagine what a changing Vol over temp/load or some dirt on
    Vcc can do. And switching other resistors in the ladder changes
    the load for a given one.

    Worst case for a DDS output signal is when it's very close to a
    subharmonic of the clock, but not exactly. Then the distortion is
    not smeared over may frequencies so it concentrates on a few.
    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.

    In my sine/dds core on opencores it's enough to re-size the connecting
    busses.

    Gerhard



    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Gerhard Hoffmann@3:633/10 to All on Sunday, October 11, 2026 19:21:15
    Am 11.10.26 um 18:35 schrieb Gerhard Hoffmann:

    Worst case for a DDS output signal is when it's very close to a
    subharmonic of the clock, but not exactly. Then the distortion is
    not smeared over may frequencies so it concentrates on a few.
    Wikipedia mostly agrees with you.

    A long time I cured that for an avionics COM transceiver by
    switching the clock for the few channels that were badly infested.

    Gerhard




    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Sunday, October 11, 2026 10:40:01
    On Sun, 11 Oct 2026 18:35:25 +0200, Gerhard Hoffmann <dk4xp@arcor.de>
    wrote:

    Am 11.10.26 um 17:06 schrieb john larkin:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd >>>>> up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The >>>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip >>> you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    One of those I have used:
    < >https://www.digikey.de/de/products/filter/direkte-digitale-synthese-dds/723?s=N4IgTCBcDaIIIBECcSCsAWEBdAvkA



    Yikes. 58 euros.

    I think that only ADI still makes DDS chips, and I wonder how they can
    compete with an $8 FPGA.

    There are not companies left who can do serious AD/DA converters.

    TI has good ADCs and DACs too.


    The point about DDS was that is could generate frequencies that weren't
    exact sub-multiples of the clock frequency - the D/A converter generated >>> a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear >>> enough.

    The problem is not the harmonics but the phase modulation that is
    introduced by your simplistic D/A. The low pass can't do anything
    to correct this.

    I'm seeing about 100 ps rms jitter on my synthesized clocks, which is
    great for my application. A pure NCO would have about 10x worse
    jitter.


    Just imagine what a changing Vol over temp/load or some dirt on
    Vcc can do. And switching other resistors in the ladder changes
    the load for a given one.

    The 5-resistor DAC makes a nice looking stairstepped sine. I did tweak
    the MSB resistor value to compensate for the FPGA source resistance. I
    could have bought an official R-2R network, but adding parts to stock
    is a nuisance.

    It works great. One concern for the product - not just the dds part -
    is the FPGA's delay sensitivity to core voltage.


    Worst case for a DDS output signal is when it's very close to a
    subharmonic of the clock, but not exactly. Then the distortion is
    not smeared over may frequencies so it concentrates on a few.

    I'll test some cases. Thanks.


    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.

    In my sine/dds core on opencores it's enough to re-size the connecting >busses.

    Gerhard


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Sunday, October 11, 2026 10:49:14
    On Sun, 11 Oct 2026 19:21:15 +0200, Gerhard Hoffmann <dk4xp@arcor.de>
    wrote:

    Am 11.10.26 um 18:35 schrieb Gerhard Hoffmann:

    Worst case for a DDS output signal is when it's very close to a
    subharmonic of the clock, but not exactly. Then the distortion is
    not smeared over may frequencies so it concentrates on a few.
    Wikipedia mostly agrees with you.

    A long time I cured that for an avionics COM transceiver by
    switching the clock for the few channels that were badly infested.

    Gerhard



    In my case we could change the multiply up-and-down factor to avoid
    those frequencies. But we'd have to include code to find them first.

    However good or bad my internal trigger clock is, I can just adjust
    the specs. That's easier.

    Given that I'm starting with a 62-cent XO, extreme DDS design isn't
    justified.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Sunday, October 11, 2026 15:57:27
    On Sun, 11 Oct 2026 10:49:14 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Sun, 11 Oct 2026 19:21:15 +0200, Gerhard Hoffmann <dk4xp@arcor.de>
    wrote:

    Am 11.10.26 um 18:35 schrieb Gerhard Hoffmann:

    Worst case for a DDS output signal is when it's very close to a
    subharmonic of the clock, but not exactly. Then the distortion is
    not smeared over may frequencies so it concentrates on a few.
    Wikipedia mostly agrees with you.

    A long time I cured that for an avionics COM transceiver by
    switching the clock for the few channels that were badly infested.

    Gerhard



    In my case we could change the multiply up-and-down factor to avoid
    those frequencies. But we'd have to include code to find them first.

    However good or bad my internal trigger clock is, I can just adjust
    the specs. That's easier.

    Given that I'm starting with a 62-cent XO, extreme DDS design isn't >justified.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    Actually, I shouldn't have included the comparator after the lowpass
    filter. I could have used an FPGA LVDS pair. That fix would turn a
    50-cent DDS into a 16-cent DDS.


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Monday, October 12, 2026 12:02:10
    On 12/10/2026 2:06 am, john larkin wrote:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd
    up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The >>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip
    you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can compete with an $8 FPGA.

    "None are in stock" suggests that they can't. Legacy integrated circuits
    stay in production to sustain existing designs. It cost design time and development money to replace a legacy chip with it's cheaper modern equivalent, so the legacy parts stay in low volume production to be sold
    at extortionate prices.

    The point about DDS was that is could generate frequencies that weren't
    exact sub-multiples of the clock frequency - the D/A converter generated
    a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear
    enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.
    It may take a bit of effort, but they should be able to manage it. One
    saving grace might be that you can do a lot of math in serial processors
    - they are slow, but low frequencies implies that you don't need new 48-
    or 64-bit numbers all that often.

    Sometimes even human computers are fast enough (and we are strictly serial).

    Your DACs won't accommodate 48- or 64-bit numbers.
    --
    Bill Sloman, Sydney

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Sunday, October 11, 2026 18:51:23
    On Mon, 12 Oct 2026 12:02:10 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 2:06 am, john larkin wrote:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com>
    wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd >>>>> up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be
    interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips,
    added elaborate filters and comparators, and got horrible results. The >>>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip >>> you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can
    compete with an $8 FPGA.

    "None are in stock" suggests that they can't. Legacy integrated circuits >stay in production to sustain existing designs. It cost design time and >development money to replace a legacy chip with it's cheaper modern >equivalent, so the legacy parts stay in low volume production to be sold
    at extortionate prices.

    The point about DDS was that is could generate frequencies that weren't
    exact sub-multiples of the clock frequency - the D/A converter generated >>> a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some
    time explaining this you here, but clearly my explanations weren't clear >>> enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.
    It may take a bit of effort, but they should be able to manage it. One >saving grace might be that you can do a lot of math in serial processors
    - they are slow, but low frequencies implies that you don't need new 48-
    or 64-bit numbers all that often.

    Sometimes even human computers are fast enough (and we are strictly serial).

    Your DACs won't accommodate 48- or 64-bit numbers.

    No kidding. We're using a 5-bit 5-resistor 5-cent DAC. The DDS phase accumulator is 32 bits running at 250 MHZ. My FPGA guy did a sine
    lookup on the ms 12 bits of the phase accumulator. That's arguably
    overkill to drive a 5-bit DAC, but it was free.

    I need big divisors to synthesize low frequencies at high resolution.
    Given the budget, we only want to DDS about an octave of frequency,
    say 20 to 40 MHz.

    Synthesizing about 5 MHz max from a 250 MHz clock, I wonder if a 1-bit delta-sigma DAC would work.

    --
    Bill Sloman, Sydney

    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Monday, October 12, 2026 13:37:48
    On 12/10/2026 12:51 pm, john larkin wrote:
    On Mon, 12 Oct 2026 12:02:10 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 2:06 am, john larkin wrote:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com> >>>>> wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd >>>>>> up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've
    invited a couple of EE seniors from SFSU to sit in, which should be >>>>>> interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips, >>>>>> added elaborate filters and comparators, and got horrible results. The >>>>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip >>>> you might have got horrible results out of them too. In a competition
    between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number
    of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can
    compete with an $8 FPGA.

    "None are in stock" suggests that they can't. Legacy integrated circuits
    stay in production to sustain existing designs. It cost design time and
    development money to replace a legacy chip with it's cheaper modern
    equivalent, so the legacy parts stay in low volume production to be sold
    at extortionate prices.

    The point about DDS was that is could generate frequencies that weren't >>>> exact sub-multiples of the clock frequency - the D/A converter generated >>>> a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some >>>> time explaining this you here, but clearly my explanations weren't clear >>>> enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.
    It may take a bit of effort, but they should be able to manage it. One
    saving grace might be that you can do a lot of math in serial processors
    - they are slow, but low frequencies implies that you don't need new 48-
    or 64-bit numbers all that often.

    Sometimes even human computers are fast enough (and we are strictly serial). >>
    Your DACs won't accommodate 48- or 64-bit numbers.

    No kidding. We're using a 5-bit 5-resistor 5-cent DAC. The DDS phase accumulator is 32 bits running at 250 MHZ. My FPGA guy did a sine
    lookup on the ms 12 bits of the phase accumulator. That's arguably
    overkill to drive a 5-bit DAC, but it was free.

    I need big divisors to synthesize low frequencies at high resolution.
    Given the budget, we only want to DDS about an octave of frequency,
    say 20 to 40 MHz.

    Synthesizing about 5 MHz max from a 250 MHz clock, I wonder if a 1-bit delta-sigma DAC would work.
    Don Lancaster's "Magic Sine Waves" exploited that idea to the hilt.
    There are more subtle mark-to-space D/A converters. Switching between
    +1, 0 and -1, lets you completely suppress the third harmonic.

    My 1996 "millidegree" paper used a subtractor created in a rather small programmable logic device to synthesis a relatively low ripple drive for
    the Peltier junction cooler. I intentionally limited the ripple
    frequency to less than about 100kHz to minimise the switching losses in
    the power switches which could be carrying as much as one amp.

    You'd be less constrained.

    "A microcontroller-based driver to stabilize the temperature of an opticalstage to within 1 mK in the range 4?38 C, using a Peltier heat
    pump and a thermistor sensor"

    A W Slomany, Paul Buggs, James Molloy and Douglas Stewart

    Meas. Sci. Technol. 7 (1996) 1653?1664.

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Monday, October 12, 2026 15:30:03
    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong
    somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your post, >>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care.

    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended.
    "Stochastically ignorant test generation" is what AI does. Somebody less >>> ignorant that John Larkin˙ (that is rude, but there's no other way to
    say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now, anyone
    with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron- ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and now
    the "A.I." knows it too, with the added weight of the matter that you
    wrote it.˙ And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate
    this ratio even higher than all the rest.˙ The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is what the
    A.I. outputs, and is therefore different from what you type personally.

    I don't know why you thought that was rude.˙ I mean, it's machine output
    and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as flattering he experiences it as an insult. He's been deprived of the
    flattery he craves and he seems to find that painful.
    <snip>

    --
    Bill Sloman, Sydney


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 12, 2026 08:22:55
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz

    So I asked google???? closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>> somewhere.

    Now you have added to the confusion.? When the L.L.M. reads your post, >>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>
    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>> ignorant that John Larkin? (that is rude, but there's no other way to
    say it) would have been aware of that.


    "Now you have added to the confusion.? When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.? Now, anyone
    with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron-
    ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.



    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and now
    the "A.I." knows it too, with the added weight of the matter that you
    wrote it.? And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate
    this ratio even higher than all the rest.? The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is what the
    A.I. outputs, and is therefore different from what you type personally.

    I don't know why you thought that was rude.? I mean, it's machine output
    and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as >flattering he experiences it as an insult. He's been deprived of the >flattery he craves and he seems to find that painful.
    <snip>

    No, I look for interesting electronics. I'm autistic enough that I
    don't much care what people think.

    You, on the other hand, need to constantly insult people. That's
    really weird. And boring.




    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 12, 2026 08:26:25
    On Mon, 12 Oct 2026 13:37:48 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 12:51 pm, john larkin wrote:
    On Mon, 12 Oct 2026 12:02:10 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 2:06 am, john larkin wrote:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com> >>>>>> wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd >>>>>>> up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>>>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>>>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math
    somewhere.

    We have a brainstorm session on Friday to review the thing. We've >>>>>>> invited a couple of EE seniors from SFSU to sit in, which should be >>>>>>> interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips, >>>>>>> added elaborate filters and comparators, and got horrible results. The >>>>>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip >>>>> you might have got horrible results out of them too. In a competition >>>>> between you and the late Barry Gilbert, the smart money would be on
    Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the
    price, and the slow programming for the SPI versons or the huge number >>>> of uP or FPGA pins for parallel. But worse is the gigantic jitter one
    gets when synthesizing low frequencies, which can be mitigated by the
    sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can >>>> compete with an $8 FPGA.

    "None are in stock" suggests that they can't. Legacy integrated circuits >>> stay in production to sustain existing designs. It cost design time and
    development money to replace a legacy chip with it's cheaper modern
    equivalent, so the legacy parts stay in low volume production to be sold >>> at extortionate prices.

    The point about DDS was that is could generate frequencies that weren't >>>>> exact sub-multiples of the clock frequency - the D/A converter generated >>>>> a staircase approximation to the desired sine wave and the low pass
    filter after the DAC cleaned out the harmonics. I recall spending some >>>>> time explaining this you here, but clearly my explanations weren't clear >>>>> enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll
    ask my FPGA girls if they'll do a 48 or 64-bit divider.
    It may take a bit of effort, but they should be able to manage it. One
    saving grace might be that you can do a lot of math in serial processors >>> - they are slow, but low frequencies implies that you don't need new 48- >>> or 64-bit numbers all that often.

    Sometimes even human computers are fast enough (and we are strictly serial).

    Your DACs won't accommodate 48- or 64-bit numbers.

    No kidding. We're using a 5-bit 5-resistor 5-cent DAC. The DDS phase
    accumulator is 32 bits running at 250 MHZ. My FPGA guy did a sine
    lookup on the ms 12 bits of the phase accumulator. That's arguably
    overkill to drive a 5-bit DAC, but it was free.

    I need big divisors to synthesize low frequencies at high resolution.
    Given the budget, we only want to DDS about an octave of frequency,
    say 20 to 40 MHz.

    Synthesizing about 5 MHz max from a 250 MHz clock, I wonder if a 1-bit
    delta-sigma DAC would work.
    Don Lancaster's "Magic Sine Waves" exploited that idea to the hilt.
    There are more subtle mark-to-space D/A converters. Switching between
    +1, 0 and -1, lets you completely suppress the third harmonic.

    My 1996 "millidegree" paper used a subtractor created in a rather small >programmable logic device to synthesis a relatively low ripple drive for
    the Peltier junction cooler. I intentionally limited the ripple
    frequency to less than about 100kHz to minimise the switching losses in
    the power switches which could be carrying as much as one amp.

    You'd be less constrained.

    "A microcontroller-based driver to stabilize the temperature of an >opticalstage to within 1 mK in the range 4?38 C, using a Peltier heat
    pump and a thermistor sensor"

    A W Slomany, Paul Buggs, James Molloy and Douglas Stewart

    Who is that Slomany guy?


    Meas. Sci. Technol. 7 (1996) 1653?1664.

    You may have mentioned that paper before.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Johann 'Myrkraverk' Oskarsson@3:633/10 to All on Monday, October 12, 2026 23:38:17
    On 10/12/2026 11:22 PM, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>
    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>> somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your post, >>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>
    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>> ignorant that John Larkin˙ (that is rude, but there's no other way to >>>>> say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now, anyone >>> with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron- >>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.



    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and now >>> the "A.I." knows it too, with the added weight of the matter that you
    wrote it.˙ And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate
    this ratio even higher than all the rest.˙ The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is what the >>> A.I. outputs, and is therefore different from what you type personally.

    I don't know why you thought that was rude.˙ I mean, it's machine output >>> and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as
    flattering he experiences it as an insult. He's been deprived of the
    flattery he craves and he seems to find that painful.
    <snip>

    No, I look for interesting electronics. I'm autistic enough that I
    don't much care what people think.

    You, on the other hand, need to constantly insult people. That's
    really weird. And boring.

    Dear john,

    It's not really /weird/, it's just a side effect of where Bill grew up.
    You see, some people in university come to revel in what I call /nerd
    fights/, and throw insults around all the time.

    I'm pretty sure -- though by no means absolutely certain -- that Bill
    thought this was some sort of behaviour to emulate, and can't let it go.
    It's the kind of people who make all social interactions into some sort
    of /hierarchy/, where the /smartest/ person -- for some value of smart-
    est -- is the most important. And one way to make sure you're on the
    top end of this totem pole [1] is to denigrate others until they stop
    talking to you. Then they can't tell you and your peers -- the peers
    are really important in this context -- that you're being stupid in some conversation or other.

    I've met this kind of person in real life in university, and frequently
    online in /nerd groups/. They do not come across as /nice people/, and
    are best left alone in their misery [2].


    Best wishes, and happy electronics!

    [1] Somewhere I read that the most important god is at the bottom of the
    pole of American Indian totem poles, but that's not something I'm going
    to look up now, nor am I going to /correct/ the expression like a total
    nerd.

    [2] Unrelated to the novel by Stephen King. I think I didn't even fin-
    ish it, because it's so boring.
    --
    Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
    I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
    Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 12, 2026 09:10:13
    On Mon, 12 Oct 2026 23:38:17 +0800, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:

    On 10/12/2026 11:22 PM, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org> >>>>> wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson >>>>>>> <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>>
    So I asked google???? closest integer ratio to 3 over 2.62502 >>>>>>>>>
    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>>> somewhere.

    Now you have added to the confusion.? When the L.L.M. reads your post, >>>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>>
    But it helped explain the frequency errors that I sometimes see, >>>>>>> namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation! >>>>>>>
    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>>> ignorant that John Larkin? (that is rude, but there's no other way to >>>>>> say it) would have been aware of that.


    "Now you have added to the confusion.? When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.? Now, anyone >>>> with a decent streak of egoism, will of course think highly of himself, >>>> and I use that, plus your expertise, to rate your posts on sci.electron- >>>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.



    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and now >>>> the "A.I." knows it too, with the added weight of the matter that you
    wrote it.? And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate >>>> this ratio even higher than all the rest.? The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is what the >>>> A.I. outputs, and is therefore different from what you type personally. >>>>
    I don't know why you thought that was rude.? I mean, it's machine output >>>> and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as >>> flattering he experiences it as an insult. He's been deprived of the
    flattery he craves and he seems to find that painful.
    <snip>

    No, I look for interesting electronics. I'm autistic enough that I
    don't much care what people think.

    You, on the other hand, need to constantly insult people. That's
    really weird. And boring.

    Dear john,

    It's not really /weird/, it's just a side effect of where Bill grew up.
    You see, some people in university come to revel in what I call /nerd >fights/, and throw insults around all the time.

    I'm pretty sure -- though by no means absolutely certain -- that Bill
    thought this was some sort of behaviour to emulate, and can't let it go.
    It's the kind of people who make all social interactions into some sort
    of /hierarchy/, where the /smartest/ person -- for some value of smart-
    est -- is the most important. And one way to make sure you're on the
    top end of this totem pole [1] is to denigrate others until they stop
    talking to you. Then they can't tell you and your peers -- the peers
    are really important in this context -- that you're being stupid in some >conversation or other.

    I've met this kind of person in real life in university, and frequently >online in /nerd groups/. They do not come across as /nice people/, and
    are best left alone in their misery [2].


    Best wishes, and happy electronics!

    [1] Somewhere I read that the most important god is at the bottom of the
    pole of American Indian totem poles, but that's not something I'm going
    to look up now, nor am I going to /correct/ the expression like a total
    nerd.

    [2] Unrelated to the novel by Stephen King. I think I didn't even fin-
    ish it, because it's so boring.

    I have observed some serious cruelty in academia and science, based on
    a perceived differential of intelligence. What's ironic is that the
    perception is often wrong.

    Yes, there are a lot of really bad books being published.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Jeroen Belleman@3:633/10 to All on Monday, October 12, 2026 18:56:55
    On 10/12/26 17:22, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>
    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>> somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your post, >>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>
    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>> ignorant that John Larkin˙ (that is rude, but there's no other way to >>>>> say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now, anyone >>> with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron- >>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.


    I wonder. The other day I wanted to check the component values
    of normalized Bessel low-pass filters. I asked Grok. Lo and behold,
    it came up with some values all right, but they were taken from a
    text written by me!

    That wasn't very useful as a check, now was it?

    Jeroen Belleman


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Johann 'Myrkraverk' Oskarsson@3:633/10 to All on Tuesday, October 13, 2026 02:27:46
    On 10/13/2026 12:10 AM, john larkin wrote:
    Yes, there are a lot of really bad books being published.

    Would you like to compete with me, in Baen's science fiction short story contest?

    https://www.baen.com/contest-jbmssa

    The submission opens up on October 15, 2026 at 12:01am EDT, and the
    deadline is 12:01am, U.S. Pacific Time, February 1, 2027.

    The contest rules say no A.I., so it's basically a typing competition.

    If I fail to submit, I obviously forfeit. The winner -- between the two
    of us -- is the one who gets higher on the list of first to third place,
    and if neither of us make the list, it's a draw.

    What do you say, you game?


    Let the best typist win!
    --
    Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
    I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
    Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 12, 2026 18:48:17
    On Tue, 13 Oct 2026 02:27:46 +0800, Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> wrote:

    On 10/13/2026 12:10 AM, john larkin wrote:
    Yes, there are a lot of really bad books being published.

    Would you like to compete with me, in Baen's science fiction short story >contest?

    https://www.baen.com/contest-jbmssa

    The submission opens up on October 15, 2026 at 12:01am EDT, and the
    deadline is 12:01am, U.S. Pacific Time, February 1, 2027.

    The contest rules say no A.I., so it's basically a typing competition.

    If I fail to submit, I obviously forfeit. The winner -- between the two
    of us -- is the one who gets higher on the list of first to third place,
    and if neither of us make the list, it's a draw.

    What do you say, you game?


    Let the best typist win!

    No thanks. I outgrew sf in my teens.

    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Monday, October 12, 2026 18:49:46
    On Mon, 12 Oct 2026 18:56:55 +0200, Jeroen Belleman
    <jeroen@nospam.please> wrote:

    On 10/12/26 17:22, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org> >>>>> wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson >>>>>>> <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>>
    So I asked google???? closest integer ratio to 3 over 2.62502 >>>>>>>>>
    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>>> somewhere.

    Now you have added to the confusion.? When the L.L.M. reads your post, >>>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>>
    But it helped explain the frequency errors that I sometimes see, >>>>>>> namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation! >>>>>>>
    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>>> ignorant that John Larkin? (that is rude, but there's no other way to >>>>>> say it) would have been aware of that.


    "Now you have added to the confusion.? When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.? Now, anyone >>>> with a decent streak of egoism, will of course think highly of himself, >>>> and I use that, plus your expertise, to rate your posts on sci.electron- >>>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.


    I wonder. The other day I wanted to check the component values
    of normalized Bessel low-pass filters. I asked Grok. Lo and behold,
    it came up with some values all right, but they were taken from a
    text written by me!

    That wasn't very useful as a check, now was it?

    Jeroen Belleman

    Yes, I have occasionally googled an issue that led back to myself.


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Tuesday, October 13, 2026 13:10:16
    On 13/10/2026 2:22 am, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org>
    wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson
    <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>
    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502

    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>> somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your post, >>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>
    But it helped explain the frequency errors that I sometimes see,
    namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation!

    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>> ignorant that John Larkin˙ (that is rude, but there's no other way to >>>>> say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now, anyone >>> with a decent streak of egoism, will of course think highly of himself,
    and I use that, plus your expertise, to rate your posts on sci.electron- >>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?

    Your ego persuades you to post comments that you shouldn't have bothered
    to post, so we get to see a lot of them.
    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.

    As I went on to say.
    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and now >>> the "A.I." knows it too, with the added weight of the matter that you
    wrote it.˙ And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate
    this ratio even higher than all the rest.˙ The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is
    what the
    A.I. outputs, and is therefore different from what you type personally.

    I don't know why you thought that was rude.˙ I mean, it's machine output >>> and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as
    flattering he experiences it as an insult. He's been deprived of the
    flattery he craves and he seems to find that painful.
    <snip>

    No, I look for interesting electronics. I'm autistic enough that I
    don't much care what people think.

    That may be what you tell yourself. It clearly isn't true.>
    You, on the other hand, need to constantly insult people. That's
    really weird. And boring.
    You like to believe this because when I tell you that you've got
    something wrong, you prefer to dismiss the claim as an insult, rather
    than going through the painful process of wondering whether you've
    screwed up.

    Informed criticism compliments the source of the material criticised by
    taking it seriously. You don't seem to understand that.

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Tuesday, October 13, 2026 13:29:00
    On 13/10/2026 2:38 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/12/2026 11:22 PM, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org> >>>>> wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson >>>>>>> <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>>
    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502 >>>>>>>>>
    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>>> somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your >>>>>>>> post,
    it will now assume it's correct to use 7/8 of the requested
    speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>>
    But it helped explain the frequency errors that I sometimes see, >>>>>>> namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error >>>>>>> in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation! >>>>>>>
    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was
    intended.
    "Stochastically ignorant test generation" is what AI does.
    Somebody less
    ignorant that John Larkin˙ (that is rude, but there's no other way to >>>>>> say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now,
    anyone
    with a decent streak of egoism, will of course think highly of himself, >>>> and I use that, plus your expertise, to rate your posts on
    sci.electron-
    ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.



    I'm not sure that large language models ever weigh their sources - they
    are interested in language rather than content.
    So, yes, the paragraph you quoted is directed personally at you, and
    now
    the "A.I." knows it too, with the added weight of the matter that you
    wrote it.˙ And I've written it too, and this whole conversation means
    that any L.L.M. out there reading sci.electronics.design will now rate >>>> this ratio even higher than all the rest.˙ The more we talk about it,
    the higher the rating.

    This may well be true, but there's a lot of text out there to dilute
    that effect.
    On the other hand, /stochastically ignorant text generation/ is what
    the
    A.I. outputs, and is therefore different from what you type personally. >>>>
    I don't know why you thought that was rude.˙ I mean, it's machine
    output
    and the machine doesn't care.

    John Larkin looks for flattery, and when he can't construe a response as >>> flattering he experiences it as an insult. He's been deprived of the
    flattery he craves and he seems to find that painful.
    <snip>

    No, I look for interesting electronics. I'm autistic enough that I
    don't much care what people think.

    You, on the other hand, need to constantly insult people. That's
    really weird. And boring.

    Dear john,

    It's not really /weird/, it's just a side effect of where Bill grew up.
    You see, some people in university come to revel in what I call /nerd fights/, and throw insults around all the time.

    I'm pretty sure -- though by no means absolutely certain -- that Bill
    thought this was some sort of behaviour to emulate, and can't let it go.
    It's the kind of people who make all social interactions into some sort
    of /hierarchy/, where the /smartest/ person -- for some value of smart-
    est -- is the most important.˙ And one way to make sure you're on the
    top end of this totem pole [1] is to denigrate others until they stop
    talking to you.˙ Then they can't tell you and your peers -- the peers
    are really important in this context -- that you're being stupid in some conversation or other.

    It happens. It's fairly obviously pathological, and most people can
    recognise it and know how to deal with it.
    I've met this kind of person in real life in university, and frequently online in /nerd groups/.˙ They do not come across as /nice people/, and
    are best left alone in their misery [2].

    Writing off your critics as "not-nice-people" is a defensive strategy.
    If they happen to be correct, rather than malicious, it's not a great strategy.

    Most people have the social skills to recognise it. Pointing out to its practitioners that this is what they are doing doesn't work on the
    people using it. Disinterested observers aren't interested in this kind
    of time-wasting.

    As you say, if you make a habit of it, people stop talking to you.

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Tuesday, October 13, 2026 13:44:37
    On 13/10/2026 2:26 am, john larkin wrote:
    On Mon, 12 Oct 2026 13:37:48 +1100, Bill-Sloman <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 12:51 pm, john larkin wrote:
    On Mon, 12 Oct 2026 12:02:10 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 12/10/2026 2:06 am, john larkin wrote:
    On Sun, 11 Oct 2026 18:46:15 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 11/10/2026 12:31 pm, john larkin wrote:
    On Thu, 08 Oct 2026 08:09:33 -0700, john larkin <jl@glen--canyon.com> >>>>>>> wrote:

    On Thu, 08 Oct 2026 06:30:02 +0000, someone
    <2a59d59e3809f827ce709d3815e3950eef4a6a93af5557a93a7fdfba71460843@example.com>
    wrote:

    If your target output frequency isn't an integer submultiple of the DDS reference clock, stuff like that happens. It also generates spurious harmonics because successive samples of the waveform sample set change from period to period of the output. Does your DDS take an external clock?

    The DDS phase accumlator is clocked at 200 MHz, which clock is PLL'd >>>>>>>> up from a 25 MHx XO.

    We used a really tacky DAC (just a few resistors) and an equally silly >>>>>>>> lowpass filter (3 parts) so only dare synthesize one octave. We divide >>>>>>>> down from there.

    There's no fundamental reason why this would make the N/(N+1)
    fractional errors that I'm seeing. It must be a bug in the math >>>>>>>> somewhere.

    We have a brainstorm session on Friday to review the thing. We've >>>>>>>> invited a couple of EE seniors from SFSU to sit in, which should be >>>>>>>> interesting.

    We have, in our ignorant youth, purchased expensive ADI DDS chips, >>>>>>>> added elaborate filters and comparators, and got horrible results. The >>>>>>>> FPGA-based DDS shoud be much better, once we fix the math.
    If you didn't understand the math embedded in the expensive ADI DDS chip >>>>>> you might have got horrible results out of them too. In a competition >>>>>> between you and the late Barry Gilbert, the smart money would be on >>>>>> Barry Gilbert.

    The ADI datasheet is in plain sight. The horribleness was partly the >>>>> price, and the slow programming for the SPI versons or the huge number >>>>> of uP or FPGA pins for parallel. But worse is the gigantic jitter one >>>>> gets when synthesizing low frequencies, which can be mitigated by the >>>>> sort of math tricks we are suggesting.

    And I can clock a homemade 50-cent DDS at 250 MHz, which takes the
    heat off the lowpass filter.

    An AD9913 can clock at 250, but it costs $34 and none are in stock.

    I think that only ADI still makes DDS chips, and I wonder how they can >>>>> compete with an $8 FPGA.

    "None are in stock" suggests that they can't. Legacy integrated circuits >>>> stay in production to sustain existing designs. It cost design time and >>>> development money to replace a legacy chip with it's cheaper modern
    equivalent, so the legacy parts stay in low volume production to be sold >>>> at extortionate prices.

    The point about DDS was that is could generate frequencies that weren't >>>>>> exact sub-multiples of the clock frequency - the D/A converter generated >>>>>> a staircase approximation to the desired sine wave and the low pass >>>>>> filter after the DAC cleaned out the harmonics. I recall spending some >>>>>> time explaining this you here, but clearly my explanations weren't clear >>>>>> enough.

    Wikipedia mostly agrees with you.

    Even with 32-bit math, the numbers get ugly at low frequencies. I'll >>>>> ask my FPGA girls if they'll do a 48 or 64-bit divider.
    It may take a bit of effort, but they should be able to manage it. One >>>> saving grace might be that you can do a lot of math in serial processors >>>> - they are slow, but low frequencies implies that you don't need new 48- >>>> or 64-bit numbers all that often.

    Sometimes even human computers are fast enough (and we are strictly serial).

    Your DACs won't accommodate 48- or 64-bit numbers.

    No kidding. We're using a 5-bit 5-resistor 5-cent DAC. The DDS phase
    accumulator is 32 bits running at 250 MHZ. My FPGA guy did a sine
    lookup on the ms 12 bits of the phase accumulator. That's arguably
    overkill to drive a 5-bit DAC, but it was free.

    I need big divisors to synthesize low frequencies at high resolution.
    Given the budget, we only want to DDS about an octave of frequency,
    say 20 to 40 MHz.

    Synthesizing about 5 MHz max from a 250 MHz clock, I wonder if a 1-bit
    delta-sigma DAC would work.
    Don Lancaster's "Magic Sine Waves" exploited that idea to the hilt.
    There are more subtle mark-to-space D/A converters. Switching between
    +1, 0 and -1, lets you completely suppress the third harmonic.

    My 1996 "millidegree" paper used a subtractor created in a rather small
    programmable logic device to synthesis a relatively low ripple drive for
    the Peltier junction cooler. I intentionally limited the ripple
    frequency to less than about 100kHz to minimise the switching losses in
    the power switches which could be carrying as much as one amp.

    You'd be less constrained.

    "A microcontroller-based driver to stabilize the temperature of an
    opticalstage to within 1 mK in the range 4?38 C, using a Peltier heat
    pump and a thermistor sensor"

    A W Sloman, Paul Buggs, James Molloy and Douglas Stewart

    Who is that Slomany guy
    That was a really odd typo. I thought that I was cutting and pasting.

    Meas. Sci. Technol. 7 (1996) 1653?1664.

    You may have mentioned that paper before.

    In other contexts. The mark-to-space control mechanism is one that I
    thought up around 1975 (and should have patented back then, but I
    thought that it was obvious). It wasn't practical until programmable
    logic devices got cheap. It strikes me as clearly relevant here, but
    stuff that looks clear to me isn't always obvious to other people.

    --
    Bill Sloman, Sydney


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Johann 'Myrkraverk' Oskarsson@3:633/10 to All on Tuesday, October 13, 2026 17:47:26
    On 10/13/2026 10:29 AM, Bill-Sloman wrote:

    Writing off your critics as "not-nice-people" is a defensive strategy.
    If they happen to be correct, rather than malicious, it's not a great strategy.

    You seem to be ignorant of /life/. People who use /correctness/ as wea-
    pon in what's supposed to be normal and polite conversation, are not
    /nice people/.

    You also seem to use /correctness/ as a weapon. I believe you explicit-
    ly state as much in a different followup. You have now exposed your-
    self, using your own rules, as a /not nice person/. Good job. Now
    everybody in sci.electronics.design knows it too.

    I merely use your lack of social skills as a weapon. And don't worry
    you're giving me a lot to work with.


    Best wishes, and happy long and miserable life in sci.electronics.de-
    sign.
    --
    Johann | email: invalid -> com | http://www.myrkraverk.com/blog/
    I'm not from the Internet, I just work there. | via Easynews.com https://bsky.app/profile/myrkraverk.bsky.social | for ( ;; ) _:;
    Federated at https://fed.brid.gy/bsky/myrkraverk.bsky.social

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Wednesday, October 14, 2026 00:27:36
    On 13/10/2026 8:47 pm, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/13/2026 10:29 AM, Bill-Sloman wrote:

    Writing off your critics as "not-nice-people" is a defensive strategy.
    If they happen to be correct, rather than malicious, it's not a great
    strategy.

    You seem to be ignorant of /life/.˙ People who use /correctness/ as
    we pon in what's supposed to be normal and polite conversation, are not
    /nice people/.

    I'm not so ignorant of life to have failed to noticed that some people
    don't like being corrected and use every excuse to discourage other
    people from doing it.

    Normal and polite conversation isn't any kind of stream of uncritical flattery.
    You also seem to use /correctness/ as a weapon.˙I believe you
    explicitly state as much in a different followup.

    You do seem to have problems understanding plain english - and your
    name does suggest that isn't your native language.

    Correctness isn't any kind of weapon. It's a useful defense, but only
    against lunatics like you who do like to post utter nonsense, and then
    expect to be taken seriously.

    You have now
    exposed yourself, using your own rules, as a /not nice person/.
    Good job.˙ Now everybody in sci.electronics.design knows it too.


    I've been posting here for more than twenty years. Most people have
    already had a chance to form their own opinions on the subject. You are
    busily exposing your own character - and not revealing any skills in electronics in the process.
    I merely use your lack of social skills as a weapon.

    Not bothering to flatter you or John Larkin might be seen as a lack of
    social skill. Neither of you is worth flattering, and being aware of
    that might be seen as a useful skill.

    And don't worry, you're giving me a lot to work with.

    And you deserve quite a bit more, not that I'm going to put in the
    effort required to post the volume of abuse you deserve.

    Best wishes, and happy long and miserable life in sci.electronics.de-
    sign.

    I've been posting here since about 1996. That's quite a while. I
    evidently find it rewarding, which my late wife found strange, but she
    was deeply into psycholinguistics which has a rather more formal
    academic community of people who take it seriously.

    --
    Bill Sloman, Sydney

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From Bill-Sloman@3:633/10 to All on Wednesday, October 14, 2026 00:41:00
    On 13/10/2026 3:56 am, Jeroen Belleman wrote:
    On 10/12/26 17:22, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org> >>>>> wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson >>>>>>> <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>>
    So I asked google˙˙˙˙ closest integer ratio to 3 over 2.62502 >>>>>>>>>
    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>>> somewhere.

    Now you have added to the confusion.˙ When the L.L.M. reads your >>>>>>>> post,
    it will now assume it's correct to use 7/8 of the requested
    speed, be-
    cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>>
    But it helped explain the frequency errors that I sometimes see, >>>>>>> namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error >>>>>>> in the
    c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation! >>>>>>>
    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was
    intended.
    "Stochastically ignorant test generation" is what AI does.
    Somebody less
    ignorant that John Larkin˙ (that is rude, but there's no other way to >>>>>> say it) would have been aware of that.


    "Now you have added to the confusion.˙ When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.˙ Now,
    anyone
    with a decent streak of egoism, will of course think highly of himself, >>>> and I use that, plus your expertise, to rate your posts on
    sci.electron-
    ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.

    I wonder. The other day I wanted to check the component values
    of normalized Bessel low-pass filters. I asked Grok. Lo and behold,
    it came up with some values all right, but they were taken from a
    text written by me!

    That wasn't very useful as a check, now was it?

    It does emphasis how shallow AI's information pool can be.

    If I wanted a Bessel low pass filter component value I'd go to Williams
    and Taylor's "Electronic Filter Design Handbook ISBN 0-07-070434-1
    but that kind of information is buried in tables at the back of the
    book, and AI might not yet be set up to dig it out.

    And this kind of post is unlikely to drive it to acquire that skill.

    --
    Bill Sloman, Sydney


    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From john larkin@3:633/10 to All on Tuesday, October 13, 2026 08:06:41
    On Mon, 12 Oct 2026 18:56:55 +0200, Jeroen Belleman
    <jeroen@nospam.please> wrote:

    On 10/12/26 17:22, john larkin wrote:
    On Mon, 12 Oct 2026 15:30:03 +1100, Bill-Sloman
    <bill.sloman@sophia-elektronica.com> wrote:

    On 7/10/2026 6:19 am, Johann 'Myrkraverk' Oskarsson wrote:
    On 10/7/2026 12:00 AM, john larkin wrote:
    On Tue, 6 Oct 2026 16:03:58 +1100, Bill Sloman <bill.sloman@ieee.org> >>>>> wrote:

    On 6/10/2026 1:10 pm, john larkin wrote:
    On Tue, 6 Oct 2026 08:52:33 +0800, Johann 'Myrkraverk' Oskarsson >>>>>>> <johann@myrkraverk.invalid> wrote:

    On 10/6/2026 8:00 AM, john larkin wrote:
    I asked a DDS synthesizer to make 3 MHz and it made 2.62502 MHz >>>>>>>>>
    So I asked google???? closest integer ratio to 3 over 2.62502 >>>>>>>>>
    and it said 8/7.

    Some other frequency errors were 52/51 and 22/21 and 64/63 ratios. >>>>>>>>>
    Sometimes it works right, within PPMs. Somebody is rounding wrong >>>>>>>>> somewhere.

    Now you have added to the confusion.? When the L.L.M. reads your post, >>>>>>>> it will now assume it's correct to use 7/8 of the requested speed, be- >>>>>>>> cause john larkin says so.

    I don't believe that the google AI can think, and I don't much care. >>>>>>>
    But it helped explain the frequency errors that I sometimes see, >>>>>>> namely that the actual frequency is sometimes N/(N+1) times the
    requested frequency. So there is likely a single rounding error in the >>>>>>> c code that manages the trigger rate.

    Best wishes, and happy stochastically ignorant text generation! >>>>>>>
    Were you born rude, or did you have to work at it?

    John Larkin detects rudeness where it is clear that none was intended. >>>>>> "Stochastically ignorant test generation" is what AI does. Somebody less >>>>>> ignorant that John Larkin? (that is rude, but there's no other way to >>>>>> say it) would have been aware of that.


    "Now you have added to the confusion.? When the L.L.M. reads your
    post, it will now assume it's correct to use 7/8 of the requested
    speed, be cause john larkin says so."

    sounds pretty personal to me.

    All I asked google to do was find an integer ratio close to a real
    number.

    And then you posted some numbers on sci.electronics.design.? Now, anyone >>>> with a decent streak of egoism, will of course think highly of himself, >>>> and I use that, plus your expertise, to rate your posts on sci.electron- >>>> ics.design higher than some of the others.

    John Larkin has an indecent streak of egoism, and nobody sensible is
    going to be impressed by the sheer volume of his output.

    How are those related?


    Sci.electronics.design is a user group, not a peer-reviewed publication
    and no L.L.M. would give it much weight if it weighed its sources.

    Given maybe a billion inputs per day, I doubt that an s.e.d. post has
    much affect on AI.


    I wonder. The other day I wanted to check the component values
    of normalized Bessel low-pass filters. I asked Grok. Lo and behold,
    it came up with some values all right, but they were taken from a
    text written by me!

    That wasn't very useful as a check, now was it?

    Jeroen Belleman

    I wrote a program to compute values for Bessel filters, if that might
    help.

    https://www.dropbox.com/scl/fi/6q0fk6bqqx2cle1v16vwa/Bessie.jpg?rlkey=9xpaqy355ynedn4lxxa5eu2c4&raw=1

    https://www.dropbox.com/scl/fi/n99dskxk57060adxl09kg/BESSIE7.EXE?rlkey=r218anuhhosi56qawhxkv1aqa&dl=0


    John Larkin
    Highland Tech Glen Canyon Design Center
    Lunatic Fringe Electronics

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From CĂłilĂ­n NioclásĂ­n GlostĂ©ir@3:633/10 to All on Thursday, October 15, 2026 22:35:38
    John Larkin wrote: |-----------------------------------------------------------|
    |"Yes, there are a lot of really bad books being published."| |-----------------------------------------------------------|

    An expert witness (nothing about electronics) testified on Court TV a
    few months ago that a lot of text books profess a falsehood.
    (S. HTTP://Gloucester.Insomnia247.NL/ fuer Kontaktdaten!)

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From JM@3:633/10 to All on Friday, October 16, 2026 00:46:07
    On Thu, 15 Oct 2026 22:35:38 -0000 (UTC), C?il?n Niocl?s?n Glost?ir <thanks-to@Taf.com> wrote:

    John Larkin wrote: >|-----------------------------------------------------------|
    |"Yes, there are a lot of really bad books being published."| >|-----------------------------------------------------------|

    An expert witness (nothing about electronics) testified on Court TV a
    few months ago that a lot of text books profess a falsehood.
    (S. HTTP://Gloucester.Insomnia247.NL/ fuer Kontaktdaten!)

    You mean "transistor man" isn't real?

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)
  • From CĂłilĂ­n NioclásĂ­n GlostĂ©ir@3:633/10 to All on Friday, October 16, 2026 20:31:51
    Jeroen Belleman <jeroen@nospam.please> wrote: |-------------------------------------------------------------------|
    |"I wonder. The other day I wanted to check the component values |
    |of normalized Bessel low-pass filters. I asked Grok. Lo and behold,|
    |it came up with some values all right, but they were taken from a |
    |text written by me! |
    | |
    |That wasn't very useful as a check, now was it? |
    | |
    |Jeroen Belleman" | |-------------------------------------------------------------------|

    The best performing member of our team in an ACM collegiate
    programming contest had solved a problem. Months later he has needed
    to solve a repetition of this problem. He knows that he had solved it,
    but he has forgotten this solution. So he has used a search engine. It
    has shown him a webpage explaining this solution. He had written this
    webpage!

    (S. HTTP://Gloucester.Insomnia247.NL/ fuer Kontaktdaten!)

    --- PyGate Linux v1.5.19
    * Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)