Domain Transfer Function

The z-domain transfer function, G(z), between the input to the DAC, u(n), and the output of the ADC, e(n), is the plant response 'seen' by the digital controller, which is also called the pulse transfer function (Kuo, 1980).

From: Signal Processing for Active Control , 2001

Design and Performance of Feedback Controllers

S.J. ELLIOTT , in Signal Processing for Active Control, 2001

6.3.1 Pulse Transfer Function

The z-domain transfer function, G(z), between the input to the DAC, u(n), and the output of the ADC, e(n), is the plant response 'seen' by the digital controller, which is also called the pulse transfer function (Kuo, 1980). This can be derived by taking the z-transform of the sampled version of the continuous-time impulse response for the complete analogue system under control, which is given by the inverse Laplace transform of its s -domain transfer function. Thus G(z) can be written as

(6.3.2) G ( z ) = Z L 1 [ T Z ( s ) T R ( s ) G C ( s ) T A ( s ) ] ,

where TZ (s) is defined by equation (6.3.1), Z denotes the z-transform and Lthe inverse Laplace transform.

The z-transform of the sampled disturbance signal can also be written as

(6.3.3) d ( n ) = Z L 1 [ T A ( s ) D C ( s ) ] ,

and so the block diagram for the sampled-time signals in the digital controller can be drawn in the considerably simplified form shown in Fig. 6.12.

Figure 6.12. Block diagram that describes the behaviour of the sampled-time signals in a digital feedback controller.

The sensitivity function of the digital feedback controller can thus be written as

(6.3.4) S ( z ) = E ( z ) D ( z ) = 1 1 + G ( z ) H ( z ) .

Although the stability of this transfer function is now determined by whether its poles are inside the unit circle in the z plane, rather than whether they were on the left-hand side of the s plane, the Nyquist criterion for stability remains the same. In the sampled-time case, the open-loop frequency response need only be plotted in the Nyquist plane for frequencies up to half the sample rate, since the frequency response of a sampled system is periodic. All of the results regarding robust stability in the previous section, for example, can thus be carried directly over into the analysis of digital controllers (Morari and Zafiriou, 1989), on which we will concentrate for the remainder of this chapter.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780122370854500089

Digital Control Systems Implementation Techniques

Stanoje Bingulac , Hugh F. VanLandingham , in Control and Dynamic Systems, 1995

3 Algorithm 7: (BT-D-C) BT to Continuous-Time Model

The C-T model of Eq.(2) which corresponds to the BT D-T model specified in Eq.(22) could be obtained by a direct substitution of

(33) z = a + s a s , where a = 2 T

into the z -domain transfer function, thereby providing an s-domain transfer function from which Rc could be derived. Specifically, taking the z-transform of Eq.(4), introducing Eq.(33) and converting back to the time domain:

(34) x ˙ t = A c x t + B c 0 u t + B c 1 u ˙ t y t = C c x t + D c u t

where (with a = 2/T)

(35) A c = a A d + I 1 A d I , B c 0 = a A d + I 1 B d B c 1 = P B c 0 , where P = 1 a I , C c = C d , and D c = D d

As was discussed previously in terms of the five-matrix model of Eq.(15), if a four-matrix C-T model is required, Algorithm R5R4 can be applied to Eq.(34) to obtain an equivalent standard model of the form in Eq.(2).

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/S0090526706800289

The z-Domain

George Ellis , in Control System Design Guide (Fourth Edition), 2012

5.5 From Transfer Function to Algorithm

This section will present a procedure to convert z -domain transfer functions to time-based algorithms. z-Domain functions are implemented with computer algorithms just as s-domain functions are implemented with circuits. These algorithms are executed once each cycle of the controller after the input is sampled. The algorithm calculates the new output based on the new input and on inputs and outputs from previous cycles.

A five-step procedure to convert z-domain transfer functions to time-based algorithms follows. Note that digital controllers do not have access to an entire function, f(t), but only to discrete samples: f (0), f (T), . . . , f (NT). This procedure will use a more compact notation for the same values, f 0, f 1, . . . , fN .

1.

Write the transfer function in the z-domain as a ratio of output to input. For the filter of Equation 5.1, if R(z) is the input and C(z) is the output, then

(5.7) C ( z ) R ( z ) = 0.4663 z z 0.5337

2.

Multiply out the equation so that there is no z in any denominator:

