Book: The Art of VA Filter Design 2.1.2

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

1eqinfinity wrote:Funny thing, If I boldly solve for (Hlp^2 + Hhp^2)^2 I get a peak mode with some beareable freq response distortion to the right of the f.
i.e H = (1+s^2)^2 / (1+s)^4
Not sure what you're referring to. (1+s)^2/(1+s)^4 is a notch.

Edit: the notch is (1+s^2)^2/(1+s)^4, it was a typo
Last edited by Z1202 on Wed Mar 07, 2018 12:25 pm, edited 1 time in total.

Post

Z1202 wrote:Also I'm not sure why you referred to the unit circle...
I was just making things clearer for myself because for a moment I was surprised by the appearance of the infinity :)
Z1202 wrote:Not sure what you're referring to. (1+s)^2/(1+s)^4 is a notch.
Yes, but if the numerator (1+s^2)^2 then I get the following (the upper one is this "peak" and the lower is the notch we discussed in the beginning):
Image

Edit: the coeffs are 1, 0, 2, 0, 1.

Post

1eqinfinity wrote:
Z1202 wrote:Also I'm not sure why you referred to the unit circle...
I was just making things clearer for myself because for a moment I was surprised by the appearance of the infinity :)
Z1202 wrote:Not sure what you're referring to. (1+s)^2/(1+s)^4 is a notch.
Yes, but if the numerator (1+s^2)^2 then I get the following (the upper one is this "peak" and the lower is the notch we discussed in the beginning):
Image

Edit: the coeffs are 1, 0, 2, 0, 1.
What is your picture with the feedback set to 0? Because it must be a pure notch. There was a typo, I meant (1+s^2)^2/(1+s^4), apparently you are already using that.

Edit: Maybe there is some bug somewhere else, because your filter also explodes at k=3.1 and the explosion is frequency-dependent. That shouldn't happen.

Post

Both pics are with nonzero fb.

Yes, I thought there's a mistake in my implementation. I should look for a bug more carefully, thanks!

Post

1eqinfinity wrote:Edit: the coeffs are 1, 0, 2, 0, 1.
What is easy to forget here is that the mixing coefficients are not the polynomial coefficients in terms of s. You need a polynomial in terms of (s+1), which gives (q-1)^4+2(q-1)^2+1=q^4-4q^3+8q^2-8q+4, where s+1=q, s=q-1. Almost fell for the same trap myself ;)

Post

Emmm, I'm confused :)
Correct me if I'm wrong, but after we drop off the common denominator and write down only numerators as parts of a new equation, algebraically we have a right to apply any linear operation to the parameter as long as we apply it to all of the parameter instances in the equation. So when you make a slick s - 1, it doesn't really change anything.

To put it straight, are these a0 ... a4 coefficients those that I can use for u, y1, ... y4 signals?
Image

Edit: but if you say the linear ladder with k < 4 shouldn't explode then I definitely have an error somewhere else too, since even in LP mode it explodes.

Post

1eqinfinity wrote:Emmm, I'm confused :)
Correct me if I'm wrong, but after we drop off the common denominator and write down only numerators as parts of a new equation, algebraically we have a right to apply any linear operation to the parameter as long as we apply it to all of the parameter instances in the equation. So when you make a slick s - 1, it doesn't really change anything.
We write the numerator as a polynomial relative to s. But the modal outputs of the ladder do not produce the powers of s. They produce the powers of (s+1). That's the reason for this formal replacement to s-1 in the book.

Post

1eqinfinity wrote:Edit: but if you say the linear ladder with k < 4 shouldn't explode then I definitely have an error somewhere else too, since even in LP mode it explodes.
Make sure you completely removed the shaper. A bug in a shaper can make the filter explode. Also I think that a 1-pole HP shaper shouldn't make the filter more unstable, but I never had a formal proof of that.

Edit: although, maybe I do. The 1-pole hp shifts the phase response of the 4 LPs up, therefore the phase inversion point is located further to the right than usual. Since the amplitude response of the 4 LPs is not increased by the added shaper, the amplitude response at the inversion point is always lowered by the HP shaper and so the filter is not more unstable ;)

Post

1eqinfinity wrote: Edit: but if you say the linear ladder with k < 4 shouldn't explode then I definitely have an error somewhere else too, since even in LP mode it explodes.
The resonance (for a linear 4-pole cascade with equal poles) should be completely independent of the cutoff and reach self-oscillation at exactly k = 4. In fact, I wouldn't bother trying to figure out the zero-responses before you get this right.

Post

Hmm, ok. I should think more careful about polynomials.
As to the shaper, I'm getting the same behaviour even with those three lines commented out. Maybe I misinterpreted the expressions for S and G.

Post

Z1202 wrote: Edit: although, maybe I do. The 1-pole hp shifts the phase response of the 4 LPs up, therefore the phase inversion point is located further to the right than usual. Since the amplitude response of the 4 LPs is not increased by the added shaper, the amplitude response at the inversion point is always lowered by the HP shaper and so the filter is not more unstable ;)
It's not possible to get instability with less than 3 HP poles in the loop. With only 2 poles, the secondary resonance at low frequency would be at DC and there's two zeroes there so it won't work. With 3 or more HP poles, you can get a low-frequency self-oscillation going if the pole frequencies (of the HP poles) are close enough to each other to get you enough gain the 180 degrees phase-point... although I guess you need a minimum of 4 in a buffered ladder (and the HP poles should be buffered then as well? not sure about this though) if you want this to happen before the high-frequency resonance is self-oscillating (in an unbuffed diode ladder, it's easier to make it go crazy).

Post

I did misinterpret G and S. Even though in the book Vadim directly points to the general instanteneous response equation for 1-pole, I missed that point and got confused by the notation used from that moment on. ladder G != g^4, and so on.

I haven't recalculated the multimode stuff yet, but with a correct filter structure and nonzero fb u + 2.0 * y2 + y4 still yields a funny peak. Here's a filtered sawtooth spectrum:

Image

Thanks for your help, Vadim!
Last edited by 1eqinfinity on Thu Mar 08, 2018 10:05 am, edited 1 time in total.

Post

1eqinfinity wrote:I haven't recalculate the multimode stuff yet, but with a correct filter structure and nonzero fb u + 2.0 * y2 + y4 still yields a funny peak.
Z1202 wrote:
1eqinfinity wrote:Edit: the coeffs are 1, 0, 2, 0, 1.
What is easy to forget here is that the mixing coefficients are not the polynomial coefficients in terms of s. You need a polynomial in terms of (s+1), which gives (q-1)^4+2(q-1)^2+1=q^4-4q^3+8q^2-8q+4, where s+1=q, s=q-1. Almost fell for the same trap myself ;)

Post

1eqinfinity wrote:I did misinterpret G and S. Even though in the book Vadim directly points to the general instanteneous response equation for 1-pole, I missed that point and got confused by the notation used from that moment on. ladder G != g^4, and so on.
Yes, there are too few letters to choose from, got equally confused by your code ;) OTOH, there's a positive aspect to it, it forces you to really think along and not simply copy the equations ;)

Post

Z1202 wrote:
1eqinfinity wrote:OTOH, there's a positive aspect to it, it forces you to really think along and not simply copy the equations ;)
Totally :)

Post Reply

Return to “DSP and Plugin Development”