Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > sci.electronics.design > #733084

Re: DDS question: why sine lookup?

From Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net>
Newsgroups sci.electronics.design, comp.dsp
Subject Re: DDS question: why sine lookup?
Date 2025-05-08 14:20 -0400
Organization A noiseless patient Spider
Message-ID <4dadb4e2-f7aa-be3a-0a03-e282577614bb@electrooptical.net> (permalink)
References <o3ak1k9ifikv6c1tmfnd89k6vfj4vigj37@4ax.com> <vvgcgp$16qbl$1@dont-email.me> <3uen1khfvdihaho4vv2hf9amb09vbg77tq@4ax.com> <681bfa8e$0$13$882e4bbb@reader.netnews.com> <1t4o1k1uo8qa244fcv7jr7dnljlvp72vmq@4ax.com>

Cross-posted to 2 groups.

Show all headers | View raw


On 2025-05-07 22:21, john larkin wrote:
> On Wed, 7 May 2025 20:27:58 -0400, bitrex <user@example.net> wrote:
> 
>> On 5/7/2025 4:01 PM, john larkin wrote:
>>> On Wed, 7 May 2025 20:32:41 +0100, Martin Brown
>>> <'''newspam'''@nonad.co.uk> wrote:
>>>
>>>> On 06/05/2025 16:48, john larkin wrote:
>>>>> A DDS clock generator uses an NCO (a phase accumulator) and takes some
>>>>> number of MSBs, maps through a sine lookup table, drives a DAC and a
>>>>> lowpass filter and finally a comparator. The DAC output gets pretty
>>>>> ratty near Nyquist, and the filter smooths out and interpolates the
>>>>> steps and reduces jitter.
>>>>>
>>>>> But why do the sine lookup? Why not use the phase accumulator MSBs
>>>>> directly and get a sawtooth, and filter that?
>>>>
>>>> A saw tooth wave has a huge step like discontinuity in it which looks
>>>> very ugly in the frequency domain with strong harmonics. Strong sharp
>>>> features in time domain are broad in frequency space and vice versa.
>>>>
>>>> If you wanted something a bit different then detecting the phase
>>>> accumulator overflow and reversing the count sense to get a triangle
>>>> wave might be an option (at half the frequency). Needs some very careful
>>>> maths at the boundary flips to avoid introducing jitter.
>>>>
>>>>   From that triangle wave you can use HP's wizard diode shaping network
>>>> trick to get a pretty good clean sine wave.
>>>
>>> Yes, a triangle would be better than a sawtooth... fewer nasty
>>> subharmonics. But we may as well stick with the classic boring sine
>>> wave. The sine lookup is trivial in an FPGA.
>>>
>>
>> A band-limited square wave is pretty space & computation-efficient, you
>> just store the Gibbs phenomena portion of the wave to whatever harmonic
>> level you desire, play it back, and then sit there and wait during the
>> DC parts of the wave.
>>
>> If you then integrate a band-limited square wave you get a band-limited
>> triangle wave directly.
> 
> If I could make a square wave from the MSBs of the phase accumulator,
> I might not need the DAC and filter and comparator.
> 
> Just using the MSB of the phase accumulator is the right frequency,
> but it's very jitterey.
> 
> So, is there a way to examine some number of MSBs and make an edge
> with high time resolution, all digitally, all inside the FPGA? To even
> 1 clock resolution, preferably better?
> 
> There probably is.
> 
> 
> 

Don't think so.  Since you have exactly two edges per cycle, it would 
have the same problem as the sawtooth, for the same reason.  You could 
interpolate the same sort of way as in a DDG.

Cheers

Phil Hobbs

-- 
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC / Hobbs ElectroOptics
Optics, Electro-optics, Photonics, Analog Electronics
Briarcliff Manor NY 10510

http://electrooptical.net
http://hobbs-eo.com

Back to sci.electronics.design | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-06 08:48 -0700
  Re: DDS question: why sine lookup? Jeroen Belleman <jeroen@nospam.please> - 2025-05-06 21:00 +0200
    Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-06 12:33 -0700
    Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-06 16:46 -0400
      Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-06 15:50 -0700
        Re: DDS question: why sine lookup? Arie de Muijnck <noreply@ademu.nl> - 2025-05-07 11:44 +0200
          Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-07 06:32 -0700
            Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-08 01:58 +1000
      Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-07 06:55 -0700
        Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-07 11:31 -0400
          Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-08 02:11 +1000
  Re: DDS question: why sine lookup? Gerhard Hoffmann <dk4xp@arcor.de> - 2025-05-06 21:27 +0200
    Re: DDS question: why sine lookup? "Don" <g@crcomp.net> - 2025-05-06 20:10 +0000
    Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-06 13:35 -0700
  Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-07 16:27 +1000
  Re: DDS question: why sine lookup? Martin Brown <'''newspam'''@nonad.co.uk> - 2025-05-07 20:32 +0100
    Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-07 13:01 -0700
      Re: DDS question: why sine lookup? bitrex <user@example.net> - 2025-05-07 20:27 -0400
        Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-07 19:21 -0700
          Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-08 22:49 +1000
          Re: DDS question: why sine lookup? Joe Gwinn <joegwinn@comcast.net> - 2025-05-08 11:01 -0400
          Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-08 14:20 -0400
            Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-08 11:58 -0700
              Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-08 16:24 -0400
                Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-08 14:18 -0700
                Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-08 22:28 +0000
                Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-08 16:24 -0700
                Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-08 23:57 +0000
                Re: DDS question: why sine lookup? piglet <erichpwagner@hotmail.com> - 2025-05-09 04:48 +0000
                Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-09 12:53 -0700
                Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-10 18:53 +1000
                Re: DDS question: why sine lookup? Lasse Langwadt <llc@fonz.dk> - 2025-05-10 19:52 +0200
                Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-10 11:53 -0700
                Re: DDS question: why sine lookup? dplatt@coop.radagast.org (Dave Platt) - 2025-05-10 16:50 -0700
                Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-10 17:39 -0700
                Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-11 16:27 -0400
                Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-11 16:55 +1000
                Re: DDS question: why sine lookup? Lasse Langwadt <llc@fonz.dk> - 2025-05-11 22:03 +0200
                Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-09 15:52 +1000
        Re: DDS question: why sine lookup? Lawrence D'Oliveiro <ldo@nz.invalid> - 2025-05-10 00:44 +0000
      Re: DDS question: why sine lookup? Martin Brown <'''newspam'''@nonad.co.uk> - 2025-05-09 09:32 +0100
  Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-10 17:00 -0700
  Re: DDS question: why sine lookup? antispam@fricas.org (Waldek Hebisch) - 2025-05-13 23:25 +0000
    Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-13 20:22 -0400
      Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-13 18:40 -0700
      Re: DDS question: why sine lookup? antispam@fricas.org (Waldek Hebisch) - 2025-05-14 15:35 +0000
        Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-14 15:05 -0400
          Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-14 14:53 -0700
            Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-14 19:16 -0400
              Re: DDS question: why sine lookup? john larkin <jl@glen--canyon.com> - 2025-05-14 17:10 -0700
                Re: DDS question: why sine lookup? Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2025-05-15 12:40 -0400
          Re: DDS question: why sine lookup? Bill Sloman <bill.sloman@ieee.org> - 2025-05-15 17:23 +1000

csiph-web