Chapter 2: Mathematical Preliminaries

Lesson 3: Complex Numbers, Exponentials, Phasors, and Poles/Zeros in the s-Plane

This lesson develops the complex-variable framework underpinning Laplace-domain analysis of dynamic systems. We review complex numbers and exponentials, introduce phasor representation of sinusoids, and connect these to the Laplace variable \( s \), exponential modes, and the geometric interpretation of poles and zeros in the s-plane. The material is foundational for transfer functions, frequency response, and stability analysis in later chapters.

1. Conceptual Overview

System dynamics in control engineering relies heavily on representing signals and system behavior in the complex domain. You have already seen ordinary differential equations (ODEs) and the Laplace transform in previous lessons. Here we deepen the connection:

  • Complex numbers provide a 2D representation of magnitude and angle (phase).
  • Complex exponentials \( e^{st} \) (with \( s \in \mathbb{C} \)) describe exponential growth/decay combined with oscillation.
  • Phasors encode sinusoidal steady-state signals as complex amplitudes in frequency-domain analysis.
  • The Laplace variable \( s = \sigma + j\omega \) indexes exponential modes; poles and zeros are special points in the s-plane determining system behavior.

Recall that solving a homogeneous linear constant-coefficient ODE often produces exponential solutions. For example, for

\[ \frac{dx(t)}{dt} = a\,x(t), \quad a \in \mathbb{C}, \]

separation of variables yields

\[ x(t) = C e^{a t}, \quad C \in \mathbb{C}. \]

In Laplace analysis, the symbol \( s \) generalizes the constant \( a \) and allows superposition of many exponential modes \( e^{s_k t} \). The following diagram summarizes the logical flow used throughout system dynamics and control:

flowchart TD
  A["Time-domain ODE with constant coefficients"] --> B["Assume exponential solutions x(t) = e^(s t)"]
  B --> C["Characteristic polynomial in s"]
  C --> D["Roots {s_k} in s-plane"]
  D --> E["Time-domain modes e^(s_k t)"]
  E --> F["Laplace transform X(s), transfer function G(s)"]
  F --> G["Poles/zeros pattern in s-plane"]
  G --> H["Qualitative system behavior (decay/growth/oscillation)"]
        

2. Complex Numbers as a Foundation

The complex plane models numbers of the form \( z = x + j y \) with real part \( x = \Re\{z\} \) and imaginary part \( y = \Im\{z\} \). The set of all such pairs is the field \( \mathbb{C} \).

\[ z = x + j y, \quad x,y \in \mathbb{R}. \]

Key derived quantities are the magnitude and argument:

\[ |z| = \sqrt{x^2 + y^2}, \quad \arg(z) = \theta = \operatorname{atan2}(y,x), \quad \theta \in (-\pi,\pi]. \]

The complex conjugate is \( \overline{z} = x - j y \), and satisfies \( z\,\overline{z} = |z|^2 \). Many energy-like quantities (e.g., RMS values, norms) in system dynamics are expressed in terms of \( |z|^2 \).

In polar form, a nonzero complex number is represented as

\[ z = r(\cos\theta + j\sin\theta), \quad r = |z| > 0, \; \theta = \arg(z). \]

This polar representation is crucial because it turns multiplication into addition of angles:

\[ z_1 = r_1 e^{j\theta_1}, \; z_2 = r_2 e^{j\theta_2} \;\Rightarrow\; z_1 z_2 = r_1 r_2 e^{j(\theta_1 + \theta_2)}. \]

Hence any linear system operating on complex-valued signals will often produce results whose magnitudes multiply and phases add, a pattern that becomes explicit in phasor and frequency-domain analysis.

3. Complex Exponentials and Euler's Formula

A core identity connecting trigonometric functions and complex exponentials is Euler's formula:

\[ e^{j\theta} = \cos\theta + j\sin\theta. \]

A standard derivation uses Taylor series expansions for \( e^{x} \), \( \cos x \), and \( \sin x \), and then substitutes \( x = j\theta \). Another approach, more aligned with differential equations, is to note that the function

\[ f(\theta) = \cos\theta + j\sin\theta \]

satisfies the ODE

\[ \frac{df}{d\theta} = j f(\theta), \quad f(0) = 1. \]