(5.8) C ( z ) × ( z 0.5337 ) = R ( z ) × 0.4663 × z

3.

Divide both sides by the largest power of z that occurs on either side. For the example of Equation 5.8, the largest power of z is 1:

(5.9) C ( z ) × ( 1 0.5337 / z ) = R ( z ) × 0.4663

4.

Transform to the time domain. This is done while recognizing that a factor of 1/z in the z-domain implies that the time-domain signal is delayed by one sample. The expression 1/zN indicates a delay of N cycles. For example, C(z) transforms to CN and C(z)/z transforms to C N−1. For the example filter,

(5.10) C N 0.5337 C N 1 = 0.4663 × R N

5.

Rewrite the equation to calculate CN , the newest value of the output. Rewriting Equation 5.10 produces

(5.11) C N = 0.4663 × R N + 0.5337 C N 1

You can use a spreadsheet program to demonstrate a digital low-pass filter, as shown in Microsoft Excel format in Table 5.2. The formula in block C8 is C7∗B$3   +   B8∗B$4. That formula is copied to all the cells below C8 to calculate the filter.

Table 5.2. Excel File Simulating Step Response of Digital Filter

A B C
1 T 0.001 Seconds
2 Break Frequency 100 Hz
3 exp (     2∗PI()∗T) 0.533488
4 1     exp (     2∗PI()∗T) 0.466512
5
6 Time Rn Cn
7 0.000 0 0
8 0.001 1 0.466512
9 0.002 1 0.71539
10 0.003 1 0.848164
11 0.004 1 0.918997
12 0.005 1 0.956786
13 0.006 1 0.976946
14 0.007 1 0.987701
15 0.008 1 0.993439
16 0.009 1 0.9965
17 0.010 1 0.998133

Figure 5.4 shows a plot (from Excel) of the step response for this filter, which, at the sample points, acts very much like an analog low-pass filter.

Figure 5.4. Microsoft Excel plot of low-pass filter step response.

This method of deriving the algorithm from the transfer function results in what is called the controllable form. An alternative means of converting transfer functions creates the parallel form, which is presented in Appendix E. The controllable form is presented here because it is the easiest to use and generally works well.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123859204000059

State–space representation

M. Sami Fadali , Antonio Visioli , in Digital Control Engineering (Third Edition), 2020

7.8.1 z-transfer function in MATLAB

The expressions for obtaining z-domain and s -domain transfer functions differ only in that z in the former is replaced by s in the latter. The same MATLAB command is used to obtain s-domain and z-domain transfer functions. The transfer function for the matrices (Ad, Bd, C, D) is obtained with the commands

p = s s ( A d , B d , C , D , T ) g d = t f ( p )

where T is the sampling period. The poles and zeros of a transfer function are obtained with the command

z p k ( g d )

For the system described in Example 7.19 (2), we obtain.

Zero/pole/gain:

0.090,635 (z−0.9048).

- - - - - - - - - - - - - -

(z−0.9048) (z−0.8187).

Sampling time: 0.1

The command reveals that the system has a zero at 0.9048 and poles at (0.9048, 0.8187) with a gain of 0.09035. With pole-zero cancellation, the transfer function is the same as that shown in Example 7.19 (2).

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780128144336000077

Digital Control System Design

M. Sami Fadali , Antonio Visioli , in Digital Control Engineering, 2009

Publisher Summary

To design a digital control system, a z -domain transfer function or difference equation model of the controller that meets given design specifications, is seeked. The controller model can be obtained from the model of an analog controller that meets the same design specifications. Alternatively, the digital controller can be designed in the z-domain using procedures that are almost identical to s-domain analog controller design. This chapter elucidates both these approaches. It begins with an explanation of the z-domain root locus and describes the method of sketching the z-domain root locus for a digital control system or obtaining it using MATLAB. This approach is based on the relation between any time function and its s-domain poles and zeros. If the time function is sampled and the resulting sequence is z-transformed, the z-transform contains information about the transformed time sequence and the original time function. The poles of the z-domain function can therefore be used to characterize the sequence, and possibly the sampled continuous time function, without inverse z-transformation. However, this latter characterization is generally more difficult than characterization based on the s-domain functions.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123744982000060

Active Filter Design

Rolf Schaumann , in Reference Data for Engineers (Ninth Edition), 2002

