Perry; Before I go off into the Z Plane (I often don't
return from there with all my marbles, but usually with new insights, sort of like a peyote vision- quest),
Ah, I'll make a point of relating this next time somebody asks "what on earth are these guys on?" about ChucK. It certainly explains a lot :-p.
are you changing the filter parameters fairly rapidly in time?
Even stable filters can behave unstable when you change the coefficients, especially repeated changes, like sweeps.
I figured that, yes, but right now LPF and it's siblings do seem a bit out of control here. For some combinations of Q and cutoff the things just misbehave. The posted example should not lead to the kind of output value Kijjaz measured; I count 14 digits before the decimal point... I'm not sure exactly how loud that is but my guess is that there are trade embargoes on
I had that once, yes, but that was back before we had LPF. In those days we had a piece of code somebody kindly posted that would turn a BiQuad into a LPF. Sweeping that could certainly blow it up but to me that sounded differently. That sounded more like one of those stove-lighters, except one that's about 5 meters tall. This sounds more like somebody told your laptop it's puppy died while somebody else is filling out some of it's cavities and the laptop sees a need to express both feelings at once. The first was probably a case of the signal getting stuck on one extreme while the second is definitely bi-polar, clipped and with a fairly complex period (to my ear). I think this particular issue is independent of sweeping though. The example code in the link ( http://electro-music.com/forum/viewtopic.php?t=37921 ) doesn't sweep. Last time I had it I wasn't doing any very extreme sweeping either, more like random octave jumps every 16th note or so, stuff like; //sounds nice with BlitSaw for acidic stuff when it behaves //this does not look unreasonable to me while(1) { my_osc.freq() * (1 + maybe + maybe + maybe + maybe) => my_LPF.freq; .25::beat => now; } the kind of technology that could play this back :-) Thanks for your notes so far; I was hoping you'd help look into this as this looks like it might get quite tricky. My big book on DSP here (in one of the passages that I do understand) tells me that once we calculated filter coefficients we should make sure that within the bit-depth that we are using those will still lead to a stable filter despite the unavoidable rounding. Now this book is a few years old and doesn't assume we'll have casual access to double-floats at 64 bits. I'm not at all sure how realistic it is to suspect this, though I would imagine that if that's what we are suffering from especially non-modulated filters would suffer from it as those would have the time for such a very small rounding error to lead to accumulation of errors to get out of control? Kas (Who is way out of his depth)