---------- Forwarded message ---------- From: Andrew Simper <a...@cytomic.com> Date: 10 February 2013 12:11 Subject: Re: [music-dsp] 24dB/oct splitter To: A discussion list for music-related DSP <music-dsp@music.columbia.edu>
On 10 February 2013 05:32, robert bristow-johnson <r...@audioimagination.com> wrote: > > On 2/8/13 2:15 AM, Ross Bencina wrote: >> >> There are a at least two linear SVFs floating round now (the Hal Chamberlin >> one and Andy Simper's [1] ) >> >> [1] http://www.cytomic.com/files/dsp/SvfLinearTrapOptimised.pdf >> >> > > i've analyzed Hal's SVF to death, and i was exposted to Andy's design some > time ago, but at first glance, it looks like the "Trapazoidal SVF" looks like > it doubles the order of the filter. it it was a second-order analog, it > becomes a 4th-order digital. but his final equations do not show that. do > those "trapazoidal" integrators, become a single-delay element block (if one > were to simplify)? even though they ostensibly have two delays? > Trapezoidal integration is just adding on a trapezoidal block at the next time step to the existing area under the curve being integrated. So you get area(t+1) = area(t) + h/2 (f(t) + f(t+1)), where f(t) is whatever function you are integrating over time and usually area(0) = 0, if the area(t) is the voltage over the capacitor and you just switched on the circuit. This makes more sense if you draw some pictures. There are delay terms since the new area depends on the previous one, as well as the previous function value, but the delays themselves that fall out in the final number crunching are by-products of the integration method, not something that is added manually to the algorithm. Trying to reason out the algorithm by looking at the end result I feel is the wrong way to go about understanding what is going on. > > i just did a quick check on the "Trapazoidal SVF", and it is identical to > using Bilinear Transform without pre-warping and applying BLT directly to the > analog filter. so it does not increase the order as it first appeared to me > to do. > > it literally substitutes (assuming T=1): > > > s^-1 <--- (1/2)(1 + z^-1)/(1 - z^-1) > > In the example I did do a directly substitution on "s" like this, but that was to avoid derving the correct trapezoidal integration, since that requires circuit mathematics that I didn't have time to explain. I'll do a full RC circuit as an example so everyone can follow from first principles, which is what I always use. This way is more powerful since trapezoidal just becomes another numerical integration method to try, and not necessarily the best one in all situations. > > so they all become 2nd-order biquads and they can be represented in the > Direct Form (1 or 2) and compared directly to any other biquad design. for > the "bell" filter, assuming he gets the resonant frequency right (which means > dealing with the frequency warping effect), the only possible net difference > between *any* design is in how bandwidth or Q turns out. all 2nd-order bell > filters are equivalent in their simplified transfer function except in how Q > is defined. (well, i guess that's not true for the Orfanidis design. that > changes what the gain at Nyquist is and doesn't make any difference if the > resonance is more than a couple octaves below Nyquist.) For the bell shape I just copied your shapes Robert! So if they aren't right then you can blame yourself ;) I made sure the transfer function multiplied out to give identical coefficients as the audio eq cookbook ones, other shapes are possible and indeed used in various analog circuits. > > now, what about Andy's "Optimised structure with all coefficients remaining > bounded [0, 2]"? > > what is the basis for this structure? This is the invention bit, and looking at the end result really isn't helpful as it is quite obfuscated. Integration of the two voltages of the capacitors to me should give you a term like vc1 += something and vc2 += something, so I re-arranged the terms like this and then did as much grouping I could to generate the fewest numerical operations with the most of them done in parallel as possible. I grouped the coefficients so they remained bounded as this gives a better gain structure and so less noise. The optimised structure has exactly the same operations performed as the non-optimised version, if you have infinite precision. > > i can't seem to decode that, and it also appears that the filter has 3 > independent delay elements so it's a 3rd-order digital filter emulating a > 2nd-order analog filter. i just would like to know where he came up with the > structure of this. I wouldn't worry about the delay elements too much, as I said earlier they are just a product of the integration method, they do not determine the order of the filter. Likewise a 2 pole digital DF1 is not a fourth order filter even though it has four delay elements in(t-1), in(t-2), y(t-1), and y(t-2). > > > we know that a digital filter can (if one allows for a little delay) approach > the behavior of an analog filter to as close fit as one desires (as long as > one is willing to increase the order of the filter and is willing to accept > the resulting delay). but i am curious to what the basic philosophy of this > Optimised structure is. while Andy explained it for the Trapazoidal SVF, i > can't tell by just looking at the drawing for the Optimized what You lost me there, sorry! > -- > > r b-j r...@audioimagination.com > > "Imagination is more important than knowledge." All the best, Andy -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp