16 Frequency Domain Specifications

16.1 Theory

In this chapter we show how the magnitude of the frequency response of the open-loop system can be used to determine the performance of the closed-loop feedback system. A general feedback loop is shown in Fig. 16.1. In this feedback system, \(r(t)\) is the reference input to be tracked by \(y(t)\), \(d_{in}(t)\) is an unknown input disturbance, \(d_{out}\) is an unknown output disturbance, and \(n(t)\) is an unknown noise signal. Note that because of the presence of \(n\), the error signal \(e=r-y\) is no longer the input to \(C(s)\). The input to \(C(s)\) is now \(r-y-n\). Note that this definition differs from the one used in Chapter 12 and will result in a different transfer function between the error and the noise. To find the transfer function from the inputs \(r\), \(d_{in}\), \(d_{out}\), and \(n\) to the error \(e(t)\) we start by finding the transfer functions to \(y\). Starting at \(Y(s)\) and following the loop backward until returning to \(Y\) we get \begin{align} & Y(s) = -D_{out}(s) + P \left( - D_{in}(s) + C\left(R(s) - N(s) - Y(s)\right) \right) \notag \\ \implies & (1+PC) Y(s) = PC R(s) - PC N(s) - D_{out}(s) - P D_{in}(s) \notag \\ & Y(s) = \frac{PC}{1+PC}R(s) - \frac{PC}{1+PC} N(s) % - \frac{1}{1+PC} D_{out}(s) - \frac{P}{1+PC} D_{in}(s). \tag{16.1} \end{align} Defining the error to be \(E(s) \stackrel{\triangle}{=}R(s)-Y(s)\) we get \begin{align} E(s) &= R(s) - Y(s) \\ % &= \frac{1}{1+PC}R(s) + \frac{PC}{1+PC} N(s) % + \frac{1}{1+PC} D_{out}(s) + \frac{P}{1+PC} D_{in}(s), \tag{16.3} \end{align} Therefore,

  1. The transfer function from the reference \(r\) to the error \(e\) is \(\frac{1}{1+P(s)C(s)}\),

  2. The transfer function from the noise \(n\) to the error \(e\) is \(\frac{P(s)C(s)}{1+P(s)C(s)}\),

  3. The transfer function from the output disturbance \(d_{out}\) to the error \(e\) is \(\frac{1}{1+P(s)C(s)}\), and

  4. The transfer function from the input disturbance \(d_{in}\) to the error \(e\) is \(\frac{P(s)}{1+P(s)C(s)}\).

General feedback loop.

Chapter 16 activity

Trace the error transfer path

Select one input signal and follow how it appears in the error equation. The highlighted path reinforces why different specifications use different closed-loop transfer functions.

Figure 1.6. The selected path shows which blocks determine the transfer function from the chosen input to the error signal.

Selected path

Transfer to error:

Specification connection:

For typical applications, we have that

  1. The reference signal \(r(t)\) is a low frequency signal with frequency content below \(\omega_r\),

  2. The noise signal \(n(t)\) is a high frequency signal with frequency content above \(\omega_{\mathit{no}}\),

  3. The output disturbance signal \(d_{out}(t)\) is a low frequency signal with frequency content below \(\omega_{d_{out}}\),

  4. The input disturbance signal \(d_{in}(t)\) is a low frequency signal with frequency content below \(\omega_{d_{in}}\).

The objective for the control design is to find \(C(s)\) so that the following specifications are satisfied:

  1. Tracking: Track reference signals \(r(t)\) with frequency content below \(\omega_r\) so that the error due to the reference signal satisfies \[\left|e(t)\right|\leq \gamma_r\left|r(t)\right|,\]

  2. Noise Attenuation: Attenuate noise signals \(n(t)\) with frequency content above \(\omega_{no}\) so that the error due to the noise signal satisfies \[\left|e(t)\right|\leq \gamma_n\left|n(t)\right|,\]

  3. Reject Output Disturbances: Reject output disturbance signals \(d_{out}(t)\) with frequency content below \(\omega_{d_{out}}\) so that the error due to the output disturbance signal satisfies \[\left|e(t)\right|\leq \gamma_{d_{out}}\left|d_{out}(t)\right|,\]

  4. Reject Input Disturbances: Reject input disturbance signals \(d_{in}(t)\) with frequency content below \(\omega_{d_{in}}\) so that the error due to the input disturbance signal satisfies \[\left|e(t)\right|\leq \gamma_{d_{in}}\left|d_{in}(t)\right|.\]

The objective in the remainder of this chapter is to show how each of these specifications can be translated into a requirement on the magnitude of the (open) loop gain \(20\log_{10}\left|P(j\omega)C(j\omega)\right|\).

16.1.1 Tracking

The transfer function from the reference signal \(r(t)\) to the error \(e(t)\) is \[E(s) = \frac{1}{1+P(s)C(s)}R(s).\] Therefore, \[\left|E(j\omega)\right| \leq \left|\frac{1}{1+P(j\omega)C(j\omega)}\right|\left|R(j\omega)\right|.\] The objective is to track reference signals \(r(t)\) with frequency content below \(\omega_r\) so that the error due to the reference signal satisfies \[\left|e(t)\right|\leq \gamma_r \left|r(t)\right|.\] Therefore, the controller \(C(s)\) needs to be designed so that \[\left|\frac{1}{1+P(j\omega)C(j\omega)}\right| \leq \gamma_r,\] or equivalently so that \[\left|1+P(j\omega)C(j\omega)\right| \geq \frac{1}{\gamma_r}.\] If \(\left|P(j\omega)C(j\omega)\right|\gg 1\), then a sufficient condition is that \[\left|P(j\omega)C(j\omega)\right| \geq \frac{1}{\gamma_r},\] or equivalently \[\tag{16.4} 20\log_{10}\left|P(j\omega)C(j\omega)\right| \geq 20\log_{10}1/\gamma_r,\] which needs to be satisfied for all \(\omega\leq\omega_r\). On a Bode plot, the constraint represented by Equation 16.4 is shown graphically in Fig. 16.2.

Bode plot representation of the loop-shaping constraint corresponding to tracking r(t) so that the corresponding error satisfies \left|e(t)\right|\leq\gamma_r\left|r(t)\right|.

Alternatively, from the Bode plot of \(PC\) we can compute the tracking characteristics of the closed-loop system. For example, suppose that on the Bode plot \[20\log_{10}\left|P(j\omega)C(j\omega)\right|> B_r\text{~dB}\] for all \(\omega<\omega_r\), then \[\left|P(j\omega)C(j\omega)\right|> 10^{B_r/20},\] for all \(\omega<\omega_r\). If \(\left|P(j\omega)C(j\omega)\right|\gg 1\) for all \(\omega<\omega_r\), then \[\left|\frac{1}{1+P(j\omega)C(j\omega)}\right|\lessapprox 10^{-B_r/20},\] which implies that \[\left|E(j\omega)\right| \leq 10^{-B_r/20} \left|R(j\omega)\right|\] for all \(\omega<\omega_r\), or in other words that \[\tag{16.5} \left|e(t)\right| \leq 10^{-B_r/20} \left|r(t)\right|,\] for all \(r(t)\) with frequency content below \(\omega_r\), which implies that \[\gamma_r = 10^{-B_r/20}.\]

16.1.2 Noise Attenuation

The transfer function from the noise signal \(n(t)\) to the error \(e(t)\) is \[E(s) = \frac{P(s)C(s)}{1+P(s)C(s)}N(s).\] Therefore, \[\left|E(j\omega)\right| \leq \left|\frac{P(j\omega)C(j\omega)}{1+P(j\omega)C(j\omega)}\right|\left|N(j\omega)\right|.\] The objective is to attenuate noise signals \(n(t)\) with frequency content above \(\omega_{no}\) so that the error due to the noise signal satisfies \[\left|e(t)\right|\leq \gamma_n \left|n(t)\right|.\] Therefore, the controller \(C(s)\) needs to be designed so that \[\left|\frac{P(j\omega)C(j\omega)}{1+P(j\omega)C(j\omega)}\right| \leq \gamma_n.\] If \(\left|P(j\omega)C(j\omega)\right|\ll 1\), then a sufficient condition is that \[\left|P(j\omega)C(j\omega)\right| \leq \gamma_n,\] or equivalently \[\tag{16.6} 20\log_{10}\left|P(j\omega)C(j\omega)\right| \leq 20\log_{10}\gamma_n,\] which needs to be satisfied for all \(\omega\geq\omega_{no}\). On a Bode plot, the constraint represented by Equation 16.6 is shown graphically in Fig. 16.3.

