Electronic – Zero-order hold discretization

controlz transformzoh

I have some difficulties understanding something. There are several discretization methods, such as zero-order-hold (ZOH), forward euler, backward euler, tustin, et cetera.

  1. Forward euler, backward euler, et cetera discretization methods approximate the computation of a integral (see below), but what is the integral approximation when using a ZOH? What does a ZOH do?
  2. Why does Matlab not support forward euler, backward euler, Simpsons rule or even higher order integral approximations as discretization methods? But only ZOH, tustin, zero-pole matching? Is there a reason for it?
  3. Is it even usefull to use for instance Simpsons rule as a discretization method or even use higher order approximations? As far as I read, from http://en.wikibooks.org/wiki/Control_Systems/Z_Transform_Mappings#Simpson.27s_Rule, Simpsons rule has only one disadvantage?

For instance,

Consider the transfer function

$$\frac{F(s)}{E(s)} = \frac{1}{s}$$

This corresponds to the differential equation

$$\frac{\mathrm{d}f(t)}{\mathrm{d}t} = e(t)$$

Integrating both sides gives

$$f(t) = f(t_0) + \int_{t_0}^{t} e(t) \mathrm{d}t$$

Now t is evenly spaced, e.g., t = kT, with k = 0,1,2,… During one sampling t0 = kT and t = kT + T, the solution becomes

$$f(kT + T) = f(kT) + \int_{kT}^{kT + T} e(t) \mathrm{d}t$$

Now using the trapeziodal rule (tustin) http://en.wikipedia.org/wiki/Trapezoidal_rule. The integral is approximated by

$$ \int_{a}^{b} f(x)\, dx \approx (b-a) \left[\frac{f(a) + f(b)}{2} \right]$$

As a result, we obtain

$$f(kT + T) = f(kT) + \frac{kT + T – kT}{2} \left( e(kT) + e(kT + T) \right)$$

Using the z-transform you get

$$(z – 1)F(z) = \frac{T}{2} (z + 1) E(z) \rightarrow \frac{F(z)}{E(z)} = \frac{T}{2} \frac{z + 1}{z – 1}$$

and as such you determine by comparing the result with the very first equation that

$$s = \frac{2}{T} \frac{z – 1}{z + 1}$$

The same you can determine using forward euler, backward euler, et cetera. Now I am wondering what is the replacement for the laplace variable s when you will be using ZOH? And what kind of approximation does the ZOH use? As far as I understand you discretize the system using ZOH by applying

$$G(z) = (1 – z^{-1}) \mathcal{Z}\left\{\frac{G(s)}{s}\right\}$$

Best Answer

In a hybrid system, the sampler and ZOH perform the operations: a continuous signal is sampled (analogue to digital conversion, ADC) to produce a discrete signal, and the discrete signal is returned to continuous form (digital-to-analogue conversion, DAC). Usually there is some digital processing between these two operations, but the combined DAC/ADC operation is normally represented as a single Laplace TF in the block diagram.

For simplicity, consider the ZOH in isolation, i.e. no data processing between the sample and hold. Let the input signal = x(t), the output signal = y(t), and the sampling increment = T sec. At the k'th sampling instant (ie at t=kT), the input to the ADC may be denoted x(k) and the output from the DAC is held constant at x(k) until the next sample arrives.

Thus, the DAC output between x(k) and x(k+1) is a rectangular pulse of height, x(k), and duration, T. This can be modelled, for Laplace transform representation, as a step of height x(k) at t=kT and a step of height -x(k) at time t=(k+1)T, and may be realised via the LT delay operator, e^-skT, which delays any signal by kT sec

Hence the LT of the isolated pulse is {e^(-skT)} x(k)/s - {e^[-s(k+1)T} x(k)/s, or:

e^(-skT) {1-e^-sT} x(k)/s

For the entire signal, from t=0 to t=kT this function reduces to Y(s) = X(s) {1-e^-sT}/s where X(s) and Y(s) are the Laplace transformed ZOH input and output. Hence Y(s)/X(s) = (1-e^-sT)/s

If, now, we wish to proceed by connecting a G(s) block to the ZOH output, the overall TF becomes (1 - e^-sT) G(s)/s. But there's a problem: if we are required to close the loop around this TF, the resultant CLTF will not be analytic due to e^-sT appearing in the CLTF denominator. So we must revert to z-transforms to render it analytic.

The z-transform of the exponential bit is easy; it's (1 - z^-1), because z^-1 is the delay operator in the z-domain (and is therefore equivalent to e^-sT) and we must then find the z-transform of G(s)/s to complete the picture.