Page 2 of 2

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Tue Aug 15, 2023 1:53 pm
by martinvicanek
Sorry I am traveling and have no FS with me, so I cannot really appreciate what you are doing. From your remarks I had the impression that you expected a transfer function with zero delay, hence my input. I may be on the wrong track, though. At any rate, SVF with zero delay feedback topology is a well understood thing: you have three output pins for lowpass, bandpass, and highpass, respectively. Combining these you can implement other filter types like allpass, notch, etc.
Of course you can combine allpass filters to obtain lowpass, highpass, and other filters, but that seems like an unnecessary detour when starting out with SVF where you already have these filter types to begin with.
I think I should wait and refrain from further posts until I return.

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Tue Aug 15, 2023 3:36 pm
by Tepeix
Yes, i think you are right !
In fact i did not really evaluate the cpu..
Just having some blurred hope that something could be faster to calculate the variable coefficient,
maybe with approximation.. Or maybe not, but to see if it's possible to do in another way.

Yet i think that some optimization could be made in my current design,
almost sure that it will always be more instruction than a classic ZDF...

For the coefficient, also they could be hopped, so does it really count ?

Also my interest to this is not so much the particular SVF, one reason is that after this part of the book "The Art Of VA Filter Design",i fail miserably to implement anything.. :oops:
So i get the idea that allpass substitution would be more easy for some other filters, maybe even faster sometime ?

The SVF was a step , but now going further in research, i'm not sure how much the complexity and usability would be..
Also i read somewhere that one advantage of ZDF is the way it could handle non linearity.
But for allpass, i don't know how they would interact..

But maybe, (maybe?) allpass substitution could also have some interest, for some customization..

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Tue Aug 15, 2023 7:13 pm
by Tepeix
Yep sorry, i must refrain to post so much experimental and immature think..

But if you want to look at it, this one would be a better choice.
I was making a lot of unnecessary calculation and complication when adding 2 feedback..
(The level of Bp Hp could be normalized, with the same operation as the feedback,
only subtracting or adding those to their outputs.)

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Thu Aug 17, 2023 12:55 pm
by Tepeix
Exploring more, i find a way to optimize a little with other allpass..
But then the coefficient have change for q1 q2... And are difficult to find..

Yes, very, and even more for the SVF, it seams very difficult to use allpass substitution not ending
with more instruction than classic ZDF design. Maybe they are some rare exception..

But what is cool is at reasonable setting the allpass way seams to stay stable at fast modulation
or low frequency..


Now i find the Moog ZDF filter from Martin, Thanks a lot, with this i could understand how to implement
the famous book of Vadim Zavalishin after the SVF !!)

I would also try other allpass filter, working at a MoogAlp, even if probably slower..

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Thu Aug 17, 2023 3:12 pm
by Tepeix
Finally i could make some more optimization on the SVF, but it stay slower than a classic ZDF..

Main problem is to copy the nyquiest behavior with resonance..
Here i let the resonance increase on high like a bell..
It's possible to adjust but take more calculation..
This way q1 and q2 are done more easily.

A little advantage of this one is that you get 2 allpass as output.
But seams not really useful.

(I might be crazy.. Calculating so much think, inverting allpass and feedback in some many way, yet i know that this will not be faster that ZDF..)
(Also, this one have an inverted bandpass output)

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Fri Aug 18, 2023 12:31 pm
by Tepeix
I find another allpass type that could help. Not specially for the SVF but for filter based on allpass..

With this one it's possible to modify some instruction and we get easily in+allpass or allpass-in.
This help to remove 2 instruction.
But for one or the other result the modification are different so we could not get the 2 result..
Also it will be more convenient to get in-allpass, but the result is just the inverse.

Seeing the image you would see how, the arrow that go back down could be attached latter.

Re: Zero Delay SVF and Allpass based filter.

PostPosted: Sat Aug 19, 2023 11:21 am
by Tepeix
Here's the MoogAlp.

This time with only one output and one feedback the allpass technique is more optimized.

Once again the drawback is the bell curve of the resonance.
There's some need to adjust it. here i do it in a fastest way but letting the res increase on high..
An interesting behavior is that here the res do not become sharper at nyquiest.

Note the external dnorm.. That's a problem of allpass substitution, we need a dnorm for each allpass.
So i go for an external one, that is supposed to feed every module that need it..
(I think it's gonna works but i do not test it for large schematic..)