Bode plot representation of the loop-shaping constraint corresponding to attenuating the noise n(t) so that the corresponding error satisfies \left|e(t)\right|\leq\gamma_n\left|n(t)\right|.

Alternatively, from the Bode plot of \(PC\) we can compute the noise attenuation characteristics of the closed-loop system. For example, suppose that on the Bode plot \[20\log_{10}\left|P(j\omega)C(j\omega)\right|< -B_n\text{~dB}\] for all \(\omega>\omega_{no}\), then \[\left|P(j\omega)C(j\omega)\right|< 10^{-B_n/20},\] for all \(\omega>\omega_{no}\). If \(P(j\omega)C(j\omega)\ll 1\) for all \(\omega>\omega_{no}\), then \[\left|\frac{P(j\omega)C(j\omega)}{1+P(j\omega)C(j\omega)}\right|\lessapprox 10^{-B_n/20},\] which implies that \[\left|E(j\omega)\right| \leq 10^{-B_n/20} \left|N(j\omega)\right|\] for all \(\omega>\omega_{no}\), or in other words that \[\left|e(t)\right| \leq 10^{-B_n/20} \left|n(t)\right|,\] for all \(n(t)\) with frequency content above \(\omega_{no}\), which implies that \[\gamma_n = 10^{-B_n/20}.\]

16.1.3 Reject Output Disturbances

The transfer function from the output disturbance signals \(d_{out}(t)\) to the error \(e(t)\) is \[E(s) = \frac{1}{1+P(s)C(s)}D_{out}(s).\] Therefore, \[\left|E(j\omega)\right| \leq \left|\frac{1}{1+P(j\omega)C(j\omega)}\right|\left|D_{out}(j\omega)\right|.\] The objective is to attenuate output disturbance signals \(d_{out}(t)\) with frequency content below \(\omega_{d_{out}}\) so that the error due to the output disturbance signal satisfies \[\left|e(t)\right|\leq \gamma_{d_{out}} \left|d_{out}(t)\right|.\] Therefore, the controller \(C(s)\) needs to be designed so that \[\left|\frac{1}{1+P(j\omega)C(j\omega)}\right| \leq \gamma_{d_{out}},\] or equivalently so that \[\left|1+P(j\omega)C(j\omega)\right| \geq \frac{1}{\gamma_{d_{out}}}.\] If \(\left|P(j\omega)C(j\omega)\right|\gg 1\), then a sufficient condition is that \[\left|P(j\omega)C(j\omega)\right| \geq \frac{1}{\gamma_{d_{out}}},\] or equivalently \[\tag{16.7} 20\log_{10}\left|P(j\omega)C(j\omega)\right| \geq 20\log_{10}1/\gamma_{d_{out}},\] which needs to be satisfied for all \(\omega\leq\omega_{d_{out}}\). On a Bode plot, the constraint represented by Equation 16.7 is shown graphically in Fig. 16.4.

Bode plot representation of the loop-shaping constraint corresponding to rejecting the output disturbance d_{out}(t) so that the corresponding error satisfies \left|e(t)\right|\leq\gamma_{d_{out}}\left|d_{out}(t)\right|.

Alternatively, from the Bode plot of \(PC\) we can compute the output disturbance rejection characteristics of the closed-loop system. For example, suppose that on the Bode plot \[20\log_{10}\left|P(j\omega)C(j\omega)\right|> B_{d_{out}}\text{~dB}\] for all \(\omega<\omega_{d_{out}}\), then \[\left|P(j\omega)C(j\omega)\right|> 10^{B_{d_{out}}/20},\] for all \(\omega<\omega_{d_{out}}\). If \(\left|P(j\omega)C(j\omega)\right|\gg 1\) for all \(\omega<\omega_{d_{out}}\), then \[\left|\frac{1}{1+P(j\omega)C(j\omega)}\right|\lessapprox 10^{-B_{d_{out}}/20},\] which implies that \[\left|E(j\omega)\right| \leq 10^{-B_{d_{out}}/20} \left|D_{out}(j\omega)\right|\] for all \(\omega<\omega_{d_{out}}\), or in other words that \[\left|e(t)\right| \leq 10^{-B_{d_{out}}/20} \left|d_{out}(t)\right|,\] for all \(d_{out}(t)\) with frequency content below \(\omega_{d_{out}}\), which implies that \[\gamma_{d_{out}} = 10^{-B_{d_{out}}/20}.\]

