# Solutions

From FBSwiki

This page contains a list of the exercises in the text, including supplemental problems. It is mainly intended for use by people who are generating solutions to the exercises. Instructors can also use this page to see what problems have solutions available.

**Note:**: if you are looking for solutions to the exercises, you won't find them here. Solutions to exercises are available to course instructors by contacting Princeton University Press.

### Guide to entries

Each entry in the table below contains the following information (the two-letter code in parenthesis is used in the table entry macros):

- Exercise number (ex): the number of the exercise in the solutions manual. Items marked with a * appear in the printed version of the text.
- Directory (di): the name of the subdirectory where the exercise appears. This does not appear in the table directly, but is used to create the link to the exercise.
- Title (ti): a short descriptive title for the exercise.
- Filename (fi): the base filename used for the exercise. Clicking on the link will take you to the LaTeX source code for the exercise (requires login).
- Solution status (st): current status of the solutions. The following abbreviations are used:
- C (complete) - complete solution is available
- P (partial) - partial or preliminary solution is available
- I (in progress) - solution is being written, but is not yet available
- U (unavailable) or blank - no solution is currently available
- X (not planned) - no solution is planned

- Author (au): initials for the author of the solutions
- Comment (co): additional comments.

How to sign up to write a solution for an exercise:

- Find an exercise whose solution status is either unavailable (U) or partial (P)
- Edit the table and add your name to the 're' entry in the table
- Add the page to your watch list so that you can see when there is a change in status
- Wait until you are assigned a set of problems to work on (status will be changed to 'I', with your initials listed in the author column.

### Chapter 1 - Introduction

Num | Title | Filename | Stat | Auth | Comments |

1.1* | Vestibulo-occular reflex | eyemotion | C | KJA | |

1.2* | Everyday examples of feedback systems | fbkexamps | C | Misc | |

1.3* | Human balance system | balance-human | C | CL | |

1.4* | Cruise control redesign | cruise-redesign | C | CL | |

1.5* | Integral action | integral | C | KJA | |

1.6* | Popular press articles | nytexamps | C | RMM | |

1.7 | Milk supply chain | milksupply | P | KJA | Figure missing |

1.8 | MATLAB cruise control | cruise-mlintro | C | CL | Cleaned up preliminary solution with model from 3.1. |

1.9 | MATLAB ball and beam | ballbeam-mlintro | P | Misc | Preliminary solution available; could be cleaned up; |

1.10 | Web search: voltage clamp | voltageclamp | Give short intro plus web links | ||

1.11 | Web search: haptics and force feedback | haptics | Give short intro plus web links | ||

1.12 | Anti-rollover control | rollover | Give short summary of regulations |

### Chapter 2 - System Modeling

Num | Title | Filename | Stat | Auth | Comments |

2.1* | Chain of integrators form | chainofint | C | SH | |

2.2* | Inverted pendulum | balance-bal2inv | P | ||

2.3* | Disrete-time dynamics | discrete-solutions | P | ||

2.4* | Keynesian economics | discrete-keynes | C | SH | |

2.5* | Least squares system identification | sysid-leastsq | C | SH | |

2.6* | Normalized oscillator dynamics | oscillator | P | ||

2.7* | Electric generator | powergrid | P | ||

2.8* | Admission control for a queue | queue-admcontrol | P | ||

2.9* | Biological switch | biocircuits-switchmod | P | ||

2.10* | Motor drive | dcmotor-modeling | P | ||

2.11 | Uncertainty lemon | lemon | P | ||

2.12 | Frequency response | freqresp | |||

2.13 | Eye and head motion | occular-blockdiag | P | ||

2.14 | Second-order system identification | sysid-logdec | |||

2.15 | Insect vision | flyvision | P | ||

2.16 | State space model for balance systems | balance-statespace | |||

2.17 | fingerflame | P | |||

2.18 | Consensus and invariants | compsys-invariants | P | ||

2.19 | Electric motor | electricmotor | P | ||

2.20 | exothermic | ||||

2.21 | caffeine | P | |||

2.22 | ballbeam-modeling | P | |||

2.23 | pvtol2invpend | ||||

2.24 | flyflight | ||||

2.25 | pendulum | P |

### Chapter 3 - Examples

Num | Title | Filename | Stat | Auth | Comments |

3.1 | Cruise control | cruise-hillsim | C | CL | |

3.2 | Bicycle dynamics | bicycle-statespace | |||

3.3 | Bicycle steering | bicycle-steering | |||

3.4 | Operational amplifier circuit | opamp-twopole | P | ||

3.5 | Operational amplifier oscillator | opamp-osc | P | ||

3.6 | Congestion control using RED~\cite{Low+02:infocom} | congctrl-red | P | ||

3.7 | Atomic force microscope with piezo tube | afm-preload | P | ||

3.8 | Drug administration | drugadmin-alcohol | |||

3.9 | Population dynamics | logistic | |||

3.10 | Fisheries management | fishery-modeling | P | ||

3.11 | powertrain | P |

### Chapter 4 - Dynamic Behavior

Num | Title | Filename | Stat | Auth | Comments |

4.1 | Time-invariant systems | timeshift | |||

4.2 | Flow in a tank | tank-modeling | P | ||

4.3 | Cruise control | cruise-phaseplot | C | CL | Solution updated to match dynamics in text |

4.4 | Lyapunov functions | lyap-secord | P | ||

4.5 | Damped spring--mass system | lyap-oscillator | P | ||

4.6 | Electric generator | missing | P | ||

4.7 | Lyapunov equation | missing | |||

4.8 | Congestion control | congctrl-lyapstab | P | ||

4.9 | Swinging up a pendulum | invpend-swingup | P | ||

4.10 | Root locus diagram | missing | P | ||

4.11 | Discrete-time Lyapunov function | discrete-lyapunov | |||

4.12 | Operational amplifier oscillator | opamp-oscnl | P | ||

4.13 | Self-activating genetic circuit | biocircuits-posfbk | P | ||

4.14 | Diagonal systems | missing | P | ||

4.15 | Furuta pendulum | furuta | P | ||

4.16 | Routh-Hurwitz criterion | routh | |||

4.17 | missing | ||||

4.18 | missing | P | |||

4.19 | predprey-limit | P | |||

4.20 | Windup protection by conditional integration | missing | P | ||

4.21 | missing | ||||

4.22 | Spike generation in neurons | missing | P | ||

4.23 | compsys-consensus | ||||

4.24 | Steering dynamics of a ship | tanker-dynamics | P | ||

4.25 | Pitchfork bifurcation | missing | |||

4.26 | stabexmp-mooregreitzer | P | |||

4.27 | cruise-lyapunov | C | CL | Please add original author of solution to tex file | |

4.28 | lyapexmp | P |

### Chapter 5 - Linear Systems

Num | Title | Filename | Stat | Auth | Comments |

5.1* | Response to the derivative of a signal | dersys | I | SH | Committed to repository |

5.2* | Impulse response and convolution | impulse-response | I | SH | Committed to repository |

5.3* | Pulse response for a compartment model | compartment-pulse | |||

5.4* | Matrix exponential for second-order system | matrixexp | P | ||

5.5* | Lyapunov function for a linear system | lyap-linear | I | SH | Committed to repository |

5.6* | Nondiagonal Jordan form | missing | P | ||

5.7* | Rise time for a first-order system | risetime-firstord | I | SH | Committed to repository; result does not match the answer |

5.8* | Discrete-time systems | discrete-linsys | P | ||

5.9* | Keynesian economics | discrete-keynes | I | SH | Committed to repository |

5.10* | missing | P | |||

5.11* | Transcriptional regulation | biocircuits-negfbk | P | ||

5.12 | Normalized coordinates for second-order system | missing | |||

5.13 | Matrix exponential for Jordan form | missing | |||

5.14 | Solution of a second-order system | missing | |||

5.15 | Monotone step response | missing | |||

5.16 | missing | P | |||

5.17 | missing | P | |||

5.18 | linexmp-coupled | P | |||

5.19 | State variables in compartment models | compartment-states | |||

5.20 | queue-linsys | P | |||

5.21 | Keynes model in continuous time | missing | |||

5.22 | cartpend | P | |||

5.23 | missing | P |

### Chapter 6 - State Feedback

Num | Title | Filename | Stat | Auth | Comments |

6.1 | Double integrator | missing | P | ||

6.2 | Reachability from nonzero initial state | missing | |||

6.3 | Unreachable systems | missing | |||

6.4 | Integral feedback for rejecting constant disturbances | missing | |||

6.5 | Rear-steered bicycle | bicycle-rearsteer | P | ||

6.6 | Characteristic polynomial for reachable canonical form | missing | |||

6.7 | Reachability matrix for reachable canonical form | missing | P | ||

6.8 | Non-maintainable equilibria | missing | P | ||

6.9 | Eigenvalue assignment for unreachable system | missing | P | ||

6.10 | Cayley--Hamilton theorem | missing | |||

6.11 | Motor drive | missing | |||

6.12 | Whipple bicycle model | bicycle-whipple | P | ||

6.13 | Atomic force microscope | missing | |||

6.14 | missing | P | |||

6.15 | Bryson's rule | brysons-rule | |||

6.16 | integral-refgain | ||||

6.17 | Unreachable compartment model | compartment-nonreach | P | ||

6.18 | missing | ||||

6.19 | missing |

### Chapter 7 - Output Feedback

Num | Title | Filename | Stat | Auth | Comments |

7.1 | Coordinate transformations | missing | |||

7.2 | missing | ||||

7.3 | Observable canonical form | missing | |||

7.4 | Bicycle dynamics | bicycle-observability | P | ||

7.5 | Integral action | integral-action | P | ||

7.6 | Vectored thrust aircraft | pvtol-ssctrl | P | ||

7.7 | Uniqueness of observers | missing | |||

7.8 | Observers using differentiation | diff | |||

7.9 | Observer for Teorell's compartment model | compartment-teorellobs | P | ||

7.10 | Observer design for motor drive | dcmotor-observer | P | ||

7.11 | Feedforward design for motor drive | dcmotor-feedforward | P | ||

7.12 | Whipple bicycle model | bicycle-whipple | |||

7.13 | Discrete-time random walk | kalman-randomwalk | P | ||

7.14 | Kalman decomposition | missing | |||

7.15 | missing | ||||

7.16 | Balance system | balance-observable | |||

7.17 | Balance system with biased measurement | balance-statectrl | |||

7.18 | Duality | missing | |||

7.19 | Balance system | missing | |||

7.20 | Trajectory generation | trajgen-scalar | |||

7.21 | Selection of eigenvalues | missing | |||

7.22 | Kalman filter for scalar ODE | kalman-scalar | P |

### Chapter 8 - Transfer Functions

Num | Title | Filename | Stat | Auth | Comments |

8.1* | Steady state response to a sinusoid | sininput | I | SH | Committed to repository |

8.2* | Modal response for a first order system | modalinput | I | SH | Committed to repository |

8.3* | Inverted pendulum | invpend-xferfcn | I | SH | Committed to repository |

8.4* | Solutions corresponding to poles and zeros | pzsolns | I | SH | Committed to repository |

8.5* | Operational amplifier | opamp-pictrl | P | ||

8.6* | Transfer function for state space system | ssxferfcn | P | ||

8.7* | Kalman decomposition | kalmandecomp | |||

8.8* | Transfer functions for control systems | ctrlxferfcns | I | SH | Committed to repository |

8.9* | Bode plot for a simple zero | bode-zero | I | SH | |

8.10* | Vectored thrust aircraft | pvtol-lateraltf | P | ||

8.11* | Common poles | missing | |||

8.12* | Congestion control | congctrl-xferfcns | P | ||

8.13* | Inverted pendulum with PD control | invpend-pzcancel | P | ||

8.14* | Vehicle suspension~\cite{hedrick90} | vehicle-quartercar | I | SH | Committed to repository |

8.15* | Vibration absorber | missing | P | ||

8.16 | freqexamps | P | |||

8.17 | model-simplification | ||||

8.18 | cruise-pictrl | P | CL | Needs to be updated to use model from Ch 3; not yet committed to repository | |

8.19 | dcmotor-xferfcn | ||||

8.20 | missing | ||||

8.21 | missing | P | |||

8.22 | missing | ||||

8.23 | missing |

### Chapter 9 - Frequency Domain Analysis

Num | Title | Filename | Stat | Auth | Comments |

9.1 | Operational amplifier | opamp-unitygain | P | ||

9.2 | Atomic force microscope | afm-tapping | |||

9.3 | Heat conduction | missing | P | ||

9.4 | Vectored thrust aircraft | pvtol-looptf | P | ||

9.5 | Vehicle steering | missing | |||

9.6 | Stability margins for second-order systems | missing | P | ||

9.7 | Congestion control in overload conditions | congctrl-overload | P | ||

9.8 | Bode's formula | missing | |||

9.9 | Pad\'e approximation to a time delay | missing | |||

9.10 | Inverse response | missing | P | ||

9.11 | Describing function analysis | missing | |||

9.12 | Right half-plane pole | missing | P | ||

9.13 | Third-order system | missing | |||

9.14 | bodenyq | P | |||

9.15 | Congestion control using TCP/Reno | congctrl-margins | |||

9.16 | opamp-routh | P | |||

9.17 | missing | P | |||

9.18 | Limitations | missing | |||

9.19 | Limitations | missing | |||

9.20 | Delay differential equations | delayde | P | ||

9.21 | Cruise control design | cruise-pictrl | P | CL | Model may need updating; check for duplication with similar exercise in previous chapter |

### Chapter 10 - PID Control

Num | Title | Filename | Stat | Auth | Comments |

10.1 | Ideal PID controllers | missing | |||

10.2 | missing | ||||

10.3 | missing | P | |||

10.4 | Ziegler--Nichols tuning | missing | P | ||

10.5 | Vehicle steering | steering-pi | P | ||

10.6 | Congestion control | congctrl-pituning | P | ||

10.7 | Motor drive | dcmotor-pdctrl | P | ||

10.8 | missing | ||||

10.9 | Tuning rules | missing | P | ||

10.10 | Windup and anti-windup | missing | |||

10.11 | Windup protection by conditional integration | missing | P | ||

10.12 | pidmethods | P | |||

10.13 | pidexmps | P | |||

10.14 | Compartment model | compartment-monotone | |||

10.15 | missing | P | |||

10.16 | pirlocus | P | |||

10.17 | pvtol-pid | P | |||

10.18 | Ball and beam | missing | |||

10.19 | balance-pid | P |

### Chapter 11 - Frequency Domain Synthesis

Num | Title | Filename | Stat | Auth | Comments |

11.1 | missing | ||||

11.2 | missing | ||||

11.3 | missing | P | |||

11.4 | missing | ||||

11.5 | Sensitivity of feedback and feedforward | missing | |||

11.6 | Equivalence of controllers with two degrees of freedom | missing | |||

11.7 | Disturbance attenuation | missing | |||

11.8 | Disturbance reduction through feedback | missing | P | ||

11.9 | missing | ||||

11.10 | Attenuation of low-frequency sinusoidal disturbances | missing | P | ||

11.11 | missing | ||||

11.12 | missing | P | |||

11.13 | missing | P | |||

11.14 | Phase margin formulas | missing | |||

11.15 | balance-visual | P | |||

11.16 | Rear-steered bicycle | bicycle-rearsteer | P | ||

11.17 | missing | P | |||

11.18 | Rise-time/bandwidth product | missing | |||

11.19 | missing | P | |||

11.20 | znlimits | ||||

11.21 | Pole in the right half-plane and time delay | missing | P | ||

11.22 | Cancellation of unstable process zero | missing | |||

11.23 | Limitations on achievable phase lag | missing | P | ||

11.24 | missing | ||||

11.25 | Performance characteristics of second-order systems | secord-perf | P | ||

11.26 | secord-rhpz | P | |||

11.27 | Integral of complementary sensitivity | missing | P | ||

11.28 | Bode's integral | missing | P | ||

11.29 | Lead compensator for an insect flight control system | flylead | P | ||

11.30 | Control of a magnetic levitation system | maglev | P | ||

11.31 | missing | P | |||

11.32 | pvtol-gangof4 |

### Chapter 12 - Robust Performance

Num | Title | Filename | Stat | Auth | Comments |

12.1 | missing | P | |||

12.2 | missing | P | |||

12.3 | Difference in sensitivity functions | missing | P | ||

12.4 | The Riemann sphere | missing | P | ||

12.5 | Stability margins | missing | |||

12.6 | Bode's ideal loop transfer function | missing | P | ||

12.7 | missing | P | |||

12.8 | Smith predictor | missing | |||

12.9 | Ideal delay compensator | missing | |||

12.10 | Vehicle steering | missing | |||

12.11 | missing | ||||

12.12 | AFM nanopositioning system | missing | |||

12.13 | $H_\infty$ control | missing | |||

12.14 | missing | ||||

12.15 | missing | P | |||

12.16 | Robustness using the Nyquist criterion | missing | P | ||

12.17 | Robustness inequalities | missing | |||

12.18 | missing | ||||

12.19 | missing | ||||

12.20 | Disk drive tracking | missing |