Chapter 15: Nyquist Criterion and Stability in the Frequency Domain

Lesson 4: Systems with Right-Half-Plane Poles and Time Delays

This lesson studies how right-half-plane (RHP) poles and pure time delays affect frequency-domain stability analysis via the Nyquist criterion. We extend the basic Nyquist result to unstable open-loop systems, analyze how delays rotate the Nyquist locus, and derive simple delay-margin formulas. Throughout, we connect the theory to robotic actuators and servo drives, with small implementation examples in Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica.

1. Conceptual Overview

Consider a single-input single-output feedback loop with controller \( C(s) \), plant \( G(s) \), and a possible pure time delay \( L > 0 \) in the forward path. The open-loop transfer function is

\[ L(s) = C(s)\,G(s)\,e^{-Ls}. \]

The closed-loop sensitivity and complementary sensitivity are

\[ S(s) = \frac{1}{1+L(s)}, \qquad T(s) = \frac{L(s)}{1+L(s)}. \]

Frequency-domain stability is determined by the location of the zeros of \( 1+L(s) \) in the complex plane. The Nyquist criterion relates these closed-loop zeros to the encirclements of the critical point \( -1 \) by the Nyquist plot of \( L(j\omega) \) as \strong>\( \omega \) ranges from \( 0 \) to \( +\infty \) along a suitable contour.

When the open-loop transfer function has poles in the right-half plane (RHP) \( \{ s \in \mathbb{C} \mid \Re(s) > 0 \} \), we must carefully count them and adjust the Nyquist stability condition. Time delays appear as the factor \( e^{-Ls} \), whose magnitude is unity but whose phase is \( -\omega L \), rotating the Nyquist locus clockwise as the delay increases.

flowchart TD
  M["Model L(s) = C(s) G(s) exp(-Ls)"] --> P["Count P = number of RHP poles of L(s)"]
  P --> NQ["Draw Nyquist plot of L(jw) on standard contour"]
  NQ --> ENC["Determine N = net clockwise encirclements of -1"]
  ENC --> CL["Closed-loop stable if Z = 0 and Z = P + N => N = -P"]
        

For robotic systems, RHP poles often arise from inverted configurations (e.g. balancing links) or unstable internal dynamics, while delays come from computation, communication, or sensor processing. Understanding their effect on the Nyquist plot is essential for safe controller design.

2. Nyquist Criterion with Right-Half-Plane Poles

Let \( L(s) \) be a rational open-loop transfer function with no poles on the imaginary axis, but possibly with poles in the RHP. Denote by:

  • \( P \): the number of poles of \( L(s) \) in \( \Re(s) > 0 \) (RHP poles of \( L(s) \)),
  • \( Z \): the number of zeros of \( 1+L(s) \) in \( \Re(s) > 0 \) (RHP closed-loop poles),
  • \( N \): the net number of clockwise encirclements of \( -1 \) by the Nyquist plot of \( L(s) \) as the contour encloses the right-half plane.

The Nyquist criterion states:

\[ Z = P + N. \]

For closed-loop stability we require \( Z = 0 \), i.e. no closed-loop poles in the RHP. Therefore, when the open-loop system is unstable (\( P > 0 \)), the Nyquist condition becomes

\[ Z = 0 \quad \Longleftrightarrow \quad N = -P. \]

In words: the Nyquist locus of \( L(j\omega) \) must encircle the point \( -1 \) exactly \( P \) times in the clockwise direction. This is more restrictive than the stable-open-loop case (\( P=0 \)), where the locus must simply not encircle \( -1 \).

A brief justification comes from the argument principle applied to the function \( F(s) = 1+L(s) \). Let \( n_C \) denote the net change of the argument of \( F(s) \) as \( s \) traverses the Nyquist contour. Then

\[ n_C = 2\pi (Z - P). \]

