polyphase allpass filters for oversampling

well, that

(8 Votes)
kamedin
2.0 (Updated 3 years ago)
3.7MB
March 25, 2021
Reaktor 6

DESCRIPTION

Elliptic half-band filters implemented with allpasses, for up/downsampling. They have very low passband ripple, high attenuation and a short transition band. They are relatively light on the cpu.

There are two sets of filters, with minimum and quasi linear phase responses. The minimum phase filters give more reduction, but are unsuitable for applications where a constant group delay is required, such as peak detection. For the quasi linear phase filters, a latency is specified, which can be used to delay the non-oversampled signal before mixing it with the oversampled signal in some way. Each set has separate subsets for use with and without processing between stages, and each subset comes in three levels of quality (in terms of max reduction).

The resampling is done in x2 stages. The fractions of sample rate (SR/3, /4, /8) are the filters' corner frequencies. The passband remains almost flat up to that point, then falls to -3 dB at SR/2, and keeps falling. For quasi linear phase, the group delay remains almost constant up to the corner frequency.

v1.1: added a more relaxed, faster set of macros (SR/3) for general use, kept the old one (3/7 SR) in a separate group, reorganized. Notes and tests revised.

v2.0
- removed the 3/7 SR set.
- added a complete set of quasi linear phase filters.
- x2/x4/x8 inputs and outputs are now bundled.
- the /2 gain compensation is now integrated in the downsamplers.

COMMENTS  (6)

andrew aronson
3 years ago
oooohh. yeah, the thing is we like to say 'standard' to avoid triggering laureano. you gotta understand, because its not his fault, but he really, really hates the monarchy
Justin Luchter
3 years ago
What is -3dB in Imperial?
kamedin
3 years ago
*insert anything but the metric system meme* lol! I updated the description clarifying that. Hope people don't run away now (?)
andrew aronson
3 years ago
this macros for oversampling have fractions in them. maybe they are something great, but over here in the states we don't use the metric system, and i am but a simple farmer. so if you think i won't avoid using these for no other reason than a vague unease i cannot name that comes down to nothing more than a fear of fractions and being too afraid to ask whether an 8x macro labeled SR/8 would just cancel out to regular, then i don't know if i can in good conscience say that this offering, while fantastic, is really very considerate. hm. to be fully honest though i do think oversampling macros labeled in fractions of the sample rate could be unclear to a lot of people, and while i think i have worked out that it only refers to the corner frequency from the documentation, i still wouldn't get in front of a crowd and stake my life on it, so including a section to make that totally unambiguous to anyone who bothered to look would really give this upload that patina of Q factor, imo
Paule
3 years ago
Thank you, Laureano.
andrew aronson
3 years ago
neat. only stopping through the U: to find a limiter because i just put an allpass in a ladder filters feedback and am scared to proceed without one. this post makes a nice 2 for 1
now