# Solved 3 dB/octave LPF?

Discussion in 'REAKTOR' started by mike_jm, Dec 20, 2017.

1. ### mike_jmNI Product Owner

Messages:
281
Does anyone know how I would go about making an 3 dB/octave LPF? I need a gentle LPF like this. Thanks.

2. ### Jonathan TremblayNI Product Owner

Messages:
402
You can try a Bessel Filter.

I got that info from HERE. Under "Bessel Normalization".

3. ### Jonathan TremblayNI Product Owner

Messages:
402
I should mention I have never attempted to make a filter from scratch.
Always wanted to, but there's too much maths in there for me that I don't understand/never took a course in.

Messages:
7,555
5. ### colBNI Product Owner

Messages:
3,969
That info table doesn't say that bessel filters have a 3db/Oct slope. The 3db is mentioned for group delay and mirror magnitude (whatever that is)

I'm pretty sure that you can't build a simple digital filter with less than 6db/Oct cutoff.

One way to get around that is to build a combination filter with overlapping 6db filters that create an approximation when overlapped and gain adjusted.

Alternatively look at the pinking filter in the cheap pink noise generator in the factory library. Pink noise has a 3db/Oct rolloff, so a pink noise implementation using filtered white noise will have some sort of 3db filter approximation.

Also Google pink noise implementation to find useful info on 3db lp filters.

• Like x 1
6. ### Jonathan TremblayNI Product Owner

Messages:
402

I know the Ladder Lowpass in the Classic Modular Filter folder has a variable Pole control, with this being the description on the control:
Manual control of the numbers of filter poles.
With each pole the damping of frequencies greater than the cutoff frequency increases about 6 dB per octave.
Scale: 1 pole (6dB/Oct) per unit, e.g.:
0: the filter is bypassed
1: 6 dB/Oct characteristic
2: 12 dB/Oct characteristic
3: 18 dB/Oct characteristic
4: 24 dB/Oct characteristic

By that logic, setting it at 0.5 would yield a 3 dB/Oct cutoff.

• Informative x 1
7. ### colBNI Product Owner

Messages:
3,969
That's unlikely.

It depends on how the morphing between number of poles is achieved, but assuming it's done by crossfading between the output of two filters each with integer pole counts (different ladder stages), as soon as you go below 1 pole, you have either a 6db filter fading out (cross fade between 1 pole and no sound), or you have some sort of weird shelving filter variant, resulting from fading between 1 pole and the input signal.
Neither of these options gives you a 3db/oct lp filter.

• Like x 2
8. ### Jonathan TremblayNI Product Owner

Messages:
402
Right, yeah it just occurred to me..haha

• Like x 1
9. ### Tr97NI Product Owner

Messages:
118

What works is a cascade of high shelfs instead of lowpass filters to get a <1 pole lowpass filter simulation (without fft-filtering)- attached a demo ensemble

File size:
655.1 KB
Views:
403
• Like x 2
10. ### colBNI Product Owner

Messages:
3,969
Yes, that's what's in the pinking filter in the library pink noise. It just uses two high shelf filters, I guess 3 or 4 would give a better result.

11. ### Tr97NI Product Owner

Messages:
118
the one attached has 16 stages (now with optimized distances) - but I guess too, 4 would be sufficient

File size:
656.5 KB
Views:
365
• Like x 2
12. ### mike_jmNI Product Owner

Messages:
281
Thanks so much Tr97! That sounds perfect. Unfortunately, Reaktor keeps crashing when I try to load either version of your ensemble.

I don't have this problem with any other ensemble. Is there any reason this would be happening? Do these work for anyone else? Tr97 would you mind reposting?

Maybe you could post as a macro if the ensemble for some reason isn't working?

Thanks again.

Last edited: Jan 7, 2018
13. ### PauleNI Product Owner

Messages:
7,555
Both versions of Tr97 works very well without crash.
Mike the actual version is 6.2.1

14. ### mike_jmNI Product Owner

Messages:
281
Thanks! That was it. Just needed to update Reaktor.

This sounds beautiful. Works great. Thanks again Tr97 and thanks Paule.

15. ### mike_jmNI Product Owner

Messages:
281
Unfortunately I seem to have run into a glitch with Tr97's filter.

Here is a very simplified version of the implementation I am attempting:

In principle, the idea is to use an envelope multiplied by in this case the note pitch to dictate the pitch of the filter. This way you get a downward sweep of the filter by the envelope.

However, upon project initialization, this project goes into overload. I can't figure out why the overload is happening.

It works perfectly if you delete the turquoise line above, restart the Reaktor engine, and then reconnect the line. So in theory it can work. But it is overloading every time the project is opened.

Why is this happening? Any solution to get this working? Thanks again guys.

#### Attached Files:

• ###### filter broken.ens
File size:
167.9 KB
Views:
500
Last edited: Jan 7, 2018
16. ### Tr97NI Product Owner

Messages:
118
Found it . It is an initialisation glitch occuring in the core cell if the input is connected to something not sending an init event - the result of it is a zero even behind an exp module (in the pitch to frequency macro) which creates the error - can be fixed with a merge module inside the corecell which always creates an init event

File size:
168.1 KB
Views:
382
File size:
45.6 KB
Views:
351
• Like x 2