But changing the argument of \( F(s) \) around the contour corresponds exactly to counting the encirclements \( N \) of the point \( -1 \) by the image \( L(s) = F(s) - 1 \). Matching signs (clockwise vs counterclockwise) yields \( N = Z - P \), that is \( Z = P + N \).

For robotics applications (e.g. reaction-wheel inverted pendulums), the plant itself may have RHP poles. The Nyquist plot of the controller–plant product must then deliberately wrap around \( -1 \) to compensate these open-loop instabilities.

3. Example — Unstable Plant Without Delay

Consider the simple open-loop model

\[ L(s) = \frac{K}{(s-1)(s+2)}, \]

where \( K > 0 \) is a real gain. One pole is at \( s=1 \) in the RHP and another at \( s=-2 \) in the LHP, so \( P = 1 \).

The Nyquist plot of \( L(j\omega) \) can be analyzed qualitatively from its frequency response:

\[ L(j\omega) = \frac{K}{(j\omega-1)(j\omega+2)}. \]

  • As \( \omega \to 0 \), we have \( L(j\omega) \approx \dfrac{K}{(-1)(2)} = -\frac{K}{2} \), a negative real point.
  • As \( \omega \to +\infty \), the magnitude decays like \( |L(j\omega)| \sim K/\omega^2 \) and the phase tends to \( -180^\circ \), so the locus approaches the origin from the negative real side.

Thus the Nyquist plot lies in the left half of the complex plane, starting at \( -K/2 \) and spiraling toward \( 0 \) without crossing the imaginary axis. For small gains \( K \), the segment does not surround the point \( -1 \), so \( N = 0 \) and

\[ Z = P + N = 1. \]

Hence there is always at least one RHP closed-loop pole; the closed loop cannot be stabilized by static proportional control alone. Stabilization requires a dynamic compensator that reshapes the Nyquist curve, for example by introducing additional poles and zeros via a lead–lag or PID controller (topics developed in earlier chapters).

This phenomenon is common in robotics: an inverted pendulum or balancing robot cannot generally be stabilized by simply applying a constant gain on a directly measured angle; a dynamic controller is required to move the Nyquist locus to satisfy \( N = -P \).

4. Time Delay in the Open Loop

Pure time delay in the forward path, of length \( L > 0 \), is represented by the factor \( e^{-Ls} \). Evaluated on the imaginary axis,

\[ e^{-Lj\omega} = \cos(\omega L) - j \sin(\omega L), \qquad |e^{-Lj\omega}| = 1, \quad \arg(e^{-Lj\omega}) = -\omega L. \]

Thus the delay has no effect on the magnitude of the frequency response, but introduces a phase lag that increases linearly with frequency. If the delay-free open-loop transfer function is \( L_0(s) = C(s)G(s) \), the delayed open loop is

\[ L(s) = L_0(s) e^{-Ls}, \qquad L(j\omega) = L_0(j\omega) e^{-Lj\omega}. \]

On the Nyquist plot, this corresponds to rotating every point \( L_0(j\omega) \) by an additional angle \( -\omega L \). As the delay increases, the Nyquist locus rotates clockwise around the origin, potentially moving it closer to (or through) the critical point \( -1 \).

In numerical computations and software libraries, time delay is often approximated by a rational transfer function using Padé approximation. The first-order Padé approximation is

\[ e^{-Ls} \approx \frac{1 - \frac{L}{2}s}{1 + \frac{L}{2}s}, \]

which introduces an additional real zero at \( s = \frac{2}{L} \) and pole at \( s = -\frac{2}{L} \). Higher-order Padé models provide more accurate approximations but also increase the system order.

In robotic control, delays of a few milliseconds in joint torque loops or vision-based feedback can significantly reduce phase margin, making the closed-loop system oscillatory or unstable if the loop is tuned aggressively.

5. Delay Margin and Its Approximation

