Closed mhetrick closed 8 years ago
What kind of feedback are you doing exactly? Something like this: float s = soundSource(); float out = biquad(prevOut + s); prevOut = out;
Yes, pretty much that.
I would consider this a more general DSP issue since it's an external feedback loop. Therefore, it's outside the scope of Biquad. You may want to try placing a BlockNyquist in the feedback loop to see if that helps.
gam::Biquad<> (set to type gam::LOW_PASS) is exploding when given feedback. So far, in my testing, I've had it explode in the range of 21-22 kHz with a sampling rate of 44.1 kHz (it stabilizes around 20 kHz). This occurs without any input. You can just feed the previous filter output value back in as the new input.
The feedback noise is extremely high frequency. It's not a stable sine wave, but rather noise. It is hard to hear, but you can see it with a scope or amplitude meter.