[sdiy] Call for opinions: Walsh Module

Neil Johnson nej22 at hermes.cam.ac.uk
Fri Sep 6 12:15:41 CEST 2002


Tim,

> I've had this idea whanging about in my head for a while now,

Ignore the voices....they're lying to you...trust me...my voices tell me
so...

> and I'd like to place it before the committee for comments.

One thing to bear in mind (already touched on by earlier comments) is
resolution.  One thing to work out is this:
- calculate the set of coefficients for a sine wave with the number of
Walsh terms you're planning on using.
- find the largest and smallest coeffs
- calculate the ratio (largest/smallest)
- round up to the next binary number (2^n)
- "n" is the minimum number of bits you'd really need.

For example, on my website I have the coeff values for the 1st 15 terms of
a sinewave.  The largest coeff os 0.663, the smallest is 0.006.  The ratio
is then 110.5, rounded up to 128, i.e. 7 bits.  In this instance I would
use 8 bit resolution.  Obviously, the more terms (higher order) you have,
the greater will be the range of values (I don't have my Octave scripts
here to calculate the coeffs for a 64-term sinewave).

BTW, 32-term Walsh performs as good as digitized signals (see P.R.Risch
and T.A.Brubaker, "Evaluation of data reconstruction using Walsh
functions" Electronics Letters, October 1973 vol.9 no.21, pp.489-490), so
going to 64-term (6th order) may give you a bit of polish, but if you're
concerned about design size it may be worth stopping at 32 terms.

Cheers,
Neil

--
Neil Johnson :: Computer Laboratory :: University of Cambridge ::
http://www.njohnson.co.uk          http://www.cl.cam.ac.uk/~nej22
----  IEE Cambridge Branch: http://www.iee-cambridge.org.uk  ----




More information about the Synth-diy mailing list