# 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
- A (available) - solution is available, but not yet verified and/or edited
- P (partial) - partial solution is available (some parts, missing figures/code, etc)
- 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* | Exploring the performance of a cruise controller | 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 | Exploring the performance of a cruise controller (supplemental) | cruise-mlintro | A | 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 | C | RMM | |

2.3* | Disrete-time dynamics | discrete-solutions | C | SH | |

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

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

2.6* | Normalized oscillator dynamics | oscillator | C | SH | |

2.7* | Electric generator | powergrid | A | RMM | |

2.8* | Admission control for a queue | queue-admcontrol | A | KJA | |

2.9* | Biological switch | biocircuits-switchmod | A | RMM | |

2.10* | Motor drive | dcmotor-modeling | C | SH | |

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 | A | CL | check figures |

3.2* | Bicycle dynamics | bicycle-statespace | C | RMM | |

3.3* | Bicycle steering | bicycle-steering | C | RMM | |

3.4* | Operational amplifier circuit | opamp-twopole | A | SH | |

3.5* | Operational amplifier oscillator | opamp-osc | A | SH | |

3.6* | Congestion control using RED~\cite{Low+02:infocom} | congctrl-red | P | solution consists of reference to research paper | |

3.7* | Atomic force microscope with piezo tube | afm-preload | A | SH | |

3.8* | Drug administration | drugadmin-alcohol | C | ||

3.9* | Population dynamics | logistic | A | SH | |

3.10* | Fisheries management | fishery-modeling | A | ||

3.11 | Cruise control with powertrain dynamics | powertrain | P |

### Chapter 4 - Dynamic Behavior

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

4.1* | Time-invariant systems | timeshift | A | SH | |

4.2* | Flow in a tank | tank-modeling | A | SH | |

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

4.4* | Lyapunov functions | lyap-secord | A | SH | V_2(x) has been modified |

4.5* | Damped spring--mass system | lyap-oscillator | C | ||

4.6* | Electric generator | powergrid | A | ||

4.7* | Lyapunov equation | lyapqen | A | ||

4.8* | Congestion control | congctrl-lyapstab | A | ||

4.9* | Swinging up a pendulum | invpend-swingup | A | ||

4.10* | Root locus diagram | rootlocus | A | ||

4.11* | Discrete-time Lyapunov function | discrete-lyapunov | P | Sketch only | |

4.12* | Operational amplifier oscillator | opamp-oscnl | A | SH | |

4.13* | Self-activating genetic circuit | biocircuits-posfbk | A | ||

4.14* | Diagonal systems | modal-form | P | Solution doesn't contain same parts as problem | |

4.15* | Furuta pendulum | furuta | A | ||

4.16* | Routh-Hurwitz criterion | routh | A | ||

4.17 | Exponential stability | expstab | |||

4.18 | Population dynamics | popdyn-logistic | P | ||

4.19 | Predator prey | predprey-limit | P | ||

4.20 | Windup protection by conditional integration | windup-condit | P | ||

4.21 | Gain scheduling, stability | gainsched-stabiility | |||

4.22 | Spike generation in neurons | fitzhugh-nagumo | P | ||

4.23 | Consensus dynamics | compsys-consensus | |||

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

4.25 | Pitchfork bifurcation | pitchfork | |||

4.26 | Stability examples | stabexmp | P | ||

4.27 | Lyapunov stability for cruise control | cruise-lyapunov | A | CL | Please add original author of solution to tex file |

4.28 | Lyapunov stability examples | lyapexmp | P |

### Chapter 5 - Linear Systems

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

5.1* | Response to the derivative of a signal | dersys | A | SH | |

5.2* | Impulse response and convolution | impulse-response | A | SH | |

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

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

5.5* | Lyapunov function for a linear system | lyap-linear | A | SH | |

5.6* | Nondiagonal Jordan form | jordan-nontrivial | A | ||

5.7* | Rise time for a first-order system | risetime-firstord | A | SH | |

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

5.9* | Keynesian economics | discrete-keynes | A | SH | |

5.10* | linearization-scalar | A | |||

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

5.12 | Normalized coordinates for second-order system | transform-oscillator | |||

5.13 | Matrix exponential for Jordan form | matexp-jordan3x3 | |||

5.14 | Solution of a second-order system | conveq-secord | |||

5.15 | Monotone step response | conveq-monotone | |||

5.16 | purecosine | P | |||

5.17 | linsys-diffeq | 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 | keynes-ode | |||

5.22 | cartpend | P | |||

5.23 | linsys-sinresp | P |

### Chapter 6 - State Feedback

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

6.1* | Double integrator | reachable-doubleint | A | SH | |

6.2* | Reachability from nonzero initial state | reachable-nonzeroic | A | SH | |