SC z-Domain Biquadratic Transfer Functions

To design an SC filter, one must first derive a z -domain transfer function from the filter requirements. This can be done by first obtaining the s-domain transfer function according to classic methods. The desired z-domain transfer function can then be obtained from the s-domain function by using the well-known bilinear transform

(Eq. 120) s = ( 2 / τ ) ( 1 z 1 ) / ( 1 + z 1 )

where τ represents one clock period. The bilinear transform is treated in Chapter 28 of this handbook and will not be discussed further here. Alternatively, z-domain transfer functions can be obtained directly from specified filter requirements by using any one of several computational techniques (see Chapter 28).

It was noted in previous sections that active RC biquads play a dominant role in the realization of high-order active RC filters. Although SC filters provide the opportunity to implement filters of much higher order on a single chip, the same substantial advantages are obtained from biquads as in the RC case. Using biquads lends regularity to the design process and can reduce considerably the chip layout effort.

As active RC biquads realize biquadratic transfer functions in the s-domain, SC biquads realize biquadratic z-domain transfer functions. Thus, the transfer functions to be realized are of the form

(Eq. 121) H ( z ) = N ( z ) D ( z ) = γ + ε z 1 + δ z 2 1 + α z 1 + β z 2

The well-known special cases of Eq. 121, namely low-pass (LP), high-pass (HP), bandpass (BP), low-pass notch (LPN), high-pass notch (HPN), and all-pass (AP), can be derived by applying the bilinear transform to the corresponding second-order s-domain transfer functions.

One important property of the bilinear transfer function to be considered at this point is that the z-plane zeros at the one-half sampling frequency (i.e., z = −1) are mapped by Eq. 120 into s-plane zeros at infinity. Such zeros appear in low-pass (LP) and bandpass (BP) functions. Although use of the bilinear transform provides desirable steep cutoff to BP and LP filters in the vicinity of the half-sampling frequency (at s → ∞), it may not result in the most economical SC realization. The additional attenuation provided at the half-sampling frequency is of little importance and diminishes in importance for relatively small pole, ωp, and zero, ωz, frequencies of the biquad (as ωpτ and ωzτ become small for the typical high sampling frequencies). When this relation is taken into account, several alternative LP and BP biquadratic transfer functions can be derived by replacing the zeros factors 1 + z −1 (i.e., for zeros at z = −1) with either 2 or 2z −1.

In Table 4, the numerators N(z) are listed for the various elementary z-domain second-order forms. The LP and BP forms are referred to in this table as LPij and BPij, where i and j may have the value 0, 1, or 2. The suffix i denotes the number of 1 + z −1 factors and j the number of z −1 factors.

TABLE 4. ELEMENTARY SECOND-ORDER TRANSFER FUNCTIONS

Generic Form Numerator N(z)
LP 20 (bilinear transform) K(1 + z −1)2
LP 11 Kz −1(1 + z −1)
LP 10 K(1 + z −1)
LP 02 Kz −2
LP 01 Kz −1
LP 00 K
BP 10 (bilinear transform) K(1 − z −1)(1 + z −1)
BP 01 Kz −1(1 − z −1)
BP 00 K(1 − z −1)
HP K(1 − z −1)2
LPN K ( 1 + ε z 1 + z 2 ) , ε > α / β , β > 0
HPN K ( 1 + ε z 1 + z 2 ) , ε > α / β , β > 0
AP K(β + αz −1 + z −2)
General γ + εz −1 + δz −2

The recommended design procedure is first to obtain D(z) and N(z) via the bilinear transform. This will ensure the proper placement of the poles and zeros (other than those at z = −1). One or more of the zeros at z = −1 can then be replaced by either 2 or 2z −1. To place the gain level accurately, the gain constant K may then require slight alteration.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780750672917500121

Building blocks of linear systems

Mark A. Haidekker , in Linear Feedback Controls (Second Edition), 2020

14.4.7 PD compensator

The idea of the first-order PD compensator with the continuous-domain transfer function g ( τ D s + 1 ) can be applied to time-discrete systems by adding the change (i.e., the first derivative) of the input signal to the present input signal. The idea behind this approach is to extrapolate the recent change to the present. The time-domain equation with its first derivative is then approximated by a finite difference, that is,

(14.76) y ( t ) = g ( x ( t ) + τ D x ˙ ( t ) ) g ( x ( t ) + τ D x ( t ) x ( t T ) T )