The unique solution of this linear ODE is \( f(\theta) = e^{j\theta} \), hence Euler's formula.

Using Euler's formula, every nonzero complex number can be written succinctly as

\[ z = r e^{j\theta}, \quad r = |z|, \; \theta = \arg(z). \]

This exponential representation is fundamental in control engineering. Many system behaviors (e.g., modes of an LTI system) are described by terms of the form \( e^{s t} \) with complex \( s \), and we routinely decompose such terms into magnitude and phase using Euler's formula.

4. Sinusoids, Phasors, and Differentiation

Consider a real sinusoidal signal of amplitude \( X_0 \), angular frequency \( \omega \), and phase \( \varphi \):

\[ x(t) = X_0 \cos(\omega t + \varphi). \]

Using Euler's formula, we can represent this as the real part of a complex exponential:

\[ x(t) = \Re\big\{ X_0 e^{j(\omega t + \varphi)} \big\} = \Re\big\{ \tilde{X} e^{j\omega t} \big\}, \quad \tilde{X} = X_0 e^{j\varphi}. \]

The complex constant \( \tilde{X} \) is called the phasor associated with \( x(t) \). Phasors encode amplitude and phase but omit the explicit time dependence \( e^{j\omega t} \).

A key property underlies sinusoidal steady-state analysis of LTI systems: differentiation of a complex exponential corresponds to multiplication by \( j\omega \):

\[ \frac{d}{dt}\big(e^{j\omega t}\big) = j\omega e^{j\omega t}. \]

Thus, if an input is \( u(t) = \Re\{\tilde{U} e^{j\omega t}\} \) and an LTI system with constant coefficients has a steady-state output of the form \( y(t) = \Re\{\tilde{Y} e^{j\omega t}\} \), then substituting these into the differential equation and canceling \( e^{j\omega t} \) reduces the ODE to an algebraic relation in \( j\omega \).

For example, consider a first-order system

\[ a_1 \frac{dy(t)}{dt} + a_0 y(t) = b_0 u(t), \]

with sinusoidal input \( u(t) = \Re\{\tilde{U} e^{j\omega t}\} \). Suppose a steady-state output of the form \( y(t) = \Re\{\tilde{Y} e^{j\omega t}\} \) exists. Substituting gives

\[ a_1 (j\omega)\tilde{Y} e^{j\omega t} + a_0 \tilde{Y} e^{j\omega t} = b_0 \tilde{U} e^{j\omega t}. \]

Canceling \( e^{j\omega t} \) and solving for \( \tilde{Y} \) yields

\[ \tilde{Y} = \frac{b_0}{a_1 j\omega + a_0}\,\tilde{U}. \]

The ratio \( G(j\omega) = \dfrac{b_0}{a_1 j\omega + a_0} \) is the frequency response at frequency \( \omega \), obtained by evaluating the transfer function \( G(s) \) at \( s = j\omega \). Phasor analysis is therefore a special case of Laplace-domain analysis restricted to the imaginary axis of the s-plane.

5. The s-Plane and Exponential Modes

The Laplace transform uses a complex variable \( s = \sigma + j\omega \). The corresponding complex exponential is

\[ e^{s t} = e^{(\sigma + j\omega)t} = e^{\sigma t}\big(\cos(\omega t) + j\sin(\omega t)\big). \]

The real part \( \sigma \) governs exponential growth/decay:

  • If \( \sigma < 0 \), then \( e^{\sigma t} \) decays to zero as \( t \rightarrow +\infty \).
  • If \( \sigma = 0 \), then \( e^{\sigma t} = 1 \), and the behavior is purely oscillatory with frequency \( \omega \).
  • If \( \sigma > 0 \), then \( e^{\sigma t} \) grows unbounded as \( t \rightarrow +\infty \).

For a homogeneous linear constant-coefficient ODE

\[ a_n \frac{d^n x(t)}{dt^n} + a_{n-1} \frac{d^{n-1} x(t)}{dt^{n-1}} + \dots + a_1 \frac{dx(t)}{dt} + a_0 x(t) = 0, \quad a_n \neq 0, \]

substituting the ansatz \( x(t) = e^{s t} \) and canceling \( e^{s t} \) yields the characteristic polynomial

