What is the exact meaning of unstable system in DSP?

In physical systems I understand what is the meaning of stability or unstability. An operational amplifier for example, if working in positive feedback will either saturate or start osscilating (i.e will not have any stable state). thats clear to me.

But I am unable to understand what exactly we mean when we say an IIR filter (or any other digital system), for example, can become very unstable. What exactly inside the Digital Signal Proccessor happens, what happens to the output physically? What exactly we mean by unstable system in this context?

-

Unstable typically means and unbounded output for a bounded input. In other words the output of, say , a filter can get infinitely large although the input is perfectly okay and of "normal" size. A simple example would be the difference equation $y[n] = x[n] + y[n-1]$. If we calculate the step response, i.e. $x[n] = u[n]$, we get y[0] = 1, y[1] = 2, y[2] = 3 ... The output grows infinitely even though the input is a perfectly well behaved signal, bounded by 1.

-
@Bruce: thanks for the edit. –  Hilmar Feb 27 '13 at 4:07

An IIR filter has poles, which means it has feedback from the system output that factor into its output computations. The poles of a discrete time system must have an absolute magnitude smaller than 1 for the system to be stable. This equates to having the poles fall inside a unit circle in the complex plane (generally referring to the z plane associated with the z domain transfer function of the system).

The analogous situation for "real world" systems (systems that can be modeled by linear differential equations with constant coefficients - thus can be represented by a transfer function in the Laplace domain or S domain), is that the poles of the system transfer function must be on the left hand side of the S plane.

For discrete time systems, if poles are outside the unit circle, values represented internally as well as the system output can grow without bound. If poles are located on the unit circle, values internal to the system as well as the output may oscillate.

For a stable system, internal values and the system output are expected to be a function of the system input. This will not be the case if the system is oscillatory or has values that exceed the size of the numbers used to represent internal values (register overflow).

If poles are too close to the unit circle, the system may be marginally stable. Is such cases, the system may behave for some limited set of input conditions, but may become uncontrolled for other conditions. The reason for this is that DSP systems are inherently non-linear. Internal values are often represented using fixed point arithmetic and are always stored in finite sized registers, so if the maximum values that can be represented are exceeded, the system experiences a non linearity. Another feature of DSP systems is that signals are quantized. Signal quantization adds low level non-linear effects to the system. Quantization error is often modeled as noise, but it can become correlated with system values and result in oscillations called limit cycles.

Care must be taken to avoid saturating (hitting absolute maximum values) in fixed point representations. Generally it is considered better, if absolute values are exceeded, that the representation be held at the maximum value rather than cause a sign inversion of the value. This is called saturation limiting and it does a better job of preserving the system behavior that allowing sign inversions.

In general an unstable DSP system will saturate to a fixed value or oscillate in a chaotic way due to internal nonliteraries.

-

An unstable IIR filter will act just like an unstable op-amp circuit, except that the input and output are streams of numbers instead of voltages.

So the output can oscillate, get stuck at a min/max value, or generally just be crudded up. Just like an unstable op-amp circuit, it might work for some inputs and oscillate for others.

Pretty much any type of system where feedback is involved can be unstable if it's designed wrong. This is because some of the output feeds back into the input (hence being feedback!), so an unstable system will keep feeding back more and more until it goes crazy.

There's nothing special about IIR filters vs. op-amp filters - they both have feedback, and can both be stable or unstable depending on the poles, which represent the feedback part of a transfer function.

That's actually the difference between an FIR digital filter and an IIR digital filter: FIR filters don't have any feedback, so they can never be unstable (the tradeoff here is that an equivalent FIR filter usually takes a ton more computation). They're basically pure feed-forward, instead of having feedback (and probably also some feed-forward) like an IIR.

-

When a system is unstable, the output of the system may be infinite even though the input to the system was finite. This cause a number of practical problems. For instance, a robot arm controller that is unstable may cause the robot to move dangerously. Also, systems that are unstable often incur a certain amount of physical damage, which can become costly. Nonetheless, many systems are inherently unstable - a fighter jet, for instance, or a rocket at liftoff, are examples of naturally unstable systems. Although we can design controllers that stabilize the system, it is first important to understand what stability is, how it is determined, and why it matters.

-