Suppose the delay-free open-loop transfer function \( L_0(s) \) is stable and has a (positive) phase margin \( \varphi_m \) at the gain crossover frequency \( \omega_c \), defined by

\[ |L_0(j\omega_c)| = 1, \qquad \arg(L_0(j\omega_c)) = -\pi + \varphi_m. \]

Introducing a pure time delay \( L \), the phase at \( \omega_c \) becomes

\[ \arg(L(j\omega_c)) = \arg(L_0(j\omega_c)) - \omega_c L = -\pi + \varphi_m - \omega_c L. \]

The Nyquist locus crosses the critical point \( -1 \) when the total phase is \( -\pi \). Neglecting the change in \( \omega_c \) due to the delay (a standard approximation), the maximum delay that preserves the same crossover point is therefore

\[ L_{\max} \approx \frac{\varphi_m}{\omega_c}. \]

For example, if a robot joint servo loop has \( \varphi_m = 45^\circ \) and \( \omega_c = 40 \,\text{rad/s} \), writing the phase margin in radians \( \varphi_m = \pi/4 \) gives

\[ L_{\max} \approx \frac{\pi/4}{40} \approx 0.0196 \,\text{s} \approx 19.6 \,\text{ms}. \]

Any additional computation or communication delay beyond approximately 20 ms will push the Nyquist locus through \( -1 \), violating the desired phase margin and potentially destabilizing the joint.

flowchart TD
  R["Reference r"] --> C["Controller C(s)"]
  C --> D["Delay exp(-Ls)"]
  D --> G["Robot joint plant G(s)"]
  G --> Y["Output y"]
  Y --> H["Sensor / feedback"]
  H --> C
        

In practice, designers often introduce low-pass filtering and reduce loop bandwidth to compensate for known or expected delays, trading tracking speed for robustness.

6. Combined Effect of RHP Poles and Delay

Consider an open-loop transfer function with both an RHP pole and a delay:

\[ L(s) = \frac{K}{s-p}\,e^{-Ls}, \qquad p > 0, \; K > 0. \]

Here \( P = 1 \). For closed-loop stability, the Nyquist plot of \( L(j\omega) \) must encircle \( -1 \) exactly once in the clockwise direction (\( N = -1 \)). The delay \( e^{-Lj\omega} \) rotates the Nyquist curve clockwise, making it harder to achieve the required encirclement pattern without crossing the critical point in an undesirable way.

Using a Padé approximation of order one,

\[ L(s) \approx \frac{K}{s-p}\,\frac{1 - \frac{L}{2}s}{1 + \frac{L}{2}s} = K \; \frac{1 - \frac{L}{2}s}{(s-p)\left(1 + \frac{L}{2}s\right)}, \]

the approximate closed-loop characteristic polynomial becomes

\[ \left(s-p\right)\left(1 + \frac{L}{2}s\right) + K\left(1 - \frac{L}{2}s\right) = 0. \]

Expanding and collecting terms gives a quadratic polynomial in \( s \), allowing direct application of the Routh–Hurwitz criterion to obtain explicit inequalities relating \( K, p, L \) for approximate stability. The results always show a trade-off:

  • larger \( K \) can move the RHP pole to the left (stabilization), but
  • larger \( L \) reduces phase margin and can reintroduce instability.

For robotics, this implies that systems with intrinsic RHP poles (e.g. underactuated links) are far more intolerant to delays than stable plants. Careful scheduling of computation (e.g. running inner torque loops on fast embedded processors) is essential.

7. Python Lab — Nyquist with RHP Poles and Delay

We now demonstrate how to analyze an unstable plant with time delay using Python and the python-control library. Such models arise in robotic joints when balancing around an unstable equilibrium, with additional delay from communication or computation.


import numpy as np
import control as ct
import matplotlib.pyplot as plt

# Unstable plant with RHP pole at p > 0
p = 1.0
G0 = ct.TransferFunction([1.0], [1.0, -p])   # 1 / (s - p)