16.1.4 Reject Input Disturbances

The transfer function from the input disturbance signals \(d_{in}(t)\) to the error \(e(t)\) is \[E(s) = \frac{P(s)}{1+P(s)C(s)}D_{in}(s).\] Therefore, \[\left|E(j\omega)\right| \leq \left|\frac{P(j\omega)}{1+P(j\omega)C(j\omega)}\right|\left|D_{in}(j\omega)\right|.\] The objective is to attenuate input disturbance signals \(d_{in}(t)\) with frequency content below \(\omega_{d_{in}}\) so that the error due to the input disturbance signal satisfies \[\left|e(t)\right|\leq \gamma_{d_{in}} \left|d_{in}(t)\right|.\] Therefore, the controller \(C(s)\) needs to be designed so that \[\left|\frac{P(j\omega)}{1+P(j\omega)C(j\omega)}\right| \leq \gamma_{d_{in}},\] or equivalently so that \[\frac{\left|1+P(j\omega)C(j\omega)\right|}{\left|P(j\omega)\right|} \geq \frac{1}{\gamma_{d_{in}}}.\] If \(\left|P(j\omega)C(j\omega)\right|\gg 1\), then a sufficient condition is that \[\frac{\left|P(j\omega)C(j\omega)\right|}{\left|P(j\omega)\right|} \geq \frac{1}{\gamma_{d_{in}}},\] or equivalently \[\tag{16.8} 20\log_{10}\left|P(j\omega)C(j\omega)\right| - 20\log_{10}\left|P(j\omega)\right| \geq 20\log_{10}1/\gamma_{d_{in}},\] which needs to be satisfied for all \(\omega\leq\omega_{d_{in}}\). On a Bode plot, the constraint represented by Equation 16.8 is shown graphically in Fig. 16.5, where it can be seen that the loop gain \(\left|PC\right|\) must be above the magnitude of the plant \(\left|P\right|\) by the specified amount.

Bode plot representation of the loop-shaping constraint corresponding to rejecting the input disturbance d_{in}(t) so that the corresponding error satisfies \left|e(t)\right|\leq\gamma_{d_{in}}\left|d_{in}(t)\right|.

Alternatively, from the Bode plot of \(PC\) we can compute the input disturbance rejection characteristics of the closed-loop system. For example, suppose that on the Bode plot \[20\log_{10}\left|P(j\omega)C(j\omega)\right|-20\log_{10}\left|P(j\omega)\right|> B_{d_{in}}\text{~dB}\] for all \(\omega<\omega_{d_{in}}\), then \[\frac{\left|P(j\omega)C(j\omega)\right|}{\left|P(j\omega)\right|}> 10^{B_{d_{in}}/20},\] for all \(\omega<\omega_{d_{in}}\). If \(\left|P(j\omega)C(j\omega)\right|\gg 1\) for all \(\omega<\omega_{d_{in}}\), then \[\left|\frac{P(j\omega)}{1+P(j\omega)C(j\omega)}\right|\lessapprox 10^{-B_{d_{in}}/20},\] which implies that \[\left|E(j\omega)\right| \leq 10^{-B_{d_{in}}/20} \left|D_{in}(j\omega)\right|\] for all \(\omega<\omega_{d_{in}}\), or in other words that \[\tag{16.9} \left|e(t)\right| \leq 10^{-B_{d_{in}}/20} \left|d_{in}(t)\right|,\] for all \(d_{in}(t)\) with frequency content below \(\omega_{d_{in}}\), which implies that \[\gamma_{d_{in}} = 10^{-B_{d_{in}}/20}.\]

16.1.5 Frequency Response Characterization of System Type

Recall that the loop gain \(P(s)C(s)\) is said to be

15.1.5.1 Type 0 System

Note that for a type 0 system \[\begin{aligned} & \lim_{s\to 0} P(s)C(s) = \text{~constant} \\ \implies & \lim_{\omega\to 0}\left|P(j\omega)C(j\omega)\right| = \text{~constant} \\ \implies & \lim_{\omega\to 0} 20\log_{10}\left|P(j\omega)C(j\omega)\right| = \text{~constant}. \end{aligned}\] In other words, at low frequency, the Bode magnitude plot is as shown in Fig. 16.6.

