3dB/0.5 pole filter?

DSP, Plug-in and Host development discussion.
User avatar
vortico
KVRist
249 posts since 19 Jul, 2008

Post Tue Aug 14, 2018 3:06 pm

VCV Rack open-source virtual modular synthesizer

User avatar
S0lo
KVRian
661 posts since 31 Dec, 2008

Re: 3dB/0.5 pole filter?

Post Tue Aug 14, 2018 3:55 pm

I thought I used maxima before but I forgot that it had a symbolic engine. Never knew about SymPy though. I used SymboLab for a while..

User avatar
Richard_Synapse
KVRian
897 posts since 20 Dec, 2010

Re: 3dB/0.5 pole filter?

Post Tue Aug 14, 2018 11:00 pm

mystran wrote:Maxima is free and capable of doing Pade approximations.
Another option is Wolfram Alpha, does not require any download/installation at all:

http://www.wolframalpha.com/

The necessary function is called PadeApproximant[] here.

Richard
Synapse Audio Software - www.synapse-audio.com

User avatar
aciddose
KVRAF
12128 posts since 7 Dec, 2004

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 6:30 am

S0lo wrote:Oh, no, no :) thats definitely not whats happening here.
In denial of reality?

If you're not talking about running the filters in series and are rather mixing a "variable depth" notch you're simply using a particularly convoluted method to achieve the same thing we've already discussed: multiple shelf filters.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.

User avatar
S0lo
KVRian
661 posts since 31 Dec, 2008

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 8:55 am

aciddose wrote:
S0lo wrote:Oh, no, no :) thats definitely not whats happening here.
In denial of reality?
Thats what i'm seeing infront of my eyes here my friend :). Sorry can't disbelieve my own eyes and ears. As I told you before I'd give you the preset if you like to test it your self. Just tell me if you want.

It's possible that you didn't understand what I was doing. At first, The two notch filters are situated far above the LP cutoff. Then, when I want to change the slope, I LOWER the frequency of the notch filters to let them come closer to the LP slope and eat more from it. But never reach the cutoff or even the slope it self. Otherwise I'd end up with a split slope. So just close enough but not more. It's very simple actually.
aciddose wrote:If you're not talking about running the filters in series and are rather mixing a "variable depth" notch you're simply using a particularly convoluted method to achieve the same thing we've already discussed: multiple shelf filters.
No, not at all. no mixing here.

User avatar
aciddose
KVRAF
12128 posts since 7 Dec, 2004

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 10:40 am

Using a notch is identical to using a low-pass. The slope of any notch is never less than 6 dB. It is impossible to produce an intermediate slope by applying filters in series.
Thats what i'm seeing infront of my eyes here my friend
The reason you can't see what you're doing is because you're blind and clueless.

If you want to make such claims you need to offer proof. You can't prove what is impossible.

Here is the math:

Code: Select all

lowpass = 1 / (iw^poles + 1)
notch = (iw^poles + 1) / (iw/Q + iw^poles + 1)
Now set up that equation so it shows an intermediate slope.

See here: https://en.wikipedia.org/wiki/Band-stop_filter

In my equation I've assumed S = 1 which simplifies things since for us it's an irrelevant variable.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.

User avatar
Music Engineer
KVRAF
3780 posts since 8 Mar, 2004 from Berlin, Germany

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 11:26 am

vortico wrote:Mathematica. Yes, there is always a closed form Pade approximant of rational functions raised to a symbol alpha. For example, the forward Euler digital filter to third order (writing z^-1 as z):
Image
Probably not a useful example but the simplest I could think of.
this is cool! i tried to do the same in wolfram alpha, but apparently, it can't solve it:

http://www.wolframalpha.com/input/?i=h% ... 3%7D%7D%5D

why? isn't wolfram alpha using the very same mathematica engine under the hood?
Last edited by Music Engineer on Wed Aug 15, 2018 11:28 am, edited 1 time in total.
Image

JCJR
KVRAF
2492 posts since 17 Apr, 2005 from S.E. TN

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 11:27 am