6.3* | Unreachable systems | unreachable | A | SH | |

6.4* | Integral feedback for rejecting constant disturbances | integral-noiserej | A | ||

6.5* | Rear-steered bicycle | bicycle-rearsteer | A | ||

6.6* | Characteristic polynomial for reachable canonical form | reachable-form | A | SH | |

6.7* | Reachability matrix for reachable canonical form | inverse-reachmat | A | SH | |

6.8* | Non-maintainable equilibria | pendcart-noref | A | SH | |

6.9* | Eigenvalue assignment for unreachable system | unreachable-assign | A | SH | |

6.10* | Cayley--Hamilton theorem | cayley-hamilton | A | ||

6.11* | Motor drive | dcmotor-statefbk | A | ||

6.12* | Whipple bicycle model | bicycle-whipple | A | ||

6.13* | Atomic force microscope | afm-scalelqr | A | ||

6.14* | Step response for a second order system | secord-zero | A | ||

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

6.16 | integral-refgain | ||||

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

6.18 | refgain-direct | ||||

6.19 | cruise-norefgain |

### Chapter 7 - Output Feedback

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

7.1* | Coordinate transformations | coordxform | A | SH | |

7.2* | unobservable | A | SH | ||

7.3* | Observable canonical form | obsform-transform | A | SH | |

7.4* | Bicycle dynamics | bicycle-observability | A | ||

7.5* | Integral action | integral-action | A | ||

7.6* | Vectored thrust aircraft | pvtol-ssctrl | A | ||

7.7* | Uniqueness of observers | observer-assign | A | ||

7.8* | Observers using differentiation | diff | A | SH | |

7.9* | Observer for Teorell's compartment model | compartment-teorellobs | A | ||

7.10* | Observer design for motor drive | dcmotor-observer | A | ||

7.11* | Feedforward design for motor drive | dcmotor-feedforward | A | ||

7.12* | Whipple bicycle model | bicycle-whipple | A | ||

7.13* | Discrete-time random walk | kalman-randomwalk | A | ||

7.14* | Kalman decomposition | kalman-decomp-2x2 | A | SH | |

7.15 | secord-observer | P | |||

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

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

7.18 | Duality | observer-duality | |||

7.19 | Balance system | cartpend-observer | |||

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

7.21 | Selection of eigenvalues | compartment-poleplace | |||

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 | A | SH | |

8.2* | Modal response for a first order system | modalinput | A | SH | |

8.3* | Inverted pendulum | invpend-xferfcn | A | SH | |

8.4* | Solutions corresponding to poles and zeros | pzsolns | A | SH | |

8.5* | Operational amplifier | opamp-pictrl | A | SH | |

8.6* | Transfer function for state space system | ssxferfcn | A | SH | |

8.7* | Kalman decomposition | kalmandecomp | A | ||

8.8* | Transfer functions for control systems | ctrlxferfcns | A | SH | |

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

8.10* | Vectored thrust aircraft | pvtol-lateraltf | A | SH | |

8.11* | Common poles | missing | A | ||

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

8.13* | Inverted pendulum with PD control | invpend-pzcancel | A | SH | |

8.14* | Vehicle suspension | vehicle-quartercar | A | SH | |

8.15* | Vibration absorber | vibdamper | A | SH | |

8.16 | freqexamps | P | |||

8.17 | model-simplification | ||||

8.18 | cruise-pictrl | P | |||

8.19 | dcmotor-xferfcn | ||||

8.20 | xferfcn-match | ||||

8.21 | heat-propogation | P | |||

8.22 | queue-xferfcn | P | |||

8.23 | lq-scalar |

### Chapter 9 - Frequency Domain Analysis

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

9.1* | Operational amplifier | opamp-unitygain | A | ||

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

9.3* | Heat conduction | heatcond-nyquist | P | ||

9.4* | Vectored thrust aircraft | pvtol-looptf | A | ||

9.5* | Vehicle steering | steering-margins | A | ||

9.6* | Stability margins for second-order systems | secord-margins | A | ||

9.7* | Congestion control in overload conditions | congctrl-overload | A | ||

9.8* | Bode's formula | bode-weight | A | ||

9.9* | Pad\'e approximation to a time delay | pade-approx | A | SH | 'a' is not defined |

9.10* | Inverse response | inverse-response | A | ||

9.11* | Describing function analysis | descfcn-hystrelay | A | SH | |

9.12 | Right half-plane pole | nyquist-rhp | P | ||

9.13 | Third-order system | nyquist-thirdorder | |||

9.14 | bodenyq | P | |||

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

9.16 | opamp-routh | P | |||

9.17 | cruise-nyquist-alt | P | |||

9.18 | Limitations | invpend-limits | |||

