Fast Modulation of Filter Parameters

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

Z1202 wrote: Fri Apr 26, 2019 12:23 pm @S0lo. I'll try to take a look at your paper later. Two notes:

1) I'm not sure the structure diagram you posted is cutoff-modulation-stable, because the modulation stability is guaranteed for having cutoff controls in front of the integrators only (see 2.7 of the book), whereas in your structure the cutoff control seems to be spread across the structure. Typically the cutoff control is assumed to be embedded into the integrators, and a and b coefficients controlling other aspects of the filter, e.g. resonance. Also see 2.16 explicitly requiring in the beginning: "Suppose the cutoff gain elements are always preceding the integrators and suppose all integrators have the same cutoff gain (that is, these gains always have the same value, even when modulated)."
This very much wipes out the possibility of a general purpose analog structure that can sort of "stabilize" (if I may say) an arbitrary Z domain transfer function.

In a previous post, I tried to do inverse BLT to match the TPT-SVF (almost the same one in the book). It didn't work. http://www.solostuff.net/wp-content/upl ... e-BLTt.pdf

Edit: Basically there was no solution. More equations than unknowns.
Z1202 wrote: Fri Apr 26, 2019 12:23 pm 2) There is a TPT way to control the cutoff of digital structures directly, which is based on the discrete-time cutoff substitution formula. It also preserves the original topology of the digital system. Essentially you can replace each z^-1 with a 1-pole allpass. By controlling the cutoffs of the allpasses you can control the cutoff of the entire filter. Taking TPT 1-pole allpasses you ensure stability in modulation. It's roughly described here
https://www.native-instruments.com/file ... caling.pdf
although the argument in the paper could have been done in a better way.
I will make sure I check. looks interesting indeed.

Z1202 wrote: Fri Apr 26, 2019 12:23 pm One more edit: literally skimmed though your article. A note: you can do pole-zero design in ZDF/TPT using analog plane exactly the same way how you do pole-zero in z-plane. And I think the reasoning is usually easier in the s- than in z-plane, since the frequency axis is fully linear.
Sure, but again how can we insure stability using an arbitrary S domain transfer function while we know it's not going to be LTI.
Last edited by S0lo on Fri Apr 26, 2019 9:13 pm, edited 2 times in total.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

Z1202 wrote: Fri Apr 26, 2019 8:20 pm Actually I wonder how practical such criterion would be. In the end, isn't it equivalent to being able to factor w out of every row of the state matrix? (which is much easier to check)
On the other hand, it is remarkably easy to build state matrices where you only have (s/w). In fact, all you have to do is build a normalized filter, then add a frequency-multiplier in front of every integrator. ;)

Post

S0lo wrote: Fri Apr 26, 2019 8:47 pm
Z1202 wrote: Fri Apr 26, 2019 12:23 pm @S0lo. I'll try to take a look at your paper later. Two notes:

1) I'm not sure the structure diagram you posted is cutoff-modulation-stable, because the modulation stability is guaranteed for having cutoff controls in front of the integrators only (see 2.7 of the book), whereas in your structure the cutoff control seems to be spread across the structure. Typically the cutoff control is assumed to be embedded into the integrators, and a and b coefficients controlling other aspects of the filter, e.g. resonance. Also see 2.16 explicitly requiring in the beginning: "Suppose the cutoff gain elements are always preceding the integrators and suppose all integrators have the same cutoff gain (that is, these gains always have the same value, even when modulated)."
This very much wipes out the possibility of a general purpose analog structure that can sort of "stabilize" (if I may say) an arbitrary Z domain transfer function.
Hmmm, I'm not sure I follow your reasoning. For one we have a classical TPT SVF, which (I repeat here again) Aaron Wishnick showed to be time-variant-stable. This means you could take a series of those SVF to implement your arbitrary transfer function. See the book 4.1-4.4, 2.7 and 8.2.

Secondly, even the structure which you're using can be made at least cutoff-modulation-stable (resonance modulation stability will then be a question which can be answered practically) if you embed the cutoff control into the integrators, as it is common to do (see 8.1 and 2.7). (Also remember, this is just an assumption about the reason for your structure instability, which still is to be verified). Edit: okay, it probably can become unstable if cutoffs of different poles are modulated independently.

Thirdly, there are other time-varying-stable structures, such as filters based on real 2nd-order resonating Jordan normal cells (see 7.10), although this probably limits the usage case to relatively high resonance. I'm positive you can build more ;)

Post

Ok, finally! I found out what the problem was. I miss typed the wc^2 as wc in the transfer function of the SVF in section 4.1 in the book. Actually I've originally calculated it correctly then miss typed it in the paper!! (paper has been corrected). silly me :oops:

Now every thing works. The LP filter became stable at fast modulation. Edit: as far as my quick tests go

Just in case some one was wondering, here is the final substitution I got from equalizing the coefficients of my H(s) to the TPT-SVF H(s)
final.jpg
It's not the most CPU efficient thing but it works. k here is actually R in the TPT-SVF. But I'm already using R for the radius.

A few points to make here:
1. Although I used Z-domain transfer functions in my original design. It didn't affect stability.
2. I used S domain Inverse BLT and S domain transfer functions. Yet it didn't affect stability.
3. So only the TPT part has to be done in the time domain.

@Z1202, Now this was for an LP. I'm thinking now of moving the zeros at nyquist to an arbitrary position while keeping the poles also arbitrary. I guess I have to modify the TPT-SVF a bit. I'm guessing there is something ready for it in the book?

