What did people do with time-varying filters prior to 2014?

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

soundmodel wrote: Fri Mar 22, 2024 1:59 pm I wonder what these filters prior to 2014 used as references? Or are they possibly individual "hacks" regarding e.g. stabilization of DF-II?
Judging by KVR forum timestamps, both Vadim's "the Art of VA Filter Design" and my thread about how to do non-linearities cheap (if you'd rather not use Newton; I think the requirement to iterate non-linearities is what kept most people from using these methods earlier) date back to 2012. The ZDF/TPT/trapezoidal method was probably discussed here before that, though I can't remember exact dates or threads to lookup. In any case, by 2014 this stuff was "old news" for those "in the know." :)

Before that some well known methods would be using Euler with extra unit delays (and sometimes compensation filters) to make the feedback loop implementable if you wanted (mostly) sensible time-varying behaviour .. or various state-space designs, etc... and then you'd typically use direct forms (or perhaps lattice-ladders) when you'd want predictable frequency response.

Post

mystran wrote: Fri Mar 22, 2024 11:22 pm
soundmodel wrote: Fri Mar 22, 2024 1:59 pm I wonder what these filters prior to 2014 used as references? Or are they possibly individual "hacks" regarding e.g. stabilization of DF-II?
Judging by KVR forum timestamps, both Vadim's "the Art of VA Filter Design" and my thread about how to do non-linearities cheap (if you'd rather not use Newton; I think the requirement to iterate non-linearities is what kept most people from using these methods earlier) date back to 2012. The ZDF/TPT/trapezoidal method was probably discussed here before that, though I can't remember exact dates or threads to lookup. In any case, by 2014 this stuff was "old news" for those "in the know." :)

Before that some well known methods would be using Euler with extra unit delays (and sometimes compensation filters) to make the feedback loop implementable if you wanted (mostly) sensible time-varying behaviour .. or various state-space designs, etc... and then you'd typically use direct forms (or perhaps lattice-ladders) when you'd want predictable frequency response.
References for the methods you mention?

Post

soundmodel wrote: Sat Mar 23, 2024 7:55 am References for the methods you mention?
Who cares, that stuff isn't worth using anymore.

Post

mystran wrote: Sat Mar 23, 2024 11:57 am
soundmodel wrote: Sat Mar 23, 2024 7:55 am References for the methods you mention?
Who cares, that stuff isn't worth using anymore.
Which stuff? And why?

I mean, I know people should start with the SVF probably by now, but I am interested in what people were thinking prior to it.

It's also a bit surprising that the SVF comes in seemingly late, because I've found that the SVF is a very natural way to solve the problems arising from first experiments in trying to implement an analog filter digitally. I.e.: you have instability in filters, but at some other frequencies they're fine -> find a way to parametrize so that the instability disappears.

Post

Any ideas why this papers appears in 2016?

The Time-Varying Bilinear Transform
Authors: Abel, Jonathan S.; Berners, Dave
https://www.aes.org/e-lib/online/browse.cfm?elib=18490

Sounds like the time-varying bilinear transform has surely existed prior to this.

Post

Anyways, I am finding this thread worthwhile, because I've thought that getting into musical filters without using pre-built libraries requires a bit too much investment.

I think to really know what's going on would require approximately:
  • knowing the contents of a 500-page basic DSP book.
  • knowing the literature, which so far seems could be e.g. 50-100 papers that are not organized in time, but are more scattered in informativeness.
Since the thread asks to summarize how things change around the SVF, then knowing that would easen the entry to musical filters a lot, I think.

Given enough information it could be possible to conclude what was already slightly hinted at here, which is that after the SVF the SVF should be the starting point.

Post

mystran wrote: Fri Mar 22, 2024 11:22 pm Judging by KVR forum timestamps, both Vadim's "the Art of VA Filter Design" and my thread about how to do non-linearities cheap (if you'd rather not use Newton; I think the requirement to iterate non-linearities is what kept most people from using these methods earlier) date back to 2012. The ZDF/TPT/trapezoidal method was probably discussed here before that, though I can't remember exact dates or threads to lookup. In any case, by 2014 this stuff was "old news" for those "in the know." :)