9.19 | Limitations | invpend-delay | |||

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 | pid-ideal | A | SH | |

10.2* | PI for second order process | secord-pid | A | SH | |

10.3* | Integral control for two pole system | integral-twopole | A | ||

10.4* | Ziegler-Nichols tuning | zntuning-delint | A | ||

10.5* | Vehicle steering | steering-pi | A | ||

10.6* | Congestion control | congctrl-pituning | A | ||

10.7* | Motor drive | dcmotor-pdctrl | A | ||

10.8* | Motor drive with first order filter | derfilter | A | ||

10.9* | Tuning rules | zntuning-examples | A | ||

10.10* | Windup and anti-windup | antiwindup-intpi | A | SH | |

10.11* | Windup protection by conditional integration | antiwindup-condint | A | ||

10.12 | pidmethods | P | |||

10.13 | pidexmps | P | |||

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

10.15 | plasma-oven | P | |||

10.16 | pirlocus | P | |||

10.17 | pvtol-pid | P | |||

10.18 | Ball and beam | ballbeam-pid | |||

10.19 | balance-pid | P |

### Chapter 11 - Frequency Domain Synthesis

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

11.1* | Gang of Four transfer functions | gangoffour | A | ||

11.2* | Gang of Four for system with RHP pole, proportional control | rhppole-cancel | A | Missing figures | |

11.3* | Gang of Four for H infinity structure | gangoffour-hinfstruc | A | ||

11.4* | Feedforward compensator for spring-mass system | springmass-feedforward | A | ||

11.5* | Sensitivity of feedback and feedforward | sensitivity-gyr | A | ||

11.6* | Equivalence of controllers with two degrees of freedom | twodof-equiv | A | ||

11.7* | Disturbance attenuation | sensitivity-atten | A | ||

11.8* | Disturbance reduction through feedback | sensitivity-twopole | A | ||

11.9* | High frequency measurement noise approximation | noiseapprox | A | ||

11.10* | Attenuation of low-frequency sinusoidal disturbances | sinusoid-atten | A | ||

11.11* | Lead compensation | lead-phasecalc | A | ||

11.12* | RHP pole/zero pair | rhppzpair | A | ||

11.13* | Sensitivity bounds for RHP pole/zero pair | sensitivity-pzdel | A | ||

11.14* | Phase margin formulas | sensitivity-pm | A | ||

11.15* | Stabilization of an inverted pendulum with visual feedback | balance-visual | A | ||

11.16* | Rear-steered bicycle | bicycle-rearsteer | A | ||

11.17* | bode-compsens | A | |||

11.18 | Rise-time/bandwidth product | risetime-bandwidth | P | ||

11.19 | laplace-smalltime | P | |||

11.20 | znlimits | P | |||

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

11.22 | Cancellation of unstable process zero | steering-reverse | |||

11.23 | Limitations on achievable phase lag | rhppole-limitations | P | ||

11.24 | pvtol-gangoffour | ||||

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

11.26 | secord-rhpz | P | |||

11.27 | Integral of complementary sensitivity | bode-compsens-alt | P | ||

11.28 | Bode's integral | bode-compsens-norolloff | 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 | pvtol-gangof4 | ||||

11.32 | Relationship between gain and sensitivity crossover frequencies | sensitivity-margins | P | KJA |

### Chapter 12 - Robust Performance

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

12.1* | Uncertainty between two first-order systems | uncertainty-onepole | A | ||

12.2* | Uncertainty between two second-order systems | uncertainty-twopole | A | ||

12.3* | Difference in sensitivity functions | sensitivity-difference | A | ||

12.4* | The Riemann sphere | vinnecombe-sphere | A | ||

12.5* | Stability margins | sensitivity-maxpm | A | ||

12.6 | idealbode-margins | A | |||

12.7* | Fractional loop transfer function | idealbode-fracsys | A | ||

12.8* | Smith predictor | smith-predictor | A | ||

12.9* | Ideal delay compensator | delay-compensation | A | ||

12.10* | Vehicle steering | steering-nyquist | A | ||

12.11* | Design with dominant pole specification | design-fourthord | A | ||

12.12* | AFM nanopositioning system | afm-robustpid | A | ||

12.13* | $H_\infty$ control | hinf-singval | A | ||

12.14* | Vinnicombe metric computation | hinf-vinnecombe | A | Solution consists of a citation | |

12.15* | Robustness of an observer-based design | robust-statespace | A | Solution is very long | |

12.16* | Robustness using the Nyquist criterion | robust-nyquist | P | Missing figures | |

12.17 | Robustness inequalities | robustness-conditions | |||

12.18 | vinnecombe-nonunity | ||||

12.19 | vinnecombe-onepole | ||||

12.20 | Disk drive tracking | missing |