A discrete-time system is anything that takes a discrete-time signal as input and generates a discrete-time signal as output.1 The concept of a system is very general. It may be used to model the response of an audio equalizer or the performance of the US economy.

In electrical engineering,
*continuous-time* signals are usually processed
by electrical circuits described by differential equations.
For example, any circuit of resistors, capacitors and inductors
can be analyzed using mesh analysis to yield a system of differential
equations.
The voltages and currents in the circuit may then be computed
by solving the equations.

The processing of *discrete-time* signals is performed by discrete-time
systems.
Similar to the continuous-time case,
we may represent a discrete-time system either by a set of
difference equations or by a block diagram of its implementation.
For example, consider the following difference equation.

This equation represents a discrete-time *system*.
It operates on the input signal

Mathematically, we use the notation *n*.
This is important since the output at a particular time
can be a function of past, present and future values of

It is usually quite straightforward to write a computer program to implement a discrete-time system from its difference equation. In fact, programmable computers are one of the easiest and most cost effective ways of implementing discrete-time systems.

While equation Equation 1 is an example of a linear time-invariant system, other discrete-time systems may be nonlinear and/or time varying. In order to understand discrete-time systems, it is important to first understand their classification into categories of linear/nonlinear, time-invariant/time-varying, causal/noncausal, memoryless/with-memory, and stable/unstable. Then it is possible to study the properties of restricted classes of systems, such as discrete-time systems which are linear, time-invariant and stable.