Thank you acreil for sharing that massive nugget of knowledge (...and thanks to the author..). I mean wow, even the table of contents is huge! It's not like I tried each filtertopology but one at least knew that something like Lattrice- and Ladder- exist, but there are filterstructures inside I never heared off... hardcore!
And I don't think you should be discontinuously changing the coefficients in any topology. ...
I think so too. The smaller the jump the less click will occur. I guess the jump-size and click-amp or overshoot are (more or less) linearly related, so the question is which one produces the best signal at a certain jumpsize.
Well, the Fourier transform isn't real, it's complex...
Dude, I on purpose put that part in brackets... somehow I knew this would start a new discussion..
Anyways I know that there is complex math (the thing with a "i" (or "j" if you are an electrician..)).
But there is nothing like a "complex reality" NOnono! There is no complex variable in real life. Now you might say "But what's about the cpole~ or czero~?!" -It's just an implementation of complex math but there is nothing like a variable of the form "a+i*b". ...there is a reason why "a" is called real- and "(i*) b" is called imaginary... (..one just feeds in and gets out the real part at the end anyways..)
One could say it's a complex mathematical trick for a real system..
And as you said fft deals with TIME-pieces.
I know next to nothing about the Laplace transform, but I can say that it is more accurate to say the z-domain deals with "angular frequency".
Laplace could be called "Fourier-extended". Instead of taking only the imaginary part one takes the whole complex number.
I don't know if "angular frequency" is correct here, cause there is nothing rotation in time! (cause it's that "spectral math" there is no time in the form of a "t" or "..*t")
=>"angular frequency" * "time" = "angle"
Moreover euler says: %e^(+-%i*phi) = cos(phi)+-%i*sin(phi),
and the argument of a trig-function (like sin, cos..) is always an angle!
I'd be very interested in seeing a patch that illustrates this.
It's a little messy, but you can just take the [biquad~] and [fexpr~ ...] and a pole-zero-structure (actually it's "zero-zero-pole-pole") for comparison. I use an 2nd order allpass since I want to listen to it (->constant amp etc.)
The [block~ 1 1 1]-filterstructures were just to prove the different implementation already existent in pd..
I have attached some pics of the "jumps"!
The three graphs show from top to bottom: "direct form I" "direct form II" and "zero-zero-pole-pole".
There are happening instantaneous jumps from f_c=1000Hz to 5000Hz with a q=0.8.
It doesn't matter if you put an ac or non-zero-dc signal into it for the overshoot to take place. (...except for direct form I...but see yourself...)
Moreover I tried different orders of a pole-zero-structure, and guess what. They are all different concerning the overshoot!!!!
It seems the best is zero-pole-zero-pole. (the worst might be p-z-z-p followed by anything starting with a pole ..or two..)
Btw. one can't upload everything at once, right?!