Once this is done. a vast array of pole-zero filters can be realized by simply cascading such stable TPT-SVF 2-pole 2-zero filters. If more zeros than poles are required or more poles than zeros are required then we can simply disable some poles or zero by setting their radius to 0

On a side talk. There is this other option of spiting everything to a cascade of 1st order conjugate pair sections which I mention in the paper. This was always stable as far as my experimentation.
You do not have the required permissions to view the files attached to this post.
Last edited by S0lo on Mon Apr 29, 2019 9:32 am, edited 1 time in total.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

S0lo wrote: Sat Apr 27, 2019 3:33 pm@Z1202, Now this was for an LP. I'm thinking now of moving the zeros at nyquist to an arbitrary position while keeping the poles also arbitrary. I guess I have to modify the TPT-SVF a bit. I'm guessing there is something ready for it in the book?
4.7 p.121 "Arbitrary 2-pole transfer functions"

Post

Z1202 wrote: Sat Apr 27, 2019 6:41 am
S0lo wrote: Fri Apr 26, 2019 8:47 pm
Z1202 wrote: Fri Apr 26, 2019 12:23 pm @S0lo. I'll try to take a look at your paper later. Two notes:

1) I'm not sure the structure diagram you posted is cutoff-modulation-stable, because the modulation stability is guaranteed for having cutoff controls in front of the integrators only (see 2.7 of the book), whereas in your structure the cutoff control seems to be spread across the structure. Typically the cutoff control is assumed to be embedded into the integrators, and a and b coefficients controlling other aspects of the filter, e.g. resonance. Also see 2.16 explicitly requiring in the beginning: "Suppose the cutoff gain elements are always preceding the integrators and suppose all integrators have the same cutoff gain (that is, these gains always have the same value, even when modulated)."
This very much wipes out the possibility of a general purpose analog structure that can sort of "stabilize" (if I may say) an arbitrary Z domain transfer function.
Hmmm, I'm not sure I follow your reasoning. For one we have a classical TPT SVF, which (I repeat here again) Aaron Wishnick showed to be time-variant-stable. This means you could take a series of those SVF to implement your arbitrary transfer function. See the book 4.1-4.4, 2.7 and 8.2.
Your right. Don't know what I was thinking. :dog:
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

S0lo wrote: Sat Apr 27, 2019 3:33 pm @Z1202, Now this was for an LP. I'm thinking now of moving the zeros at nyquist to an arbitrary position while keeping the poles also arbitrary. I guess I have to modify the TPT-SVF a bit. I'm guessing there is something ready for it in the book?
I know Z1202 referred you to the book, but really this is so simple I feel it makes sense to post it here directly. The standard SVF has three outputs, usually known as HP, BP and LP.

If we mix the outputs with weights gHp, gBp and gLp, we get the following general transfer function:

Code: Select all

(gHp * (s/w)^2 + gBp * (s/w) + gLp)
-----------------------------------
    ((s/w)^2 + (s/w)/Q + 1)
What this means is that whatever 2nd order numerator polynomial you come up with, you can literally just use the (s-plane) polynomial coefficients as weights directly (for both analog and TPT implementation).

Post

@mystran

Got it from the book, but thanks for posting. Makes sense making it clear by embedding /w like that.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

If we can prove that the feedback path is strictly none-amplifying no matter what modulation is applied. Shouldn't that prove stability?
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

S0lo wrote: Wed May 01, 2019 11:52 am If we can prove that the feedback path is strictly none-amplifying no matter what modulation is applied. Shouldn't that prove stability?
What exactly do you mean by "feedback path is strictly none-amplifying no matter what modulation is applied"? I mean I can guess where you're getting at intuitively, but I suggest that you express this idea more precisely ;)

Post

Z1202 wrote: Thu May 02, 2019 8:05 am
S0lo wrote: Wed May 01, 2019 11:52 am If we can prove that the feedback path is strictly none-amplifying no matter what modulation is applied. Shouldn't that prove stability?
What exactly do you mean by "feedback path is strictly none-amplifying no matter what modulation is applied"? I mean I can guess where you're getting at intuitively, but I suggest that you express this idea more precisely ;)
Never mind. I actually dug into this BIBO stability yesterday and I think I found out what constitutes a preliminary proof for the stability of the Complex 1-Pole Section in the discrete time-variant form I'm using in the article. Here is a draft for it: http://www.solostuff.net/wp-content/upl ... roof-2.pdf

I'm not a mathematician, so this is literally based on a primitive understanding. And I know this is too much to ask, but may be some one can spot an obvious or serious problem with a quick look.

I know if I miss the requirements for stability, then I'd have to start all over. It's highly likely.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

I've added a new section for a "Pole-Zero to TPT converter". A sub section for a generalized CPS. And a complementary section for showing an elaborate proof of BIBO stability of the CPS system. Acknowledgments are also in place.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

Thanks again for sharing this. Got me interested to check out the differences modulating equivalent CPS and TPT filters.

Post

matt42 wrote: Sat May 18, 2019 2:14 pm Thanks again for sharing this. Got me interested to check out the differences modulating equivalent CPS and TPT filters.
They sound noticeably different!!. At least for something that modulates essentially the same filter. TPT is much smoother. CPS is nasty and aggressive.
www.solostuff.net
Advice is heavy. So don’t send it like a mountain.

Post

Off-topic: every time you say CPS my brain parses it as "continuation-passing style" and get's really confused. :D

Post Reply

Return to “DSP and Plugin Development”