There are two main methods used in discriminating feedback from other sounds. The first method focuses on the relative strength of harmonics. The idea is that while music and speech are rich in harmonics feedback is not.
Note that either of the frequency detection methods (Fourier transform or adaptive notch filter) could be used to determine the relative strength of harmonics. It is easier to think in terms of harmonics if you are using a Fourier transform, but just as frequency can be determined by analyzing coefficients so also can analyzing the relationships between sets of coefficients identify harmonics.
There are drawbacks in utilizing harmonics as a means of identifying feedback. First, feedback is propagated through transducers and transducers have non-linearities. This means that feedback (especially when clipped) will have harmonics. Also, feedback does not always occur one frequency at a time.
If you remember the discussion on the properties of feedback there is potential for a feedback frequency anywhere the phase of the loudspeaker to microphone transfer function is zero degrees. For a system with 25 ms of delay (roughly 25 ft) this occurs every 40 Hz, and the zero degree frequency locations get closer together as the delay increases.
It is not possible to ensure that simultaneous feedback frequencies will never be harmonically related. The potential for feedback with harmonics needs to be balanced against the fact that some non-feedback sounds (tonal instruments such as a flute) have weak harmonics, blurring the area of accurate discrimination.
Another method for discriminating feedback from desirable sound is to analyze feedback through some of its more unique characteristics. This can be done without analyzing harmonic content. For example a temporary notch can be placed on a potential feedback frequency.
Feedback is the only signal that will always decay (up stream of the filter) coincident with the placing of the notch. However, because placing a temporary notch is intrusive some other mechanism needs to be used to identify potential feedback frequencies before a temporary notch is placed for verification.
One such useful characteristic is that a feedback frequency is relatively constant over the time that its amplitude is growing. This constant frequency combined with a growing magnitude proves very useful as a precursor to the temporary notch.
The final area in auto-notching algorithms is the deployment of the notches. Most auto-notching feedback suppressors allow the user to identify filters as either fixed (static) or floating (dynamic) in nature. This designation refers to the algorithm’s ability to recycle the filter if needed.
If a feedback frequency is identified the algorithm looks to see if a notch has already been deployed at that frequency. If found the notch will be appropriately deepened. If not found then a new filter is deployed (fixed filters are allocated before floating filters). If all filters are allocated then the oldest floating filter is reset and re-deployed at the new frequency.
Another useful feature is to give the user the option of having the algorithm turn down the broadband gain (with a programmable ramp back time) instead of recycling a floating filter if all filters are used up. Adjusting the broad band gain does not increase the gain margin but it does provide a measure of safety once all of the available filters are gone.
An area in notch deployment that requires careful attention is the depth and width of notches used to control feedback frequencies. To bring a feedback frequency back into stability the system’s open-loop transfer function gain simply needs to be below unity at that frequency. A desirable transfer function will have peaks that are reasonably flat through the frequencies of interest.