Chapter 6: Input–Output Description and Transfer Functions
Lesson 3: Properties of Transfer Functions: Poles, Zeros, and System Order
This lesson develops the algebraic and analytic structure of transfer functions as rational functions in the Laplace variable. We give precise definitions of poles and zeros (including multiplicity), connect denominator degree to differential-equation order, formalize cancellation and reduced order, and prove how poles generate the exponential modes of impulse responses. Computational procedures and implementations in Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica are included.
1. Conceptual Roadmap
From Lessons 1–2, we have an LTI input–output model (zero initial conditions) with transfer function \( G(s)=\frac{Y(s)}{U(s)} \). The key structural questions are:
- Where does \( G(s) \) become unbounded (poles), and where does it vanish (zeros)?
- What is the system order implied by the transfer function, and how does it relate to the ODE order?
- What changes (and what does not) when pole–zero cancellation occurs?
- How do poles determine the exponential modes appearing in time-domain responses?
flowchart TD
A["Start: Transfer function G(s) = Y(s)/U(s)"] --> B["Write G(s) = N(s)/D(s) (polynomials)"]
B --> C["Find roots of D(s)"]
B --> D["Find roots of N(s)"]
C --> E["Poles = roots of D(s) not canceled"]
D --> F["Zeros = roots of N(s) not canceled"]
E --> G["Order = deg(D_red) \nafter cancellation"]
F --> H["Relative degree = \ndeg(D_red) - deg(N_red)"]
E --> I["Partial fractions → \nexponential modes in time response"]
Throughout, we assume real-coefficient models (typical for physical systems). Then complex poles/zeros appear in conjugate pairs. We postpone full stability implications (Lesson 5), but we will already see why pole locations matter through time-domain exponentials.
2. Rational Form of Transfer Functions
For finite-dimensional LTI systems described by linear constant-coefficient ODEs, the transfer function is rational: \( G(s)=\frac{N(s)}{D(s)} \), where \( N(s),D(s) \) are polynomials. We write \( D(s)=a_n s^n + a_{n-1}s^{n-1}+\cdots+a_0 \), \( N(s)=b_m s^m + b_{m-1}s^{m-1}+\cdots+b_0 \), with \( a_n \neq 0 \).
A convenient normalization divides numerator and denominator by \( a_n \):
\[ G(s)=\frac{N(s)}{D(s)} =\frac{\bar b_m s^m + \bar b_{m-1}s^{m-1}+\cdots+\bar b_0}{s^n + \bar a_{n-1}s^{n-1}+\cdots+\bar a_0}, \quad \bar a_k=\frac{a_k}{a_n},\;\bar b_k=\frac{b_k}{a_n}. \]
In factored form (over \( \mathbb{C} \)), a generic rational transfer function can be written as
\[ G(s)=K\, \frac{\prod_{i=1}^{n_z} (s-z_i)^{\nu_i}}{\prod_{j=1}^{n_p} (s-p_j)^{\mu_j}}, \quad K\in\mathbb{R}\setminus\{0\}, \quad \sum_i \nu_i = m,\;\sum_j \mu_j = n, \]
where \( z_i \) are zeros, \( p_j \) are poles, and \( \nu_i,\mu_j \) are their multiplicities.
3. Poles of a Transfer Function
Intuitively, poles are values of \( s \) where the transfer function becomes unbounded. Formally:
Definition (Pole). Let \( G(s)=\frac{N(s)}{D(s)} \) be a rational function. A complex number \( p\in\mathbb{C} \) is a pole of \( G \) if \( G \) has a Laurent expansion around \( p \) with at least one strictly negative power term. For rational functions, equivalently:
\[ p \text{ is a pole of } G \;\;\Longleftrightarrow\;\; D(p)=0 \text{ and the factor } (s-p) \text{ is not canceled by } N(s). \]
Multiplicity. If \( D(s) \) contains the factor \( (s-p)^\mu \) (after cancellation), then \( p \) is a pole of multiplicity \( \mu \).
Theorem (Complex conjugate pole pairing for real coefficients). If \( D(s) \) has real coefficients and \( p \in \mathbb{C} \) is a root of \( D(s) \), then \( p^\ast \) is also a root of \( D(s) \) with the same multiplicity.
Proof. Since the coefficients of \( D \) are real, \( D(s^\ast)=D(s)^\ast \). If \( D(p)=0 \), then \( 0=D(p)^\ast=D(p^\ast) \), so \( p^\ast \) is a root. Multiplicity is preserved because conjugation is a field automorphism and does not change the smallest power of \( (s-p) \) dividing the polynomial. ∎
The same conjugate symmetry holds for zeros when \( N(s) \) has real coefficients.
4. Zeros of a Transfer Function
Zeros are values of \( s \) where the transfer function becomes zero:
Definition (Zero). A complex number \( z\in\mathbb{C} \) is a zero of \( G(s)=\frac{N(s)}{D(s)} \) if
\[ z \text{ is a zero of } G \;\;\Longleftrightarrow\;\; N(z)=0 \text{ and the factor } (s-z) \text{ is not canceled by } D(s). \]
If \( N(s) \) contains \( (s-z)^\nu \) (after cancellation), then \( z \) is a zero of multiplicity \( \nu \).
Special locations. The point \( s=0 \) is often important:
- A pole at \( s=0 \) means \( D(0)=0 \), i.e., a factor \( s \) in the denominator, which behaves like an integrator in time-domain relations.
- A zero at \( s=0 \) means \( N(0)=0 \), i.e., a factor \( s \) in the numerator, which behaves like a differentiating factor in the input–output map.
We will quantify these interpretations further when discussing step/impulse responses and physical realizability (Lesson 5).
5. System Order, Relative Degree, and Properness
The degrees of \( N(s) \) and \( D(s) \) encode fundamental structural properties.
Definition (Reduced form). Let \( Q(s)=\gcd(N(s),D(s)) \) (greatest common divisor in the polynomial ring over \( \mathbb{R} \)). Write \( N(s)=Q(s)\,\tilde N(s) \), \( D(s)=Q(s)\,\tilde D(s) \) with \( \gcd(\tilde N,\tilde D)=1 \). The reduced transfer function is \( G_{\mathrm{red}}(s)=\frac{\tilde N(s)}{\tilde D(s)} \).
Definition (System order). The (input–output) order is the degree of the reduced denominator:
\[ n_{\mathrm{io}} \;=\; \operatorname{deg}\!\big(\tilde D(s)\big). \]
Definition (Relative degree). The relative degree is
\[ r \;=\; \operatorname{deg}\!\big(\tilde D(s)\big) - \operatorname{deg}\!\big(\tilde N(s)\big). \]
Definition (Properness).
\[ \text{Proper: }\operatorname{deg}(\tilde N)\,\le\,\operatorname{deg}(\tilde D), \qquad \text{Strictly proper: }\operatorname{deg}(\tilde N)\,<\,\operatorname{deg}(\tilde D), \\ \text{Improper: }\operatorname{deg}(\tilde N)\,>\,\operatorname{deg}(\tilde D). \]
Strictly proper transfer functions satisfy \( \lim_{|s|\rightarrow\infty} G(s)=0 \). Proper transfer functions have a finite limit as \( |s|\rightarrow\infty \). These notions are closely related to causality and physical realizability (Lesson 5), but we will not rely on that yet.
Theorem (ODE order equals denominator degree before cancellation). Consider a scalar LTI ODE with constant coefficients:
\[ a_n \frac{d^n y}{dt^n} + a_{n-1}\frac{d^{n-1}y}{dt^{n-1}}+\cdots+a_0 y = b_m \frac{d^m u}{dt^m} + b_{m-1}\frac{d^{m-1}u}{dt^{m-1}}+\cdots+b_0 u, \quad a_n\neq 0. \]
Under zero initial conditions, its transfer function has denominator degree \( n \):
\[ G(s)=\frac{Y(s)}{U(s)}=\frac{b_m s^m + b_{m-1}s^{m-1}+\cdots+b_0}{a_n s^n + a_{n-1}s^{n-1}+\cdots+a_0}. \]
Proof. Apply the Laplace transform with zero initial conditions. Using \( \mathcal{L}\{d^k y/dt^k\}=s^k Y(s) \) and similarly for \( u(t) \), the ODE becomes
\[ \left(a_n s^n + a_{n-1}s^{n-1}+\cdots+a_0\right)Y(s) = \left(b_m s^m + b_{m-1}s^{m-1}+\cdots+b_0\right)U(s). \]
Solving for \( Y(s)/U(s) \) yields the stated rational form with denominator polynomial of degree \( n \). ∎
If there is a common factor between numerator and denominator, cancellation reduces the input–output order (next section).
6. Pole–Zero Cancellation and Reduced Order
Suppose \( N(s) \) and \( D(s) \) share a nontrivial common factor \( Q(s) \). Then
\[ G(s)=\frac{N(s)}{D(s)}=\frac{Q(s)\tilde N(s)}{Q(s)\tilde D(s)}=\frac{\tilde N(s)}{\tilde D(s)}=G_{\mathrm{red}}(s), \quad \gcd(\tilde N,\tilde D)=1. \]
Key point. Poles and zeros are defined after cancellation. A common factor represents a pole and a zero at the same location; the simplified transfer function does not display that pole, and the input–output order decreases:
\[ n_{\mathrm{io}}=\operatorname{deg}(\tilde D)\;=\;\operatorname{deg}(D)-\operatorname{deg}(Q). \]
Important warning (conceptual, to be revisited later). Although the input–output map simplifies, pole–zero cancellation can conceal internal dynamics in more detailed models. The deeper interpretation requires state-space concepts (Chapter 8) and is therefore deferred.
flowchart TD
A["Given N(s), D(s)"] --> B["Compute common factor Q(s)"]
B --> C["Factor: N = Q * N_tilde, D = Q * D_tilde"]
C --> D["Reduced transfer: G_red = N_tilde / D_tilde"]
D --> E["Poles = \nroots of D_tilde"]
D --> F["Zeros = \nroots of N_tilde"]
D --> G["Order = \ndeg(D_tilde)"]
D --> H["Relative degree = \ndeg(D_tilde) - deg(N_tilde)"]
In computation, cancellation may be exact (symbolic) or approximate (numeric). Approximate cancellation (nearly equal pole/zero) requires careful tolerance handling to avoid misleading conclusions.
7. Time-Domain Structure: Poles Generate Exponential Modes
From Lesson 1, for an LTI system the impulse response is \( h(t)=\mathcal{L}^{-1}\{G(s)\} \) (in the generalized-function sense when needed). Poles determine the exponentials appearing in \( h(t) \).
Theorem (Partial fraction expansion and pole-generated modes). Let \( G(s)=\frac{\tilde N(s)}{\tilde D(s)} \) be proper and strictly proper (for simplicity) with poles \( p_1,\dots,p_r \) and multiplicities \( \mu_1,\dots,\mu_r \). Then there exist constants \( c_{j,k}\in\mathbb{C} \) such that
\[ G(s)=\sum_{j=1}^{r}\sum_{k=1}^{\mu_j}\frac{c_{j,k}}{(s-p_j)^k}, \quad (\text{strictly proper case}). \]
Consequently, for \( t>0 \) the impulse response is
\[ h(t)=\sum_{j=1}^{r}\sum_{k=1}^{\mu_j} c_{j,k}\,\frac{t^{k-1}}{(k-1)!}\,e^{p_j t}. \]
Proof. Since \( \tilde N,\tilde D \) are coprime and \( \operatorname{deg}(\tilde N)\,<\,\operatorname{deg}(\tilde D) \), classical partial fraction theory yields the decomposition into principal parts at each pole: \( \sum_{k=1}^{\mu_j} c_{j,k}/(s-p_j)^k \). For the inverse Laplace transform, we use the identity (for \( t>0 \))
\[ \mathcal{L}\left\{\frac{t^{k-1}}{(k-1)!}e^{p t}\right\} =\int_{0}^{\infty}\frac{t^{k-1}}{(k-1)!}e^{-(s-p)t}\,dt =\frac{1}{(s-p)^k}, \quad \Re(s)\,>\,\Re(p). \]
Linearity of the inverse Laplace transform gives the stated expression for \( h(t) \). ∎
Interpretation. Each pole \( p_j \) contributes an exponential factor \( e^{p_j t} \), and repeated poles contribute polynomial factors \( t^{k-1} \). Zeros do not create new exponentials; instead, they shape the residues \( c_{j,k} \) (amplitudes) and can introduce sign changes and transient shaping.
8. Computing Poles, Zeros, and Order: Algebra and Numerical Notes
For a SISO rational transfer function \( G(s)=N(s)/D(s) \) given by coefficient arrays:
- Poles are the roots of \( D(s) \) after cancellation.
- Zeros are the roots of \( N(s) \) after cancellation.
- Order is \( \operatorname{deg}(\tilde D) \), relative degree is \( \operatorname{deg}(\tilde D)-\operatorname{deg}(\tilde N) \).
Companion matrix method (from scratch). If \( D(s)=s^n+a_{n-1}s^{n-1}+\cdots+a_0 \), define the companion matrix
\[ \mathbf{C}= \begin{bmatrix} 0 & 1 & 0 & \cdots & 0\\ 0 & 0 & 1 & \cdots & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & \cdots & 1\\ -a_0 & -a_1 & -a_2 & \cdots & -a_{n-1} \end{bmatrix}. \]
Then the eigenvalues of \( \mathbf{C} \) are exactly the roots of \( D(s) \). This underlies many numerical root algorithms.
Numerical caution. Root-finding for high-order polynomials can be ill-conditioned; small coefficient perturbations may move roots significantly. When detecting cancellations numerically, use a tolerance and report “near cancellation” rather than exact cancellation.
9. Implementations in Python, MATLAB/Simulink, C++, Java, and Wolfram Mathematica
We use a common example: \( G(s)=\frac{(s+2)(s-1)}{s(s+3)^2} \). Its poles are \( 0 \) and \( -3 \) (double), and its zeros are \( -2 \) and \( 1 \). The order is \( 3 \), relative degree is \( 1 \).
9.1 Python (library-based and from-scratch)
import numpy as np
# Example G(s) = (s+2)(s-1) / ( s (s+3)^2 )
num = np.polymul([1, 2], [1, -1]) # s^2 + s - 2
den = np.polymul([1, 0], np.polymul([1, 3], [1, 3])) # s (s+3)^2
# From scratch: roots
zeros = np.roots(num)
poles = np.roots(den)
print("Numerator coefficients:", num)
print("Denominator coefficients:", den)
print("Zeros:", zeros)
print("Poles:", poles)
print("Order (deg den):", len(den) - 1)
print("Relative degree:", (len(den) - 1) - (len(num) - 1))
# Library approach (Control Systems)
# pip install control
import control as ct
G = ct.tf(num, den)
print("G(s) =", G)
print("Poles (control):", ct.pole(G))
print("Zeros (control):", ct.zero(G))
# Cancellation example
G2 = ct.tf([1, 3], np.polymul([1, 3], [1, 4])) # (s+3)/((s+3)(s+4)) -> 1/(s+4)
G2_min = ct.minreal(G2, verbose=False) # exact/near cancellation handling
print("G2(s) =", G2)
print("G2_min(s) =", G2_min)
print("Order before:", len(G2.den[0][0]) - 1, "Order after:", len(G2_min.den[0][0]) - 1)
Recommended Python libraries for system dynamics.
control (transfer functions, pole/zero, simplification),
scipy.signal (LTI objects), and
sympy (symbolic cancellation via polynomial GCD).
9.2 MATLAB and Simulink
% Example G(s) = (s+2)(s-1) / ( s (s+3)^2 )
num = conv([1 2],[1 -1]); % s^2 + s - 2
den = conv([1 0], conv([1 3],[1 3])); % s*(s+3)^2
G = tf(num, den);
disp(G)
% Poles and zeros
p = pole(G);
z = zero(G);
disp('Poles:'); disp(p)
disp('Zeros:'); disp(z)
% Order and relative degree (input-output, for SISO)
order_io = length(den) - 1;
rel_deg = (length(den)-1) - (length(num)-1);
disp(['Order = ', num2str(order_io), ', Relative degree = ', num2str(rel_deg)])
% Cancellation (minimal realization in transfer function sense)
G2 = tf([1 3], conv([1 3],[1 4])); % (s+3)/((s+3)(s+4))
G2_min = minreal(G2); % cancels common factors
disp('G2_min:'); disp(G2_min)
% Simulink: programmatically create a model with Transfer Fcn block
modelName = 'tf_pole_zero_demo';
new_system(modelName); open_system(modelName);
add_block('simulink/Continuous/Transfer Fcn', [modelName '/G']);
set_param([modelName '/G'], 'Numerator', mat2str(num), 'Denominator', mat2str(den));
save_system(modelName);
MATLAB/Simulink toolchain. Control System Toolbox
(tf, zpk, pole,
zero, minreal) and Simulink blocks (Transfer
Fcn, Zero-Pole, State-Space in later chapters).
9.3 C++ (Eigen-based companion matrix root computation)
#include <iostream>
#include <vector>
#include <complex>
#include <Eigen/Dense>
/*
Compute roots of a monic polynomial:
D(s) = s^n + a_{n-1} s^{n-1} + ... + a0
via companion matrix eigenvalues.
*/
std::vector<std::complex<double>> roots_monic(const std::vector<double>& a) {
// a has length n, representing [a0, a1, ..., a_{n-1}]
int n = static_cast<int>(a.size());
Eigen::MatrixXd C = Eigen::MatrixXd::Zero(n, n);
for (int i = 0; i < n-1; ++i) C(i, i+1) = 1.0;
for (int j = 0; j < n; ++j) C(n-1, j) = -a[j];
Eigen::EigenSolver<Eigen::MatrixXd> es(C);
Eigen::VectorXcd eig = es.eigenvalues();
std::vector<std::complex<double>> r(n);
for (int i = 0; i < n; ++i) r[i] = eig(i);
return r;
}
int main() {
// Example den = s*(s+3)^2 = s^3 + 6 s^2 + 9 s + 0
// Monic: s^3 + a2 s^2 + a1 s + a0, so [a0,a1,a2] = [0,9,6]
std::vector<double> a = {0.0, 9.0, 6.0};
auto poles = roots_monic(a);
std::cout << "Poles (approx):\n";
for (auto& p : poles) std::cout << p << "\n";
// Order and relative degree (SISO, from polynomial degrees)
int deg_den = 3;
int deg_num = 2;
std::cout << "Order = " << deg_den << "\n";
std::cout << "Relative degree = " << (deg_den - deg_num) << "\n";
return 0;
}
Recommended C++ building blocks. Eigen for
linear algebra/eigenvalues; optional: Boost for numeric
utilities. Many production environments compute poles/zeros via
companion matrices or generalized eigenvalue problems (especially for
higher-order models).
9.4 Java (Apache Commons Math polynomial root solver)
import java.util.Arrays;
import org.apache.commons.math3.analysis.solvers.LaguerreSolver;
import org.apache.commons.math3.complex.Complex;
public class PoleZeroDemo {
public static void main(String[] args) {
// D(s) = s*(s+3)^2 = s^3 + 6 s^2 + 9 s + 0
// Commons Math uses coefficients in increasing order: a0 + a1 s + a2 s^2 + a3 s^3
double[] den = new double[] {0.0, 9.0, 6.0, 1.0};
// N(s) = (s+2)(s-1) = s^2 + s - 2 -> [-2, 1, 1]
double[] num = new double[] {-2.0, 1.0, 1.0};
LaguerreSolver solver = new LaguerreSolver();
Complex[] poles = solver.solveAllComplex(den, 0.0);
Complex[] zeros = solver.solveAllComplex(num, 0.0);
System.out.println("Poles: " + Arrays.toString(poles));
System.out.println("Zeros: " + Arrays.toString(zeros));
int degDen = den.length - 1;
int degNum = num.length - 1;
System.out.println("Order = " + degDen);
System.out.println("Relative degree = " + (degDen - degNum));
}
}
Recommended Java libraries. Apache Commons Math (polynomials, complex arithmetic, solvers). For advanced control workflows, Java is often used as an integration/runtime environment while numeric kernels rely on optimized linear algebra.
9.5 Wolfram Mathematica
(* Example G(s) = (s+2)(s-1) / ( s (s+3)^2 ) *)
num[s_] := Expand[(s + 2) (s - 1)];
den[s_] := Expand[s (s + 3)^2];
G[s_] := num[s]/den[s];
(* Poles and zeros (symbolic) *)
zeros = Solve[num[s] == 0, s] // Simplify;
poles = Solve[den[s] == 0, s] // Simplify;
Print["G(s) = ", G[s]];
Print["Zeros: ", zeros];
Print["Poles: ", poles];
(* Reduced form via cancellation *)
G2[s_] := (s + 3)/((s + 3) (s + 4));
G2red[s_] := Cancel[G2[s]];
Print["G2(s) = ", G2[s]];
Print["Reduced G2(s) = ", G2red[s]];
(* Partial fraction expansion to reveal pole-generated modes *)
apart = Apart[G[s], s];
Print["Partial fractions: ", apart];
(* If you want a Control Systems object *)
tfm = TransferFunctionModel[G[s], s];
Print["TransferFunctionModel: ", tfm];
Print["Poles (TFM): ", TransferFunctionPoles[tfm]];
Print["Zeros (TFM): ", TransferFunctionZeros[tfm]];
Mathematica is particularly effective for exact cancellation
(Cancel), symbolic factorization, and partial fractions
(Apart), which are ideal for illustrating pole/zero
multiplicities and time-response structures.
10. Problems and Solutions
Problem 1 (Poles, zeros, order, relative degree): Let \( G(s)=\frac{s^2+s-2}{s^3+6s^2+9s} \). Compute poles, zeros (with multiplicity), the input–output order, and the relative degree.
Solution: Factor numerator and denominator:
\[ s^2+s-2=(s+2)(s-1),\qquad s^3+6s^2+9s=s(s^2+6s+9)=s(s+3)^2. \]
Thus zeros are \( z_1=-2 \), \( z_2=1 \) (both simple), and poles are \( p_1=0 \) (simple), \( p_2=-3 \) (double). No common factors exist, so order is \( n_{\mathrm{io}}=\operatorname{deg}(D)=3 \), and relative degree is
\[ r=\operatorname{deg}(D)-\operatorname{deg}(N)=3-2=1. \]
Problem 2 (From ODE to poles/zeros/order): Consider the ODE (zero initial conditions):
\[ \frac{d^2 y}{dt^2} + 5\frac{dy}{dt} + 6y = 2\frac{du}{dt} + 4u. \]
(a) Derive \( G(s)=Y(s)/U(s) \). (b) Find poles, zeros, order, and relative degree.
Solution: Laplace transform with zero initial conditions gives
\[ (s^2+5s+6)Y(s)=(2s+4)U(s)\;\;\Rightarrow\;\; G(s)=\frac{2s+4}{s^2+5s+6}. \]
Factor:
\[ 2s+4=2(s+2),\qquad s^2+5s+6=(s+2)(s+3). \]
There is a common factor \( (s+2) \), so \( G_{\mathrm{red}}(s)=\frac{2}{s+3} \). Poles: \( -3 \) (simple). Zeros: none finite (in the reduced form). Input–output order: \( 1 \). Relative degree: \( 1 \).
Problem 3 (Conjugate pairing): Prove that if \( P(s) \) is a polynomial with real coefficients and \( P(p)=0 \), then \( P(p^\ast)=0 \).
Solution: With real coefficients, \( P(s^\ast)=P(s)^\ast \). Hence if \( P(p)=0 \), then \( 0=P(p)^\ast=P(p^\ast) \). ∎
Problem 4 (Cancellation and reduced order): Let \( G(s)=\frac{(s+1)(s+4)}{(s+1)(s+2)(s+3)} \). (a) Compute \( G_{\mathrm{red}}(s) \). (b) List poles and zeros of the reduced transfer function. (c) Give the input–output order.
Solution: Cancel \( (s+1) \):
\[ G_{\mathrm{red}}(s)=\frac{s+4}{(s+2)(s+3)}. \]
Poles: \( -2,-3 \). Zeros: \( -4 \). Order: \( 2 \).
Problem 5 (Repeated pole impulse response): Suppose \( G(s)=\frac{1}{(s+a)^2} \) with \( a>0 \). Compute the impulse response \( h(t) \) for \( t>0 \).
Solution: Use the identity \( \mathcal{L}\{t e^{-at}\}=\frac{1}{(s+a)^2} \) (valid for \( \Re(s)\,>\,-a \)). Therefore
\[ h(t)=t e^{-at},\quad t>0. \]
Problem 6 (Relative degree and high-frequency limit): Let \( G_{\mathrm{red}}(s)=\tilde N(s)/\tilde D(s) \) with relative degree \( r \). Show that \( r\ge 1 \Rightarrow \lim_{|s|\rightarrow\infty} G_{\mathrm{red}}(s)=0 \), and \( r=0 \Rightarrow \lim_{|s|\rightarrow\infty} G_{\mathrm{red}}(s)=\frac{\text{leading coeff of }\tilde N}{\text{leading coeff of }\tilde D} \).
Solution: Write degrees: \( \operatorname{deg}(\tilde N)=m \), \( \operatorname{deg}(\tilde D)=n \), so \( r=n-m \). Divide numerator and denominator by \( s^n \):
\[ G_{\mathrm{red}}(s)=\frac{\tilde N(s)/s^n}{\tilde D(s)/s^n} =\frac{\frac{\text{lead}(\tilde N)}{s^{n-m}}+\text{lower terms}}{\text{lead}(\tilde D)+\text{lower terms}}. \]
If \( r=n-m\ge 1 \), the numerator tends to \( 0 \), so the ratio tends to \( 0 \). If \( r=0 \), the leading terms form a nonzero constant ratio. ∎
11. Summary
We treated transfer functions as rational functions \( G(s)=N(s)/D(s) \) and defined poles and zeros rigorously (including multiplicity). We proved the denominator-degree link to ODE order under zero initial conditions, introduced reduced form via cancellation, and defined input–output order and relative degree. Finally, we proved that poles generate the exponential modes in impulse responses via partial fraction expansion and inverse Laplace identities. These results prepare the ground for interconnections (Lesson 4) and stability/realizability criteria (Lesson 5).
12. References
- Kalman, R.E. (1963). Mathematical description of linear dynamical systems. Journal of the Society for Industrial and Applied Mathematics, Series A: Control, 1(2), 152–192. doi:10.1137/0301010.
- McMillan, B. (1952). Introduction to formal realizability theory—II. Bell System Technical Journal, 31(3), 541–600.
- Anderson, B.D.O. (1966). Equivalence of linear time-invariant dynamical systems. International Journal of Control, 3(4), 371–383. doi:10.1016/0016-0032(66)90298-5.
- MacFarlane, A.G.J., & Karcanias, N. (1976). Poles and zeros of linear multivariable systems: A survey of the algebraic, geometric and complex-variable theory. International Journal of Control, 24(1), 33–74. doi:10.1080/00207177608932805.
- Van Dooren, P., Dewilde, P., & Vandewalle, J. (1979). On the determination of the Smith–McMillan form of a rational matrix from its Laurent expansion. IEEE Transactions on Circuits and Systems, 26(3), 180–189. doi:10.1109/TCS.1979.1084628.
- Youla, D.C. (1961). On the factorization of rational matrices. IRE Transactions on Information Theory, 7(3), 172–189.
- Gevers, M. (1981). On multivariable pole-zero cancellations and the stability of feedback systems. IEEE Transactions on Circuits and Systems, 28(8), 830–833.
- Mita, T. (1977). On maximal unobservable subspace, zeros and their applications. International Journal of Control, 25(6), 1–? (see journal record). doi:10.1080/00207177708922276.