Hallo Chuck, thank you soo much! All is clear now. It seems I already was close or at least on the right path. The check for real roots is very nice as well, I had a bad feeling ignoring them completely and just crossing fingers in my patch.
Now it isn't difficult anymore to replace the message calculations with signal objects and make a biquad with all signal inlets, for example for Damian's dinosaurs abstractions, that are are using the Biquad Cookbook [1] formulas for various filter types. I wonder if dealing with the cookbook includes unnecessary conversions? The cookbook calculates parameters for the transfer function (ff1, ff2, ...) from frequency, gain and Q settings, which can be used in [biquad~] directly, but must be converted to poles and zeros for elementary filters. Calculating the poles and zeros directly from frequency, gain and Q should be much simpler, wouldn't it? An Elementary-Filter-Cookbook would be a nice project. [1] http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt Thanks again. -- Frank Charles Henry hat gesagt: // Charles Henry wrote: > There's two problems with your patch. > There's a sign error in one of the expr which calculates the imaginary value. > The second problem (in the same expr) was a * vs / error ( you put "/ > 2*$f1" instead of / 2 / $f1). Does that make a difference? > > Anyway, I jiggled with it enough to get it right. Also, I put two > other expr that check to make sure the poles / zeros are in fact > complex rather than real. > > Wait a minute.... how about just making some long expr that will sort > it out correctly and supply the zeros and poles for the real case as > well. I'll add that too. > > Chuck > p.s. I had some trouble following your expr syntax. It makes me > wonder if there's something I don't know about expr? -- Frank Barknecht _ ______footils.org__ _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
