Most PID tuning methods start with time-domain behavior. Increase \(K_p\), reduce overshoot, remove steady-state error, add derivative action, and repeat.

But there is another way to see the problem. Instead of asking what values of \(K_p\), \(T_I\), and \(T_D\) should be tried, we ask where the open-loop frequency response should be at the desired crossover frequency.

That question leads naturally to the Nyquist plot.

The Main Idea

For a unity-feedback system, define the open-loop transfer function as:

Open-loop transfer function
$$L(s)=C(s)P(s)$$

Here, \(P(s)\) is the plant, \(C(s)\) is the controller, and \(L(s)\) is the open-loop transfer function.

The Nyquist plot shows the complex value of \(L(j\omega)\) as frequency changes. So instead of looking at gain and phase separately, we look at one point in the complex plane:

$$L(j\omega)$$

The controller changes the plant response by multiplying it:

$$L(j\omega)=C(j\omega)P(j\omega)$$

The Desired Nyquist Point

Choose a desired gain crossover frequency:

$$\omega_{gc}^{*}$$

At this frequency, the magnitude of the open-loop system should be 1:

$$|L(j\omega_{gc}^{*})|=1$$

This means the desired point lies on the unit circle. Now choose the desired phase margin \(PM\). At crossover, the desired phase is:

$$\angle L(j\omega_{gc}^{*})=-180^\circ+PM$$

Therefore, the desired open-loop value is:

$$L^{*}(j\omega_{gc}^{*})=e^{j(-180^\circ+PM)}$$

This is the key Nyquist design target. The controller must move the plant point \(P(j\omega_{gc}^{*})\) to this desired point.

Nyquist design target showing the plant point, desired point, unit circle, critical point, and phase margin
Figure 1. Nyquist design target: the controller transforms the plant point into the desired open-loop point on the unit circle.

Step 1: Evaluate the Plant

At the chosen crossover frequency, evaluate:

$$P(j\omega_{gc}^{*})$$

This complex number contains both magnitude and phase:

$$P(j\omega_{gc}^{*})=|P(j\omega_{gc}^{*})|e^{j\angle P(j\omega_{gc}^{*})}$$

The plant already gives some gain and some phase. The controller only needs to provide what is missing.

Step 2: Required Controller Value

At the design frequency, we want:

$$C(j\omega_{gc}^{*})P(j\omega_{gc}^{*})=L^{*}(j\omega_{gc}^{*})$$

Therefore:

$$C(j\omega_{gc}^{*})=\frac{L^{*}(j\omega_{gc}^{*})}{P(j\omega_{gc}^{*})}$$

This is the whole design problem. The required controller value is a complex number. It has a required magnitude and a required phase.

Step 3: Required Gain

The magnitude requirement is:

$$|C(j\omega_{gc}^{*})|=\frac{|L^{*}(j\omega_{gc}^{*})|}{|P(j\omega_{gc}^{*})|}$$

Since the desired crossover magnitude is 1:

$$|L^{*}(j\omega_{gc}^{*})|=1$$ $$\Delta K=\frac{1}{|P(j\omega_{gc}^{*})|}$$

This is the gain the controller must provide at the chosen frequency.

Step 4: Required Phase

The phase requirement is:

$$\angle C(j\omega_{gc}^{*})=\angle L^{*}(j\omega_{gc}^{*})-\angle P(j\omega_{gc}^{*})$$

Since \(\angle L^{*}(j\omega_{gc}^{*})=-180^\circ+PM\), we get:

$$\Delta \phi=-180^\circ+PM-\angle P(j\omega_{gc}^{*})$$

So the controller must provide \(\Delta K\) and \(\Delta \phi\). At this point, PID design becomes a geometric problem.

Nyquist Interpretation

The plant gives a point in the complex plane:

$$P(j\omega_{gc}^{*})$$

The desired open-loop system needs another point:

$$L^{*}(j\omega_{gc}^{*})$$

The controller is the complex multiplier that moves one point to the other:

$$C(j\omega_{gc}^{*})=\frac{L^{*}(j\omega_{gc}^{*})}{P(j\omega_{gc}^{*})}$$

So the controller scales the plant point by \(\Delta K\) and rotates it by \(\Delta \phi\).

Choosing the Controller Type

The sign of \(\Delta \phi\) tells us what type of controller is needed.

If \(\Delta \phi > 0\), the controller must rotate the Nyquist point counterclockwise. That means phase lead. Use a PD controller, a PID controller with dominant derivative action, or lead compensation.

If \(\Delta \phi < 0\), the controller must rotate the Nyquist point clockwise. That means phase lag. Use a PI controller or lag compensation.

If both steady-state accuracy and phase lead near crossover are needed, use a full PID controller.

PD Controller Design

A PD controller is:

$$C(s)=K_p(1+T_Ds)$$

At \(s=j\omega\):

$$C(j\omega)=K_p(1+j\omega T_D)$$ $$\phi_{PD}=\tan^{-1}(\omega T_D)$$

To match the required phase:

$$\tan^{-1}(\omega_{gc}^{*}T_D)=\Delta \phi$$ $$T_D=\frac{\tan(\Delta \phi)}{\omega_{gc}^{*}}$$

Formulas using \(\tan()\) require radians unless your software explicitly accepts degrees.

$$|1+j\omega_{gc}^{*}T_D|=\sqrt{1+(\omega_{gc}^{*}T_D)^2}$$ $$K_p=\frac{\Delta K}{\sqrt{1+(\omega_{gc}^{*}T_D)^2}}$$

This gives a PD controller that provides the required rotation and scaling at \(\omega_{gc}^{*}\).

Practical Note About Derivative Action

The ideal PD controller is useful for analysis, but real derivative action is usually filtered. A more practical form is:

$$C(s)=K_p\left(1+\frac{T_Ds}{1+\frac{T_D}{N}s}\right)$$

\(N\) is often chosen between 5 and 20. The filter reduces high-frequency noise amplification.

PI Controller Design

A PI controller is:

$$C(s)=K_p\left(1+\frac{1}{T_Is}\right)$$

At \(s=j\omega\):

$$C(j\omega)=K_p\left(1-\frac{j}{\omega T_I}\right)$$ $$\phi_{PI}=-\tan^{-1}\left(\frac{1}{\omega T_I}\right)$$

If \(\Delta \phi < 0\), then:

$$T_I=\frac{1}{\omega_{gc}^{*}\tan(|\Delta \phi|)}$$ $$K_p=\frac{\Delta K}{\sqrt{1+\frac{1}{(\omega_{gc}^{*}T_I)^2}}}$$

PID Controller Design

A PID controller is:

$$C(s)=K_p\left(1+\frac{1}{T_Is}+T_Ds\right)$$

At \(s=j\omega\):

$$C(j\omega)=K_p\left[1+j\left(\omega T_D-\frac{1}{\omega T_I}\right)\right]$$ $$\Delta \phi=\tan^{-1}\left(\omega T_D-\frac{1}{\omega T_I}\right)$$

To reduce the number of unknowns, define:

$$\alpha=\frac{T_I}{T_D}$$ $$T_I=\alpha T_D$$

Substituting into the phase condition:

$$\tan(\Delta \phi)=\omega T_D-\frac{1}{\alpha \omega T_D}$$ $$T_D=\frac{\tan(\Delta \phi)+\sqrt{\tan^2(\Delta \phi)+\frac{4}{\alpha}}}{2\omega_{gc}^{*}}$$ $$T_I=\alpha T_D$$

The controller magnitude at the design frequency becomes:

$$|C(j\omega_{gc}^{*})|=K_p\sqrt{1+\tan^2(\Delta \phi)}$$ $$K_p=\Delta K\cos(\Delta \phi)$$

This gives a PID controller that matches the required complex value at the chosen design frequency.

Example

Consider the plant:

$$P(s)=\frac{1}{s(s+1)}$$

Choose \(\omega_{gc}^{*}=1\ \text{rad/s}\) and \(PM=60^\circ\).

Evaluate the Plant

At \(s=j1\):

$$P(j1)=\frac{1}{j(1+j)}$$ $$|P(j1)|=0.707$$ $$\angle P(j1)=-135^\circ$$ $$P(j1)=0.707e^{-j135^\circ}$$

Desired Nyquist Point

The desired open-loop phase is:

$$-180^\circ+PM=-180^\circ+60^\circ=-120^\circ$$

Since crossover magnitude must be 1:

$$L^{*}(j1)=1e^{-j120^\circ}$$

Required Controller

The required controller value is:

$$C(j1)=\frac{L^{*}(j1)}{P(j1)}=\frac{1e^{-j120^\circ}}{0.707e^{-j135^\circ}}$$ $$|C(j1)|=\frac{1}{0.707}=1.414$$ $$\angle C(j1)=-120^\circ-(-135^\circ)=15^\circ$$

Therefore, \(\Delta K=1.414\) and \(\Delta \phi=15^\circ\). The controller must scale the plant point by 1.414 and rotate it by \(15^\circ\) counterclockwise. Because the required phase is positive, a PD controller is a good choice.

PD Design

Convert \(15^\circ\) to radians before using \(\tan()\):

$$15^\circ=0.262\ \text{rad}$$ $$T_D=\frac{\tan(0.262)}{1}=0.268$$ $$K_p=\frac{1.414}{\sqrt{1+(1)(0.268)^2}}=1.366$$

The controller is:

$$C(s)=1.366(1+0.268s)$$

Check the Design

At \(1\ \text{rad/s}\), the controller gives \(|C(j1)|=1.414\) and \(\angle C(j1)=15^\circ\). The plant gives \(|P(j1)|=0.707\) and \(\angle P(j1)=-135^\circ\).

$$|C(j1)P(j1)|=1.414 \times 0.707=1$$ $$\angle C(j1)P(j1)=15^\circ-135^\circ=-120^\circ$$

So the compensated loop crosses the unit circle with phase \(-120^\circ\). That gives \(PM=60^\circ\), so the design condition is satisfied.

