DSP ramp

Paul Perry pfperry at melbpc.org.au
Sat Apr 11 11:22:27 CEST 1998


At 02:32 PM 10/04/98 -0400, Eli Brandt  wrote:
>I think my list messages are getting swallowed up... if you haven't
>seen the appended message, could you please forward it to the list?
>
>also, re the digital frequency-shifter discussion of a while back,
>feel free to borrow the C code (it uses the FIR approach, not FFT) in
>http://www.cs.cmu.edu/~eli/junk/fshift/
>
>  e
>
>==========
>
>Paul Perry wrote:
>> a friend trying to make a dsp synth noticed that when using a 
>> simple 'add a bit at a time' ramp generator, that if you 
>> sweep the freq of a ramp generated this way there are horrible
>> artifacts generated.... has anyone noticed this with sweeping
>> lookup table ramps?
>
>A naive digital sawtooth has bigtime aliasing, which becomes painfully
>obvious when you sweep it because the aliased partials go the wrong
>way.  Say a fundamental of 750 Hz, sampling rate of 48 kHz, 5 octaves
>to F_nyq at 6 dB/oct, so the aliased crud starts only 30 dB down.
>
>Probably the right way to do this is a discrete summation formula.  
>I don't remember any that will create a sawtooth directly, but a
>band-limited impulse through a one-pole filter should have the right
>spectrum.  I think I copied these from Chamberlin, but check them:
>
>sum{k = 1..n} sin kx  =  sin (n+1)x/2 sin nx/2 csc x/2
>sum{k = 1..n} cos kx  =  cos (n+1)x/2 sin nx/2 csc x/2
>
>-- 
>     Eli Brandt  |  eli+ at cs.cmu.edu  |  http://www.cs.cmu.edu/~eli/
>
reposted by pfperry melb aust




More information about the Synth-diy mailing list