with g representing the overall gain, that is, k p = g and k D = g τ D . The finite difference leads the following digital filter (once again, the constant coefficient g τ D / T or τ D / T should be computed in advance):

Time-domain function (with a = τ D / T )

(14.77) y k = g x k + g τ D T ( x k x k 1 ) = g ( ( 1 + a ) x k a x k 1 ) .

Z-domain transfer function

(14.78) H ( z ) = g z ( 1 + a ) a z .

Impulse response

(14.79) y imp , k = { g ( 1 + a ) , a g , 0 , 0 , } .

Note that the PD compensator uses a finite difference operation, which is very noise-sensitive (see Section 14.4.3). Since the PD compensator is a superposition of the gain and differentiator functions, noise-attenuating smooth differentiators can be used, for example, one that builds on Eq. (14.59), given here for g = 1 :

(14.80) y k = x k + τ D x k + 2 x k 1 2 x k 3 x k 4 8 T .

As explained in Section 14.4.3, a compromise between "sharpness" of the finite difference and noise attenuation must be found depending on the noise component of the input signal. In addition, higher-order smoothing differentiators have an inherent phase lag over the P-component. In the example of Eq. (14.80) the differential component lags the proportional component by 2T. To match the phase, the P-component can be delayed by using x k 2 instead of x k , which requires an additional factor of z 2 in the transfer function. Alternatively, a smoothing weighted average for the P-component can be used, and a modified version of Eq. (14.80) with a 2T phase delay for both components, again with a = τ D / T , is

(14.81) y k = g ( 4 + 5 a ) x k + ( 8 + 10 a ) x k 1 + 16 x k 2 + ( 8 10 a ) x k 3 + ( 4 5 a ) x k 4 40 .

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780128187784000224

IIR Digital Filters

NAZIR A PASHTOON , in Handbook of Digital Signal Processing, 1987

B Matched z-Transform

In the impulse-invariant transformation the poles of the continuous-time domain transfer function H a(s) are mapped into poles of H(z) via Eq. (4.146). In the matched z-transform the poles and zeros of H a(s) are mapped by using Eq. (4.146) to create the digital filter transfer function H(z). Thus given

(4.150) H a ( s ) = Π i = 1 M ( s s o l ) Π i = 1 N ( s s p l )

the corresponding digital filter transfer function is

(4.151) H ( z ) = Π i = 1 M ( 1 e s 0 i T z 1 ) Π i = 1 N ( 1 e s p l T z 1 )

The method can be used for designing highpass and bandstop filters, but it will not preserve the equiripple magnitude response characteristic of Chebyshev and elliptic filters. Because the transformation does not preserve any time or frequency domain properties of the prototype analog filter, it is not widely used.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780080507804500096

Multidimensional Transfer Functions for Volume Rendering

JOE KNISS , ... CHARLES D. HANSEN , in Visualization Handbook, 2005

9.4.4 Transfer-Function Widget

The main role of the transfer-function widget is to present a graphical representation of the transfer-function domain, in which feedback from querying the volume (with the data probe or clipping plane) is displayed, and in which the transfer function itself can be set and altered. The balls at the corners of the transfer-function widget are used to resize it, as with a desktop window, and the bars on the edges are used to translate its position. The inner plane of the frame is a polygon texture-mapped with the lookup table containing the transfer function. A joint histogram of data, seen with the images in Section 9.3, can also be blended with the transfer function to provide valuable information about the behavior and relationship of data values in the transfer-function domain.

The data values at the position queried in the volume (via either the data probe or the clipping plane widget) are represented with a small ball in the transfer-function widget. In addition to the precise location queried, the eight data sample points at the corners of the voxel containing the query location are also represented by balls in the transfer-function domain, and are connected together with edges that reflect the connectivity of the voxel corners in the spatial domain. By "reprojecting" a voxel from the spatial domain to a simple graphical representation in the transfer-function domain, the user can learn how the transfer-function variables (data values at each sample point) are changing near the probe location. The values for the third, or unseen, axis are indicated by colorings on the balls. For instance, with scalar data, second-derivative values that are negative, zero, and positive are represented by blue, white, and yellow balls, respectively. When the projected points form an arc, with the color varying through these assigned colors, the probe is at a boundary in the volume as seen in Fig. 9.5. When the reprojected data points are clustered together, the probe is in a homogeneous region. As the user gains experience with this representation, he or she can learn to "read" the reprojected voxel as an indicator of the volume characteristics at the probe location.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123875822500113