Bode plot of a type 0 system.

Recall that for a step input to a type 0 system where \(R(s) = A/s\), the steady-state error is \[e_{ss} = \lim_{t\to \infty} e(t) = \lim_{s\to 0} sE(s) = \lim_{s\to 0} \frac{A}{1+P(s)C(s)} = \frac{A}{1+M_p},\] where \[M_p = \lim_{s\to 0}P(s)C(s) = \lim_{\omega\to 0} \left|P(j\omega)C(j\omega)\right|.\] As shown in Fig. 16.6, \(20\log_{10}M_p\) is the constant limit of the loop gain as \(\omega\to 0\).

Therefore, from the Bode plot of \(PC\) for a type 0 system, we can compute the tracking error for a step input of size \(A\). Suppose that on the Bode plot \[\lim_{\omega\to 0} 20\log_{10}\left|P(j\omega)C(j\omega)\right| = B_0\text{~dB}.\] Then \[M_p = 10^{B_0/20},\] and \[\tag{16.10} \lim_{t\to\infty}\left|e(t)\right| \leq \frac{1}{1+M_p} A.\]

15.1.5.2 Type 1 System

For a type 1 system since \(P(s)C(s)\) has one free integrator \[\begin{aligned} & \lim_{s\to 0} sP(s)C(s) = \text{~constant} \\ \implies & \lim_{\omega\to 0}\left|(j\omega)P(j\omega)C(j\omega)\right| = \text{~constant} \\ \implies & \lim_{\omega\to 0}\frac{\left|P(j\omega)C(j\omega)\right|}{\left|\frac{1}{j\omega}\right|} = \text{~constant} \\ \implies & \lim_{\omega\to 0} \left[ 20\log_{10}\left|P(j\omega)C(j\omega)\right| - 20\log_{10}\left|\frac{1}{j\omega}\right|\right] = \text{~constant}. \end{aligned}\] In other words, at low frequency, the Bode magnitude plot of \(20\log_{10}\left|P(j\omega)C(j\omega)\right|\) has a slope of \(-20\) dB/decade as \(\omega\to 0\), as shown in Fig. 16.7.

Bode plot of a type 1 system.

Recall that for a ramp input to a type 1 system where \(R(s) = A/s^2\), the steady-state error is \[e_{ss} = \lim_{t\to \infty} e(t) = \lim_{s\to 0} sE(s) = \lim_{s\to 0} \frac{A}{s+sP(s)C(s)} = \frac{A}{M_v},\] where \[M_v = \lim_{s\to 0}sP(s)C(s) = \lim_{\omega\to 0} \left|(j\omega)P(j\omega)C(j\omega)\right|.\] As shown in Fig. 16.7, \(20\log_{10}M_v\) is the amount that the loop gain exceeds the Bode plot of \(20\log_{10}\left|1/j\omega\right|\) as \(\omega\to 0\).

Therefore, from the Bode plot of \(PC\) for a type 1 system, we can compute the tracking error for a ramp input with slope \(A\). Suppose that on the Bode plot \[\lim_{\omega\to 0} \left[ 20\log_{10}\left|P(j\omega)C(j\omega)\right| - 20\log_{10}\left|\frac{1}{j\omega}\right| \right] = B_1\text{~dB},\] then \[M_v = 10^{B_1/20},\] and \[\tag{16.11} \lim_{t\to\infty}\left|e(t)\right| \leq \frac{1}{M_v} A.\]

15.1.5.3 Type 2 System

For a type 2 system where \(P(s)C(s)\) has two free integrators we have \[\begin{aligned} & \lim_{s\to 0} s^2P(s)C(s) = \text{~constant} \\ \implies & \lim_{\omega\to 0}\left|(j\omega)^2P(j\omega)C(j\omega)\right| = \text{~constant} \\ \implies & \lim_{\omega\to 0}\frac{\left|P(j\omega)C(j\omega)\right|}{\left|\frac{1}{j\omega}\right|^2} = \text{~constant} \\ \implies & \lim_{\omega\to 0} \left[ 20\log_{10}\left|P(j\omega)C(j\omega)\right| - 20\log_{10}\left|\frac{1}{j\omega}\right|^2\right] = \text{~constant}. \end{aligned}\] In other words, at low frequency, the Bode magnitude plot of \(20\log_{10}\left|P(j\omega)C(j\omega)\right|\) has a slope of \(-40\) dB/decade as \(\omega\to 0\), as shown in Fig. 16.8.

