Lead-lag compensators

Updated

November 19, 2024

In this section, we study a class of frequency domain controllers known as the lead-lag compensators. To get intution, we start with the simplest form of controllers: the proportional controller.

1 Improving transient response via gain adjustment

Example 1 Consider the open-loop transfer function \[ G(s) = \frac{1000}{s(s+10)}. \] Find the value of gain \(K\) such that the gain adjusted system \(KG(s)\) has a PM of \(45 ^∘\).

Solution

We first calculate the PM of the system

From the plot, we can see that the gain plot intersects the 0dB line at \(ω = 10\sqrt{10}\) (the green circle). Thus, \(ω_{\rm gc} = 10\sqrt{10}\) rad/s. At \(ω_{\rm gc} = 10\sqrt{10}\), we have \(\angle G(j ω_{\rm gc}) = -157.5 ^∘\). Thus, \(\text{PM} = 180 ^∘ - 157.5 ^∘ = 22.5 ^∘\).

The desired PM is \(45 ^∘\). For that, we want the phase at the gain crossover frequency to be \(-180 ^∘ + 45 ^∘ = -135 ^∘\) (the cyan horizontal line). So the desired gain crossover frequency is \(ω^d_{\rm gc} = 10\) rad/s.

For that to happen, we need a gain compensation equal to 20dB, so that the cyan point in the gain plot becomes the new gain crossover frequency.

Thus, we need a gain compensation of \(K = -20 \text{dB} = \dfrac{1}{10}\).

The gain adjustment procedure can be summarized as follows:

  1. Draw the Bode plot (both gain and phase plots).
  2. Find the frequence \(ω^d_{\rm gc}\) on the phase plot that gives the desired PM.
  3. Add a gain compensation \(K\) of \(-20\log| G(ω^d_{\rm gc})|\)

Then, the system \(KG(s)\) has a PM equal to the desired PM. The drawback is that the above procedure changes the error constant of the system. For instance, in Example 1, gain adjustment changes the velocity constant from \(K_v = 100\) to \(K_v = 10\).

In the rest of the section, we design two forms of compensators that allow us to change the PM without an impact on the error constants.

2 Lag Compensator

The primary function of a lag compensator is to provide attentuation in the high-frequency range to give a system sufficient phase margin. The general form of the lag compensator is \[ KG_c(s) = K \cdot \frac {1}{α} \cdot \frac{s + \dfrac{1}{T}}{s + \dfrac{1}{αT}}, \quad α > 1. \] The lag compesnator is parameterized controller with three tunable parameters: \(K\), \(T\), and \(α\). The Bode plot of \(G_c(s)\) for \(α = 10\) is shown in Figure 1. Typically, we use this to design a compensator for type-1 system to meet requirements that can be translated in terms of phase margin and velocity constant.

Figure 1: Bode plot of \(G_c(s)\) for \(α = 10\)

Given a desired velocity constant and phase margin, we choose the parameters \(K\), \(T\), and \(α\) of the lag-compensator as follows:

  1. Determine gain \(K\) to achieve the desired error constant.

    Note that \(G_c(s)\) can be written as \[ G_c(s) = \frac{1}{α} \cdot \frac{s + \dfrac{1}{T}}{s + \dfrac{1}{αT}} = \frac{1 + sT}{1 + s α T} \] which is a normalized transfer function with unity gain. Thus, \(G_c(s)\) does not provide any gain compensation at low frequency. Therefore, it has no impact on the error constants.

    Thus, \[ \bbox[5pt,border: 1px solid] {\text{Error constant of $KG_c(s)G(s)$}} = \bbox[5pt,border: 1px solid] {K \cdot \text{Error constant of $G(s)$}} \]

  2. Determine the target phase margin and the desired gain crossover frequency.

    Consider the gain compensated system \(H(s) = KG(s)\) and check if \(H(s)\) has the desired PM. If so, we are done and don’t really need the compensator \(G_c(s)\). But typically the gain compensated system \(H(s)\) will not have the desired PM. In that case, we choose \[ \text{target PM} = \text{desired PM} + \text{($5 ^∘$ to $12 ^∘$)}. \]

    The reason that we add \(5 ^∘\) to \(12 ^∘\) to the PM is because we will follow a crude method to design a lag compensator. The \(5 ^∘\) to \(12 ^∘\) is a safety margin. We target something higher so that even if we don’t achieve the target PM, we hope that we may at least achieve the desired PM. In this course, we will always take the safety margin to be \(12 ^∘\).

    Now, we look at the phase plot of \(H(s)\), which is the same as the phase plot of \(G(s)\), and find the desired gain crossover frequency \(ω^d_{\rm gc}\) such that \[ \angle H(j ω^d_{\rm gc}) = - 180 + \text{target PM}. \] We want that at this frequency the gain plot of \(H(s)\) should pass through the 0dB line.

  3. Determine the zero (and thus the value of \(T\)).

    Look at the Bode plot of Figure 1. Observe that at frequencies above \(10/T\), the lag compensator \(G_c(s)\) has negligible phase, but provides a gain attentuation of \(-20 \log α\) dB. So, we choose \[ \dfrac{10}{T} = ω^d_{\rm gc}. \] With this choice, we have \[ \angle G_c(j ω^d_{\rm gc})H(j ω^d_{\rm gc}) \approx \angle H(j ω^d_{\rm gc}). \] The above relationship is an approximation rather than an equality because we are using the straight line approximations for the phase plot. In reality, the phase of \(G_c(j ω^d_{\rm gc})\) at \(10/T\) is not exactly zero. This was one of the reasons that we added a safety margin of \(5 ^∘\) to \(12 ^∘\).

  4. Determine the attentuation needed to be \(ω^d_{\rm gc}\) the gain crossover frequency

    Since \(H(s)\) did not have the desired PM (in step 2), it must be the case that \(| H(j ω^d_{\rm gc}) |_{\rm dB} \ge 0\, {\rm dB}\). We choose \(α\) such that \[| H(j ω^d_{\rm gc}) |_{dB} - 20 \log α = 0. \] This ensures that \(|G_c(j ω^d_{\rm gc}) H(j ω^d_{\rm gc}|_{\rm dB} \approx 0\,{\rm dB}\). Therefore, the PM of \(K G_c(s) G(s)\) is approximately the target PM. In practise, we are slightly off because both the gain and the phase plots were approximations.