Your Equation

Library / Control engineering / CTL-22

Control engineering

Zero-order-hold discretisation of a first-order plant

Discrete-time model of a first-order plant when its input is held constant over each sample interval.

Ref
CTL-22
Rev
v1
Field
Control engineering
Result
Ad

If the input is held constant over each sample interval, the exact discrete-time model of ẋ = −ax + bu is x[k+1] = Adx[k] + Bdu[k] with Ad = e−aTs and Bd = (b/a)(1 − e−aTs). The continuous pole at −a maps to the discrete pole Ad, which lies inside the unit circle for any positive a and any sample interval. Here Ad is the output and Bd is shown among the derived results.

Discrete-time model of a first-order plant when its input is held constant over each sample interval. For the plant ẋ = −ax + bu the model is x[k+1] = Adx[k] + Bdu[k].

Calculator

Solve for
1/s
0.510
1/s
0.55
s
0.010.5
  • Input coefficient, Bd = (b/a)(1 − Ad)0.09063
  • Discrete DC gain, Bd / (1 − Ad)0.5
  • Plant time constant in samples, 1/(aTs)5 samples

What drives the result

Each variable is moved across its typical range while the others stay at the values above. The longest bar is the key driver.

Discrete state coefficient () current value 0.8187
TsSample intervalKey driver
0.3680.98
aPlant decay rate a
0.3680.951
bInput gain b
  • At the defaults x[k+1] = 0.8187 x[k] + 0.09063 u[k]. The discrete DC gain Bd/(1 − Ad) is 0.5, the same as the continuous DC gain b/a, as it should be.
  • The plant time constant is 5 samples long. Sampling as slowly as one time constant (Ts = 0.5 s) would give Ad = 0.3679.
Chart data as tables

Ranked variables

VariableTypical rangeLowest resultHighest resultSwing ()Local stepChange in result
Ts Sample interval0.01 to 0.5 s0.36790.98020.6123+10%−1.98 %
a Plant decay rate a0.5 to 10 1/s0.36790.95120.5833+10%−1.98 %
b Input gain b0.5 to 5 1/s0.81870.81870+10%0 %

Sweep of Sample interval

Sample interval (s)Discrete state coefficient
0.010.9802
0.071250.8672
0.13250.7672
0.19380.6788
0.2550.6005
0.31630.5313
0.37750.47
0.43870.4158
0.50.3679

Sweep one variable

Discrete state coefficient ()Hover, touch, or use the arrow keys on the chart
0.40.50.60.70.80.91 0.10.20.30.40.5 Sample interval (s) now 0.8187

Variables and how each one contributes

Ad

Discrete state coefficient

Result ·

What the equation gives you. Everything else feeds it.

a

Plant decay rate a

1/s · typical 0.5 to 10

The decay rate of the plant in 1/s: its time constant is 1/a. A faster plant decays more in each sample, so Ad is smaller. Raising it by 10 % (to 2.2) moves the result by −1.98 %, from 0.8187 to 0.8025.

b

Input gain b

1/s · typical 0.5 to 5

The input gain in 1/s. No effect on Ad, which depends on a and Ts only. It scales Bd: 1 gives Bd = 0.09063 at the defaults.

Ts

Sample interval

s · typical 0.01 to 0.5

The sample interval in s. A longer interval lets more of the state decay between samples, so Ad falls. Raising it by 10 % (to 0.11) moves the result by −1.98 %, from 0.8187 to 0.8025.

Worked example with the values above

  1. Exponent: aTs = 2 × 0.1 = 0.2, so Ad = e−0.2 = 0.8187.
  2. Input coefficient: Bd = (b/a)(1 − Ad) = (1/2) × (1 − 0.8187) = 0.09063.
  3. The model is x[k+1] = 0.8187 x[k] + 0.09063 u[k].

Assumptions and limits

  • A first-order plant with a constant input held over each sample (a zero-order hold) and a constant sample interval.
  • No delay between sampling and the update of the input.

Common mistakes

  • Using the forward-Euler approximation Ad ≈ 1 − aTs for a long sample interval. It becomes unstable when aTs exceeds 2, while the exact value stays stable.
  • Using the formula when the input is not held, for example a signal interpolated between samples. The result is then an approximation.

Statistics and uncertainty

Ad is an exponential of the product aTs, so a relative error in a gives a relative error of aTs times as much in Ad (and the opposite sign). At the defaults aTs = 0.2, so a 10 % error in a changes Ad by about 2 %. Jitter in the sample interval has the same effect. With very slow sampling Ad is close to zero, and the model barely depends on a at all.

Where it is used

  • Turning a continuous model into the difference equation used in a digital controller or simulation.
  • Checking that a sample rate is fast enough compared with the plant's time constant.

Maths you need

  • Exponential decay: e^(−at) for a first-order plant
  • Difference equations: x[k+1] in terms of x[k] and u[k]

Related formulas

Practise this formula