[sdiy] Walsh bank, was: Re: [sdiy] Micro as a Linear to Exponential converter?
Magnus Danielson
magnus at rubidium.dyndns.org
Sun Aug 16 21:25:25 CEST 2009
Tom Wiltshire wrote:
>
> On 16 Aug 2009, at 09:38, Magnus Danielson wrote:
>
>> x(t) = IDFT(X(f))
>> X(w) = DWT(x(t)) = DWT(IDFT(X(f))
>
> If I'm going to calculate X(t) from X(f) using the IDFT, I think I'll
> output those samples directly, rather than add additional stages of DWT
> and then Walsh function calculation.
>
> Whilst this is probably a control processor that doing these sums (e.g.
> need not be every sample in real time) it doesn't seem efficient -
> transform from frequency domain to time domain back to frequency domain
> to time domain again! Phew!
You only have to do that once in the processor... after that you just
make sure the coefficients is being updated, just as with any poly-synth.
> I'm still not convinced that there's any real gains to be had from Walsh
> synthesis as opposed to Fourier. Sine waves are too damn hard to
> calculate, so you finish up doing a lookup, and the multiplies that
> everyone is trying to avoid is a series of one-cycle MACs, one for each
> harmonic. One ADD takes as long as one MAC.
> So it boils down to whether you can calculate a Walsh function quicker
> than you can lookup a sine value from a table. Not a lot in it, I'd have
> thought.
Well, you could argue that playing a walsh sequence could very well be
directly replaced by plaing the sample series through a mux or just
dedicate a DAC for it...
> And both Fourier and Walsh synthesis have the same control problem - how
> do you easily shape the dynamic evolution of many harmonics/functions
> over time? After all, I don't want to spend my *whole* life setting up
> envelope generator parameters...
The control problem is very similar. There is no transform-based
solution that solves the problem.
> Don't get me wrong - I'd love it if Walsh provided an easy, efficient
> way to generate arbitrary waves, but I don't see it yet.
Not significantly better, just different from Fourier.
Cheers,
Magnus
More information about the Synth-diy
mailing list