Non-B-Spline PolyBLEPs

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

mystran wrote: Sun Dec 05, 2021 12:39 am I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.

Post

urosh wrote: Sun Dec 05, 2021 2:10 pm
mystran wrote: Sun Dec 05, 2021 12:39 am I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.
That's the 2x oversampling part, so I can have a very gradual transition. :)

Post

mystran wrote: Sun Dec 05, 2021 3:30 pm
urosh wrote: Sun Dec 05, 2021 2:10 pm
mystran wrote: Sun Dec 05, 2021 12:39 am I find that with 32-taps and 2x oversampling I can get the quality I want (where the 2x is more for allowing gradual transition in order to reduce IMD issues with further processing)
What would/do you use here? I'm assuming that IMD issue stem from time-domain behavior of antialiasing kernel, pretty much boiling down to overshoot. However, it seems to me that no matter how I window sinc, it will be wiggly in the end.
That's the 2x oversampling part, so I can have a very gradual transition. :)
Actually let me expand on this a bit..

The wiggles as such are not a huge issue if you're oversampling non-linearities sufficiently to avoid aliasing, but a steep cutoff can result in some ugly notches at slightly lower frequencies and highly resonant filters can do ugly stuff if you ever let their cutoff sweep past the oscillator cutoff..

So I kinda like to solve all the issues by generating the oscillators at 2x so that I can have a flat passband up to 22kHz, then a very gradual transition up to 44kHz and basically no actual aliasing.. but this involves putting the BLEP cutoff a bit lower, which means a longer BLEP, which makes it hard to get 16 taps to behave with higher order BLEPs .. and 32 taps is the next "full cache lines" up.

Oh.. and with oscillators at 2x additional oversampling for non-linearities doesn't need as steep kernels either.. and if there's some ugly notches or whatever nastyness that generally stays above the 22kHz limit so will get filtered out at the end of the signal path when we downsample to 44kHz. :)

Post

mystran wrote: Sun Dec 05, 2021 3:30 pm That's the 2x oversampling part, so I can have a very gradual transition. :)
Yeah, so my question is, how do I design "gradual transition" kernel? Windowing typically introduces notches in frequency response, so is there some window for sinc that is suitable or is there some other method to construct kernel?

Post

urosh wrote: Sun Dec 05, 2021 5:16 pm
mystran wrote: Sun Dec 05, 2021 3:30 pm That's the 2x oversampling part, so I can have a very gradual transition. :)
Yeah, so my question is, how do I design "gradual transition" kernel? Windowing typically introduces notches in frequency response, so is there some window for sinc that is suitable or is there some other method to construct kernel?
Kaiser.. just bump alpha. :)

Post

yeah i'll bump it later

Post Reply

Return to “DSP and Plugin Development”