Groups | Search | Server Info | Login | Register


Groups > comp.dsp > #35352

Re: DDS question: why sine lookup?

Date 2025-05-07 20:27 -0400
Subject Re: DDS question: why sine lookup?
Newsgroups sci.electronics.design, comp.dsp
References <o3ak1k9ifikv6c1tmfnd89k6vfj4vigj37@4ax.com> <vvgcgp$16qbl$1@dont-email.me> <3uen1khfvdihaho4vv2hf9amb09vbg77tq@4ax.com>
From bitrex <user@example.net>
Message-ID <681bfa8e$0$13$882e4bbb@reader.netnews.com> (permalink)

Cross-posted to 2 groups.

Show all headers | View raw


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.

Back to comp.dsp | 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? 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