Could be "Chronic Pain Syndrome".
May be we should add one to these: https://en.wikipedia.org/wiki/CPS
Could be "Chronic Pain Syndrome".
I haven't looked deeply into Jordan normal forms TBH. But from a 10 minute browse here and there. Apparently it's different. At least thats the impression I got from Figure 7.2 in your book.Z1202 wrote: ↑Mon May 20, 2019 3:11 amIn regards to CPS, I didn't really read the text, but from the name and TF I would guess that it's probably related to the 1-poles used in the Jordan normal form. Although, since the connection is serial, it possibly doesn't suffer from the ill-conditioning present in parallel connection
O the real output (with zero imaginary) is guaranteed only by the designer of the filter him self. If he designs prefect conjugate pairs he will get a pure real output. If he wants an imaginary output he can get that too. Yet in both cases stability in time variant case is guaranteed with the proof presented in the last section of the article. (As long as R<1). The "time in-variant case" is just a special case of the "time variant case" where the parameters don't change.
Complex resonator (as much as I can tell from Julius O. Smith's page) is pretty much the same (up to a gain coefficient) as a Jordan 1-pole. Except that in VAFilterDesign they are continuous-time, but you can do the same in digital form. Jordan normal form is just a matrix form, so it's applicable to discrete-time state-space form in the same way as to continuous-time state-space.
Let me get this clear. You implemented a serial connection of two complex resonators and modulated both and the imaginary part is always 0? Maybe you're right, but it'd be nice to have a proof of that. The proof you mention is about stability, not about purely real output in the time-varying case, right?
Why would you even do this?Z1202 wrote: ↑Mon May 20, 2019 11:15 pmLet me get this clear. You implemented a serial connection of two complex resonators and modulated both and the imaginary part is always 0? Maybe you're right, but it'd be nice to have a proof of that. The proof you mention is about stability, not about purely real output in the time-varying case, right?
I'm not sure what exactly Ammar is aiming at, but as to your remark, throwing out the imaginary part works only if the conjugate pair is "strongly complex", that is the imaginary part is sufficiently far away from zero. It gets ill-conditioned (with practical transfer functions) as the poles move close to each other and stops working as you want to real poles.mystran wrote: ↑Mon May 20, 2019 11:54 pmWhy would you even do this?
If you want real-valued output, you need a complex conjugate pair. If you take a single complex one-pole and throw away the imaginary part of the output, you'll get a real-valued two-pole thanks to aliasing. So trying to use two complex resonators only to form a complex conjugate pair anyway sounds like complete waste of CPU to me.
Jordan normal form also gets ill-conditioned when the poles are close to each other and it's also where you need a second-order term in a partial fractional expansion (ie. parallel implementation).Z1202 wrote: ↑Tue May 21, 2019 12:05 amI'm not sure what exactly Ammar is aiming at, but as to your remark, throwing out the imaginary part works only if the conjugate pair is "strongly complex", that is the imaginary part is sufficiently far away from zero. It gets ill-conditioned (with practical transfer functions) as the poles move close to each other and stops working as you want to real poles.mystran wrote: ↑Mon May 20, 2019 11:54 pmWhy would you even do this?
If you want real-valued output, you need a complex conjugate pair. If you take a single complex one-pole and throw away the imaginary part of the output, you'll get a real-valued two-pole thanks to aliasing. So trying to use two complex resonators only to form a complex conjugate pair anyway sounds like complete waste of CPU to me.
I wouldn't compare that to direct form. The complex 1-poles have really nice transient behavior under cutoff and resonance changes. At least for the internal state of the filter. For SVF you have a decaying circle morphing into a decaying ellipse (which is also rotating as resonance changes), which is already not so nice. OTOH, with practical TFs it gets more complicated.
Nice optimisation. But this solution doesn't work completely as the filter will collapse to one pole as the poles become real.mystran wrote: ↑Mon May 20, 2019 11:54 pmWhy would you even do this?
If you want real-valued output, you need a complex conjugate pair. If you take a single complex one-pole and throw away the imaginary part of the output, you'll get a real-valued two-pole thanks to aliasing. So trying to use two complex resonators only to form a complex conjugate pair anyway sounds like complete waste of CPU to me.
That's exactly what I was kinda expecting. Modulation creates a transient which is not fully real. OTOH a static (LTI) part of the signal of course should be real since the global transfer function is real.matt42 wrote: ↑Tue May 21, 2019 6:45 amHi Solo,
I have done a quick test of the complex sections. (Disclaimer: I'm working nights and I could be discombobulated). I found that modulating the filter does result in imaginary output. However if it then becomes static the imaginary content quickly drops below the noise floor (although higher than if the filter was never modulated in the first place, it's still negligible).
It seems that the filter is stable, so I guess the question is how does it sound when modulated? I've only looked at the output values, so I still have no idea in that regard.Z1202 wrote: ↑Tue May 21, 2019 7:04 amThat's exactly what I was kinda expecting. Modulation creates a transient which is not fully real. OTOH a static (LTI) part of the signal of course should be real since the global transfer function is real.matt42 wrote: ↑Tue May 21, 2019 6:45 amHi Solo,
I have done a quick test of the complex sections. (Disclaimer: I'm working nights and I could be discombobulated). I found that modulating the filter does result in imaginary output. However if it then becomes static the imaginary content quickly drops below the noise floor (although higher than if the filter was never modulated in the first place, it's still negligible).
As mentioned, this works only if resonance is sufficiently high so that the imaginary parts of the poles are away from zero. Particularly see 7.9 and 7.11 of you know which book (dropping the imaginary part is equivalent to averaging with a conjugate filter's output).S0lo wrote: ↑Tue May 21, 2019 8:08 am@mystran
Regarding droping the imaginary part after a one pole. Good idea!!. From what I can check in 10 minutes, It will yield a 2-pole, but not the 2-pole I've designed. I just tried it. It works but has a very different characteristics. It attenuates bass frequencies hardly. And you just gave me a good a idea Thanks.
I have skimmed through 7.11 very briefly to get the top lines. But let me take it from you before I decide to go deep into this or not. Is it possible to design a single CPS (or Complex resonator, or..etc) where we would simply drop the imaginary part and get exactly the desired 2-pole without ill-conditioned problems at any resonance value?Z1202 wrote: ↑Tue May 21, 2019 9:29 amAs mentioned, this works only if resonance is sufficiently high so that the imaginary parts of the poles are away from zero. Particularly see 7.9 and 7.11 of you know which book (dropping the imaginary part is equivalent to averaging with a conjugate filter's output).
Actually it should be possible to construct any resonating 2-pole this way.
On the other hand, serial connection probably doesn't suffer from this ill-conditioning, but doubles (effectively) the filter order and has complex transients.
Not really. What we have is essentially a parallel implementation by partial fractional decomposition... but since we know the outputs of the two terms are conjugate for Q>.5 we can just compute one and take the real part and pretend we did a parallel sum.S0lo wrote: ↑Tue May 21, 2019 5:13 pmI have skimmed through 7.11 very briefly to get the top lines. But let me take it from you before I decide to go deep into this or not. Is it possible to design a single CPS (or Complex resonator, or..etc) where we would simply drop the imaginary part and get exactly the desired 2-pole without ill-conditioned problems at any resonance value?Z1202 wrote: ↑Tue May 21, 2019 9:29 amAs mentioned, this works only if resonance is sufficiently high so that the imaginary parts of the poles are away from zero. Particularly see 7.9 and 7.11 of you know which book (dropping the imaginary part is equivalent to averaging with a conjugate filter's output).
Actually it should be possible to construct any resonating 2-pole this way.
On the other hand, serial connection probably doesn't suffer from this ill-conditioning, but doubles (effectively) the filter order and has complex transients.
© KVR Audio, Inc. 2000-2018
Submit: News, Plug-ins, Hosts & Apps | Advertise @ KVR | Developer Account | About KVR / Contact Us | Privacy Statement