制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。制御工学チャンネル(YouTube,動画ポータル)を運営しています。

Discretization of continuous-time control systems

Discretization of Continuous-Time Control Systems

When expressing the characteristics of a control target based on physical laws, it is often represented in the form of differential equations, which are treated within the framework of continuous-time representation. However, when implementing the controller, although it is for a brief moment, the control input is calculated at discrete steps and applied to the target, making it necessary to use the discrete-time system representation. Considering this, it is advantageous for designers to be able to switch between continuous-time and discrete-time representations depending on the situation. While the transfer function for continuous-time systems uses the variable  s, discrete-time systems employ the shift operator  z.

Various textbooks cover the relationship between continuous-time and discrete-time systems, with the bilinear transformation being one of the most well-known methods.

The Relationship Between Continuous-Time and Discrete-Time Systems

When controlling a system that follows physical phenomena, the control target is described as a continuous-time system. There are numerous control methods for continuous-time systems, including frequency domain-based design techniques and time-domain-based design methods using state equations. Therefore, in many cases, when a control system is given, an appropriate control law can be found for it.

However, implementing the obtained control law becomes increasingly difficult as the control law becomes more complex. Particularly, when controlling with analog circuits, there are limitations on the order of controllers that can be implemented, and the controller's state cannot be freely configured, resulting in outcomes that may not align with theoretical expectations.

In contrast, with advancements in computer technology, it has become common to use computers to calculate the controller's output (the input to the control target). There are two patterns: designing a controller by treating the control target as a discrete-time system or designing a discrete-time controller that closely resembles a controller designed for a continuous-time system. However, both approaches have their strengths and weaknesses.

When designing for a continuous-time system, if the control period (sampling interval) is long, the actual control performance may significantly degrade. Conversely, the shorter the sampling time, the closer the response of the discrete controller matches that of the continuous controller.

When designing for a discrete-time system, reducing the time step can result in the appearance of unstable zeros in the discrete-time system, even if the continuous-time system has no unstable zeros. Additionally, if the sampling time is too short, the variation in the sampling interval can cause the control system to become unstable.

One of the challenges when designing in discrete time is that changing the control period alters the characteristics of the discrete-time system, often necessitating a redesign.

The system's transfer function's behavior at  s = j \omega is called the frequency response. Since this text does not cover transfer functions, the details are omitted. Operators differ for continuous-time, shift format, and delta format.

Note: A control law refers to the method for determining the input command value based on the acquired information, so whether the control law obtained by the controller can be implemented is a separate consideration.

Continuous-Time and Discrete-Time Signals

Continuous and discrete signals are defined as follows:

  • A continuous-time signal exists at any time and can be defined for all time points.
  • A discrete-time signal exists only at specific time points and is undefined at other times.

The operations that link these two are sampling and holding. Sampling refers to observing a continuous-time signal at regular intervals and creating a discrete-time signal. The time interval for this is called the sampling period, and its reciprocal is called the sampling frequency. On the other hand, holding refers to the operation of converting a discrete-time signal back into a continuous-time signal. One method for this is zero-order hold. Zero-order hold refers to holding the value at one sampling time until the next sampling time, forming a staircase-like continuous-time signal.

In general, even if a continuous-time signal is sampled to create a discrete-time signal and then held to convert it back into a continuous-time signal, it is not possible to fully recover the original continuous-time signal. Devices such as sampler circuits and hold circuits are used for sampling and holding. A sampler circuit extracts the value of the continuous-time signal at each sampling time, while a hold circuit retains the signal value given at the sampling time until the next sampling time.

System Representation Using Pulse Transfer Function

The Pulse Transfer Function is a mathematical tool used to express the relationship between the input and output of a discrete-time system in the frequency domain. It corresponds to the transfer function of a continuous-time system and plays a critical role in the analysis and design of sampled data and digital control systems.

Definition of Pulse Transfer Function

The pulse transfer function represents the relationship between the input and output of a discrete-time system and is typically defined using the  z transform. While the transfer function of a continuous-time system is represented as  G(s), the pulse transfer function is represented as  G(z). Here,  z is a complex variable in the context of discrete-time systems.

Derivation of Pulse Transfer Function

The pulse transfer function is derived from the transfer function of a continuous-time system as follows. First, the input and output of the continuous-time system are discretized through sampling. For the transfer function  G(s) of a continuous-time system, the following relationship holds by using the sampling period  T_s:

\begin{equation} G(z) = \mathcal{Z}\left[ \mathcal{L}^{-1}\left[ G(s) \right] \Big|_{s = \frac{1}{T_s} \ln(z)} \right] \end{equation}

Here,  \mathcal{L} represents the Laplace transform,  \mathcal{L}^{-1} the inverse Laplace transform, and  \mathcal{Z} the  z transform. This transformation allows the characteristics of a continuous-time system to be applied to a discrete-time system.

Applications of Pulse Transfer Function

The pulse transfer function is widely used in the design and analysis of digital control systems. Typical applications include the stability analysis of discrete-time systems, digital filter design, and system response analysis. It is particularly useful for understanding the sampling theorem and the placement of poles and zeros in the  z plane.

Furthermore, it is helpful in understanding the relationship between continuous-time systems and digital control systems. For instance, when converting a continuous-time system into a digital control system, the continuous-time transfer function is first converted into a pulse transfer function, and this pulse transfer function is then used to design digital filters or controllers.

