Julius Smith <jos@...> writes: > > > When digitizing analog filters using the bilinear transform > and similar methods, we often have to deal with "delay-free > loops" that arise (the Moog VCF is a classic example). This is > generally done via algebraic manipulations on the transfer function to > eliminate the delay-free loops, since they are not computable. If the
I've never quite understood the history around this, isn't the delay-free loop directly computable? It seems that many of the old designs insert an extra delay, but perhaps that was a misunderstanding about the computability? It is just a linear set of equations and should be solvable directly, this is what Raph's python notebook does (posted below by Timo), along with Vadim's paper (although he takes a much more fiddly block-diagram based approach). I've worked through both approaches (the bilinear transform directly on the State Space Representation, and Vadim's TPT approach) for a Moog ladder filter, and they both lead to a set of directly computable formulas without an additional delay in the feedback path. One set of linear "zero delay" formulas for the Moog ladder derived from either Raph's or Vadim's approach is: s0..s3: state variables, u: input, y3: output w = g / (1 + g); G = w*w*w*w; S = (w*w*w*s0 + w*w*s1 + w*s2 + s3) / (1 + g); u0 = (u - k*S)/(1 + k*G); // Solve feedback v0 = (u0 - s0)*g/(1 + g); y0 = v0 + s0; // 1st 1-pole output s0 = y0 + v0; // 1st 1-pole state v1 = (y0 - s1)*g/(1 + g); y1 = v1 + s1; // 2nd 1-pole output s1 = y1 + v1; // 2nd 1-pole state v2 = (y1 - s2)*g/(1 + g); y2 = v2 + s2; // 3rd 1-pole output s2 = y2 + v2; // 3rd 1-pole state v3 = (y2 - s3)*g/(1 + g); y3 = v3 + s3; // 4th 1-pole output s3 = y3 + v3; // 4th 1-pole state > original structure must be preserved at all costs, then we insert an ad > hoc delay anywhere in the loop and use a sufficiently high sampling rate, > etc. - Julius ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ Faudiostream-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/faudiostream-users