\[ a_n s^n + a_{n-1} s^{n-1} + \dots + a_1 s + a_0 = 0. \]

Its roots \( s_1,\dots,s_n \) lie in the complex s-plane. The general solution is a linear combination of modes:

\[ x(t) = \sum_{k=1}^n C_k e^{s_k t}, \quad C_k \in \mathbb{C}. \]

Each root \( s_k = \sigma_k + j\omega_k \) corresponds to an exponential mode with decay/growth rate \( \sigma_k \) and oscillation frequency \( \omega_k \). The s-plane diagram below summarizes this mapping:

flowchart TD
  P["Characteristic equation in s"] --> R1["Roots s_k = sigma_k + j omega_k"]
  R1 --> R2["Each root -> mode e^(s_k t)"]
  R2 --> LHP["sigma_k < 0 → \ndecaying mode"]
  R2 --> IAXIS["sigma_k = 0 → \npure oscillation"]
  R2 --> RHP["sigma_k > 0 → \ngrowing mode"]
  LHP --> STAB["Qualitative notion: \n'stable-like' behavior"]
  RHP --> UNST["Qualitative notion: \n'unstable-like' behavior"]
        

Later chapters will formalize stability via pole locations, but already you can see how the map from roots in the s-plane to exponentials in time provides powerful intuition about system dynamics.

6. Poles and Zeros of Rational Transfer Functions

For a linear time-invariant (LTI) system described by an ODE with constant coefficients, applying the Laplace transform (with zero initial conditions) yields an algebraic input-output relationship

\[ Y(s) = G(s) U(s), \]

where \( G(s) \) is the transfer function:

\[ G(s) = \frac{Y(s)}{U(s)} = \frac{b_m s^m + b_{m-1} s^{m-1} + \dots + b_0} {a_n s^n + a_{n-1} s^{n-1} + \dots + a_0}, \quad a_n \neq 0. \]

Assuming numerator and denominator have no common factors, we define:

  • The poles of \( G(s) \) are the roots of the denominator: \( a_n s^n + \dots + a_0 = 0 \).
  • The zeros of \( G(s) \) are the finite roots of the numerator: \( b_m s^m + \dots + b_0 = 0 \).

Poles correspond directly to the exponential modes in the time-domain response. For a strictly proper transfer function (degree of denominator strictly larger than numerator), partial-fraction expansion yields

\[ G(s) = \sum_{k} \frac{R_k}{s - p_k}, \]

where \( p_k \) are poles and \( R_k \) the residues. For an input like a step or impulse, inverse Laplace transform gives terms of the form \( R_k e^{p_k t} \) in the time response. Thus:

  • Poles near the imaginary axis produce slow decay or growth.
  • Poles far into the left-half plane yield rapidly decaying modes.
  • Complex-conjugate pole pairs lead to oscillations with damping.

Zeros, in contrast, represent frequencies or modes where the system response is attenuated or cancelled. For example, if \( s = z_0 \) is a zero, then \( G(z_0) = 0 \), so steady-state output vanishes for certain input patterns aligned with that zero.

A particularly important first-order example is

\[ G(s) = \frac{K}{\tau s + 1}, \quad K > 0, \; \tau > 0. \]

Here the system has a single pole at \( s = -1/\tau \) and no finite zeros. The parameter \tau is the time constant, determining the rate at which the system's dominant exponential mode \( e^{-t/\tau} \) decays. Detailed time-domain analysis of such systems appears in later chapters; here we emphasize the geometric viewpoint: a single pole on the negative real axis of the s-plane.

7. Python Lab — Evaluating Phasors and Poles/Zeros

Python, via numpy and scipy.signal, provides convenient tools for working with complex numbers, phasors, and transfer functions. The example below:

  • Defines a first-order system \( G(s) = \dfrac{K}{\tau s + 1} \).
  • Computes its pole and evaluates \( G(j\omega) \) for a given frequency.
  • Computes the steady-state phasor for a sinusoidal input.

import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

# First-order transfer function G(s) = K / (tau s + 1)
K = 2.0
tau = 0.5
num = [K]
den = [tau, 1.0]

system = signal.TransferFunction(num, den)

# Poles and zeros from scipy.signal
poles = system.poles
zeros = system.zeros