JCJR wrote: I realize it is "about the same thing" that gets the job done as a passive parallel network of shelves, not an active series network of shelves.
...
I would have to test both approaches to find out if each result would be "identical" or if there would be differences.
aciddose wrote:The only difference is the resulting gain and fc. You can get identical results from both but it's very difficult with a passive network because everything interacts.
Agreed on "everything interacts with passive". For smaller series networks it can be somewhat mitigated by scaling the impedance of each section to get "kinda the same thing" as active impedance buffering. Don Lancaster suggested a "rule of thumb" of 1:10. For instance two series RC, you could drive RC_1 with an impedance of 100 ohms, make RC_1 impedance of 1000 ohms, RC_2 impedance of 10 kohm, buffer the output with at least 100 kohm. For larger "impedance scaled series networks" the impedance spread gets unwieldy on both ends.

A thing about buffered series shelves is that it keeps the phase shifts of the shelves from interacting to influence the amplitude curve. BufferedShelf_1 has phase shift, but the output phase shift can't affect whatever amplitude changes might be made by BufferedShelf_2 or any other downstream shelves. Like a series graphic or parametric EQ has the same removal of inter-band phase interactions on the final amplitude curve.

The parallel shelves are like parallel-connected graphic or para EQ's-- The phase shift of every filter affects the amplitude curve by interacting with the mixed input signal and all the other mixed filter outputs. Much harder to predict the final result without getting a lot fancier in the analysis/design.

Was just thinking, for this pinking filter application, without testing it is hard to know whether the phase-interaction on amplitude response could potentially make "the best-tweaked result curve" rougher or smoother than series shelves. There may be "optimal combinations" of 3 or 4 parallel filters that could be "smoother" than the same-sized optimal combination of series filters, because of the additional phase interaction between sections can be exploited to "further smooth the transitions". On the other hand the parallel filters might be "about the same or definitely worse" in this regard, because of the phase interactions.

Most of the common dsp filters behave like well-buffered analog filters-- They are one-way where the output does not reach around and affect other things which might be connected to its input. So far as I know those mesh networks where dsp module inputs are also outputs would "talk to each other" similar to a passive interacting network.

I was idly thinking (perhaps wrongly) that a dsp way to try a parallel shelf network might be something like: Feed the input in parallel to a bank of first order highpass filters. Mix the HP outputs in the proper proportions and subtract from the input signal. Something in that ballpark might give stacked shelving including the phase interactions.

But it still wouldn't be the same as the analog passive, where the different elements are also "talking back" to each other.

Dunno if such differences amount to much at the end of the day, except some might be lots easier to design and optimize.

User avatar
S0lo
KVRian
661 posts since 31 Dec, 2008

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 11:28 am

aciddose wrote:Using a notch is identical to using a low-pass. The slope of any notch is never less than 6 dB. It is impossible to produce an intermediate slope by applying filters in series.
Thats what i'm seeing infront of my eyes here my friend
The reason you can't see what you're doing is because you're blind and clueless.

If you want to make such claims you need to offer proof. You can't prove what is impossible.
You seem very pissed off :hihi: :hihi:. Here it is in action.

ps. Set the youtube quality for max.

https://youtu.be/vpgj0CwQ1A0

Edit: Cutoff at around 735Hz. Fixed a problem with the last video and raised the resonance just a bit.
Last edited by S0lo on Thu Aug 16, 2018 2:58 pm, edited 1 time in total.

juha_p
KVRian
521 posts since 21 Feb, 2006 from FI

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 11:53 am

Music Engineer wrote:
vortico wrote:Mathematica. Yes, there is always a closed form Pade approximant of rational functions raised to a symbol alpha. For example, the forward Euler digital filter to third order (writing z^-1 as z):
Image
Probably not a useful example but the simplest I could think of.
this is cool! i tried to do the same in wolfram alpha, but apparently, it can't solve it:

http://www.wolframalpha.com/input/?i=h% ... 3%7D%7D%5D

why? isn't wolfram alpha using the very same mathematica engine under the hood?
Hmm ... try this -

Code: Select all

http://www.wolframalpha.com/input/?i=PadeApproximant%5B(1%2F(1-z))%5E%CE%B1,+%7Bz,+0,+%7B3,+3%7D%7D%5D

User avatar
Music Engineer
KVRAF
3780 posts since 8 Mar, 2004 from Berlin, Germany

Re: 3dB/0.5 pole filter?

Post Wed Aug 15, 2018 2:15 pm

aha! nice! thanks. this is weird. why can it not handle an intermediate variable? is that a deliberate limitation? apparently, it did understand what i wanted. hmmm
Image