Bode plot of a type 2 system.

Recall that for a parabolic input to a type 2 system where \(R(s) = A/s^3\), the steady-state error is \[e_{ss} = \lim_{t\to \infty} e(t) = \lim_{s\to 0} sE(s) = \lim_{s\to 0} \frac{A}{s^2+s^2P(s)C(s)} = \frac{A}{M_a},\] where \[M_a = \lim_{s\to 0}s^2P(s)C(s) = \lim_{\omega\to 0} \left|(j\omega)^2P(j\omega)C(j\omega)\right|.\] As shown in Fig. 16.8, \(20\log_{10}M_a\) is the amount that the loop gain exceeds the Bode plot of \(20\log_{10}\left|1/j\omega\right|^2\) as \(\omega\to 0\).

Therefore, from the Bode plot of \(PC\) for a type 2 system, we can compute the tracking error for a parabola input with curvature \(A\). Suppose that on the Bode plot \[\lim_{\omega\to 0} \left[ 20\log_{10}\left|P(j\omega)C(j\omega)\right| - 20\log_{10}\left|\frac{1}{j\omega}\right|^2 \right] = B_2\text{~dB}.\] Then \[M_a = 10^{B_2/20},\] and \[\tag{16.12} \lim_{t\to\infty}\left|e(t)\right| \leq \frac{1}{M_a} A.\]

Chapter 16 activity

Measure system type from the low-frequency slope

Use two markers to measure the low-frequency slope of |L(jω)|. The slope tells you how many free integrators are in the loop: 0, 1, or 2. After classifying the type, choose an input class to estimate the corresponding steady-state error constant.

Step 1: measure the low-frequency slope

Place both markers on the low-frequency straight-line part of the Bode magnitude curve.

Marker 1 gain|L(jω1)| = dB
Marker 2 gain|L(jω2)| = dB

slope = (gain2 - gain1) / (log10ω2 - log10ω1) dB/decade

Slope-to-type reference: 0 dB/decade → Type 0 -20 dB/decade → Type 1 -40 dB/decade → Type 2

Figure 1.7. Use the two markers to estimate the low-frequency slope. After the type is classified correctly, the orange guide shows the input class used to measure the relevant error constant.

Step 2: estimate the steady-state error

The input size A scales the final error. It does not move the Bode curve. After the type is classified, compare |L(jω)| with the selected input-class guide to estimate Mp, Mv, or Ma.

System type measurement

Measured slope

Type classification

Measured constant

Steady-state result

Interpretation

16.2.1 image Example Problem 3.1.19

For the single-link robot arm, use the bode command (from MATLAB or Python) to create a graph that simultaneously displays the Bode plots for (1) the plant, (2) the plant under PID control, using the control gains calculated in HW 3.1.13.

(a) To what percent error can the closed-loop system under PID control track the desired input if all of the frequency content of \(\theta_r(t)\) is below \(\omega_r = 0.4\) radians per second?

(b) If the reference input is \(\theta_r(t) = 5t^2\) for \(t\geq 0\), what will the steady-state tracking error to this input be when using PID control?

(c) If all of the frequency content of the input disturbance \(d_{in}(t)\) is below \(\omega_{d_{in}} = 0.01\) radians per second, what percentage of the input disturbance shows up in the output \(\theta\) under PID control?

(d) If all of the frequency content of the noise \(n(t)\) is greater than \(\omega_{no} = 100\) radians per second, what percentage of the noise shows up in the output signal \(\theta\)?

Design Study A guided exercise

Measure frequency-domain specifications

Read tracking, disturbance, and noise bounds as frequency-specific magnitude requirements.

Bode plot for the single-link robot arm with PID control and
specification markers.

Use the marked Bode plot to read the frequency and magnitude values used in the specification checks.

Step 1. Tracking specification variables

Step 2. Convert magnitude bound to percent

Step 3. Identify high and low-frequency specs

16.3 Design Study B. Inverted Pendulum

16.3.1 image Example Problem 3.2.19

For the inner loop of the inverted pendulum, use the bode command (in Python or MATLAB) to create a graph that simultaneously displays the Bode plots for (1) the plant, and (2) the plant under PD control, using the control gains calculated in Homework 3.2.13.

