[sdiy] BLIT/BLEP virtual analogue synthesis

ASSI Stromeko at nexgo.de
Wed Aug 4 20:27:54 CEST 2010


On Wednesday 04 August 2010, Olivier Gillet wrote:
> Isn't band-limiting (low-pass filtering at half the sampling frequency)
> linear?

Low-pass-filtering might or might not be linear, but bandlimiting (aka 
brickwall filter) most certainly isn't.  It is defined as an aperture 
function in the spectral domain which produces an infinite, non-causal 
impulse response in the time domain, so it isn't even realizable.  That's 
what all the fuzz with window functions is about (and BLIT/BLEP also use 
them for their bandlimited waveforms).

I've got a half-assed version of DPW implemented in an FPGA and I can 
certainly recommend it for the efficiency.  It's half-assed because the 
amplitude scaling is currently done by shifting instead of division, leading 
to 6dB ripple.  I probably won't implement it as a division (although a 
radix-4 divider or so in BRAM might possibly be fast enough), more likely a 
table-lookup followed by an iteration.  If the amplitude update is close 
enough after the lookup and then converges to the true value over a few 
samples, I don't think anybody is going to hear that at 192kHz...


Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf rackAttack:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




More information about the Synth-diy mailing list