Skip to main content

Pulse transfer function from state space form

Short answer

Taking z-transforms of x(k+1)=Gx(k)+Hu(k) and y(k)=Cx(k)+Du(k) with zero initial conditions gives (zI-G)X(z)=HU(z) and Y(z)=CX(z)+DU(z). Substituting yields the pulse transfer function matrix F(z)=C(zI-G)⁻¹H+D = C·adj(zI-G)H/|zI-G|+D. This m×r matrix is invariant under state transformations.

Derive the pulse transfer function (matrix) of the given state space representation form x(k+1)=Gx(k)+Hu(k) and y(k)=Cx(k)+Du(k).

The pulse transfer function (matrix) relates the z-transform of the output to that of the input, with all initial conditions zero. It is found by taking the z-transform of the state and output equations.

Given system

x(k+1)=Gx(k)+Hu(k)y(k)=Cx(k)+Du(k)\begin{aligned} \mathbf{x}(k+1) &= \mathbf{G}\mathbf{x}(k) + \mathbf{H}\mathbf{u}(k)\\ \mathbf{y}(k) &= \mathbf{C}\mathbf{x}(k) + \mathbf{D}\mathbf{u}(k) \end{aligned}

Here x\mathbf{x} is an n-vector, u\mathbf{u} an r-vector, y\mathbf{y} an m-vector, and G\mathbf{G} (n×nn\times n), H\mathbf{H} (n×rn\times r), C\mathbf{C} (m×nm\times n), D\mathbf{D} (m×rm\times r) are constant matrices.

Derivation

  1. Take the z-transform of the state equation, using Z[x(k+1)]=zX(z)−zx(0)\mathcal{Z}[\mathbf{x}(k+1)] = z\mathbf{X}(z) - z\mathbf{x}(0):
zX(z)−zx(0)=GX(z)+HU(z)z\mathbf{X}(z) - z\mathbf{x}(0) = \mathbf{G}\mathbf{X}(z) + \mathbf{H}\mathbf{U}(z)
  1. Put x(0)=0\mathbf{x}(0) = \mathbf{0} (a transfer function is defined for zero initial state):
(zI−G)X(z)=HU(z)(z\mathbf{I} - \mathbf{G})\mathbf{X}(z) = \mathbf{H}\mathbf{U}(z)
  1. Pre-multiply by (zI−G)−1(z\mathbf{I}-\mathbf{G})^{-1}, which exists for all zz except the eigenvalues of G\mathbf{G}:
X(z)=(zI−G)−1HU(z)\mathbf{X}(z) = (z\mathbf{I}-\mathbf{G})^{-1}\mathbf{H}\mathbf{U}(z)
  1. Take the z-transform of the output equation:
Y(z)=CX(z)+DU(z)\mathbf{Y}(z) = \mathbf{C}\mathbf{X}(z) + \mathbf{D}\mathbf{U}(z)
  1. Substitute X(z)\mathbf{X}(z):
Y(z)=[C(zI−G)−1H+D]U(z)\mathbf{Y}(z) = \left[\mathbf{C}(z\mathbf{I}-\mathbf{G})^{-1}\mathbf{H} + \mathbf{D}\right]\mathbf{U}(z)

Result

F(z)=C(zI−G)−1H+D=C adj⁡(zI−G) H∣zI−G∣+D\mathbf{F}(z) = \mathbf{C}(z\mathbf{I}-\mathbf{G})^{-1}\mathbf{H} + \mathbf{D} = \frac{\mathbf{C}\,\operatorname{adj}(z\mathbf{I}-\mathbf{G})\,\mathbf{H}}{|z\mathbf{I}-\mathbf{G}|} + \mathbf{D}

F(z)\mathbf{F}(z) is an m×rm\times r matrix. Element Fij(z)F_{ij}(z) is the pulse transfer function from input uju_j to output yiy_i. For a single-input single-output system it is a scalar.

Properties

  • Characteristic equation: ∣zI−G∣=0|z\mathbf{I}-\mathbf{G}| = 0. The poles of F(z)\mathbf{F}(z) are eigenvalues of G\mathbf{G}, unless a pole is cancelled by a zero.
  • Invariance: a change of state variables x=Px^\mathbf{x} = \mathbf{P}\hat{\mathbf{x}} gives G^=P−1GP\hat{\mathbf{G}} = \mathbf{P}^{-1}\mathbf{G}\mathbf{P}, H^=P−1H\hat{\mathbf{H}} = \mathbf{P}^{-1}\mathbf{H}, C^=CP\hat{\mathbf{C}} = \mathbf{C}\mathbf{P}, and
C^(zI−G^)−1H^+D=CP P−1(zI−G)−1P P−1H+D=F(z)\hat{\mathbf{C}}(z\mathbf{I}-\hat{\mathbf{G}})^{-1}\hat{\mathbf{H}} + \mathbf{D} = \mathbf{C}\mathbf{P}\,\mathbf{P}^{-1}(z\mathbf{I}-\mathbf{G})^{-1}\mathbf{P}\,\mathbf{P}^{-1}\mathbf{H} + \mathbf{D} = \mathbf{F}(z)

So the pulse transfer function is unique, even though the state-space form is not.

  • D≠0\mathbf{D} \neq 0 means a direct feed-through, and the numerator degree equals the denominator degree.

Example

For G=[01−0.16−1]\mathbf{G} = \begin{bmatrix} 0 & 1 \\ -0.16 & -1 \end{bmatrix}, H=[01]\mathbf{H} = \begin{bmatrix} 0 \\ 1 \end{bmatrix}, C=[1  0]\mathbf{C} = [1\ \ 0], D=0D = 0:

F(z)=[1  0][z+11−0.16z][01]z2+z+0.16=1z2+z+0.16F(z) = \frac{[1\ \ 0]\begin{bmatrix} z+1 & 1 \\ -0.16 & z \end{bmatrix}\begin{bmatrix} 0 \\ 1 \end{bmatrix}}{z^2 + z + 0.16} = \frac{1}{z^2 + z + 0.16}

✓ Answer checked by Claude Opus 5.5 (high effort)

All Digital Control System chapter 5 questions →