(a) To what percent error can the closed-loop system track the desired input if all of the frequency content of \(\theta_r(t)\) is below \(\omega_r = 1.0\) radians per second?

(b) If all of the frequency content of the sensor noise on the inner \(n(t)\) is greater than \(\omega_{no} = 200\) radians per second, what percentage of the noise shows up in the output signal \(\theta\)?

For the outer loop of the inverted pendulum, use the MATLAB bode command to create a graph that simultaneously displays the Bode plots for the plant, and the plant under PID control, using the control gains calculated in Homework 3.2.13.

(c) If the reference signal \(y_r(t)\) has frequency content below \(\omega_r=0.001\) radians/second, what is the tracking error under PID control if \(\left|r(t)\right|\leq 50\)?

Design Study B guided exercise

Read pendulum frequency-domain specs

Use Bode-plot bounds to estimate tracking and noise attenuation.

Inner-loop pendulum Bode plot with specifications.

Use the markers to connect dB bounds to tracking and noise percentages.

Step 1. Inner-loop tracking frequency

Step 2. Inner-loop noise frequency

Step 3. Outer-loop reference frequency

16.4 Design Study C. Satellite Attitude Control

16.4.1 image Example Problem 3.3.19

For the inner loop of the satellite attitude control, use the bode command to create a graph that simultaneously displays the Bode plots for (1) the plant, and (2) the plant under PD control, using the control gains calculated in Homework 3.3.13.

(a) To what percent error can the closed-loop system under PD control track a step in \(\theta_r(t)=20 t^2\) for \(t\geq0\)?

(b) If the input disturbance has frequency content below \(\omega_{d_{in}}=0.1\) radians per second, what percentage of the input disturbance appears in the output?

For the outer loop of the satellite attitude control, use the bode command to create a graph that simultaneously displays the Bode plots for (1) the plant, (2) the plant under PID control using the control gains calculated in Homework 3.3.13.

(c) If all of the frequency content of the noise \(n(t)\) is greater than \(\omega_{no} = 10\) radians per second, what percentage of the noise shows up in the output signal \(\phi\), using PI control?

Design Study C guided exercise

Read satellite frequency-domain specs

Use Bode-plot offsets to estimate tracking error, disturbance rejection, and noise transmission.

Step 1. Inner-loop tracking type

Step 2. Disturbance frequency

Step 3. Outer-loop noise

16.5 Interactive Specification Check

Chapter 16 activity

Measure frequency-domain specifications

Select a specification, choose a base plant, then set the specification frequency and dB level. The shaded region marks the acceptable part of the loop-gain plot for that frequency-domain requirement.

The amplitude A scales the steady-state error calculation for the system-type cases. It does not move the Bode curves; it changes the computed error for step, ramp, and parabolic reference inputs.

Figure 1.8. The gray curve is the base plant magnitude |P(jω)|. The blue curve is the loop gain |P(jω)C(jω)| after the loop-height offset is applied.

Measured specification

At the selected frequency:

Computed bound:

Interpretation:

16.6 Knowledge Check

Q1. Low-frequency gain

Tracking error is small when low-frequency loop gain is:

Q2. Noise attenuation

Noise attenuation generally requires loop gain to be:

Q3. Sensitivity bound

If a specification requires |S| <= 0.1, enter that bound in dB.

Show solution

Answer: -20 dB because 20 log10(0.1) = -20.

Q4. Loop-gain requirement

Approximately how many dB of loop gain are needed for |S| near 0.1 when L is large?

Show solution

Answer: About 20 dB. When L is large, S is approximately 1/L.

Q5. Output disturbance function

Which closed-loop function is most directly associated with output disturbance rejection?

Show solution

Answer: Sensitivity, S = 1/(1+PC), is the key function for output disturbance and tracking error.

Q6. Noise attenuation bound

If high-frequency sensor noise should contribute less than 1 percent to the output, what magnitude bound should the relevant noise transfer path satisfy?

Q7. Tracking-error function

Which closed-loop function is most directly used to bound low-frequency reference tracking error in unity feedback?

Q8. Disturbance location

Why do input-disturbance and output-disturbance specifications use different transfer paths?

Q9. System type from slope

What low-frequency loop-gain slope indicates one free integrator?

Q10. Why not high gain everywhere?

Why not simply make the loop gain very large at every frequency?

16.7 Notes and References