Connecting Nyquist to Bode

The Nyquist plot and the Bode plot show the same frequency-response information. They just show it differently.

The Bode plot separates the frequency response into magnitude and phase:

$$|L(j\omega)|$$ $$\angle L(j\omega)$$

The Nyquist plot combines them into one complex curve:

$$L(j\omega)=|L(j\omega)|e^{j\angle L(j\omega)}$$

At gain crossover, \(|L(j\omega_{gc})|=1\). On the Bode plot, this is where the magnitude crosses 0 dB. On the Nyquist plot, this is where the curve crosses the unit circle.

The phase margin is also the same. On the Bode plot, it is measured from the phase curve to \(-180^\circ\) at crossover. On the Nyquist plot, it is the angle between the negative real axis and the open-loop point on the unit circle.

Diagram connecting Bode gain and phase to a Nyquist point on the unit circle
Figure 3. Bode and Nyquist show the same design condition: Bode separates gain and phase, while Nyquist combines them into one complex point.

From Time-Domain Specs to Phase Margin

In practice, \(PM\) and \(\omega_{gc}^{*}\) are not chosen randomly. Usually the design starts from time-domain requirements such as maximum overshoot, settling time, and rise time.

For a dominant second-order closed-loop approximation, the percent overshoot \(M_p\%\) gives the damping ratio \(\zeta\). First convert percent overshoot to a fraction:

$$M_p=\frac{M_p\%}{100}$$

Then compute:

$$\zeta=\frac{-\ln(M_p)}{\sqrt{\pi^2+\ln^2(M_p)}}$$

For example, \(M_p\%=10\%\) means \(M_p=0.10\), which gives approximately \(\zeta=0.59\).

Once \(\zeta\) is known, an approximate phase margin can be estimated from:

$$PM \approx \tan^{-1}\left( \frac{2\zeta}{\sqrt{\sqrt{1+4\zeta^4}-2\zeta^2}} \right)$$

This formula gives \(PM\) in radians unless your software uses degrees. Convert it to degrees when using it in the Nyquist design equations.

Using Settling Time

The settling time can be used to estimate the natural frequency. For the common 2% settling-time criterion:

$$t_s \approx \frac{4}{\zeta \omega_n}$$ $$\omega_n \approx \frac{4}{\zeta t_s}$$

For the 5% criterion, a common approximation is:

$$t_s \approx \frac{3}{\zeta \omega_n}$$ $$\omega_n \approx \frac{3}{\zeta t_s}$$

Using Rise Time

Rise time can also be used as a rough bandwidth estimate. A simple approximation is:

$$t_r \approx \frac{1.8}{\omega_n}$$ $$\omega_n \approx \frac{1.8}{t_r}$$

These formulas are approximate, but they give a useful starting point for choosing the desired crossover frequency. In many loop-shaping designs, \(\omega_{gc}^{*}\) is selected near the desired closed-loop bandwidth, often close to the estimated \(\omega_n\), then adjusted for robustness, noise, actuator limits, and plant uncertainty.

Practical Flow

  1. Start with desired \(M_p\%\), \(t_s\), and possibly \(t_r\).
  2. Use \(M_p\%\) to estimate \(\zeta\).
  3. Use \(\zeta\) to estimate the desired \(PM\).
  4. Use \(t_s\) or \(t_r\) to estimate the desired speed and choose \(\omega_{gc}^{*}\).
  5. Use \(PM\) and \(\omega_{gc}^{*}\) in the Nyquist formulas above.

So yes: we often receive time-domain requirements first. Then we translate them into a frequency-domain target: desired phase margin and desired crossover frequency.

Important Practical Notes

This method is clean, but it should not be used blindly. The chosen crossover frequency matters. A higher crossover frequency usually gives a faster response, but it may also increase noise sensitivity and require more control effort.

The desired phase margin also matters. A larger phase margin usually gives a more damped response, but it may reduce bandwidth.

Derivative action should usually be filtered. Integral action improves steady-state accuracy, but it can reduce phase margin if it is too aggressive.

After designing the controller, always check closed-loop stability, step response, control effort, actuator saturation, noise sensitivity, and robustness to plant uncertainty. Nyquist design gives the target. Simulation and validation confirm whether the target is practical.

Final Insight

PID design can be understood as a Nyquist shaping problem. At the desired crossover frequency, the plant gives \(P(j\omega_{gc}^{*})\). The designer chooses the desired open-loop point:

$$L^{*}(j\omega_{gc}^{*})=e^{j(-180^\circ+PM)}$$

The controller must provide:

$$C(j\omega_{gc}^{*})=\frac{L^{*}(j\omega_{gc}^{*})}{P(j\omega_{gc}^{*})}$$

So PID design reduces to scaling and rotation:

$$\boxed{\text{Controller design}=\Delta K+\Delta \phi}$$

The Nyquist plot shows the geometry. The Bode plot shows the same result as gain and phase. Together, they give a practical way to design PID controllers instead of guessing them.

References