Book: The Art of VA Filter Design 2.1.2
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
If the time-varying stability of a linear 2-pole filter is the main goal, I would probably try to design this filter based on a resonating real Jordan normal form cell, which (at least upon the first thought) should be unbeatable in terms of stability. Essentially this is a decaying circle, where the state variables are x and y. By choosing the matrix and the "injection" and "pickup" coefficients for both of the state variables one should be able to construct arbitrary kinds of 2-pole filters, where it should be preferred to modulate the injection and the system matrix coefficients, rather than pickups (to reduce the effect of the modulation on the output). Essentially, the matrix coefficients will determine the cutoff and the resonance (the denominator of the transfer function), while the injection/pickup coefficients will determine the numerator.
Edit: the drawback is that probably the system will get ill-conditioned at low resonances.
Edit: the drawback is that probably the system will get ill-conditioned at low resonances.
-
- KVRian
- 1223 posts since 11 Aug, 2004 from France
Hi Vadim !
Yep, I'm trying to achieve time-varying stability for a linear 2-poles filter with a non standard transfer function. I'm (re)discovering that there are so much structure candidates... I'm running all the ones I have coded with Matlab through a test, with a sawtooth signal as an input, and abrupt changes of the cutoff frequency, to see how the structures react to a parameter change. I will share the results if someone is interested.
So, I have not been able to get something interesting from most of Aaron Wishnick's source code, and I wondered if it contains some mistakes, since I got one in his TDF2 functions, and because the rabenstein_czarnach function, or the one for the coupled form, don't give the expected results...
Thanks for pointing out the information about the real Jordan norman form cell, I'm going to investigate/develop this and to continue my work
Yep, I'm trying to achieve time-varying stability for a linear 2-poles filter with a non standard transfer function. I'm (re)discovering that there are so much structure candidates... I'm running all the ones I have coded with Matlab through a test, with a sawtooth signal as an input, and abrupt changes of the cutoff frequency, to see how the structures react to a parameter change. I will share the results if someone is interested.
So, I have not been able to get something interesting from most of Aaron Wishnick's source code, and I wondered if it contains some mistakes, since I got one in his TDF2 functions, and because the rabenstein_czarnach function, or the one for the coupled form, don't give the expected results...
Thanks for pointing out the information about the real Jordan norman form cell, I'm going to investigate/develop this and to continue my work
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
It is an interesting observation (I probably already mentioned this somewhere) that in continuous time domain the cutoff modulation does not affect the stability of an LTI system (provided all integrators in the system share the same cutoff coefficient, which is quite often the case), because it is simply equivalent to distortion of the time axis. In discrete time case, specifically for the trapezoidal integration TPT, this cannot be represented as time axis distortion anymore, for that reason I have been able neither to show the same, nor to build a counterexample.
PS. Of course any useful results regarding the time-varying filter stability would be interesting, as this topic doesn't seem to have much coverage in the available information.
PS. Of course any useful results regarding the time-varying filter stability would be interesting, as this topic doesn't seem to have much coverage in the available information.
-
- KVRian
- 1223 posts since 11 Aug, 2004 from France
If I'm not wrong, the article I have been talking about has a section covering stability in the time-varying case for the TDF2 structure 
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
Yep, I have been checking that article some time ago, and I even participated in the music dsp list discussion, which AFAIK has spawned the original research for that article. However, I never found enough time or motivation to verify the results with a piece of paper and a pen. Because I researched a similar topic a while ago on my own, and while being able to prove the time-varying stability for the continuous-time SVF, failed to do so in discrete time (my proof was based on properties of continuous functions). As for the criteria used in the article, I tried them in my research and they didn't seem to work. That's why I still have some doubts, whether it was me, who made the mistake or there is a mistake in the article (but that requires paper and a pencil, as I saidWolfen666 wrote:If I'm not wrong, the article I have been talking about has a section covering stability in the time-varying case for the TDF2 structure
OTOH, the article result looks similar to my continuous time result in that you have to limit the resonance not only from above but also from below for the criterion to work (the poles can be complex conjugate but are not allowed to coincide). This also bears some resemblance to the ill-conditioning of the real JNF. And that also suggests, that maybe you can construct an exploding time-varying case, if the poles are allowed to coincide
Edit: my proof was based on the fact that the state trajectory can't cross a certain "worst-case" elliptic trajectory. Which is actually pretty similar to the "space transformation" criterion and raises another question to why I failed to apply it.
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
A new update (1.1.0 revision)
http://www.native-instruments.com/filea ... _1.1.0.pdf
Highlights:
- Transposed Sallen-Key (TSK) filters
- Frequency shifters
- Some other stuff
Enjoy
http://www.native-instruments.com/filea ... _1.1.0.pdf
Highlights:
- Transposed Sallen-Key (TSK) filters
- Frequency shifters
- Some other stuff
Enjoy
-
- KVRist
- 32 posts since 12 Sep, 2014
Awesome! I was hoping to see more updates to The Art of VA Filter Design. I can't wait to try out those frequency shifters and the TSK filters. Thank you for your work and efforts Vadim! I always enjoy reading your work.Z1202 wrote:A new update (1.1.0 revision)
http://www.native-instruments.com/filea ... _1.1.0.pdf
Highlights:
- Transposed Sallen-Key (TSK) filters
- Frequency shifters
- Some other stuff
Enjoy
P.s. The SVF is probably my most used filter. I find it to be an awesome design and it sounds great. Also, it has so many filter type outputs.
- KVRian
- 1091 posts since 8 Feb, 2012 from South - Africa
When you first released this, I though that calling it a "book" instead of a "paper" was a little bit presumptuous. But now I'm eating some very humble pie. Thanks!
Andrew
Andrew
-
- KVRAF
- Topic Starter
- 1607 posts since 12 Apr, 2002
Found the first mistake.
The sign of sn x must be flipped in 7.42 and 7.43. Furthermore,
x=K*(4n+2+(-1)^N)/N
and the stable poles are for n<N/2 (N even) or n<(N+1)/2 (N odd)
Sorry for that. I fear there are more, though.
Anyway, I guess, I'll need to make a bugfix release in a few weeks.
The sign of sn x must be flipped in 7.42 and 7.43. Furthermore,
x=K*(4n+2+(-1)^N)/N
and the stable poles are for n<N/2 (N even) or n<(N+1)/2 (N odd)
Sorry for that. I fear there are more, though.
Anyway, I guess, I'll need to make a bugfix release in a few weeks.
-
- KVRian
- 1223 posts since 11 Aug, 2004 from France
I'm still reading the paper right now, I will give you some comments here or on musicdsp. I have still not finished the modeling of the custom filter, trying to make a synthesis of your work, mystran's semi-implicit method, and Will Pirkle's take on TPTs, and I hope I will be able to take a few days on this stuff next month
The extra chapters look very interesting indeed. I have used a few times an approximate Hilbert IIR filter I found somewhere to get two signals with an approximate phase difference of 90° and I have never really had a look into the theory behind. You might also give some realization examples at the end of the last chapter, with coefficients values maybe ?
The extra chapters look very interesting indeed. I have used a few times an approximate Hilbert IIR filter I found somewhere to get two signals with an approximate phase difference of 90° and I have never really had a look into the theory behind. You might also give some realization examples at the end of the last chapter, with coefficients values maybe ?
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
You can design Hilbert IIR pairs the same way you design poly-phase half-band IIR filters (as parallel all-pass filters). Can't seem to find a good reference from the web right now, but the idea with poly-phase IIRs is that we build the individual filters in such a way that aliasing will give use half the work for free ... and Hilbert IIR pair works the same way as a half-band low-pass, except you treat it as complex and multiple the whole response by i (so instead of pass-band between [-pi/2,pi/2] you have pass-band between [0,pi]).
I do realize the above is not sufficient to actually design anything (which requires a bunch of boring math), but maybe it can help get an intuitive understanding. On the bright-side, if you are lazy there's some cofficients in music-dsp.org archives; those might only implement the 2x oversampling stuff, but the same actual numbers work just fine for Hilbert as well.
That said, some sort of min-max resign (like Remez as mentioned in the book) is probably a better idea, since you probably want to spend more effort into getting steep transition around DC, while allowing a more gradual one around Nyquist (ie. save some taps for same effective quality by not forcing the filter to be symmetric).
I do realize the above is not sufficient to actually design anything (which requires a bunch of boring math), but maybe it can help get an intuitive understanding. On the bright-side, if you are lazy there's some cofficients in music-dsp.org archives; those might only implement the 2x oversampling stuff, but the same actual numbers work just fine for Hilbert as well.
That said, some sort of min-max resign (like Remez as mentioned in the book) is probably a better idea, since you probably want to spend more effort into getting steep transition around DC, while allowing a more gradual one around Nyquist (ie. save some taps for same effective quality by not forcing the filter to be symmetric).
- KVRian
- 1091 posts since 8 Feb, 2012 from South - Africa
This should work.mystran wrote:You can design Hilbert IIR pairs the same way you design poly-phase half-band IIR filters (as parallel all-pass filters). Can't seem to find a good reference from the web right now
http://vadkudr.org/Algorithms/EMQFdemo/EMQFdemo.html
-
- KVRian
- 1223 posts since 11 Aug, 2004 from France
Thanks guys ! I have already done some work with polyphase half-band IIR filters although I stopped before being in the end of the whole theory. I might read again all this stuff with the end of the book
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
I think I used these coefficients as well for one of my test plugins (stereo phaser). Seemed good.Ichad.c wrote:This should work.mystran wrote:You can design Hilbert IIR pairs the same way you design poly-phase half-band IIR filters (as parallel all-pass filters). Can't seem to find a good reference from the web right now
http://vadkudr.org/Algorithms/EMQFdemo/EMQFdemo.html
- KVRAF
- 8476 posts since 12 Feb, 2006 from Helsinki, Finland
Oh and on the subject of Remez vs. Parks-McClellan discussion of footnotes of page 119: you could just as well note there that the confusion is almost certainly due to the most popular implementation of Parks-McClellan: the "remez" function for Matlab, which curiously enough only ever did Parks-McClellan (and which apparently is now deprecated in favor of the more accurately named "firpm" although still found as "remez" in Octave as far as I know).
