Non-linear ZDF filter design using the secant method // FIXING THE PATCH

Поделиться
HTML-код
  • Опубликовано: 1 окт 2024
  • In my previous video, I built a non-linear Sallen-Key filter using the secant method. But somehow I completely messed the patch up and did not realize it, since the filter was working as expected. I've spotted the mistakes I made on the day after posting the video, and felt really bad about it. This video shows the issue and the fix.
    There were multiple problems on multiple levels.
    The filter functions:- I did not arrange the filter equation to equal 0- I did multiply the output of the filter equation by the resonance, while I should have done that with the y input
    Secant calculations:- The secant calculation looked like this: y1next=(y1-y0)/(f1-f0) instead of y1next=y1-((y1-y0)*f1)/(f1-f0)
    - The feedback value is y1next instead of f0
    The patch:- The solver is better in front of everything: this way it can evaluate values on the current input instead of the one before. We only need the previous values of the state variables (called s and q)
    - The solver's feedback output needs to be multiplied by k
    I hope this will get things right. The filter works best with some oversampling that is caused by the non-linearities.
    Timestamps:00:00 Hi
    00:05 Explaining the issue
    02:33 Fixing the filter equation - I've still made a mistake in this video, but fixed it for the shared patch. I've subtracted y from the equation result, while I should have done the opposite way. So F1 should be y-filter, not filter-y.
    05:05 Fixing the secant calculations
    06:35 Fixing resonance
    06:58 Moving the solver in front of everything -- this part is another mistake was working better because of I messed up the filter equation. No need to move the solver infront.
    09:00 I forgot the feedback back the state variables -- no need for this either.
    09:42 The filter is fixed -- not. I'll make another video from the fix of the fix. I'm embarrassed. :D
    10:00 Making excuses...
    11:00 Thx and bye!
    FIX OF THE FIX:
    I've messed up the filter equation once again. I wanted to subtract from y in the end, and not y from the equation.
    www.dropbox.co...
    This mistake caused the need to move the solver in front of everything, so the solver is good in the end:
    www.dropbox.co...
    Correct filter response:
    www.dropbox.co...
    Sound demo:
    www.dropbox.co...
    Our Discord server: / discord
    We are developing Alpha Forever Modular, a modular VST plugin, and sound design tool.
    My latest release made using Alpha Forever sounds only: • 9b0 - Sine (Official V...
    Follow me at:
    Facebook: / 9b0music
    Spotify: open.spotify.c...
    Soundcloud: / 9b0
    Bandcamp: 9b0music.bandc...
    Discord: / discord
    Know more about Alpha Forever Modular:
    afmodular.com

Комментарии •