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 | P | 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 | |
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 | ||
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 | P | ||
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 | Need to specify the pulse duration T = 5 |
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 | P | ||
5.7* | Rise time for a first-order system | risetime-firstord | A | SH | Result does not match the answer |
5.8* | Discrete-time systems | discrete-linsys | P | solutions for c & d missing | |
5.9* | Keynesian economics | discrete-keynes | A | SH | |
5.10* | linearization-scalar | A | |||
5.11* | Transcriptional regulation | biocircuits-negfbk | P | ||
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 | KJA change needs to be checked | |
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 | Output of the system unspecified | |
6.12* | Whipple bicycle model | bicycle-whipple | A | ||
6.13* | Atomic force microscope | afm-scalelqr | M | ||
6.14* | secord-zero | A | |||
6.15* | Bryson's rule | brysons-rule | M | ||
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 | M | ||
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 | M | ||
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 | M | ||
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 | M | ||
8.12* | Congestion control | congctrl-xferfcns | P | Text needs to be updated | |
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 | M | ||
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 | M | ||
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 | M | ||
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 | gangoffour | P | |||
11.2 | rhppole-cancel | P | |||
11.3 | gangoffour-hinfstruc | P | |||
11.4 | springmass-feedforward | P | |||
11.5 | Sensitivity of feedback and feedforward | sensitivity-gyr | P | ||
11.6 | Equivalence of controllers with two degrees of freedom | twodof-equiv | P | ||
11.7 | Disturbance attenuation | sensitivity-atten | P | ||
11.8 | Disturbance reduction through feedback | sensitivity-twopole | P | ||
11.9 | noiseapprox | P | |||
11.10 | Attenuation of low-frequency sinusoidal disturbances | sinusoid-atten | P | ||
11.11 | lead-phasecalc | P | |||
11.12 | rhppzpair | P | |||
11.13 | sensitivity-pzdel | P | |||
11.14 | Phase margin formulas | sensitivity-pm | P | ||
11.15 | balance-visual | P | |||
11.16 | Rear-steered bicycle | bicycle-rearsteer | P | ||
11.17 | bode-compsens | P | |||
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-onepole | P | |||
12.2* | uncertainty-twopole | P | |||
12.3* | Difference in sensitivity functions | sensitivity-difference | P | ||
12.4* | The Riemann sphere | vinnecombe-sphere | P | ||
12.5* | Stability margins | sensitivity-maxpm | P | ||
12.6 | idealbode-margins | P | |||
12.7* | idealbode-fracsys | P | |||
12.8* | Smith predictor | smith-predictor | P | ||
12.9* | Ideal delay compensator | delay-compensation | P | ||
12.10* | Vehicle steering | steering-nyquist | P | ||
12.11* | design-fourthord | P | |||
12.12* | AFM nanopositioning system | afm-robustpid | |||
12.13* | $H_\infty$ control | hinf-singval | |||
12.14* | hinf-vinnecombe | ||||
12.15* | robust-statespace | P | |||
12.16* | Robustness using the Nyquist criterion | robust-nyquist | P | ||
12.17 | Robustness inequalities | robustness-conditions | |||
12.18 | vinnecombe-nonunity | ||||
12.19 | vinnecombe-onepole | ||||
12.20 | Disk drive tracking | missing |