print("Poles:", poles)
print("Zeros:", zeros)

# Pick a sinusoidal input u(t) = U0 cos(omega t)
U0 = 1.0
omega = 2.0  # rad/s

# Frequency response G(j omega)
s = 1j * omega
G_jw = K / (tau * s + 1.0)

mag = np.abs(G_jw)
phase = np.angle(G_jw)  # radians

print("G(j omega) magnitude:", mag)
print("G(j omega) phase [rad]:", phase)

# Input and output phasors
U_phasor = U0 * np.exp(1j * 0.0)  # zero input phase
Y_phasor = G_jw * U_phasor

print("Input phasor U~:", U_phasor)
print("Output phasor Y~:", Y_phasor)

# Compare phasor-based steady-state output to time-domain simulation
t = np.linspace(0.0, 10.0, 2000)
u = U0 * np.cos(omega * t)

# lsim uses state-space internally for this TransferFunction
tout, y, x = signal.lsim(system, U=u, T=t)

# Steady-state approximation via phasor
y_ss = mag * np.cos(omega * t + phase)

plt.figure()
plt.plot(t, u, label="u(t)")
plt.plot(t, y, label="y(t) (simulated)")
plt.plot(t, y_ss, "--", label="y_ss(t) from phasor")
plt.xlim(5, 10)  # focus on steady state
plt.xlabel("t [s]")
plt.legend()
plt.title("Phasor-based steady state vs time-domain simulation")
plt.show()
      

This experiment illustrates that, after transients die out, the simulated output aligns with the phasor-predicted steady-state sinusoid \( y_{\text{ss}}(t) \). The transient is governed by the pole at \( s = -1/\tau \), while the steady-state sinusoid is governed by the value of \( G(s) \) on the imaginary axis \( s = j\omega \).

8. C++ Lab — Using std::complex for Transfer Functions

In C++, the header <complex> provides complex arithmetic. The following minimal example:

  • Uses std::complex<double> with the imaginary unit.
  • Evaluates a first-order transfer function at \( s = j\omega \).
  • Prints the magnitude and phase of the complex gain.

#include <iostream>
#include <complex>
#include <cmath>

int main() {
    using std::complex;
    using std::cout;
    using std::endl;

    double K = 2.0;
    double tau = 0.5;
    double omega = 2.0;

    complex<double> j(0.0, 1.0);
    complex<double> s = j * omega;

    // G(s) = K / (tau s + 1)
    complex<double> G = K / (tau * s + 1.0);

    double mag = std::abs(G);
    double phase = std::arg(G); // radians

    cout << "G(j omega) = " << G << endl;
    cout << "|G(j omega)| = " << mag << endl;
    cout << "arg G(j omega) [rad] = " << phase << endl;

    return 0;
}
      

For more advanced work, C++ libraries such as Eigen (for linear algebra) and custom control libraries can be used to manipulate state-space models and transfer functions, but the essential complex-variable operations are already captured via std::complex.

9. Java Lab — Implementing a Minimal Complex Type

Java does not have a built-in complex type, but we can implement a minimal class to support operations needed for phasors and transfer functions. In practice, one might use libraries such as Apache Commons Math, yet it is instructive to see the underlying operations explicitly.


public final class Complex {
    private final double re;
    private final double im;

    public Complex(double re, double im) {
        this.re = re;
        this.im = im;
    }

    public double real() { return re; }
    public double imag() { return im; }

    public Complex add(Complex other) {
        return new Complex(this.re + other.re, this.im + other.im);
    }

    public Complex sub(Complex other) {
        return new Complex(this.re - other.re, this.im - other.im);
    }

    public Complex mul(Complex other) {
        double r = this.re * other.re - this.im * other.im;
        double i = this.re * other.im + this.im * other.re;
        return new Complex(r, i);
    }

    public Complex div(Complex other) {
        double denom = other.re * other.re + other.im * other.im;
        double r = (this.re * other.re + this.im * other.im) / denom;
        double i = (this.im * other.re - this.re * other.im) / denom;
        return new Complex(r, i);
    }

    public double abs() {
        return Math.hypot(re, im);
    }

    public double arg() {
        return Math.atan2(im, re);
    }

    @Override
    public String toString() {
        return String.format("(%f %+f j)", re, im);
    }