User avatar
Richard_Synapse
KVRian
897 posts since 20 Dec, 2010

Re: 3dB/0.5 pole filter?

Post Thu Aug 16, 2018 12:25 am

Mathematica costs like $4000 so they won't give you the same functionality online for free.

Wolfram Alpha is perfectly fine though to quickly plot a function, get Pade approximations, find zeros of polynomials and similar basic tasks.

Richard
Synapse Audio Software - www.synapse-audio.com

User avatar
kryptonaut
KVRian
730 posts since 25 Apr, 2011

Re: 3dB/0.5 pole filter?

Post Thu Aug 16, 2018 12:59 am

S0lo wrote: Here it is in action.
The quoted slope of a given filter is the asymptote of the frequency response curve. So a -6dB/octave low-pass filter might be approximately flat below 1kHz, then it will start to roll off and approach -6dB/octave at high frequencies. It will not be an abrupt transition, there will be a kind of 'shoulder' between the flat section and the very-nearly-6dB section. Somewhere in this shoulder region it will surely be -3dB/octave, but that's not to say that the whole filter can be described as having a -3dB/oct response.

Your combined filter response involves moving the rounded shoulder-region of a notch filter so that it approaches the cutoff point of the low-pass (ie the point where the slope starts to approximate a linear -6dB/oct). This combination produces a rounded response in the shoulder-overlapping-with-linear region. Somewhere in this region, the slope might be -9dB/octave but the asymptotic value will still be -12dB/octave if you go far enough (although once past the notch, the response will then theoretically head back towards -6dB/oct)

By chaining several appropriately-tuned 6dB/oct low-pass and high-pass (or shelving) filters together, for example, it's possible to arrange all the rounded shoulder regions in such a way that the result approximates, say, a -3dB/oct rolloff. But it will only be an approximation, and only valid over a certain frequency range. The final asymptotic slope will still be an integer multiple of 6dB/oct

juha_p
KVRian
521 posts since 21 Feb, 2006 from FI

Re: 3dB/0.5 pole filter?

Post Thu Aug 16, 2018 1:23 am

Richard_Synapse wrote:Mathematica costs like $4000 so they won't give you the same functionality online for free.

...
Hmm... Home Edition starting from 320€ ... and it includes all functionality found in pro version.

User avatar
S0lo
KVRian
661 posts since 31 Dec, 2008

Re: 3dB/0.5 pole filter?

Post Thu Aug 16, 2018 2:59 am

kryptonaut wrote:This combination produces a rounded response in the shoulder-overlapping-with-linear region. Somewhere in this region, the slope might be -9dB/octave but the asymptotic value will still be -12dB/octave if you go far enough (although once past the notch, the response will then theoretically head back towards -6dB/oct)
I agree. Thats why I'm saying "Variable Slope" not "Variable Asymptotic Value" if that makes any sense. There is no notion of a constant slope over a long range of frequencies in this situation. I'm aware of that.

I've more or less mentioned before, that my aim was to approximate the sound not necessarily the frequency response and math behind it. As the OP him self was just curious probably from a sound perspective. And I doubt that any sound designer would notice the difference between a strait and precise fractional, (none 6 multiple) Xdb filter and a roughly approximated round and curvy one. And even if he does, he probably wont care. The sound of such a filter or the sound of varying the slope smoothly isn't really that interesting IMHO to say the least. One could probably get a similar sound by simple EQing. The whole effort and CPU usage one would incur to come up with a really good approximation isn't really worth the resultant sound in this case. And even if it is, who's to say that musicians would like it better than a wacky, flawed but inexpensive design. The moog filter sound it self came from a miscalculation by Moog engineer Jim Scott who had inadvertently overdriven the filter by up to 15dB.

For some one who considers this a mathematical challenge. And is just motivated to solve the problem from a theoretical perspective and considers this as an achievement. I can understand that.
kryptonaut wrote:By chaining several appropriately-tuned 6dB/oct low-pass and high-pass (or shelving) filters together, for example, it's possible to arrange all the rounded shoulder regions in such a way that the result approximates, say, a -3dB/oct rolloff. But it will only be an approximation, and only valid over a certain frequency range. The final asymptotic slope will still be an integer multiple of 6dB/oct
Point made.
Last edited by S0lo on Thu Aug 16, 2018 4:51 am, edited 3 times in total.

Return to “DSP and Plug-in Development”