# Proportional controller
K = 2.0
C = ct.TransferFunction([K], [1.0])

# Pure time delay (L seconds), approximated by first-order Pade
L_delay = 0.05  # 50 ms delay
num_d, den_d = ct.pade(L_delay, 1)
Delay = ct.TransferFunction(num_d, den_d)

# Open-loop with delay
L_sys = C * G0 * Delay

# Nyquist plot
plt.figure()
ct.nyquist_plot(L_sys)
plt.title("Nyquist plot: unstable plant with time delay")

# Gain and phase margins (approximate, due to Pade)
gm, pm, wg, wp = ct.margin(L_sys)
print(f"Gain margin: {gm:.3f}, phase margin: {pm:.2f} deg")
print(f"Gain crossover frequency: {wg:.3f} rad/s")

# Approximate delay margin using phase margin (in rad)
if wp is not None and pm > 0:
    pm_rad = pm * np.pi / 180.0
    L_max = pm_rad / wp
    print(f"Approximate delay margin L_max ≈ {L_max:.4f} s")
else:
    print("Phase margin not well defined (possibly unstable open loop).")

plt.show()
      

For robotics, python-control can be combined with roboticstoolbox-python to obtain joint-space or task-space linearized models \( G(s) \) of a manipulator, then analyze the Nyquist plot of the resulting actuator loops including delays from networked communication.

8. C++ Lab — Frequency Response Sampling with Delay (Robotics Context)

In embedded robotic controllers (e.g. running under ROS 2 with ros_control and control_toolbox), the full Nyquist plot is rarely computed on-board. Instead, one may sample the frequency response for offline analysis. Below is a minimal C++ example using std::complex to compute \( L(j\omega) \) for an unstable plant with delay:


#include <iostream>
#include <complex>
#include <vector>

using cd = std::complex<double>;

cd L_of_jw(double w, double K, double p, double Ldelay) {
    cd s(0.0, w);                 // s = j w
    cd G0 = K / (s - cd(p, 0.0)); // K / (s - p), p > 0 (RHP pole)
    cd delay = std::exp(-Ldelay * s); // exp(-L s)
    return G0 * delay;
}

int main() {
    double K = 2.0;
    double p = 1.0;
    double Ldelay = 0.05; // 50 ms

    std::vector<double> w_grid;
    for (int k = 0; k <= 500; ++k) {
        w_grid.push_back(0.1 * k); // 0 ... 50 rad/s
    }

    for (double w : w_grid) {
        cd L = L_of_jw(w, K, p, Ldelay);
        std::cout << w << " "
                  << std::real(L) << " "
                  << std::imag(L) << std::endl;
    }

    return 0;
}
      

The output can be logged and imported into Python, MATLAB, or another tool to draw an approximate Nyquist diagram. In ROS-based robotic systems, similar code can be embedded inside a diagnostics node to characterize loop stability with different delays and controller gains.

9. Java Lab — Nyquist Samples with Commons Math and Robotic Libraries