Before that some well known methods would be using Euler with extra unit delays (and sometimes compensation filters) to make the feedback loop implementable if you wanted (mostly) sensible time-varying behaviour .. or various state-space designs, etc... and then you'd typically use direct forms (or perhaps lattice-ladders) when you'd want predictable frequency response.
I have an impression that the trapezoidal method was almost in a complete oblivion prior to that. The most commonly known models would be:
- Differential-equation-based filters: Chamberlin's SVF (or a completely "naive" version whose TF is even worse), a naive 1-pole, as well as Stilson/Smith's Moog model. Those have "proper" non-LTI properties, but their TFs leave to be desired.
- Direct form filters (commonly misnomer-ed as "biquads"). Those have "proper" TFs, but can't properly accommodate non-LTI.
Somewhat remarkably, trapezoidal integration, including its nonlinear version was known to an extent prior to that. E.g. simulanalog.org (which I believe dates early 2000s) was using that for time-varying nonlinear models. But this wasn't wide knowledge.

As first KVR ZDF/TPT threads and such go, I believe they date back to 2008, when I published "the ZDF/TPT paper", as well as Andy published his trapezoidal SVF paper (although maybe that was 2009, not sure, pretty sure Andy can correct me ;) ). Also earlier in 2008 Davide Rocchesso published a "partial ZDF" (it only resolved the large feedback loop IIRC) Moog model. All of that seems to also have gone pretty unnoticed (I remember well the "meh" reactions to my paper), and kept that way until Urs (in 2011 I believe) started openly looking into those methods and advertised them. Only then the method started to gain some traction.

In April 2012 I wrote the book, but had to hold off 1 or 2 months before publishing it. In May 2012 suddenly there was an avalanche of ZDF/TPT-related discussions on KVR, where also mystran published his "cheap" a.k.a. "secant" ethod. Shortly after that the book was finally published. Also I believe Andy was following up on his initial trapezoidal SVF paper, although I'm not sure of the details.

That's as much history as I can give off the top of my head. Maybe in a few places my memory is failing me, it was over a decade ago, feel free to correct me ;)

Edit: oh, and of course there were also (largely unnoticed) works of Härmä around 2000 or so, which is essentially another "ZDF in disguise". Probably in particular unnoticed because it was targeting IIRC physical modeling rather than virtual analog. There are also more of early (also largely unnoticed) works by other people, which I don't have off the top of my head.

Post

Z1202 wrote: Sun Mar 24, 2024 7:56 am - Direct form filters (commonly misnomer-ed as "biquads"). Those have "proper" TFs, but can't properly accommodate non-LTI.
Somewhat remarkably, trapezoidal integration, including its nonlinear version was known to an extent prior to that. E.g. simulanalog.org (which I believe dates early 2000s) was using that for time-varying nonlinear models. But this wasn't wide knowledge.
Okay so what are the stabilization methods for these methods?

Also as I wrote earlier, since the DF approach is, I think, the most straightforward when coming form analog, while SVF seems to just solve the stability issues, then it's a bit surprising that the SVF is not explored earlier.

---

Also, thanks for an informative post.

Post

soundmodel wrote: Sun Mar 24, 2024 8:08 am
Z1202 wrote: Sun Mar 24, 2024 7:56 am - Direct form filters (commonly misnomer-ed as "biquads"). Those have "proper" TFs, but can't properly accommodate non-LTI.
Somewhat remarkably, trapezoidal integration, including its nonlinear version was known to an extent prior to that. E.g. simulanalog.org (which I believe dates early 2000s) was using that for time-varying nonlinear models. But this wasn't wide knowledge.
Okay so what are the stabilization methods for these methods?

