When overflow occurs, even otherwise stable filters may get stuck in a large-scale limit cycle, which is a short-period, almost full-scale persistent filter output caused by overflow.
Example 1
Consider the second-order system
![]() |
The filter is obviously stable, since the magnitude of the poles is
Clearly, such behavior is intolerable and must be prevented. Saturation arithmetic has been proved to prevent zero-input limit cycles, which is one reason why all DSP microprocessors support this feature. In many applications, this is considered sufficient protection. Scaling to prevent overflow is another solution, if as well the inital state values are never initialized to limit-cycle-producing values. The normal-form structure also reduces the chance of overflow.