Calculation Example of Pulse Transfer Function

As a simple example, assume the transfer function of a continuous-time system is given as follows:

\begin{equation} G(s) = \frac{1}{s+1} \end{equation}

The pulse transfer function  G(z) when this system is sampled with a sampling period  T_s is calculated as follows.

First, the inverse Laplace transform is computed, and then the  z transform is applied:

\begin{equation} G(z) = \mathcal{Z}\left[ \mathcal{L}^{-1}\left[ \frac{1}{s+1} \right] \Big|_{s = \frac{1}{T_s} \ln(z)} \right] = \frac{1 - e^{-T_s}}{z - e^{-T_s}} \end{equation}

From this result, the pulse transfer function that depends on the sampling period  T_s is obtained. This function is used to analyze the characteristics of digital systems.

System Representation Using State-Space Representation

Continuous-Time Systems

The state-space representation of a continuous-time system is given by the following equations:

\begin{eqnarray} \dot x(t) &=& Ax(t)+Bu(t) \\y(t)&=&Cx(t)+Du(t) \end{eqnarray}

Here,  t represents time, and  x \in \mathbb{R}^n,  y \in \mathbb{R}, and  u \in \mathbb{R} are functions of time. Many physical systems are expressed as continuous-time systems, and the goal of control is typically to adjust the input  u so that the output  y behaves in a desired manner.

Discrete-Time Systems

The commonly used state-space representation of discrete-time systems is expressed as follows:

\begin{eqnarray}\label{siki12} x[k+1]&=&A_s x[k]+B_s u[k]\\ y[k]&=&C_s x[k]+D_s u[k]\nonumber \end{eqnarray}

Here,  x[k \in \mathbb{R}^n],  y[k \in \mathbb{R}], and  u[k \in \mathbb{R}]. This representation is often called the shift form because it describes the state transition from one time step to the next based on the state and input at the current time.

Another suitable representation for capturing the relationship between continuous-time and discrete-time systems is the delta form, expressed as:

\begin{eqnarray}\label{siki13} \frac{x[k+1]-x[k]}{\Delta}&=&A_d x[k]+B_d u[k]\\y[k]&=&C_d x[k]+D_d u[k]\nonumber \end{eqnarray}

where  x[k],  y[k], and  u[k] have the same dimensions as in the shift form. In this case, the system is expressed in terms of forward differences, with  \Delta representing the time step in seconds. The delta form of a discrete-time system coincides with a continuous-time system in the limit as  \Delta \rightarrow 0.

Thus, the delta form is said to be an appropriate representation to describe the relationship between continuous-time and discrete-time systems. In this paper, we consider single-input, single-output systems for simplicity.

Relationship Between Coefficients of Discrete and Continuous-Time Systems

Next, we examine the relationship between the coefficient matrices. For a linear time-invariant continuous-time system, the solution trajectory is given by the following expression:

\begin{equation} x(t)=e^{At}x(0)+\int_0^t e^{ A(t-τ) } B u(τ)d τ \end{equation}

Here,  x(0) represents the state at  t = 0. If the input  u(t) is constant with value  U over the interval  0 t <  \Delta, the state at  t = \Delta is:

\begin{equation} x(\Delta)=e^{A\Delta}x(0)+\int_0^\Delta e^{A(\Delta-τ)}B dτ U \end{equation}

At  t = (k+1)\Delta, with  t = k\Delta as the initial time, the state is expressed as:

\begin{equation} x((k+1)\Delta)=e^{A\Delta}x(k\Delta)+\int_0^\Delta e^{A(\Delta-τ)}B dτ U \end{equation}

Thus, by defining  x(k\Delta) = x[k] and  U = u[k], this can be expressed as a discrete-time system. The relationship between the coefficient matrices of the continuous-time system  \{A,B,C,D\} and those of the discrete-time system  \{A_s,B_s,C_s,D_s\} is given by:

\begin{equation} A_s=e^{A\Delta},B_s=\int^\Delta_0 e^{A t}dt B,C_s=C,D_s=D \end{equation}

If  A is nonsingular,  B_s can also be expressed as:

\begin{equation} B_s=(e^{A\Delta}-I)A^{-1}B \end{equation}

Meanwhile, the shift and delta forms are simply different representations of the same discrete-time system. The coefficients in the delta form are given by:

\begin{equation} A_d = \frac{A_s-I}{\Delta},B_d=\frac{B_s}{\Delta},C_d=C,D_d=D \end{equation}

As mentioned earlier, in the limit as  \Delta \rightarrow 0, we have  A_d = A and  B_d = B, and furthermore,

\begin{equation} \lim_{\Delta \rightarrow 0}\frac{x[k+1]-x[k]}{\Delta}=\dot x(t)\left|_{t=k\Delta}\right. \end{equation}

This shows that in the limit  \Delta \rightarrow 0, the delta form of the discrete-time system converges to the continuous-time system. This indicates that the delta form closely resembles the continuous-time system, especially for small sampling periods.

On the other hand, in the limit  \Delta \rightarrow 0, the matrix  A_s in the shift form becomes the identity matrix  I, and  B_s becomes zero. Thus, the shift form loses its meaningful interpretation under this limit.