[sdiy] Walsh Generators
ASSI
Stromeko at compuserve.de
Sat Mar 19 17:28:51 CET 2005
On Donnerstag, 17. März 2005 22:32, Glen wrote:
> How many Walsh functions would need to be summed together, in order
> to get a saw waveform that reaches a quality level comparable to a
> 16-bit DAC? Would it actually take 65,536 Walsh Functions? Would
> 24-bit audio quality need 16,777,216 functions?
The question should really be: if the lowest frequency you are trying to
produce is 43.1Hz - how many Walsh functions would you need to produce
a distinct value for each sample at a sampling rate of 44.1kHz. The
answer to that is of course 1023 (OK, I doctored the values to get that
result). How many nonzero coefficients do you need? Just 10 and in fact
you wouldn't need any Walsh functions at all, because the saw is made
entirely out of square waves that are binary weighted. Of course you
need to provide the coefficients with either 16bit or 24bit precision
and make sure that no precision loss occurs during the accumulation. On
the other hand, saw waves can benefit from linear interpolation, so the
answer to the above question would then be a much smaller number,
depending on how steep you want to have the downslope. Keep in mind
that the sawtooth we are discussing above is not bandlimited at all, so
you really wouldn't want to produce such a waveform in the first place.
My personal take is that a good dose of oversampling (like OSR=128) to
accomodate a good enough anti-aliasing filter is needed and depending
on various other factors the useful number of Walsh functions to employ
is between 32 and 256. If you restrict the waveforms to half-cycle
symmetric (like many wavetable synths), then half as many Walsh
functions producing just the first half of the waveform are obviously
better than wasting half of the available coefficients.
Achim.
--
+<[Q+ Matrix-12 WAVE#46 Neuron microQkb Andromeda XTk sonic heaven]>+
SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Stromeko.Synth.net/#KorgSDada
More information about the Synth-diy
mailing list