Linear System Analysis

John Semmlow , in Signals and Systems for Bioengineers (Second Edition), 2012

8.6.1 The Digital Transfer Function

One of the most useful applications of the z-transform lies in its ability to define the digital equivalent of a transfer function. By analogy to linear system analysis, the digital transfer function is defined as:

(8.30) H ( z ) = Y ( z ) X ( z ) = Z [ y [ n ] ] Z [ x [ n ] ]

where X(z) is the z-transform of the input signal, x[n], and Y(z) is the z-transform of the system's output, y[n]. As an example, a simple linear system known as a unit delay is shown in Figure 8.30. In this system, the time-shifting characteristic of z is used to define processes where the output is the same as the input but shifted (or delayed) by one data sample. The z-transfer function for this process is H(z)=z −1.

Figure 8.30. A unit delay is a linear system that shifts the input by one data sample. Other powers of z can be used to provide larger shifts. The transfer function of this system is z−1.

Most transfer functions are more complicated than that of Figure 8.30 and can include polynomials of z in both the numerator and denominator, just as continuous time domain transfer functions contain polynomials of s in those places:

(8.31) H ( z ) = b [ 0 ] + b [ 1 ] z 1 + b [ 2 ] z 2 + + b [ K ] z K 1 + a [ 1 ] z 1 + a [ 2 ] z 2 + a [ L ] z L

where the b[k]s are constant coefficients of the numerator and the a[]s are coefficients of the denominator. 4 While H(z) has a structure similar to the Laplace domain transfer function H(s), there is no simple relationship between them. 5 For example, unlike analog systems, the order of the numerator, K, need not be less than, or equal to, the order of the denominator, L, for stability. In fact, systems that have a denominator order of 1 (i.e., such as FIR filters) are more stable that those having higher-order denominators.

Note that just as in the Laplace transform, a linear system is completely defined by the denominator, a, and numerator, b, coefficients. Equation 8.31 can be more succinctly written as:

(8.32) H ( z ) = k = 0 K b [ k ] z k = 0 L a [ ] z

From the digital transfer function, H(z), it is possible to determine the output given any input:

(8.33) Y ( z ) = X ( x ) H ( z ) y ( n ) = Y 1 ( z )

where Y −1(z) is the inverse z-transform. For many systems, it is possible to accomplish the same thing by applying Laplace transforms to the continuous time version of the system, but Laplace transforms are more cumbersome to handle analytically and, since they represent continuous operations, cannot be evaluated numerically.

While the input-output relationship can be determined from Equation 8.31 or 8.32, it is more common to use the difference equation, which is analogous to the time domain equation and can be obtained from Equation 8.32 by applying the time-shift interpretation to the term z -n :

(8.34) y [ n ] = k = 0 K 1 b [ k ] x [ n k ] = 1 L 1 a [ ] y [ n ]

This equation assumes that a[0]=1, as specified in Equation 8.31. Equation 8.34 is the same as Equation 8.22 introduced to describe the IIR filter. Hence any system represented by the z-transform transfer function can be realized using the IIR filter equation and the MATLAB IIR filter routines (i.e., filter or filtfilt).

Just as in the Laplace domain, if the signals are limited to sinusoids we can substitute e for z. All we need to determine a spectrum are sinusoids. With this substitution, Equation 8.32 becomes:

(8.35) H ( m ) = k = 0 K 1 b [ k ] e j ω k = 0 L 1 a [ ] e j ω = k = 0 K 1 b [ k ] e 2 π m n / N = 0 L 1 a [ ] e 2 π m n / N = fft { b [ k ] } fft { a [ ] }

where N is the length of b[k] (which can be zero-padded) and fft indicates the Fourier transform. As with all Fourier transforms, the actual frequency can be obtained from the variable m by multiplying by f s /N or, equivalently, 1/(NT s ). Equation 8.35 shows us how to move from the time domain, the a and b coefficients, to the z domain, then to the frequency domain, for any linear system. This equation is easily implemented in MATLAB and is the equation used in the routine freqz.

Read full chapter

URL:

https://www.sciencedirect.com/science/article/pii/B9780123849823000080