Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Zero Delay SVF and Allpass based filter.

DSP related issues, mathematics, processing and techniques

Re: Zero Delay SVF and Allpass based filter.

Postby martinvicanek » Tue Aug 15, 2023 1:53 pm

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.
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Tue Aug 15, 2023 3:36 pm

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..
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Tue Aug 15, 2023 7:13 pm

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.)
Attachments
Allpass SVFv7.fsm
(267.38 KiB) Downloaded 1122 times
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Thu Aug 17, 2023 12:55 pm

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..
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Thu Aug 17, 2023 3:12 pm

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)
Attachments
Allpass SVFv8.fsm
(177.71 KiB) Downloaded 1127 times
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Fri Aug 18, 2023 12:31 pm

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.
Attachments
Allpass for difference.fsm
(43.06 KiB) Downloaded 1103 times
Alps.png
Alps.png (2.76 KiB) Viewed 22973 times
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Re: Zero Delay SVF and Allpass based filter.

Postby Tepeix » Sat Aug 19, 2023 11:21 am

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..)
Attachments
MoogAlp.fsm
(158.09 KiB) Downloaded 1112 times
Tepeix
 
Posts: 361
Joined: Sat Oct 16, 2021 3:11 pm

Previous

Return to DSP

Who is online

Users browsing this forum: No registered users and 10 guests