    // Static factory for j * omega
    public static Complex jOmega(double omega) {
        return new Complex(0.0, omega);
    }
}

// Example usage: evaluate G(s) = K / (tau s + 1) at s = j omega
public class PhasorDemo {
    public static void main(String[] args) {
        double K = 2.0;
        double tau = 0.5;
        double omega = 2.0;

        Complex s = Complex.jOmega(omega);
        Complex numerator = new Complex(K, 0.0);
        Complex denominator = new Complex(1.0, 0.0).add(
            new Complex(tau, 0.0).mul(s)
        );

        Complex G = numerator.div(denominator);

        System.out.println("G(j omega) = " + G);
        System.out.println("|G(j omega)| = " + G.abs());
        System.out.println("arg G(j omega) [rad] = " + G.arg());
    }
}
      

This minimal implementation is sufficient for manipulating phasors and evaluating rational functions \( G(s) \) at complex arguments in Java-based simulation frameworks.

10. MATLAB/Simulink Lab — Pole-Zero Maps and Phasors

MATLAB's Control System Toolbox is widely used in control engineering for representing and analyzing transfer functions. The following script:

  • Defines \( G(s) = \dfrac{K}{\tau s + 1} \).
  • Displays poles and zeros.
  • Evaluates the frequency response \( G(j\omega) \).

K = 2.0;
tau = 0.5;

% Transfer function G(s) = K / (tau s + 1)
num = K;
den = [tau 1];
G = tf(num, den);

% Poles and zeros
p = pole(G);
z = zero(G);

disp('Poles:');
disp(p);
disp('Zeros:');
disp(z);

% Frequency response at omega = 2 rad/s
omega = 2.0;
[mag, phase] = bode(G, omega);
mag = squeeze(mag);
phase = squeeze(phase);

fprintf('G(j omega) magnitude: %f\n', mag);
fprintf('G(j omega) phase [deg]: %f\n', phase);

% Pole-zero map
figure;
pzmap(G);
grid on;
title('Pole-zero map of G(s) = K / (tau s + 1)');

% Optional: Simulink setup (conceptual)
% In Simulink:
%  - Place a Sine Wave block with frequency omega.
%  - Place a Transfer Fcn block with numerator [K] and denominator [tau 1].
%  - Connect Sine Wave -> Transfer Fcn -> Scope.
%  - Run simulation long enough so transients decay; observe steady-state amplitude and phase.
      

The pole-zero map displays the single pole at \( s = -1/\tau \) on the real axis. For more complex systems, MATLAB provides representation via zpk models, where poles and zeros are specified directly.

11. Wolfram Mathematica Lab — Symbolic Poles and Phasors

Wolfram Mathematica offers symbolic manipulation of transfer functions and direct handling of complex variables. The example below:

  • Defines a symbolic first-order transfer function.
  • Computes its pole.
  • Evaluates the frequency response at a specified \( \omega \).

(* Parameters *)
K = 2.0;
tau = 0.5;

(* Transfer function G(s) = K / (tau s + 1) *)
Clear[s];
G[s_] := K/(tau*s + 1);

(* Pole: solve denominator = 0 *)
poles = Solve[tau*s + 1 == 0, s];
Print["Poles: ", poles];

(* Frequency response at s = j omega *)
omega = 2.0;
Gjomega = G[I*omega] // N;
mag = Abs[Gjomega];
phase = Arg[Gjomega];

Print["G(j omega) = ", Gjomega];
Print["|G(j omega)| = ", mag];
Print["arg G(j omega) [rad] = ", phase];

(* Pole-zero plot for a more general system *)
G2[s_] := (s + 2)/((s + 1)*(s + 3));
pzPlot = ComplexPlot[
  G2[s],
  {Re[s], -4, 1},
  {Im[s], -4, 4},
  ColorFunction -> "Arg"
];