Java-based robotics frameworks (e.g. FRC's WPILib) can also benefit from frequency-domain analysis. Java does not ship with a complex-number type, but the Apache Commons Math library provides Complex. The following example computes \( L(j\omega) \) samples for use in a Nyquist plot:


import org.apache.commons.math3.complex.Complex;

public class NyquistRHPDelay {

    public static Complex Lofjw(double w, double K, double p, double Ldelay) {
        Complex s = new Complex(0.0, w);          // s = j w
        Complex G0 = new Complex(K, 0.0).divide(s.subtract(new Complex(p, 0.0)));
        Complex delay = (new Complex(0.0, -w * Ldelay)).exp(); // exp(-j w L)
        return G0.multiply(delay);
    }

    public static void main(String[] args) {
        double K = 2.0;
        double p = 1.0;
        double Ldelay = 0.03; // 30 ms

        for (int k = 0; k <= 500; ++k) {
            double w = 0.1 * k;
            Complex L = Lofjw(w, K, p, Ldelay);
            System.out.printf("%f %f %f%n", w, L.getReal(), L.getImaginary());
        }
    }
}
      

In a robotics-oriented library like WPILib, one would typically construct a linear model of the subsystem (e.g. a joint with an unstable equilibrium) and wrap calls like Lofjw into a diagnostics or tuning tool that evaluates robustness to additional delays from communication or higher-level planning software.

10. MATLAB/Simulink and Wolfram Mathematica Labs

10.1 MATLAB/Simulink

MATLAB's Control System Toolbox provides direct support for Nyquist plots and Padé approximations. Consider again the unstable plant with delay: \( L(s) = \dfrac{K}{s-p} e^{-Ls} \), with \( p > 0 \).


% Unstable plant with RHP pole and time delay
s = tf('s');
p = 1.0;
K = 2.0;
G0 = 1 / (s - p);
L_delay = 0.05;

% First-order Pade approximation of the delay
[numd, dend] = pade(L_delay, 1);
Delay = tf(numd, dend);

Lsys = K * G0 * Delay;

figure;
nyquist(Lsys);
title('Nyquist: unstable plant with time delay');

[gm, pm, wg, wp] = margin(Lsys);
fprintf('Gain margin: %g, phase margin: %g deg\n', gm, pm);
if wp > 0 && pm > 0
    Lmax = (pm * pi / 180) / wp;
    fprintf('Approximate delay margin L_max ≈ %g s\n', Lmax);
end

% Simulink hint:
%  - Use a "Transfer Fcn" block for 1/(s - p)
%  - Use a "Transport Delay" block with delay L_delay
%  - Close the loop with a "PID Controller" or "Gain" block
%  - Robotic models from Robotics System Toolbox can be linearized
%    around equilibria and connected to this loop for joint-level analysis.
      

10.2 Wolfram Mathematica

Mathematica can symbolically represent time-delay systems using Padé approximations and plot Nyquist diagrams:


(* Parameters *)
p = 1.0;
K = 2.0;
L = 0.05;

(* First-order Pade approximation of exp(-L s) *)
s =.;
padeDelay[s_] := (1 - (L/2) s)/(1 + (L/2) s);

Lsys[s_] := (K/(s - p)) * padeDelay[s];

(* Transfer function model and Nyquist plot *)
tf = TransferFunctionModel[Lsys[s], s];
NyquistPlot[tf, {s, I*10^-3, I*10^2},
  PlotRange -> All,
  AxesLabel -> {"Re", "Im"},
  PlotLegends -> {"L(j w) with RHP pole and delay"}
]
      

Symbolic tools are particularly useful for deriving closed-form stability conditions (e.g. via Routh–Hurwitz applied to Padé models) and for exploring parameter sensitivities in robotic actuators subject to delays.

11. Problems and Solutions

Problem 1 (Nyquist with RHP poles): Let \( L(s) \) be a rational open-loop transfer function with no poles on the imaginary axis and \( P \) poles in the RHP. Let \( F(s) = 1+L(s) \). Show that if the Nyquist plot of \( L(s) \) (corresponding to the standard contour) encircles \( -1 \) a total of \( N \) times in the clockwise direction, then the number \( Z \) of closed-loop poles in the RHP satisfies \( Z = P + N \).

Solution:

By construction, \( F(s) = 1+L(s) \) has the same poles as \( L(s) \), hence \( P \) poles in the RHP. Let \( Z \) denote the number of zeros of \( F(s) \) in the RHP. The argument principle states that, for a contour that encloses the RHP and does not pass through zeros or poles,

\[ \Delta_C \arg F(s) = 2\pi (Z - P), \]

where \( \Delta_C \arg F(s) \) is the net change in the argument of \( F(s) \) along the contour. The Nyquist plot of \( L(s) \) is the image of the same contour under \( L(s) \), and the image of \( F(s) \) is obtained by translating this plot by \( +1 \). Therefore, each clockwise encirclement of \( -1 \) by \( L(s) \) corresponds to a clockwise encirclement of the origin by \( F(s) \).

Counting clockwise encirclements as negative, we have

\[ \Delta_C \arg F(s) = -2\pi N. \]

Combining with the argument principle,

\[ -2\pi N = 2\pi (Z - P) \quad \Longrightarrow \quad Z - P = -N \quad \Longrightarrow \quad Z = P + N. \]

This is the Nyquist relation used in the lesson. For closed-loop stability we require \( Z = 0 \), hence \( N = -P \).

Problem 2 (Delay margin from Bode data): A stable robot joint control loop has delay-free open-loop transfer function \( L_0(s) \) with gain crossover frequency \( \omega_c = 25\,\text{rad/s} \) and phase margin \( \varphi_m = 35^\circ \). Assuming these quantities do not change when a small delay is added, estimate the maximum tolerable delay \( L_{\max} \) before loss of stability.

Solution:

Convert the phase margin to radians: \( \varphi_m = 35^\circ = 35\pi/180 \). The approximate delay margin is

\[ L_{\max} \approx \frac{\varphi_m}{\omega_c} = \frac{35\pi/180}{25} = \frac{7\pi}{900} \approx 0.0244 \,\text{s} \approx 24.4 \,\text{ms}. \]

Thus, the loop can tolerate up to approximately 24 ms of additional delay before the Nyquist plot reaches the critical point \( -1 \) and the phase margin effectively becomes zero.

Problem 3 (Padé approximation and Routh–Hurwitz): Consider the stable plant \( G(s) = \dfrac{1}{s(s+2)} \) with proportional controller gain \( K > 0 \) and a time delay \( L > 0 \) in the forward path. Using the first-order Padé approximation \( e^{-Ls} \approx \dfrac{1 - \frac{L}{2}s}{1 + \frac{L}{2}s} \), write the approximate closed-loop characteristic polynomial and derive a condition on \( K, L \) for approximate stability via the Routh–Hurwitz criterion.

Solution:

The open-loop transfer function with Padé delay is

\[ L(s) \approx \frac{K}{s(s+2)} \,\frac{1 - \frac{L}{2}s}{1 + \frac{L}{2}s}. \]

The closed-loop characteristic equation is \( 1 + L(s) = 0 \), i.e.

\[ 1 + \frac{K}{s(s+2)} \,\frac{1 - \frac{L}{2}s}{1 + \frac{L}{2}s} = 0. \]

Multiply both sides by \( s(s+2)\left(1 + \frac{L}{2}s\right) \) to obtain the characteristic polynomial:

\[ s(s+2)\left(1 + \frac{L}{2}s\right) + K\left(1 - \frac{L}{2}s\right) = 0. \]

Expanding,

\[ \begin{aligned} s(s+2)\left(1 + \frac{L}{2}s\right) &= s(s+2) + \frac{L}{2}s^2(s+2) \\ &= s^2 + 2s + \frac{L}{2}s^3 + L s^2, \\ K\left(1 - \frac{L}{2}s\right) &= K - \frac{KL}{2}s. \end{aligned} \]

Summing and grouping powers of \( s \):

\[ \frac{L}{2}s^3 + (1+L)s^2 + \left(2 - \frac{KL}{2}\right)s + K = 0. \]

For stability, all coefficients must be positive: \( \frac{L}{2} > 0 \) (true), \( 1+L > 0 \) (true), \( 2 - \frac{KL}{2} > 0 \), and \( K > 0 \). The nontrivial inequality is

\[ 2 - \frac{KL}{2} > 0 \quad \Longrightarrow \quad KL < 4. \]

The Routh–Hurwitz table for a cubic polynomial yields the additional condition \( (1+L)\left(2 - \frac{KL}{2}\right) > \frac{L}{2}K \), which simplifies to a more conservative bound on \( K \) for fixed \( L \). In particular, the admissible gain shrinks as the delay \( L \) increases, reflecting the reduced phase margin.

Problem 4 (Unstable plant and delay margin): Consider \( L(s) = \dfrac{K}{s-1}e^{-Ls} \) with \( K > 1 \), so that the delay-free closed loop is stable. Using the first-order Padé approximation for \( e^{-Ls} \), explain qualitatively why the maximum admissible delay \( L_{\max} \) is much smaller than in the stable-plant case of Problem 3.

Solution:

Applying the same technique as in Problem 3, the Padé-approximated system has characteristic polynomial of order two. Routh–Hurwitz conditions produce inequalities coupling \( K \) and \( L \). Because the plant has an RHP pole at \( s=1 \), even a small phase lag from the delay moves the Nyquist plot closer to the critical point \( -1 \). In contrast, when all plant poles are in the LHP, the Nyquist curve starts from a region farther from \( -1 \), allowing larger rotations before instability.

Concretely, for the unstable plant, the delay-free Nyquist plot must already produce one clockwise encirclement of \( -1 \) (\( N=-1 \)). Small additional clockwise rotation from delay can increase the number of encirclements (changing \( N \)) or cause the locus to pass through \( -1 \), violating the Nyquist condition. Hence, \( L_{\max} \) for an unstable plant is typically much smaller than for a stable plant, a critical issue in robotic balancing problems.

12. Summary

In this lesson we extended the Nyquist stability criterion to open-loop systems with RHP poles and pure time delays. We formalized the relation \( Z = P + N \) and showed that an unstable open-loop system (\( P > 0 \)) requires \( N = -P \) clockwise encirclements of \( -1 \) for closed-loop stability. We analyzed pure time delay as a unity-magnitude, frequency-dependent phase lag and introduced Padé approximations to represent delays as rational transfer functions suitable for Routh–Hurwitz analysis.

We derived a simple approximate formula for delay margin, \( L_{\max} \approx \varphi_m/\omega_c \), and emphasized that systems with RHP poles are significantly more sensitive to delays than purely LHP plants. Finally, we illustrated how to compute Nyquist plots and margins using Python, C++, Java, MATLAB/Simulink, and Mathematica, situating the results in the context of robotic actuators and servo systems.

13. References

  1. Nyquist, H. (1932). Regeneration theory. Bell System Technical Journal, 11(1), 126–147.
  2. Bode, H. W. (1940). Relations between attenuation and phase in feedback amplifier design. Bell System Technical Journal, 19(3), 421–454.
  3. Pontryagin, L., Teodorchik, E., & Shatunovsky, A. (1933). On the stability of systems with delayed feedback. Zeitschrift für Angewandte Mathematik und Mechanik.
  4. Jury, E. I. (1964). A stability criterion for linear systems with time delay. IEEE Transactions on Automatic Control, 9(1), 68–69.
  5. Bellman, R., & Cooke, K. L. (1963). Differential-Difference Equations. Academic Press.
  6. Zames, G. (1981). Feedback and optimal sensitivity: Model reference transformations, multiplicative seminorms, and approximate inverses. IEEE Transactions on Automatic Control, 26(2), 301–320.
  7. Mirkin, L. (2001). On the use of Padé approximations in time-delay control. IEEE Transactions on Automatic Control, 45(3), 421–431.
  8. Niculescu, S.-I. (2001). Delay Effects on Stability: A Robust Control Approach. Springer.
  9. Kao, C.-Y., & Lincoln, B. (2004). Simple stability criteria for systems with time-varying delays. Automatica, 40(8), 1429–1434.
  10. Michiels, W., & Niculescu, S.-I. (2007). Stability and Stabilization of Time-Delay Systems: An Eigenvalue-Based Approach. SIAM.