[sdiy] Low Frequency Square to Sine Waveshaper

Kyle Stephens lightburnx at yahoo.com
Thu May 29 00:12:05 CEST 2008


On the now sorta-tangent of Walsh functions, anyone
built anything out of <a
href="http://www.wiseguysynth.com/larry/schematics/walsh/walsh.htm">this</a>?
(They do mention sines right off the bat).

--- harrybissell at wowway.com wrote:

> The best improvement might indeed (as you mention in
> the last line)
> be making the counter synchronous. For 4 bits its no
> extra trouble...
> 
> H^) harry
> 
> 
> 
> On Tue, 27 May 2008 21:46:43 +0200, ASSI wrote
> > On Dienstag 27 Mai 2008, Paul Perry wrote:
> > > Boring or not, that EDN circuit is only 4 bits,
> so it's going to be
> > > very lumpy indeed.
> > 
> > I shouldn't make such obtuse jokes, sorry - but I
> find the stuff 
> > they've left out is almost more interesting than
> what is written in 
> > such articles...  As a thought provoking device
> they are quite 
> > useful however and once in a while they might even
> solve the problem 
> > at hand without further ado.
> > 
> > > How difficult would it be to extend the
> principle to 12 bits say?
> > > (impossible for a non-mathematician like myself,
> but there is
> > > obviously Talent on this list..)
> > 
> > Due to the symmetry properties of the sine wave
> the arrangement as 
> > shown in EDN is actually quite good and not easy
> to improve without 
> > a lot more effort (does "diminishing returns" ring
> a bell?).  Hang 
> > on, I'll try to explain.  The Walsh coefficients
> for the first 64 
> > Walsh functions (the 0th would be for any DC
> component, which is of 
> > course not present in these signals) for the
> "standard" waveforms 
> > (normalized to amplitude 1.0) are:
> > 
> >    n      Sine    Cosine   |/| Saw   /|/ Saw  
> Sin-Tri  Cos-Tri
> >    0   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >    1   0.63662   0.00000  -0.50000   0.50000  
> 0.50000  0.00000
> >    2   0.00000   0.63662   0.00000   0.00000  
> 0.00000  0.50000
> >    3   0.00000   0.00000  -0.25000  -0.25000  
> 0.00000  0.00000
> >    4   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >    5  -0.26370   0.00000   0.00000   0.00000 
> -0.25000  0.00000
> >    6   0.00000   0.26370   0.00000   0.00000  
> 0.00000  0.25000
> >    7   0.00000   0.00000  -0.12500  -0.12500  
> 0.00000  0.00000
> >    8   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >    9  -0.05245   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   10   0.00000  -0.05245   0.00000   0.00000  
> 0.00000  0.00000
> >   11   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   12   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   13  -0.12663   0.00000   0.00000   0.00000 
> -0.12500  0.00000
> >   14   0.00000   0.12663   0.00000   0.00000  
> 0.00000  0.12500
> >   15   0.00000   0.00000  -0.06250  -0.06250  
> 0.00000  0.00000
> >   16   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   17  -0.01247   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   18   0.00000  -0.01247   0.00000   0.00000  
> 0.00000  0.00000
> >   19   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   20   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   21   0.00517   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   22   0.00000  -0.00517   0.00000   0.00000  
> 0.00000  0.00000
> >   23   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   24   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   25  -0.02597   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   26   0.00000  -0.02597   0.00000   0.00000  
> 0.00000  0.00000
> >   27   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   28   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   29  -0.06270   0.00000   0.00000   0.00000 
> -0.06250  0.00000
> >   30   0.00000   0.06270   0.00000   0.00000  
> 0.00000  0.06250
> >   31   0.00000   0.00000  -0.03125  -0.03125  
> 0.00000  0.00000
> >   32   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   33  -0.00308   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   34   0.00000  -0.00308   0.00000   0.00000  
> 0.00000  0.00000
> >   35   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   36   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   37   0.00128   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   38   0.00000  -0.00128   0.00000   0.00000  
> 0.00000  0.00000
> >   39   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   40   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   41   0.00025   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   42   0.00000   0.00025   0.00000   0.00000  
> 0.00000  0.00000
> >   43   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   44   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   45   0.00061   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   46   0.00000  -0.00061   0.00000   0.00000  
> 0.00000  0.00000
> >   47   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   48   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   49  -0.00622   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   50   0.00000  -0.00622   0.00000   0.00000  
> 0.00000  0.00000
> >   51   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   52   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   53   0.00258   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   54   0.00000  -0.00258   0.00000   0.00000  
> 0.00000  0.00000
> >   55   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   56   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   57  -0.01295   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   58   0.00000  -0.01295   0.00000   0.00000  
> 0.00000  0.00000
> >   59   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   60   0.00000   0.00000   0.00000   0.00000  
> 0.00000  0.00000
> >   61  -0.03128   0.00000   0.00000   0.00000 
> -0.03125  0.00000
> >   62   0.00000   0.03128   0.00000   0.00000  
> 0.00000  0.03125
> >   63   0.00000   0.00000  -0.01562  -0.01562  
> 0.00000  0.00000
> > 
> > I hope you see how the symmetry present in the
> signal maps to which 
> > Walsh coefficients are non-zero.  The ramp
> functions don't need 
> > anything else but binary weighted square waves of
> successively 
> > doubling frequency for their approximation as
> anybody who has 
> > watched the output from a binary counter can
> attest.  That's your 
> > cue as to where the square waves coming from the
> 4040 are present in 
> > the table.  Now if you multiply (and that
> operation maps to an XOR 
> > operation in the circuit) any Walsh function W_n
> with W_1, then you 
> > get W_(n-1).  That's the second cue you need to
> decipher the EDN circuit.
> > 
> > Equipped with that information one sees that the
> EDN circuit 
> > actually approximates a cosine, this is done via
> the XOR arrangement 
> > with Q4, which consequently is associated with
> W_1.  So the inputs 
> 
=== message truncated ===



      



More information about the Synth-diy mailing list