I have a digital notch filter (band-stop) implemented in C. It works very well. The issue is that varying the filter coefficients in order to track a noise signal that varies in frequency results in a transient response that can be more noisy than the incoming signal. We refer to this as "shot" noise and it appears this is a well-known problem with time-varying notch filters. I have looked at a couple of papers that appear to damp the changes to the coefficients in order to avoid this effect, but the maths is beyond me and I am really just looking for a C example that does something like this.
EDIT: this problem appears worse in our case because we have cascading notches - at least 24 all being updated at the same time - it seems that "shot" noise gets amplified in this case if you get the wrong combination of inputs.
EDIT2: An additional problem we are seeing is that the filter cascade becomes unstable at certain points - so we get much larger output than is possible on the input. This only happens when we are linking several notch filters together. This is all in floating point. Is there a way of avoiding this instability?