Also as I wrote earlier, since the DF approach is, I think, the most straightforward when coming form analog, while SVF seems to just solve the stability issues, then it's a bit surprising that the SVF is not explored earlier.
Strange you'd say that. IMHO DF is the least straightforward in this context, because instead of directly trying to emulate what's happening in the analog it goes on a "mathematically equivalent transformation" path, which is actually even "not so equivalent" (doesn't apply in non-LTI case and is way more susceptible to the effects of limited precision that we have in practice).

While there are indeed attempts to improve both kinds of methods, I personally fail to see much point (except in specific situations). *The* way to improve them is to "merge them both together", which results in the ZDF/TPT approach.

Post

It's straightforward in the mathematical sense. And it works "exactly" for LTI cases. I also read some papers that seemed to, in general, ask about how to parse "independent transfer functions" to a continuous filter. So this thinking is, I think, along the line of thinking that transfer functions of LTI systems should be interpolable to be continuously variable. Possibly it's in some sense motivated by Fourier theory.

But yes, for dynamic systems a component-based DE-approach sounds more sensible.

But as it was argued in the first post's paper. LTI and non-LTI should not perhaps be mixed. And in this sense LTI theory should not be relevant to musical time-varying filters.

Post

soundmodel wrote: Sun Mar 24, 2024 8:55 am It's straightforward in the mathematical sense. And it works "exactly" for LTI cases. I also read some papers that seemed to, in general, ask about how to parse "independent transfer functions" to a continuous filter. So this thinking is, I think, along the line of thinking that transfer functions of LTI systems should be interpolable to be continuously variable. Possibly it's in some sense motivated by Fourier theory.

But yes, for dynamic systems a component-based DE-approach sounds more sensible.

But as it was argued in the first post's paper. LTI and non-LTI should not perhaps be mixed. And in this sense LTI theory should not be relevant to musical time-varying filters.
You can't do without LTI theory, because there is no comparable theory for non-LTI. So you can gain lots of insights from LTI for analysis purposes - you can still perfectly apply the concept of the transfer functions to your DE-based models, you just need to be aware that the results of this analysis don't fully apply in non-LTI (but only approximately). But I'd strongly advise against going for LTI as default for your implementations (even in the LTI cases - remember the precisions issues), unless you explicitly know that it is okay in your particular case.

Post

Well but analog components do not have FFTs either?

What I meant is that LTI theory does not seem relevant to how time-varying filters produce output. Or maybe there's some sort of "sequential LTI" middle-ground? I.e. many LTI systems combined as individual windows.

But certainly it seemed like there's some history in trying to make LTI techniques work in the time-varying case.

Post

soundmodel wrote: Sun Mar 24, 2024 9:23 am Well but analog components do not have FFTs either?

What I meant is that LTI theory does not seem relevant to how time-varying filters produce output. Or maybe there's some sort of "sequential LTI" middle-ground? I.e. many LTI systems combined as individual windows.

But certainly it seemed like there's some history in trying to make LTI techniques work in the time-varying case.
First, FFT is a name of a numerical algorithm, I'm not sure what you're referring to. If you mean Fourier transform, then it's difficult to answer yes or no, because the meaning of "analog component having a Fourier transform" is not well defined. However DEs definitely have Fourier (or, if it's unstable, then at least Laplace, which is a version of Fourier) counterparts. Specifically, the LTI versions of those DEs do. And you can treat pretty much any DE (with respect to time) as LTI, with some number of approximating assumptions, it's even a pretty standard tool for DEs. That's how you can apply LTI theory to pretty much any analog circuit. How approximate your results will be will depend on how much is your system non-LTI.

Notice that in that sense using DFs in a non-LTI context is much worse (IMHO), because rather than just using LTI theory for approximate analysis of non-LTI system, we use LTI as the very foundation of the entire implementation of non-LTI systems. So not only our analysis is "approximate", but also our entire implementation becomes "approximate".

Also notice that with ZDF/TPT the LTI properties of the obtained system are 100% the same as the ones of the DF. So what's the point?

Post

So you're saying that ZDF/TPT is the theoretical first principle for non-LTI?

Also that what's prior to it does not matter anymore?
Last edited by soundmodel on Sun Mar 24, 2024 9:50 am, edited 1 time in total.

Post

We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post Reply

Return to “DSP and Plugin Development”