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.
Non-B-Spline PolyBLEPs
-
- KVRist
- 377 posts since 4 Oct, 2002
- KVRAF
- 7897 posts since 12 Feb, 2006 from Helsinki, Finland
That's the 2x oversampling part, so I can have a very gradual transition.
- KVRAF
- 7897 posts since 12 Feb, 2006 from Helsinki, Finland
Actually let me expand on this a bit..mystran wrote: ↑Sun Dec 05, 2021 3:30 pmThat's the 2x oversampling part, so I can have a very gradual transition.
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.
-
- KVRist
- 377 posts since 4 Oct, 2002
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?
- KVRAF
- 7897 posts since 12 Feb, 2006 from Helsinki, Finland
-
- KVRer
- 23 posts since 11 Feb, 2003