Quantcast
Channel: KVR Audio
Viewing all articles
Browse latest Browse all 2712

DSP and Plugin Development • Re: Skflneartrap paper

$
0
0
thank you for the info I will try your filter and try to replace with ota. Just one question.
Rather try to understand the technique. This method (trapezoidal integration in general) can be bit of a mind-bender at first, because you really don't design anything in code, you design it mathematically and then you write a solver... and it's that solver that becomes your code.

We can literally put any of these filters into matrix form and just use a generic ODE solver (eg. LU solver with Newton-Raphson to linearize; that's what Spice does.. theoretically anyway). This works perfectly fine, but it's slow... so instead it makes sense to essentially do partial evaluation of the generic solver and just write the actually useful steps into straight-line code for compiler to optimize properly, but there's no magic in the code because it's just solving a system of equations.

All the magic happens in the equations.
Is pole mixing still zdf? If I have a bunch of one pole and just rearrange them.
So called "ZDF" is for all intents and purposes just trapezoidal integration. Pole-mixing is valid in analog and trapezoidal preserves that. In fact since trapezoidal (at least once you "prewarp" the cutoff, but that's where the tan(pi*f/fs) comes from) gives you bilinear transform, which maps the frequency response from the analog domain "as-is" except for warping of the frequency axis.

In fact, most of the time if you're fine with the frequency warping (for non-linear filters that's usually not your biggest problem, 'cos mitigating aliasing generally requires some oversampling anyway), you can design your pole mixing in analog and use the same coefficients with a trapezoidal filter and everything will work as expected.
this seems like a good way for newton raphson afterwards
https://urs.silvrback.com/one-pole-monster
There's a few (mathematically equivalent) ways of doing it, that's one way... but the key to this whole trapezoidal filter business is that the exact code used to solve the system no longer matters, it's not what defines the filter. You have a bunch of differential equations, you need a linear solver and a way to linearize those equations... but how you choose to do that mostly only matters as far as some approaches are faster and some approaches are numerically better behaved.

Statistics: Posted by mystran — Mon Jun 10, 2024 11:56 pm



Viewing all articles
Browse latest Browse all 2712

Trending Articles