Any experienced experts of ZDF in feedback loops like combfilter?

StarRats
StarRats Member Posts: 18 Member
edited October 2024 in Building With Reaktor

Any experienced experts of ZDF in feedback loops like combfilter?

I am working at building customized Sympathetic resonance system but having no kowledge about ZDF.

My engine is based on CombFilters.

What is the basic concept of ZDF algorithm?

No info in Core reference guide.

Everything is working but the whole ensemble is not safe because of faulty ZDF connections.

I just connected all ZDF ins and outs to close the loop.

Any idea for some workout?

Comments

  • colB
    colB Member Posts: 1,013 Guru

    My understanding FWIW

    A comb filter is literally a delay where the delayed signal is mixed with the dry signal.

    ZDF means Zero Delay Filter

    So really, trying to build a ZDF comb filter doesn't seem to make a whole lot of sense.

  • Kubrak
    Kubrak Member Posts: 3,093 Expert

    Yes, there is no filter in Comb Filter, just delay.


  • Ari_BirthdaySurprise
    Ari_BirthdaySurprise Member Posts: 6 Member

    That is a feedforward comb. A comb filter can also have a feedback configuration.

    Check out the built-in core macros, do a search for "comb". There is one built using the ZDF architecture if I recall right.

    I'm also not certain of the benefit of building a comb filter in ZDF. Maybe slightly improved frequency response for fbk configuration and inversion?

  • Ari_BirthdaySurprise
    Ari_BirthdaySurprise Member Posts: 6 Member

    The point of the ZDF toolkit in Reaktor is to easily build filters with zero delay feedback, without having to do any of the math. Each ZDF macro keeps track of and calculates the G and S values needed for creating a ZDF transfer function. To understand all that you'd need to dive deeper, but the Reaktor tools let you use ZDF without understanding it. Look at existing ZDF filters in the library to get an idea of how it's used and what it can do (e.g. "1-Pole", "SVF", "Ladder")

    With the Reaktor toolkit, you always start a ZDF macro with the "Input +/- Fbk" macros, and terminate the feedback loop with the "Ext" macro. There isn't really a reason to use ZDF otherwise, except maybe if you're using macros that are implemented this way anyway.

    Connect the input signal to a "to ZDF" macro to give it the GS bundle output (and "from ZDF" after the output to remove it), and connect from that into the "Input +/- Fbk". Use what's available in the toolkit to build your effect, and connect the appropriate feedback outputs (audio and bundle outs) back into the input macro.

    For example for a feedback comb filter, there is a ZDF Delay. Use "Input + Fbk" (or "Input - Fbk" to invert the feedback), connect it to the delay, and the delay to a ZDF Gain macro (a multiplier, also available in the library) to control the amount of feedback. Connect the multiplier back to the input macro's feedback inputs.

    I think the proper output would actually be from the input macro, where the feedback is added to the input. Connect the output you use to the "Ext" macro.

    Connect the Input macro's Ext bundle output to the bottom input of Ext (regardless of which audio out you use, the Ext needs to connect to the Input macro of the loop). It isn't strictly necessary to bother with Ext, but there's no reason not to use it.

    This is probably all done in the library's Comb filter I mentioned (along with unnecessary parameters), so looking at that would be good. I tried to explain what might not be obvious in it and give the basics of using the toolkit. It turned out to be less simple than I imagined. I'm sure it's in the core manual. Next time I think I'll just refer that.

  • Studiowaves
    Studiowaves Member Posts: 651 Pro

    I made a nice one, It's intended to supplement sample pianos. Let me know if you want it.

This discussion has been closed.
Back To Top