Digital control. Digital control is a branch of control theory that uses digital computers to act as system controllers.
Depending on the requirements, a digital control system can take the form of a microcontroller to an ASIC to a standard desktop computer.
Since a digital computer is a discrete system, the Laplace transform is replaced with the Z-transform. Since a digital computer has finite precision (See quantization), extra care is needed to ensure the error in coefficients, analog-to-digital conversion, digital-to-analog conversion, etc. are not producing undesired or unplanned effects.

Since the creation of the first digital computer in the early 1940s the price of digital computers has dropped considerably, which has made them key pieces to control systems because they are easy to configure and reconfigure through software, can scale to the limits of the memory or storage space without extra cost, parameters of the program can change with time (See adaptive control) and digital computers are much less prone to environmental conditions than capacitors, inductors, etc.

Digital controller implementation 
A digital controller is usually cascaded with the plant in a feedback system. The rest of the system can either be digital or analog.

Typically, a digital controller requires:
Analog-to-digital conversion to convert analog inputs to machine-readable (digital) format
Digital-to-analog conversion to convert digital outputs to a form that can be input to a plant (analog)
A program that relates the outputs to the inputs

Output program 
Outputs from the digital controller are functions of current and past input samples, as well as past output samples - this can be implemented by storing relevant values of input and output in registers. The output can then be formed by a weighted sum of these stored values.

The programs can take numerous forms and perform many functions
A digital filter for low-pass filtering
A state space model of a system to act as a state observer
A telemetry system

Stability 
Although a controller may be stable when implemented as an analog controller, it could be unstable when implemented as a digital controller due to a large sampling interval. During sampling the aliasing modifies the cutoff parameters. Thus the sample rate characterizes the transient response and stability of the compensated system, and must update the values at the controller input often enough so as to not cause instability.

When substituting the frequency into the z operator, regular stability criteria still apply to discrete control systems. Nyquist criteria apply to z-domain transfer functions as well as being general for complex valued functions. Bode stability criteria apply similarly.
Jury criterion determines the discrete system stability about its characteristic polynomial.

Design of digital controller in s-domain 
The digital controller can also be designed in the s-domain (continuous). The Tustin transformation can transform the continuous compensator to the respective digital compensator. The digital compensator will achieve an output that approaches the output of its respective analog controller as the sampling interval is decreased.

Tustin transformation deduction 
Tustin is the Padé(1,1) approximation of the exponential function  :

 

And its inverse

 

Digital control theory is the technique to design strategies in discrete time, (and/or) quantized amplitude (and/or) in (binary) coded form to be implemented in computer systems (microcontrollers, microprocessors) that will control the analog (continuous in time and amplitude) dynamics of analog systems. From this consideration many errors from classical digital control were identified and solved and new methods were proposed:

Marcelo Tredinnick and Marcelo Souza and their new type of analog-digital mapping
Yutaka Yamamoto and his "lifting function space model"
Alexander Sesekin and his studies about impulsive systems.
M.U. Akhmetov and his studies about impulsive and pulse control

Design of digital controller in z-domain 
The digital controller can also be designed in the z-domain (discrete). The Pulse Transfer Function (PTF)  represents the digital viewpoint of the continuous process  when interfaced with appropriate ADC and DAC, and for a specified sample time  is obtained as:

Where  denotes z-Transform for the chosen sample time . There are many ways to directly design a digital controller  to achieve a given specification. For a type-0 system under unity negative feedback control, Michael Short and colleagues have shown that a relatively simple but effective method to synthesize a controller for a given (monic) closed-loop denominator polynomial  and preserve the (scaled) zeros of the PTF numerator  is to use the design equation:

Where the scalar term  ensures the controller  exhibits integral action, and a steady-state gain of unity is achieved in the closed-loop. The resulting closed-loop discrete transfer function from the z-Transform of reference input  to the z-Transform of process output  is then given by:

Since process time delay manifests as leading co-efficient(s) of zero in the process PTF numerator , the synthesis method above inherently yields a predictive controller if any such delay is present in the continuous plant.

See also 
Sampled data systems
Adaptive control
Analog control
Control theory
Digital
Feedback, Negative feedback, Positive feedback
Laplace transform
Real-time control
Z-transform

References

FRANKLIN, G.F.; POWELL, J.D., Emami-Naeini, A., Digital Control of Dynamical Systems, 3rd Ed (1998). Ellis-Kagle Press, Half Moon Bay, CA 
KATZ, P. Digital control using microprocessors. Englewood Cliffs: Prentice-Hall, 293p. 1981.
OGATA, K. Discrete-time control systems. Englewood Cliffs: Prentice-Hall,984p. 1987.
PHILLIPS, C.L.; NAGLE, H. T. Digital control system analysis and design. Englewood Cliffs, New Jersey: Prentice Hall International. 1995.
M. Sami Fadali, Antonio Visioli, (2009) "Digital Control Engineering", Academic Press, .
JURY, E.I. Sampled-data control systems. New-York: John Wiley. 1958.

Control theory

de:Digitaler Regler