(* Alternatively, use built-in control functionality if Control` is available *)
(* Needs["Control`"]; TransferFunctionModel, PoleZeroPlot, etc. *)
      

Mathematica's symbolic capabilities are especially useful for proving general identities about poles, zeros, and their relationships to ODE coefficients before specializing to numeric parameter values.

12. Problems and Solutions

Problem 1 (Rectangular and Polar Forms): Let \( z = 3 + 4j \). Express \( z \) in polar and exponential form \( r(\cos\theta + j\sin\theta) \) and \( r e^{j\theta} \). Compute \( |z| \) and \( \arg(z) \).

Solution: The magnitude is

\[ |z| = \sqrt{3^2 + 4^2} = 5. \]

The argument satisfies \( \tan\theta = 4/3 \), so \( \theta = \arctan(4/3) \) with \( \theta \in (0,\pi/2) \). Thus

\[ z = 5\left(\cos\theta + j\sin\theta\right) = 5 e^{j\theta}, \quad \theta = \arctan\left(\frac{4}{3}\right). \]

Hence \( |z| = 5 \) and \( \arg(z) = \arctan(4/3) \).

Problem 2 (Sinusoid as Phasor): Represent the real signal \( x(t) = 5 \cos(10 t - \pi/6) \) as the real part of a complex exponential \( \tilde{X} e^{j\omega t} \). Identify the phasor \( \tilde{X} \) and angular frequency \( \omega \).

Solution: We have \( X_0 = 5 \), \( \omega = 10 \), \( \varphi = -\pi/6 \). Using

\[ x(t) = X_0 \cos(\omega t + \varphi) = \Re\big\{ X_0 e^{j(\omega t + \varphi)} \big\} = \Re\big\{ \tilde{X} e^{j\omega t} \big\}, \]

we identify

\[ \tilde{X} = X_0 e^{j\varphi} = 5 e^{-j\pi/6}, \quad \omega = 10. \]

Thus the phasor is \( \tilde{X} = 5 e^{-j\pi/6} \) and \( x(t) = \Re\{\tilde{X} e^{j 10 t}\} \).

Problem 3 (First-Order ODE, Transfer Function, and Pole): Consider the first-order system

\[ \tau \frac{dy(t)}{dt} + y(t) = K u(t), \quad \tau > 0. \]

(a) Derive the transfer function \( G(s) = \dfrac{Y(s)}{U(s)} \) for zero initial conditions. (b) Find its pole and interpret its location in the s-plane. (c) Express the homogeneous solution in terms of this pole.

Solution: (a) Taking Laplace transforms with zero initial conditions:

\[ \tau s Y(s) + Y(s) = K U(s). \]

Factor \( Y(s) \):

\[ (\,\tau s + 1) Y(s) = K U(s) \;\Rightarrow\; G(s) = \frac{Y(s)}{U(s)} = \frac{K}{\tau s + 1}. \]

(b) The denominator vanishes when \( \tau s + 1 = 0 \), so the pole is

\[ s_p = -\frac{1}{\tau}. \]

Since \( \tau > 0 \), we have \( s_p < 0 \), a negative real pole located on the real axis in the left-half s-plane. Larger \tau moves the pole closer to the origin, leading to slower decay of the associated mode.

(c) The homogeneous equation

\[ \tau \frac{dy(t)}{dt} + y(t) = 0 \]

has solution

\[ y_h(t) = C e^{s_p t} = C e^{-t/\tau}, \quad C \in \mathbb{R}. \]

Thus the pole directly determines the exponential decay rate of the homogeneous response.

Problem 4 (Poles and Zeros of a Second-Order Rational Function): Consider

\[ G(s) = \frac{s + 2}{(s + 1)(s + 3)}. \]

(a) Determine the poles and zeros of \( G(s) \). (b) Comment on the region of the s-plane where they lie. (c) Compute the DC gain \( G(0) \).

Solution: (a) The numerator gives a zero at \( s = -2 \). The denominator gives poles at \( s = -1 \) and \( s = -3 \).

\[ \text{Zero: } z_1 = -2, \quad \text{Poles: } p_1 = -1,\; p_2 = -3. \]

(b) All three points are on the negative real axis (left-half plane), so for typical inputs the corresponding exponential modes are decaying exponentials without oscillation.

(c) The DC gain is \( G(0) = \dfrac{0 + 2}{(0 + 1)(0 + 3)} = \dfrac{2}{3} \).

\[ G(0) = \frac{2}{3}. \]

Problem 5 (Complex-Conjugate Poles and Oscillatory Modes): Consider the second-order transfer function

\[ G(s) = \frac{\omega_n^2}{s^2 + 2\zeta \omega_n s + \omega_n^2}, \quad \omega_n > 0,\; 0 < \zeta < 1. \]

(a) Find the poles of \( G(s) \). (b) Express the poles in terms of real and imaginary parts \( \sigma \) and \( \omega_d \). (c) Interpret \( \sigma \) and \( \omega_d \) in terms of exponential decay and oscillation.

Solution: (a) Solve the quadratic equation

\[ s^2 + 2\zeta \omega_n s + \omega_n^2 = 0. \]

Using the quadratic formula:

\[ s_{1,2} = -\zeta \omega_n \pm \omega_n \sqrt{\zeta^2 - 1}. \]

For \( 0 < \zeta < 1 \), we have \( \zeta^2 - 1 < 0 \), so

\[ \sqrt{\zeta^2 - 1} = j\sqrt{1 - \zeta^2}. \]

Hence

\[ s_{1,2} = -\zeta \omega_n \pm j\omega_n\sqrt{1 - \zeta^2}. \]

(b) Comparing with \( s = \sigma + j\omega_d \), we identify

\[ \sigma = -\zeta \omega_n, \quad \omega_d = \omega_n \sqrt{1 - \zeta^2}. \]

(c) The negative real part \( \sigma < 0 \) corresponds to exponential decay \( e^{\sigma t} \), while \( \omega_d \) is the frequency of damped oscillation. Thus, complex-conjugate poles in the left-half plane create decaying oscillatory modes, a pattern that will be explored further in the chapter on time-domain response.

13. Summary

In this lesson, we established the complex-variable foundations of system dynamics and control:

  • Complex numbers \( z = x + j y \) admit a polar/exponential form \( z = r e^{j\theta} \), with multiplication translating into magnitude scaling and phase addition.
  • Euler's formula \( e^{j\theta} = \cos\theta + j\sin\theta \) provides a bridge between trigonometric signals and complex exponentials.
  • Phasors encode sinusoidal steady-state signals as complex amplitudes, transforming differentiation into multiplication by \( j\omega \).
  • The Laplace variable \( s = \sigma + j\omega \) parameterizes exponential modes \( e^{s t} \); the s-plane organizes these modes geometrically.
  • Poles (roots of the denominator of \( G(s) \)) correspond to exponential modes in the time-domain response, while zeros (roots of the numerator) encode frequencies where the response is attenuated or cancelled.
  • Numerical environments such as Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica all support complex arithmetic and transfer-function evaluation, enabling simulation and analysis consistent with the theory.

These ideas will be used repeatedly when deriving transfer functions, analyzing stability in the s-plane, and constructing frequency-response plots in subsequent chapters.

14. References

  1. Hurwitz, A. (1895). On the conditions under which an equation has only roots with negative real parts. Mathematische Annalen, 46, 273–284.
  2. Nyquist, H. (1932). Regeneration theory. Bell System Technical Journal, 11(1), 126–147.
  3. Cauer, W. (1931). Über die entwicklung einer theorie der linearen filter. Archiv für Elektrotechnik, 24, 355–381.
  4. Zadeh, L. A., & Desoer, C. A. (1963). Linear system theory: The state space approach. IEEE Transactions on Automatic Control, 8(1), 4–14.
  5. Paley, R. E. A. C., & Wiener, N. (1934). Fourier transforms in the complex domain. American Journal of Mathematics, 56(1/2), 189–219.
  6. Doetsch, G. (1943). Über Laplacesche integrale, insbesondere über randwerte derselben. Mathematische Zeitschrift, 47(1), 309–344.
  7. Routh, E. J. (1877). A treatise on the stability of a given state of motion. Proceedings of the London Mathematical Society, 6, 86–97.
  8. Kalman, R. E. (1960). On the general theory of control systems. Proceedings of the First International Conference on Automatic Control, Moscow, 481–492.
  9. Pontryagin, L. S. (1942). Hermitian operators in spaces with an indefinite metric. Izvestiya Akademii Nauk SSSR. Seriya Matematicheskaya, 8, 243–280.
  10. Brockett, R. W. (1970). Finite dimensional linear systems. SIAM Journal on Control, 8(3), 341–361.