[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