[sdiy] Digital accumulator VCO core?

Brian Willoughby brianw at audiobanshee.com
Mon Feb 15 23:02:54 CET 2021

I don't agree with this 5-step simplification. Once you create a naive raw impulse, the data already includes an infinite series of harmonics that are aliased and cannot be removed by filtering. Even two passes of a filter cannot remove the aliases that fall in between the in-band harmonics.

In contrast, you can synthesize a band-limited impulse easily using the sin(x)/x formula. There's no need to low-pass filter a synthesized band-limited impulse. The windowed version just leaves out values of sin(x)/x for large values of abs(x)

What I don't know about is the math to convert a standard band-limited impulse into a minimum-phase band-limited impulse. Anyone?

Either way, a synthesized band-limited impulse can be converted to a band-limited step via integration, and this can be done in advance. I'm assuming that the sample rate of the converter is fixed, and thus the band-limited data need only be synthesized once.

Brian Willoughby

On Feb 15, 2021, at 04:06, Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>> If you do a polyblep you correct the sample just before and just after the transition to "blend" the fractional-sample-position step into whole samples, but I don't get what the curve is supposed to be or how you design it.
> Ok, here goes...  (See attached JPG image.)
> 1. Start with a raw impulse (A).
> 2. Pass this through a boxcar FIR filter to get a band-limited impulse (B).
> 3. Pass this through the same boxcar filter again to get an even more band-limited impulse (C).
> 4. Now integrate this band-limited impulse to get a band-limited step (D).
> 5. Finally subtract a naive step from the band-limited step to get (E).

More information about the Synth-diy mailing list