0% found this document useful (0 votes)
67 views41 pages

DCS Discrete PID Controllers

The document discusses topics from a previous lecture on digital and optimal control, including: - Discretization methods for converting continuous-time systems to discrete-time systems such as backward difference, forward difference, and approximating differential equations with difference equations. - Matching the response of continuous and discrete systems using methods like impulse-invariance and step-invariance. - Matching poles and zeros of continuous and discrete transfer functions using methods like bilinear transformation.

Uploaded by

thiyagusuper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views41 pages

DCS Discrete PID Controllers

The document discusses topics from a previous lecture on digital and optimal control, including: - Discretization methods for converting continuous-time systems to discrete-time systems such as backward difference, forward difference, and approximating differential equations with difference equations. - Matching the response of continuous and discrete systems using methods like impulse-invariance and step-invariance. - Matching poles and zeros of continuous and discrete transfer functions using methods like bilinear transformation.

Uploaded by

thiyagusuper
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

ELEC-E8101: Digital and Optimal Control

4. Discrete PID Controllers

Themistoklis Charalambous
Office number: 2561, TUAS Building
Email: [email protected]
Office hours: Wednesday 16.00-18.00
In the previous lecture…

We:

• Understood what happens to the signal when sampling

• What is the sampling frequency so that one can reconstruct the signal

• Considered the options of discretization in control systems

• Used direct methods of designing discrete-time systems


⇒ ( )= ( )∗ ( − )
=−∞ Ts
=
1 !

=−∞
( ( − )) ∗ ( ) ...lecture…
In the previous ...
!

1 !

⇒ ( )=
( )= ( ( − ))
=−∞ 2 - s 0 - s - 0 0 0 s - 0 s 0
•= What is the1 sampling1 frequency so that one can reconstruct the signal
=−∞ 0 s
" "
1 2

2

() = () = ∀
− 2 − 2

1 !

() ⇒ ( )=
=−∞
!s > of2!X 0( j XP( j )
Re plicas c )
F{ } = 2 X c (( j −
) spectrum of x ( t )
)
2 !

2 2 1
⇒ ( )= ( − ) = 0
=−∞
!∞ Ts
1 ( )
⇒ (

!

)=
=−∞
( )∗ ( − )
... ... (
1
= ( ( − )) ∗ ( ) ()≡ [ ]
=−∞
0
1 !
∞ 0 0 - s 0 - s - 0 0 0 s - 0 s s 0
⇒ ( )= ( ( − ))
cut-off frequency
=−∞
(bandwidth)
XP( j )
()
No longer Re plicas of X c ( j )
!s < 2!0
Xc( j ) spectrum of x ( t ) 2 0

1 ( )
Ts ()
()≡ [ ]

0 0 0

cut-off frequency

(bandwidth) XP( j ) “aliasing effect”

() No longer Re plicas of X c ( j ( )) 2 0 0
In the previous lecture…

• Considered the options of discretization in control systems


- Relies on the use of numerical methods for solving differential equations
describing the given system and for converting them to difference equations
✓ Backward difference method
✓ Forward difference method
✓ Approximation of differential equations by difference equations

- Match the response of continuous-time systems to specific inputs (e.g., impulse,


step and ramp functions) to those of discrete-time systems for the same inputs
✓ Impulse-invariance method
✓ Step-invariance method

- Match the poles and zeros of G(s) in s-domain with the corresponding poles and
zeros of G(z) in z-domain
✓ Bilinear (or Tustin) method
In the previous lecture…

• Used direct methods of designing discrete-time systems


Im z
<latexit sha1_base64="F5+v/SXsyqW9vy1LJmpyI6kmyMw=">AAAB9HicbVA9TwJBEN3DL8Qv1NJmI5hYkTsKtSSx0Q4T+UjgQvaWOdiwu3fu7pHgBf+GjYXG2Ppj7Pw3LnCFgi+Z5OW9mczMC2LOtHHdbye3tr6xuZXfLuzs7u0fFA+PmjpKFIUGjXik2gHRwJmEhmGGQztWQETAoRWMrmd+awxKs0jem0kMviADyUJGibGS3wURD9NbMX0qP5Z7xZJbcefAq8TLSAllqPeKX91+RBMB0lBOtO54bmz8lCjDKIdpoZtoiAkdkQF0LJVEgPbT+dFTfGaVPg4jZUsaPFd/T6REaD0Rge0UxAz1sjcT//M6iQmv/JTJODEg6WJRmHBsIjxLAPeZAmr4xBJCFbO3YjokilBjcyrYELzll1dJs1rx3Ip3Vy3VLrI48ugEnaJz5KFLVEM3qI4aiKIH9Ixe0Zszdl6cd+dj0Zpzsplj9AfO5w+JJZHi</latexit>

1
• Consider the low-pass filter H(z) = ej!
z 0.4
<latexit sha1_base64="0fI8ReUqPvaRGwfj+Wafk0HLe4I=">AAAB8nicdVDJSgNBEO2JW4xb1KOXxiB4GnpiljkGvHiMYBZIYujpVJI2PdNDd48QhnyGFw+KePVrvPk3dhZBRR8UPN6roqpeEAuuDSEfTmZtfWNzK7ud29nd2z/IHx41tUwUgwaTQqp2QDUIHkHDcCOgHSugYSCgFUwu537rHpTmMrox0xh6IR1FfMgZNVbqwG1615UhjOisny8Q1/dL5eIFJi65KPmVypxUfVItY88lCxTQCvV+/r07kCwJITJMUK07HolNL6XKcCZglusmGmLKJnQEHUsjGoLupYuTZ/jMKgM8lMpWZPBC/T6R0lDraRjYzpCasf7tzcW/vE5ihn4v5VGcGIjYctEwEdhIPP8fD7gCZsTUEsoUt7diNqaKMmNTytkQvj7F/5Nm0fWI612XCjV/FUcWnaBTdI48VEU1dIXqqIEYkugBPaFnxziPzovzumzNOKuZY/QDztsnEE+RvA==</latexit>

Re z
x
<latexit sha1_base64="Awlgv6zxZ6gH+JsCCX1BUBeQarI=">AAAB63icbVBNS8NAEJ3Ur1q/qh69LBbBU0lE1GPBi8cq9gPaUDbbSbt0swm7G6GW+hO8eFDEq3/Im//GTZuDtj4YeLw3w8y8IBFcG9f9dgorq2vrG8XN0tb2zu5eef+gqeNUMWywWMSqHVCNgktsGG4EthOFNAoEtoLRdea3HlBpHst7M07Qj+hA8pAzajLpDp8ee+WKW3VnIMvEy0kFctR75a9uP2ZphNIwQbXueG5i/AlVhjOB01I31ZhQNqID7FgqaYTan8xunZITq/RJGCtb0pCZ+ntiQiOtx1FgOyNqhnrRy8T/vE5qwit/wmWSGpRsvihMBTExyR4nfa6QGTG2hDLF7a2EDamizNh4SjYEb/HlZdI8q3pu1bs9r9Qu8jiKcATHcAoeXEINbqAODWAwhGd4hTcncl6cd+dj3lpw8plD+APn8wcrFo5F</latexit>

0.4
<latexit sha1_base64="EBPB4ZzsXcTa1LFz0upiNr/sKEY=">AAAB6nicbVBNS8NAEJ3Ur1q/qh69LBbBU0hE1GPBi8eK9gPaUDbbSbt0swm7G6GE/gQvHhTx6i/y5r9x2+agrQ8GHu/NMDMvTAXXxvO+ndLa+sbmVnm7srO7t39QPTxq6SRTDJssEYnqhFSj4BKbhhuBnVQhjUOB7XB8O/PbT6g0T+SjmaQYxHQoecQZNVZ68NzLfrXmud4cZJX4BalBgUa/+tUbJCyLURomqNZd30tNkFNlOBM4rfQyjSllYzrErqWSxqiDfH7qlJxZZUCiRNmShszV3xM5jbWexKHtjKkZ6WVvJv7ndTMT3QQ5l2lmULLFoigTxCRk9jcZcIXMiIkllClubyVsRBVlxqZTsSH4yy+vktaF63uuf39Zq18VcZThBE7hHHy4hjrcQQOawGAIz/AKb45wXpx352PRWnKKmWP4A+fzB1RsjR4=</latexit>
1
<latexit sha1_base64="BvovSkgKnUvawkB6AcrjQGLE9QU=">AAAB6HicbVBNS8NAEJ3Ur1q/qh69LBbBU0lEqseCF48t2A9oQ9lsJ+3azSbsboQS+gu8eFDEqz/Jm//GbZuDtj4YeLw3w8y8IBFcG9f9dgobm1vbO8Xd0t7+weFR+fikreNUMWyxWMSqG1CNgktsGW4EdhOFNAoEdoLJ3dzvPKHSPJYPZpqgH9GR5CFn1Fip6Q3KFbfqLkDWiZeTCuRoDMpf/WHM0gilYYJq3fPcxPgZVYYzgbNSP9WYUDahI+xZKmmE2s8Wh87IhVWGJIyVLWnIQv09kdFI62kU2M6ImrFe9ebif14vNeGtn3GZpAYlWy4KU0FMTOZfkyFXyIyYWkKZ4vZWwsZUUWZsNiUbgrf68jppX1U9t+o1ryv1Wh5HEc7gHC7Bgxuowz00oAUMEJ7hFd6cR+fFeXc+lq0FJ585hT9wPn8AdwGMqQ==</latexit>
<latexit

1 1.8
magnitude (abs)

1.6
<latexit sha1_base64="DFTSe0odj723IBzoLOUU3EmF/GA=">AAAB9HicdVDLSgMxFM3UV62vqks3wSK4GjJ9zsJFwY3LCvYB7VAyaaYNzWTGJFMow3yHGxeKuPVj3Pk3pg9BRQ9cOJxzL/fe48ecKY3Qh5Xb2Nza3snvFvb2Dw6PiscnHRUlktA2iXgkez5WlDNB25ppTnuxpDj0Oe360+uF351RqVgk7vQ8pl6Ix4IFjGBtJG8QSExSJ0uRXc+GxRKyXbdaK1cgslGl6tbrC9JwUaMGHRstUQJrtIbF98EoIklIhSYcK9V3UKy9FEvNCKdZYZAoGmMyxWPaN1TgkCovXR6dwQujjGAQSVNCw6X6fSLFoVLz0DedIdYT9dtbiH95/UQHrpcyESeaCrJaFCQc6gguEoAjJinRfG4IJpKZWyGZYJODNjkVTAhfn8L/SadsO8h2bqul5tU6jjw4A+fgEjigAZrgBrRAGxBwDx7AE3i2Ztaj9WK9rlpz1nrmFPyA9fYJl8eR9w==</latexit>
0.6 1.4
1.2
1
0.8
1
0 <latexit sha1_base64="xtbyCQqVcyxomlc0Vcnq2bhGljs=">AAAB9HicdVDLSsNAFJ3UV62vqks3g0VwFSZt2mbhouDGZQX7gDaUyXTSDp08nJkUSsh3uHGhiFs/xp1/46StoKIHLhzOuZd77/FizqRC6MMobGxube8Ud0t7+weHR+Xjk66MEkFoh0Q8En0PS8pZSDuKKU77saA48DjtebPr3O/NqZAsCu/UIqZugCch8xnBSkvu0BeYpFaWWqadjcoVZDqOXa/WIDJRzXYajZw0HdSsQ8tES1TAGu1R+X04jkgS0FARjqUcWChWboqFYoTTrDRMJI0xmeEJHWga4oBKN10encELrYyhHwldoYJL9ftEigMpF4GnOwOspvK3l4t/eYNE+Y6bsjBOFA3JapGfcKgimCcAx0xQovhCE0wE07dCMsU6B6VzKukQvj6F/5Nu1bSQad3aldbVOo4iOAPn4BJYoAla4Aa0QQcQcA8ewBN4NubGo/FivK5aC8Z65hT8gPH2CZZEkfY=</latexit>
1.4
-45
phase (deg)

-90

-135

-180
5 10 15 20 25 30
Frequency (rad/s)
Learning outcomes

By the end of this lecture, you should be able to:

• Design practical PID controllers for applications

• Design anti-windup schemes to avoid wind-up


PID-Controllers

• Proportional-Integral-Derivative (PID) control is the standard for industrial


control with over 90% of industrial control systems using PID control

• The ubiquitous nature of PID control stems from:


- its simple structure
- the distinct effect of each of the three PID terms
- its established use in industry
- engineers’ preference to improve existing methods before adopting new

• The first theoretical analysis and practical application was in the field of
automatic steering systems for ships - early 1920s onwards.

• Then, used for automatic process control in manufacturing industry, where


it was widely implemented in pneumatic and electronic controllers.
Feedback control in a discrete setting

• Let us examine the following block diagram of control system:

R(z) + E(z) U (z) Y (z)


<latexit sha1_base64="gnJZ6TKct/Eq8pVpEMppkCDb+Fc=">AAAB63icdVBNS8NAEJ34WetX1aOXxSLUS0lqrcFTwYvHKvYD2lA22027dDcJuxuhlv4FLx4U8eof8ua/cdNGUNEHA4/3ZpiZ58ecKW3bH9bS8srq2npuI7+5tb2zW9jbb6kokYQ2ScQj2fGxopyFtKmZ5rQTS4qFz2nbH1+mfvuOSsWi8FZPYuoJPAxZwAjWqXRTuj/pF4p22Z4D2eXTSrXquobUaq5bO0NOZhUhQ6NfeO8NIpIIGmrCsVJdx461N8VSM8LpLN9LFI0xGeMh7RoaYkGVN53fOkPHRhmgIJKmQo3m6veJKRZKTYRvOgXWI/XbS8W/vG6iA9ebsjBONA3JYlGQcKQjlD6OBkxSovnEEEwkM7ciMsISE23iyZsQvj5F/5NWpewYfl0t1i+yOHJwCEdQAgfOoQ5X0IAmEBjBAzzBsyWsR+vFel20LlnZzAH8gPX2Ca9vjfs=</latexit>
<latexit sha1_base64="+FCeh9wKEHIVxdpaID4dHeG/+CQ=">AAAB6HicbZBNS8NAEIYn9avWr6pHL4tFEISSiKB4Knjx2IL9gDaUzXbSrt1swu5GKKG/wIsHRbz6k7z5b9y2OWjrCwsP78ywM2+QCK6N6347hbX1jc2t4nZpZ3dv/6B8eNTScaoYNlksYtUJqEbBJTYNNwI7iUIaBQLbwfhuVm8/odI8lg9mkqAf0aHkIWfUWKtx0S9X3Ko7F1kFL4cK5Kr3y1+9QczSCKVhgmrd9dzE+BlVhjOB01Iv1ZhQNqZD7FqUNELtZ/NFp+TMOgMSxso+acjc/T2R0UjrSRTYzoiakV6uzcz/at3UhDd+xmWSGpRs8VGYCmJiMruaDLhCZsTEAmWK210JG1FFmbHZlGwI3vLJq9C6rHqWG1eV2m0eRxFO4BTOwYNrqME91KEJDBCe4RXenEfnxXl3PhatBSefOYY/cj5/AG8fjKc=</latexit>
<latexit


<latexit sha1_base64="E83rwgRk1ezG5YSKQDFeHzLn+Jk=">AAAB7XicbZDLSgMxFIbP1Futt6pLN8EiuCozIlRcFdy4rGgv0A4lk2ba2FyGJCOUoe/gxoUibn0fd76NaTsLbf0h8PGfc8g5f5RwZqzvf3uFtfWNza3idmlnd2//oHx41DIq1YQ2ieJKdyJsKGeSNi2znHYSTbGIOG1H45tZvf1EtWFKPthJQkOBh5LFjGDrrFbvng0F7pcrftWfC61CkEMFcjX65a/eQJFUUGkJx8Z0Az+xYYa1ZYTTaamXGppgMsZD2nUosaAmzObbTtGZcwYoVto9adHc/T2RYWHMRESuU2A7Msu1mflfrZva+CrMmExSSyVZfBSnHFmFZqejAdOUWD5xgIlmbldERlhjYl1AJRdCsHzyKrQuqoHju8tK/TqPowgncArnEEAN6nALDWgCgUd4hld485T34r17H4vWgpfPHMMfeZ8/aPmO+w==</latexit>
<latexit
<latexit sha1_base64="NyDavFMZ5Ev/2PE3RvHPT49kEk4=">AAAB63icdVDLSgMxFM3UV62vqks3wSLUzZC+B1cFEVxWsA9oh5JJM21oMjMkGaEO/QU3LhRx6w+582/MtBVU9MCFwzn3cu89XsSZ0gh9WJm19Y3Nrex2bmd3b/8gf3jUUWEsCW2TkIey52FFOQtoWzPNaS+SFAuP0643vUz97h2VioXBrZ5F1BV4HDCfEaxT6ap4fz7MF5DtONVauQKRjSpVp15PScNBjRos2WiBAlihNcy/D0YhiQUNNOFYqX4JRdpNsNSMcDrPDWJFI0ymeEz7hgZYUOUmi1vn8MwoI+iH0lSg4UL9PpFgodRMeKZTYD1Rv71U/Mvrx9p33IQFUaxpQJaL/JhDHcL0cThikhLNZ4ZgIpm5FZIJlphoE0/OhPD1KfyfdMp2yfCbaqF5sYojC07AKSiCEmiAJrgGLdAGBEzAA3gCz5awHq0X63XZmrFWM8fgB6y3T7RAjf4=</latexit>

K(z)
<latexit sha1_base64="RyxIhBCwvUAPJ3UiNea4MDK9UxA=">AAAB63icbZDLSgMxFIbP1Futt6pLN8Ei1E2ZkYLiquBGcFPBXqAdSibNtKFJZkgyQh36Cm5cKOLWF3Ln25hpZ6GtPwQ+/nMOOecPYs60cd1vp7C2vrG5Vdwu7ezu7R+UD4/aOkoUoS0S8Uh1A6wpZ5K2DDOcdmNFsQg47QSTm6zeeaRKs0g+mGlMfYFHkoWMYJNZd9Wn80G54tbcudAqeDlUIFdzUP7qDyOSCCoN4VjrnufGxk+xMoxwOiv1E01jTCZ4RHsWJRZU++l81xk6s84QhZGyTxo0d39PpFhoPRWB7RTYjPVyLTP/q/USE175KZNxYqgki4/ChCMToexwNGSKEsOnFjBRzO6KyBgrTIyNp2RD8JZPXoX2Rc2zfF+vNK7zOIpwAqdQBQ8uoQG30IQWEBjDM7zCmyOcF+fd+Vi0Fpx85hj+yPn8AUPGjbA=</latexit>
<latexit sha1_base64="CKtqnnAM0YaDTaILb2laC4WLnmA=">AAAB63icdVBNS8NAEN3Ur1q/qh69LBahXkpSaw2eCl48VjBtoQ1ls920S3c3YXcj1NC/4MWDIl79Q978N27aCCr6YODx3gwz84KYUaVt+8MqrKyurW8UN0tb2zu7e+X9g46KEomJhyMWyV6AFGFUEE9TzUgvlgTxgJFuML3K/O4dkYpG4lbPYuJzNBY0pBjpTPKq96fDcsWu2QtAu3ZWbzRc15Bm03Wb59DJrQrI0R6W3wejCCecCI0ZUqrv2LH2UyQ1xYzMS4NEkRjhKRqTvqECcaL8dHHrHJ4YZQTDSJoSGi7U7xMp4krNeGA6OdIT9dvLxL+8fqJD10+piBNNBF4uChMGdQSzx+GISoI1mxmCsKTmVognSCKsTTwlE8LXp/B/0qnXHMNvGpXWZR5HERyBY1AFDrgALXAN2sADGEzAA3gCzxa3Hq0X63XZWrDymUPwA9bbJ7QEjf4=</latexit>

P (z)
<latexit sha1_base64="D1LAnVMB4DtTffQ2Muopf9dBC2s=">AAAB63icbZDLSgMxFIbP1Futt6pLN8Ei1E2ZEUFxVXDjcgR7gXYomTTThiaZIckIdegruHGhiFtfyJ1vY6adhbb+EPj4zznknD9MONPGdb+d0tr6xuZWebuys7u3f1A9PGrrOFWEtkjMY9UNsaacSdoyzHDaTRTFIuS0E05u83rnkSrNYvlgpgkNBB5JFjGCTW759afzQbXmNty50Cp4BdSgkD+ofvWHMUkFlYZwrHXPcxMTZFgZRjidVfqppgkmEzyiPYsSC6qDbL7rDJ1ZZ4iiWNknDZq7vycyLLSeitB2CmzGermWm//VeqmJroOMySQ1VJLFR1HKkYlRfjgaMkWJ4VMLmChmd0VkjBUmxsZTsSF4yyevQvui4Vm+v6w1b4o4ynACp1AHD66gCXfgQwsIjOEZXuHNEc6L8+58LFpLTjFzDH/kfP4AS2mNtQ==</latexit>
<latexit sha1_base64="WUydFwebJGUQBetLyVLBlvLvHmA=">AAAB63icdVBNS8NAEJ3Ur1q/qh69LBahXkpSaw2eCl48VrC20oay2W7apbtJ2N0ItfQvePGgiFf/kDf/jZs2goo+GHi8N8PMPD/mTGnb/rByS8srq2v59cLG5tb2TnF370ZFiSS0RSIeyY6PFeUspC3NNKedWFIsfE7b/vgi9dt3VCoWhdd6ElNP4GHIAkawTqXb8v1xv1iyK/YcyK6cVGs11zWkXnfd+ilyMqsEGZr94ntvEJFE0FATjpXqOnasvSmWmhFOZ4VeomiMyRgPadfQEAuqvOn81hk6MsoABZE0FWo0V79PTLFQaiJ80ymwHqnfXir+5XUTHbjelIVxomlIFouChCMdofRxNGCSEs0nhmAimbkVkRGWmGgTT8GE8PUp+p/cVCuO4Ve1UuM8iyMPB3AIZXDgDBpwCU1oAYERPMATPFvCerRerNdFa87KZvbhB6y3T7ogjgI=</latexit>

<latexit sha1_base64="+8q58e5IWHY+PhTgA/w7CubzP5o=">AAAB6HicbZBNS8NAEIYn9avWr6pHL4tF8GJJRFA8Fbx4bMF+QBvKZjtp1242YXcjlNBf4MWDIl79Sd78N27bHLT1hYWHd2bYmTdIBNfGdb+dwtr6xuZWcbu0s7u3f1A+PGrpOFUMmywWseoEVKPgEpuGG4GdRCGNAoHtYHw3q7efUGkeywczSdCP6FDykDNqrNW46JcrbtWdi6yCl0MFctX75a/eIGZphNIwQbXuem5i/Iwqw5nAaamXakwoG9Mhdi1KGqH2s/miU3JmnQEJY2WfNGTu/p7IaKT1JApsZ0TNSC/XZuZ/tW5qwhs/4zJJDUq2+ChMBTExmV1NBlwhM2JigTLF7a6EjaiizNhsSjYEb/nkVWhdVj3LjatK7TaPowgncArn4ME11OAe6tAEBgjP8ApvzqPz4rw7H4vWgpPPHMMfOZ8/cieMqQ==</latexit>

• We have
Y (z) = P (z)U (z)
U (z) = K(z)E(z)
E(z) = R(z)
<latexit sha1_base64="mw/xI8VsIsJNMBoHHi3YSDWrrwA=">AAACNHicbVDLSgMxFM3UVx1foy7dBItSF5YZERRBKEhB6KaK01amQ8mkaRuaeZBkhDr0o9z4IW5EcKGIW7/BTDsL23ohuYdz7r3JPV7EqJCm+ablFhaXllfyq/ra+sbmlrG9UxdhzDGxcchC3vSQIIwGxJZUMtKMOEG+x0jDG1yleuOBcEHD4E4OI+L6qBfQLsVIKqptVO+Lj0fw8BLW0mynV6vlmCUL+65uZ1o1zZVprZJpt2k+humYtlEwS+Y44DywMlAAWdTaxkurE+LYJ4HEDAnhWGYk3QRxSTEjI70VCxIhPEA94igYIJ8INxkvPYIHiunAbsjVCSQcs387EuQLMfQ9Vekj2RezWkr+pzmx7J67CQ2iWJIATx7qxgzKEKYOwg7lBEs2VABhTtVfIe4jjrBUPuvKBGt25XlQPylZCt+cFsoXmR15sAf2QRFY4AyUwTWoARtg8ARewQf41J61d+1L+56U5rSsZxdMhfbzCyhgog8=</latexit>
Y (z)

• Therefore,

Y (z) = P (z)K(z)E(z) = P (z)K(z)(R(z)


<latexit sha1_base64="JqYZne1FWwjwmXLPzH/BVuVwZdk=">AAACGHicbVDLSgMxFL1TX7W+Rl26CRahXVhnRFAEoSCC4KaKfUg7lEyatqGZB0lGqEM/w42/4saFIm6782/MtLPQ1gO5OZx7Lsk9bsiZVJb1bWQWFpeWV7KrubX1jc0tc3unJoNIEFolAQ9Ew8WScubTqmKK00YoKPZcTuvu4DLp1x+pkCzw79UwpI6Hez7rMoKVltrm0UPhqYguUCW5bpJyNSsU7pJ6iBJnsW3mrZI1AZondkrykKLSNsetTkAij/qKcCxl07ZC5cRYKEY4HeVakaQhJgPco01NfexR6cSTxUboQCsd1A2EPr5CE/X3RIw9KYeeq50eVn0520vE/3rNSHXPnJj5YaSoT6YPdSOOVICSlFCHCUoUH2qCiWD6r4j0scBE6SxzOgR7duV5Ujsu2ZrfnuTL52kcWdiDfSiADadQhmuoQBUIPMMrvMOH8WK8GZ/G19SaMdKZXfgDY/wDGSSZiA==</latexit>
Y (z))
Feedback control in a discrete setting

R(z) + E(z) U (z) Y (z)


<latexit sha1_base64="gnJZ6TKct/Eq8pVpEMppkCDb+Fc=">AAAB63icdVBNS8NAEJ34WetX1aOXxSLUS0lqrcFTwYvHKvYD2lA22027dDcJuxuhlv4FLx4U8eof8ua/cdNGUNEHA4/3ZpiZ58ecKW3bH9bS8srq2npuI7+5tb2zW9jbb6kokYQ2ScQj2fGxopyFtKmZ5rQTS4qFz2nbH1+mfvuOSsWi8FZPYuoJPAxZwAjWqXRTuj/pF4p22Z4D2eXTSrXquobUaq5bO0NOZhUhQ6NfeO8NIpIIGmrCsVJdx461N8VSM8LpLN9LFI0xGeMh7RoaYkGVN53fOkPHRhmgIJKmQo3m6veJKRZKTYRvOgXWI/XbS8W/vG6iA9ebsjBONA3JYlGQcKQjlD6OBkxSovnEEEwkM7ciMsISE23iyZsQvj5F/5NWpewYfl0t1i+yOHJwCEdQAgfOoQ5X0IAmEBjBAzzBsyWsR+vFel20LlnZzAH8gPX2Ca9vjfs=</latexit>
<latexit sha1_base64="+FCeh9wKEHIVxdpaID4dHeG/+CQ=">AAAB6HicbZBNS8NAEIYn9avWr6pHL4tFEISSiKB4Knjx2IL9gDaUzXbSrt1swu5GKKG/wIsHRbz6k7z5b9y2OWjrCwsP78ywM2+QCK6N6347hbX1jc2t4nZpZ3dv/6B8eNTScaoYNlksYtUJqEbBJTYNNwI7iUIaBQLbwfhuVm8/odI8lg9mkqAf0aHkIWfUWKtx0S9X3Ko7F1kFL4cK5Kr3y1+9QczSCKVhgmrd9dzE+BlVhjOB01Iv1ZhQNqZD7FqUNELtZ/NFp+TMOgMSxso+acjc/T2R0UjrSRTYzoiakV6uzcz/at3UhDd+xmWSGpRs8VGYCmJiMruaDLhCZsTEAmWK210JG1FFmbHZlGwI3vLJq9C6rHqWG1eV2m0eRxFO4BTOwYNrqME91KEJDBCe4RXenEfnxXl3PhatBSefOYY/cj5/AG8fjKc=</latexit>
<latexit


<latexit sha1_base64="E83rwgRk1ezG5YSKQDFeHzLn+Jk=">AAAB7XicbZDLSgMxFIbP1Futt6pLN8EiuCozIlRcFdy4rGgv0A4lk2ba2FyGJCOUoe/gxoUibn0fd76NaTsLbf0h8PGfc8g5f5RwZqzvf3uFtfWNza3idmlnd2//oHx41DIq1YQ2ieJKdyJsKGeSNi2znHYSTbGIOG1H45tZvf1EtWFKPthJQkOBh5LFjGDrrFbvng0F7pcrftWfC61CkEMFcjX65a/eQJFUUGkJx8Z0Az+xYYa1ZYTTaamXGppgMsZD2nUosaAmzObbTtGZcwYoVto9adHc/T2RYWHMRESuU2A7Msu1mflfrZva+CrMmExSSyVZfBSnHFmFZqejAdOUWD5xgIlmbldERlhjYl1AJRdCsHzyKrQuqoHju8tK/TqPowgncArnEEAN6nALDWgCgUd4hld485T34r17H4vWgpfPHMMfeZ8/aPmO+w==</latexit>
<latexit
<latexit sha1_base64="NyDavFMZ5Ev/2PE3RvHPT49kEk4=">AAAB63icdVDLSgMxFM3UV62vqks3wSLUzZC+B1cFEVxWsA9oh5JJM21oMjMkGaEO/QU3LhRx6w+582/MtBVU9MCFwzn3cu89XsSZ0gh9WJm19Y3Nrex2bmd3b/8gf3jUUWEsCW2TkIey52FFOQtoWzPNaS+SFAuP0643vUz97h2VioXBrZ5F1BV4HDCfEaxT6ap4fz7MF5DtONVauQKRjSpVp15PScNBjRos2WiBAlihNcy/D0YhiQUNNOFYqX4JRdpNsNSMcDrPDWJFI0ymeEz7hgZYUOUmi1vn8MwoI+iH0lSg4UL9PpFgodRMeKZTYD1Rv71U/Mvrx9p33IQFUaxpQJaL/JhDHcL0cThikhLNZ4ZgIpm5FZIJlphoE0/OhPD1KfyfdMp2yfCbaqF5sYojC07AKSiCEmiAJrgGLdAGBEzAA3gCz5awHq0X63XZmrFWM8fgB6y3T7RAjf4=</latexit>

K(z)
<latexit sha1_base64="RyxIhBCwvUAPJ3UiNea4MDK9UxA=">AAAB63icbZDLSgMxFIbP1Futt6pLN8Ei1E2ZkYLiquBGcFPBXqAdSibNtKFJZkgyQh36Cm5cKOLWF3Ln25hpZ6GtPwQ+/nMOOecPYs60cd1vp7C2vrG5Vdwu7ezu7R+UD4/aOkoUoS0S8Uh1A6wpZ5K2DDOcdmNFsQg47QSTm6zeeaRKs0g+mGlMfYFHkoWMYJNZd9Wn80G54tbcudAqeDlUIFdzUP7qDyOSCCoN4VjrnufGxk+xMoxwOiv1E01jTCZ4RHsWJRZU++l81xk6s84QhZGyTxo0d39PpFhoPRWB7RTYjPVyLTP/q/USE175KZNxYqgki4/ChCMToexwNGSKEsOnFjBRzO6KyBgrTIyNp2RD8JZPXoX2Rc2zfF+vNK7zOIpwAqdQBQ8uoQG30IQWEBjDM7zCmyOcF+fd+Vi0Fpx85hj+yPn8AUPGjbA=</latexit>
<latexit sha1_base64="CKtqnnAM0YaDTaILb2laC4WLnmA=">AAAB63icdVBNS8NAEN3Ur1q/qh69LBahXkpSaw2eCl48VjBtoQ1ls920S3c3YXcj1NC/4MWDIl79Q978N27aCCr6YODx3gwz84KYUaVt+8MqrKyurW8UN0tb2zu7e+X9g46KEomJhyMWyV6AFGFUEE9TzUgvlgTxgJFuML3K/O4dkYpG4lbPYuJzNBY0pBjpTPKq96fDcsWu2QtAu3ZWbzRc15Bm03Wb59DJrQrI0R6W3wejCCecCI0ZUqrv2LH2UyQ1xYzMS4NEkRjhKRqTvqECcaL8dHHrHJ4YZQTDSJoSGi7U7xMp4krNeGA6OdIT9dvLxL+8fqJD10+piBNNBF4uChMGdQSzx+GISoI1mxmCsKTmVognSCKsTTwlE8LXp/B/0qnXHMNvGpXWZR5HERyBY1AFDrgALXAN2sADGEzAA3gCzxa3Hq0X63XZWrDymUPwA9bbJ7QEjf4=</latexit>

P (z)
<latexit sha1_base64="D1LAnVMB4DtTffQ2Muopf9dBC2s=">AAAB63icbZDLSgMxFIbP1Futt6pLN8Ei1E2ZEUFxVXDjcgR7gXYomTTThiaZIckIdegruHGhiFtfyJ1vY6adhbb+EPj4zznknD9MONPGdb+d0tr6xuZWebuys7u3f1A9PGrrOFWEtkjMY9UNsaacSdoyzHDaTRTFIuS0E05u83rnkSrNYvlgpgkNBB5JFjGCTW759afzQbXmNty50Cp4BdSgkD+ofvWHMUkFlYZwrHXPcxMTZFgZRjidVfqppgkmEzyiPYsSC6qDbL7rDJ1ZZ4iiWNknDZq7vycyLLSeitB2CmzGermWm//VeqmJroOMySQ1VJLFR1HKkYlRfjgaMkWJ4VMLmChmd0VkjBUmxsZTsSF4yyevQvui4Vm+v6w1b4o4ynACp1AHD66gCXfgQwsIjOEZXuHNEc6L8+58LFpLTjFzDH/kfP4AS2mNtQ==</latexit>
<latexit sha1_base64="WUydFwebJGUQBetLyVLBlvLvHmA=">AAAB63icdVBNS8NAEJ3Ur1q/qh69LBahXkpSaw2eCl48VrC20oay2W7apbtJ2N0ItfQvePGgiFf/kDf/jZs2goo+GHi8N8PMPD/mTGnb/rByS8srq2v59cLG5tb2TnF370ZFiSS0RSIeyY6PFeUspC3NNKedWFIsfE7b/vgi9dt3VCoWhdd6ElNP4GHIAkawTqXb8v1xv1iyK/YcyK6cVGs11zWkXnfd+ilyMqsEGZr94ntvEJFE0FATjpXqOnasvSmWmhFOZ4VeomiMyRgPadfQEAuqvOn81hk6MsoABZE0FWo0V79PTLFQaiJ80ymwHqnfXir+5XUTHbjelIVxomlIFouChCMdofRxNGCSEs0nhmAimbkVkRGWmGgTT8GE8PUp+p/cVCuO4Ve1UuM8iyMPB3AIZXDgDBpwCU1oAYERPMATPFvCerRerNdFa87KZvbhB6y3T7ogjgI=</latexit>

<latexit sha1_base64="+8q58e5IWHY+PhTgA/w7CubzP5o=">AAAB6HicbZBNS8NAEIYn9avWr6pHL4tF8GJJRFA8Fbx4bMF+QBvKZjtp1242YXcjlNBf4MWDIl79Sd78N27bHLT1hYWHd2bYmTdIBNfGdb+dwtr6xuZWcbu0s7u3f1A+PGrpOFUMmywWseoEVKPgEpuGG4GdRCGNAoHtYHw3q7efUGkeywczSdCP6FDykDNqrNW46JcrbtWdi6yCl0MFctX75a/eIGZphNIwQbXuem5i/Iwqw5nAaamXakwoG9Mhdi1KGqH2s/miU3JmnQEJY2WfNGTu/p7IaKT1JApsZ0TNSC/XZuZ/tW5qwhs/4zJJDUq2+ChMBTExmV1NBlwhM2JigTLF7a6EjaiizNhsSjYEb/nkVWhdVj3LjatK7TaPowgncArn4ME11OAe6tAEBgjP8ApvzqPz4rw7H4vWgpPPHMMfOZ8/cieMqQ==</latexit>

• Solving for Y (z) <latexit sha1_base64="WUydFwebJGUQBetLyVLBlvLvHmA=">AAAB63icdVBNS8NAEJ3Ur1q/qh69LBahXkpSaw2eCl48VrC20oay2W7apbtJ2N0ItfQvePGgiFf/kDf/jZs2goo+GHi8N8PMPD/mTGnb/rByS8srq2v59cLG5tb2TnF370ZFiSS0RSIeyY6PFeUspC3NNKedWFIsfE7b/vgi9dt3VCoWhdd6ElNP4GHIAkawTqXb8v1xv1iyK/YcyK6cVGs11zWkXnfd+ilyMqsEGZr94ntvEJFE0FATjpXqOnasvSmWmhFOZ4VeomiMyRgPadfQEAuqvOn81hk6MsoABZE0FWo0V79PTLFQaiJ80ymwHqnfXir+5XUTHbjelIVxomlIFouChCMdofRxNGCSEs0nhmAimbkVkRGWmGgTT8GE8PUp+p/cVCuO4Ve1UuM8iyMPB3AIZXDgDBpwCU1oAYERPMATPFvCerRerNdFa87KZvbhB6y3T7ogjgI=</latexit>

Y (z) = P (z)K(z)E(z) = P (z)K(z)(R(z)


<latexit sha1_base64="JqYZne1FWwjwmXLPzH/BVuVwZdk=">AAACGHicbVDLSgMxFL1TX7W+Rl26CRahXVhnRFAEoSCC4KaKfUg7lEyatqGZB0lGqEM/w42/4saFIm6782/MtLPQ1gO5OZx7Lsk9bsiZVJb1bWQWFpeWV7KrubX1jc0tc3unJoNIEFolAQ9Ew8WScubTqmKK00YoKPZcTuvu4DLp1x+pkCzw79UwpI6Hez7rMoKVltrm0UPhqYguUCW5bpJyNSsU7pJ6iBJnsW3mrZI1AZondkrykKLSNsetTkAij/qKcCxl07ZC5cRYKEY4HeVakaQhJgPco01NfexR6cSTxUboQCsd1A2EPr5CE/X3RIw9KYeeq50eVn0520vE/3rNSHXPnJj5YaSoT6YPdSOOVICSlFCHCUoUH2qCiWD6r4j0scBE6SxzOgR7duV5Ujsu2ZrfnuTL52kcWdiDfSiADadQhmuoQBUIPMMrvMOH8WK8GZ/G19SaMdKZXfgDY/wDGSSZiA==</latexit>
Y (z))

P (z)K(z)
(1 + P (z)K(z))Y (z) = P (z)K(z)R(z) ) Y (z) = R(z)
1 + P (z)K(z)
| {z }
<latexit sha1_base64="SD5vVb7v9qpHG7KaEFhB4cB/quA=">AAACYnicbVFbS+QwFE67XsZ6G3ce3YfgIIwI0oqgCAvCvgi+zIrjhekwpJnTmWCa1uTUZbb0T/rmky/+ENOxiLcDOfn4zndOki9RJoVB33903B9z8wuLjSVveWV1bb258fPSpLnm0OOpTPV1xAxIoaCHAiVcZxpYEkm4im7/VPWre9BGpOoCpxkMEjZWIhacoaWGzWkn2O12/u/QM5t2bir0m9I3hp5XKTwX4wkyrdN/1Ks1Ya5GoCPNOBRhbLfiraks3s0sy2ERohZMjSXc0dOKmk0dNtv+nj8L+hUENWiTOrrD5kM4SnmegEIumTH9wM9wUDCNgksovTA3kDF+y8bQt1CxBMygmFlU0m3LjGicarsU0hn7vqNgiTHTJLLKhOHEfK5V5He1fo7x0aAQKssRFH89KM4lxZRWftOR0MBRTi1gXAt7V8onzPqF9lc8a0Lw+clfweX+XmDx34P2yXFtR4Nski3SIQE5JCfklHRJj3Dy5Mw7a8668+x67obbepW6Tt3TIh/C/fUCgfGvYA==</latexit>
,H(z)

) H(z) =
Y (z)
=
P (z)K(z) (closed-loop transfer function
R(z) 1 + P (z)K(z) from reference/input to output)
<latexit sha1_base64="73rkuxbUf/WzqEknNsqNZEMvGTg=">AAACNHicbVDLSgMxFM3UV62vqks3wSJUhDIjgiIUCm4K3dRiH9IpJZPJtKGZyZBk1Dr0o9z4IW5EcKGIW7/BtB1QWw8knHvOvST3OCGjUpnmi5FaWFxaXkmvZtbWNza3sts7DckjgUkdc8ZFy0GSMBqQuqKKkVYoCPIdRprO4GLsN2+IkJQHV2oYko6PegH1KEZKS91sxa7RXl8hIfgtzNgOvyNuXM7fHxZtTyAcX2s6imvjGxbhVKvqClYmhnX0U4y62ZxZMCeA88RKSA4kqHazT7bLceSTQGGGpGxbZqg6MRKKYkZGGTuSJER4gHqkrWmAfCI78WTpETzQigs9LvQJFJyovydi5Es59B3d6SPVl7PeWPzPa0fKO+vENAgjRQI8fciLGFQcjhOELhUEKzbUBGFB9V8h7iMdjNI5Z3QI1uzK86RxXLA0vzzJlc6TONJgD+yDPLDAKSiBMqiCOsDgATyDN/BuPBqvxofxOW1NGcnMLvgD4+sbA+uogg==</latexit>
Feedback control in a discrete setting

• The block diagram of the control system can be simplified as

R(z) P (z)K(z) Y (z)


<latexit sha1_base64="gnJZ6TKct/Eq8pVpEMppkCDb+Fc=">AAAB63icdVBNS8NAEJ34WetX1aOXxSLUS0lqrcFTwYvHKvYD2lA22027dDcJuxuhlv4FLx4U8eof8ua/cdNGUNEHA4/3ZpiZ58ecKW3bH9bS8srq2npuI7+5tb2zW9jbb6kokYQ2ScQj2fGxopyFtKmZ5rQTS4qFz2nbH1+mfvuOSsWi8FZPYuoJPAxZwAjWqXRTuj/pF4p22Z4D2eXTSrXquobUaq5bO0NOZhUhQ6NfeO8NIpIIGmrCsVJdx461N8VSM8LpLN9LFI0xGeMh7RoaYkGVN53fOkPHRhmgIJKmQo3m6veJKRZKTYRvOgXWI/XbS8W/vG6iA9ebsjBONA3JYlGQcKQjlD6OBkxSovnEEEwkM7ciMsISE23iyZsQvj5F/5NWpewYfl0t1i+yOHJwCEdQAgfOoQ5X0IAmEBjBAzzBsyWsR+vFel20LlnZzAH8gPX2Ca9vjfs=</latexit>

H(z) = <latexit sha1_base64="WUydFwebJGUQBetLyVLBlvLvHmA=">AAAB63icdVBNS8NAEJ3Ur1q/qh69LBahXkpSaw2eCl48VrC20oay2W7apbtJ2N0ItfQvePGgiFf/kDf/jZs2goo+GHi8N8PMPD/mTGnb/rByS8srq2v59cLG5tb2TnF370ZFiSS0RSIeyY6PFeUspC3NNKedWFIsfE7b/vgi9dt3VCoWhdd6ElNP4GHIAkawTqXb8v1xv1iyK/YcyK6cVGs11zWkXnfd+ilyMqsEGZr94ntvEJFE0FATjpXqOnasvSmWmhFOZ4VeomiMyRgPadfQEAuqvOn81hk6MsoABZE0FWo0V79PTLFQaiJ80ymwHqnfXir+5XUTHbjelIVxomlIFouChCMdofRxNGCSEs0nhmAimbkVkRGWmGgTT8GE8PUp+p/cVCuO4Ve1UuM8iyMPB3AIZXDgDBpwCU1oAYERPMATPFvCerRerNdFa87KZvbhB6y3T7ogjgI=</latexit>

1 + P (z)K(z)
<latexit sha1_base64="3P8GIEc+d6nSWEMrNinbB0V4Z/g=">AAACC3icbZBNSwMxEIZn61etX6sevYQWoSKUXREUQSh4KXipYD+gLSWbZtvQbHZJskJdevfiX/HiQRGv/gFv/hvTdkFtHUh48s4Mk3m9iDOlHefLyiwtr6yuZddzG5tb2zv27l5dhbEktEZCHsqmhxXlTNCaZprTZiQpDjxOG97wapJv3FGpWChu9SiinQD3BfMZwdpIXTtfKd4fXbZ9iUlSNYiuzTVO3OOfR9cuOCVnGmgR3BQKkEa1a3+2eyGJAyo04ViplutEupNgqRnhdJxrx4pGmAxxn7YMChxQ1Ummu4zRoVF6yA+lOUKjqfq7I8GBUqPAM5UB1gM1n5uI/+VasfbPOwkTUaypILNBfsyRDtHEGNRjkhLNRwYwkcz8FZEBNr5oY1/OmODOr7wI9ZOSa/jmtFC+SO3IwgHkoQgunEEZKlCFGhB4gCd4gVfr0Xq23qz3WWnGSnv24U9YH9+VApgt</latexit>

• Similarly, for the error E(z) <latexit sha1_base64="NyDavFMZ5Ev/2PE3RvHPT49kEk4=">AAAB63icdVDLSgMxFM3UV62vqks3wSLUzZC+B1cFEVxWsA9oh5JJM21oMjMkGaEO/QU3LhRx6w+582/MtBVU9MCFwzn3cu89XsSZ0gh9WJm19Y3Nrex2bmd3b/8gf3jUUWEsCW2TkIey52FFOQtoWzPNaS+SFAuP0643vUz97h2VioXBrZ5F1BV4HDCfEaxT6ap4fz7MF5DtONVauQKRjSpVp15PScNBjRos2WiBAlihNcy/D0YhiQUNNOFYqX4JRdpNsNSMcDrPDWJFI0ymeEz7hgZYUOUmi1vn8MwoI+iH0lSg4UL9PpFgodRMeKZTYD1Rv71U/Mvrx9p33IQFUaxpQJaL/JhDHcL0cThikhLNZ4ZgIpm5FZIJlphoE0/OhPD1KfyfdMp2yfCbaqF5sYojC07AKSiCEmiAJrgGLdAGBEzAA3gCz5awHq0X63XZmrFWM8fgB6y3T7RAjf4=</latexit>

P (z)K(z)
E(z) = R(z) Y (z) = R(z) R(z)
1 + P (z)K(z)
✓ ◆
P (z)K(z) 1
= 1 R(z) = R(z)
<latexit sha1_base64="G0h/UwwZobvBAW7KM3ieUNEPoug=">AAACeHicfVHZSgMxFM2Me92qPvYlWJcWsUxEUIRCQQTBlyrWhc5QMmmmDc0sJHeEOvQb/Dff/BBffDJdwKXihVxO7j0ny7l+IoUGx3mz7JnZufmFxaXc8srq2np+Y/NOx6livMFiGasHn2ouRcQbIEDyh0RxGvqS3/u982H//okrLeLoFvoJ90LaiUQgGAVTauVfLkrP5b3qjcmHjyaNkRsoyrK6gfjKpEFGDr42QwZ23aZTISz0cntVV/IASuR/latEpwvlkbiKx1QyfXArX3QqzijwNCATUESTqLfyr247ZmnII2CSat0kTgJeRhUIJvkg56aaJ5T1aIc3DYxoyLWXjYwb4F1TaeMgVmZFgEfV74qMhlr3Q98wQwpd/bs3LP7Va6YQnHqZiJIUeMTGFwWpxBDj4RRwWyjOQPYNoEwJ81bMutR4AmZWOWMC+f3laXB3VCEGXx8Xa2cTOxZRAW2jEiLoBNXQJaqjBmLo3SpYO9au9WFje98uj6m2NdFsoR9hH30CTuK1mg==</latexit>
1 + P (z)K(z) 1 + P (z)K(z)

• The problem becomes how to choose an appropriate K(z) such that

➡ H(z) will yield desired properties

➡ the resulting error function e[k] goes to zero as quick and as smooth as
possible - equivalent to output e[k] tracking the given reference r[k]
2.6. Behavior of continuous 2nd order systems with unit step input
Behavior of continuous 2nd order systems
Consider the following block diagramwith
with aunit step2nd
standard input
order system,
• Consider the following block diagram with a standard 2nd order system
R (s) = 1/s 1 Y (s)
R(s) = H ( s ) = ω 2
n 2
s ! Y (s)
r=1 H(s) s 2
= + 2 ζω s + ωn
n 2
<latexit sha1_base64="ef1k4MP7EHW0j16VeX8IiMS9uY0=">AAAB+XicdVDLSgNBEOyNrxhfqx69DAYhXsJujHERhIAXj1HMA5IQZiezyZDZBzOzgbDsn3jxoIhX/8Sbf+MkWUFFCxqKqm66u9yIM6ks68PIrayurW/kNwtb2zu7e+b+QUuGsSC0SUIeio6LJeUsoE3FFKedSFDsu5y23cn13G9PqZAsDO7VLKJ9H48C5jGClZYGpnlXkqdXPU9gkthpItOBWbTK1gLIKp9VqlXH0aRWc5zaObIzqwgZGgPzvTcMSezTQBGOpezaVqT6CRaKEU7TQi+WNMJkgke0q2mAfSr7yeLyFJ1oZYi8UOgKFFqo3ycS7Es5813d6WM1lr+9ufiX142V5/QTFkSxogFZLvJijlSI5jGgIROUKD7TBBPB9K2IjLFOQemwCjqEr0/R/6RVKdua31aL9cssjjwcwTGUwIYLqMMNNKAJBKbwAE/wbCTGo/FivC5bc0Y2cwg/YLx9Aj6/k2Y=</latexit>

n
<latexit sha1_base64="DFI1wxtp8KaTZ2f4hJuymIY53fE=">AAAB63icdVBNS8NAEJ3Ur1q/qh69LBahXkpSaw2eCl48VrAf0oay2W7apbtJ2N0IpfQvePGgiFf/kDf/jZs2goo+GHi8N8PMPD/mTGnb/rByK6tr6xv5zcLW9s7uXnH/oK2iRBLaIhGPZNfHinIW0pZmmtNuLCkWPqcdf3KV+p17KhWLwls9jakn8ChkASNYp9JdWZ0OiiW7Yi+A7MpZtVZzXUPqddetnyMns0qQoTkovveHEUkEDTXhWKmeY8fam2GpGeF0XugnisaYTPCI9gwNsaDKmy1unaMTowxREElToUYL9fvEDAulpsI3nQLrsfrtpeJfXi/RgevNWBgnmoZkuShIONIRSh9HQyYp0XxqCCaSmVsRGWOJiTbxFEwIX5+i/0m7WnEMv6mVGpdZHHk4gmMogwMX0IBraEILCIzhAZ7g2RLWo/VivS5bc1Y2cwg/YL19Aq99jfs=</latexit>

2
<latexit sha1_base64="Hxm3c0WEuRO4gV2mw7eJvvUMSmw=">AAACI3icbVDLSsNAFJ34rPVVdelmsAiKIEkQlIJQcNNlBfuAJobJ9KYOTiZhZiLU0H9x46+4caEUNy78F6cPoVoPDBzOOZc794QpZ0rb9qe1sLi0vLJaWCuub2xubZd2dpsqySSFBk14ItshUcCZgIZmmkM7lUDikEMrvL8a+a0HkIol4kb3U/Bj0hMsYpRoIwWlSu1IHeNL7EWS0NxLYuiRQNy6g1zduieu9wia/KhYneCZRFAq26f2GHieOFNSRlPUg9LQ6yY0i0FoyolSHcdOtZ8TqRnlMCh6mYKU0HvSg46hgsSg/Hx84wAfGqWLo0SaJzQeq7MTOYmV6sehScZE36m/3kj8z+tkOrrwcybSTIOgk0VRxrFO8Kgw3GUSqOZ9QwiVzPwV0zti2tKm1qIpwfl78jxpuqeO4ddn5WplWkcB7aMDdIQcdI6qqIbqqIEoekIv6A29W8/WqzW0PibRBWs6s4d+wfr6Biimo1w=</latexit>
s + 2⇣!n s + !n2

The behavior of the system is as follows:


• The behavior of the system is as follows:

The behavior of the


The behavior system
of the systemisisfully
characterized by:
fully characterized by ζ ,
• ζ the dumping factor
which is called the damping
•ωn the natural frequency
ratio, and ωn , which is called
the natural frequency.

27
Prepared by Ben M. Chen
System specifications
Time domain design specification
• Typical
Typical specifications
specifications forfor
thethe step
step response (continuous-time domain):
response:

• Steady-state accuracy ess


? Rise time (10% ! 90%): tr ⇡ 1.8/!0 p
<latexit sha1_base64="7BHxj6NGKH9NbuHwMSgVyhPH/+U=">AAAB7XicdVBNSwMxEM3Wr1q/qh69BIvgqWxrreut4MVjBfsB7VKy6Wwbm02WJCuUpf/BiwdFvPp/vPlvTNsVVPTBwOO9GWbmBTFn2rjuh5NbWV1b38hvFra2d3b3ivsHbS0TRaFFJZeqGxANnAloGWY4dGMFJAo4dILJ1dzv3IPSTIpbM43Bj8hIsJBRYqzUhkGq9WxQLLlldwHsls+qtZrnWVKve179HFcyq4QyNAfF9/5Q0iQCYSgnWvcqbmz8lCjDKIdZoZ9oiAmdkBH0LBUkAu2ni2tn+MQqQxxKZUsYvFC/T6Qk0noaBbYzImasf3tz8S+vl5jQ81Mm4sSAoMtFYcKxkXj+Oh4yBdTwqSWEKmZvxXRMFKHGBlSwIXx9iv8n7Wq5YvlNrdS4zOLIoyN0jE5RBV2gBrpGTdRCFN2hB/SEnh3pPDovzuuyNedkM4foB5y3T0s4j5M=</latexit>

• Rise time (10% — 90%) tr = 1.8/(!n⇡⇣/


) 1 ⇣2
? Peak overshoot: Mp ⇡ e p <latexit sha1_base64="BcdC+PGiYmhQOZxcj/TsUc0znHU=">AAACEHicdVDLSgMxFM3Ud31VXboJFlE3dVprHReC4MalglWhLUMmvW1DM5khuSOWoZ/gxl9x40IRty7d+TemD0FFDwQO59xXThBLYdB1P5zMxOTU9MzsXHZ+YXFpObeyemmiRHOo8khG+jpgBqRQUEWBEq5jDSwMJFwF3ZOBf3UD2ohIXWAvhkbI2kq0BGdoJT+3hb6mdYRbHM5KA8l4t58e0WLB292uRyG0ma92+n4u7xbcIahb2CuVy55nSaXieZV9Wzyy8mSMMz/3Xm9GPAlBIZfMmFrRjbGRMo2CS+hn64mB2O5ibahZqlgIppEOj+jTTas0aSvS9imkQ/V7R8pCY3phYCtDhh3z2xuIf3m1BFteIxUqThAUHy1qJZJiRAfp0KbQwFH2LGFcC3sr5R2mGUebYdaG8PVT+j+5LBWKlp+X88eH4zhmyTrZINukSA7IMTklZ6RKOLkjD+SJPDv3zqPz4ryOSjPOuGeN/IDz9gkwZpyk</latexit>

✓ ◆
Mp in %
? • Peaktime
Settling overshoot
(to 1%): Mtps⇡=e 4.6/(⇣!0 ) or ⇣
⇡⇣/ 1 ⇣ 2
<latexit sha1_base64="z83g2HgzaqykkfCZnFSA3Hce9qo=">AAACJnicdVBNSysxFM34bZ/6qi7dBMsDN9aZvlrHhSC4cSMoWBU6tWTSWw1mZmJyR6zD/Bo3/hU3LhQRd/4U07GCynsXAifn3HtzckIlhUHXfXVGRsfGJyanpku/ZmbnfpfnF45MkmoOTZ7IRJ+EzIAUMTRRoIQTpYFFoYTj8GJnoB9fgTYiiQ+xr6AdsbNY9ARnaKlOeWuvo2iAcI3FriyUjF/kWcCU0sk1hdNsNVAiuAFka4G51Jh5q8XttJbneadccatuUdSt/q3V675vQaPh+4116g2lChnWfqf8GHQTnkYQI5fMmJbnKmxnTKPgEvJSkBpQ1gE7g5aFMYvAtLPCWk7/WKZLe4m2J0ZasF8nMhYZ049C2xkxPDc/tQH5L62VYs9vZyJWKULMPx7qpZJiQgeZ0a7QwFH2LWBcC+uV8nOmGUebbMmG8PlT+n9wVKt6Fh/UK9ubwzimyBJZJivEIxtkm+ySfdIknNySe/JInpw758F5dl4+Wkec4cwi+VbO2zvlRKc/</latexit>
0.6 1
100
<latexit sha1_base64="zSqrZDvQDhS4rQgFwEd6saQLb5Y=">AAACNnicdVDLThsxFPVQCjQUSNtlNxYREiyIZiCkww6pm26QQCKAFEeRx7mTWHg8g32narCGn2LT7+iOTRetqm75BJxHpYLaK1k6Ouc+jk9SKGkxDO+DhReLL5eWV17VVl+vrW/U37w9t3lpBHRErnJzmXALSmrooEQFl4UBniUKLpKrjxP94jMYK3N9huMCehkfaplKwdFT/foxuwHklCF8wek2lygurirHhnBNw2abKUhxO9plqeHCHfeLWa+7lZqyrapyURhWzMjhCHeqfr0RNsNp+dn9vVYrjidL2nHcPqDRXGqQeZ3069/YIBdlBhqF4tZ2o7DAnuMGpVBQ1VhpofB++BC6Hmqege25qdGKbnlmQNPc+KeRTtm/JxzPrB1nie/MOI7sc21C/kvrlpjGPSd1USJoMTuUlopiTicZ0oE0IFCNPeDCSO+VihH3+aBPuuZD+PNT+n9wvteMPD5tNY4O53GskPdkk2yTiHwgR+QTOSEdIsgduSc/yM/ga/A9+BX8nrUuBPOZd+RJBQ+Py3mshg==</latexit>

? Steady statetime
• Settling error(1%)
to unit step: t e=ss4.6/(⇣! )
s n <latexit sha1_base64="J22rseOowdEBSuquWMpBq0Zkdr0=">AAACFXicdVDLSgMxFM34tr6qLt0Ei6Agdaq1jgtBcOOyglWhU4ZMeluDmcyQ3BHr0J9w46+4caGIW8Gdf2P6EFT0QOBwzn3lhIkUBl33wxkZHRufmJyazs3Mzs0v5BeXzkycag41HstYX4TMgBQKaihQwkWigUWhhPPw6qjnn1+DNiJWp9hJoBGxthItwRlaKchvYmCoj3CD/VlZKBm/6mYHtFysbK37t4DMjyNos0BtdIN8wS26fVC3uLNdLnueJZWK51V2aWloFcgQ1SD/7jdjnkagkEtmTL3kJtjImEbBJXRzfmogsQtZG+qWKhaBaWT9S7p0zSpN2oq1fQppX/3ekbHImE4U2sqI4aX57fXEv7x6ii2vkQmVpAiKDxa1Ukkxpr2IaFNo4Cg7ljCuhb2V8kumGUcbZM6G8PVT+j852y6WLD8pFw73h3FMkRWyStZJieyRQ3JMqqRGOLkjD+SJPDv3zqPz4rwOSkecYc8y+QHn7RNbZZ7o</latexit>

? Phase margin: P M ⇡ 100⇣

4 - 16
?The mapping
imaginary from
axis (s = j!, = 0) ! s-plane
the unit circle (|z|to the
= 1) z-plane
? left-half plane ( < 0) ! inside of unit circle (|z| < 1)
• Locus of s = + j! under the mapping z = e sT
? right-half plane ( > 0) ! outside of unit circle (|z| > 1)
<latexit sha1_base64="kFQh2rPsuFPd8dxOx1cBLbQ2F9I=">AAAB+XicbZDLSgMxFIbPeK31NurSTbAIglBmRFAQoeDGZQV7gc5QMmmmjU0yQ5IplKFv4saFIm59E3e+jWk7C239IfDxn3M4J3+UcqaN5307K6tr6xubpa3y9s7u3r57cNjUSaYIbZCEJ6odYU05k7RhmOG0nSqKRcRpKxreTeutEVWaJfLRjFMaCtyXLGYEG2t1XVffBpr1BT5/ChJB+7jrVryqNxNaBr+AChSqd92voJeQTFBpCMdad3wvNWGOlWGE00k5yDRNMRniPu1YlFhQHeazyyfo1Do9FCfKPmnQzP09kWOh9VhEtlNgM9CLtan5X62Tmfg6zJlMM0MlmS+KM45MgqYxoB5TlBg+toCJYvZWRAZYYWJsWGUbgr/45WVoXlR9yw+XldpNEUcJjuEEzsCHK6jBPdShAQRG8Ayv8Obkzovz7nzMW1ecYuYI/sj5/AE5BJNb</latexit>
<latexit sha1_base64="EeON0vKh5TbZm6H1nKb2sW/Jrcs=">AAAB73icbZBNSwMxEIZn61etX1WPXoJF8FR2RVAQoeDFY4V+QbuWbDptQ7PZNckKdemf8OJBEa/+HW/+G9N2D9r6QuDhnRky8wax4Nq47reTW1ldW9/Ibxa2tnd294r7Bw0dJYphnUUiUq2AahRcYt1wI7AVK6RhILAZjG6m9eYjKs0jWTPjGP2QDiTvc0aNtVpP13if6tqkWyy5ZXcmsgxeBiXIVO0Wvzq9iCUhSsME1brtubHxU6oMZwInhU6iMaZsRAfYtihpiNpPZ/tOyIl1eqQfKfukITP390RKQ63HYWA7Q2qGerE2Nf+rtRPTv/RTLuPEoGTzj/qJICYi0+NJjytkRowtUKa43ZWwIVWUGRtRwYbgLZ68DI2zsmf57rxUucriyMMRHMMpeHABFbiFKtSBgYBneIU358F5cd6dj3lrzslmDuGPnM8fHkSP/A==</latexit>

? region of s-plane within the Nyquist rate (|!| < ⇡/T ) ! entire z-plane

s-plane z-plane
Im(s) Im(z)


! = ⇡/T esT
z =-

Re(s) 6 Re(z)
!= ⇡/T ! = ±⇡/T
@
R

4 - 10

The mapping from s-plane to z-plane


s-plane z-plane
Im(s) Im(z)
4 - 10

The mapping from the s-plane to the z-plane


The mapping from s-plane to z-plane
s-plane z-plane
Im(s) Im(z)
z = esT

Re(s) Re(z)
s = + j! @
I
= constant @
z = e ej!
|z| = e T = constant

Im(s) Im(z)

z = esT

Re(s) Re(z)
s = + j!
! = constant
z = e ej!
arg(z) = !T constant

4 - 11
The mapping from the s-plane to the z-plane
The mapping from s-plane to z-plane
Pole locations for constant damping ratio ⇣ < 1
Im(s)
p
s2 + ⇣!0 s + !02 = 0 1 ⇣ 2 !0
+ ✓
p
s= ⇣!0 ± j 1 ⇣ 2 !0 ⇣!0 Re(s)

cos ✓ = ⇣

⇣ = 0.5 Im(s) Im(z)


sT ⇣ = 0.7
⇣ = 0.7 z=e

Re(s) Re(z)
@
I
⇣ = 0.7
@ ⇣ = 0.7
⇣ = 0.5
p p
⇣!0 T j 1 ⇣ 2 !0 T
s = ⇣!0 + j 1 ⇣ 2 !0 : ⇣ = constant z=e e
4 - 12
The mapping
The mapping to s-plane
from the
from s-plane z-plane to the z-plane

!0 = 0.5⇡/T
@ ⇣ = 0.2
R
@ !0 = 0.3⇡/T

⇣ = 0.5

4 - 14
System specifications
Time domain design specification
• Typical
Typical specifications
specifications forfor
thethe step
step response (discrete-time domain):
response:

• Steady-state accuracy ess = lim (z 1)E(z)


? Rise time (10% ! 90%): tr ⇡z!1
1.8/!0 p
<latexit sha1_base64="mq0omK8GKM+zgigSzmd0cOgLvdA=">AAACB3icdVDLSsNAFJ3UV62vqktBBovQLixJrTUuhIIILivYBzQhTKaTdujkwcxEaEN3bvwVNy4UcesvuPNvnLYRVPTAhcM593LvPW7EqJC6/qFlFhaXlleyq7m19Y3Nrfz2TkuEMcekiUMW8o6LBGE0IE1JJSOdiBPku4y03eHF1G/fEi5oGNzIUURsH/UD6lGMpJKc/D5xEiEm8BxajPpOMrZkaEyK4yOjdFkcl5x8QS/rM0C9fFypVk1TkVrNNGsn0EitAkjRcPLvVi/EsU8CiRkSomvokbQTxCXFjExyVixIhPAQ9UlX0QD5RNjJ7I8JPFRKD3ohVxVIOFO/TyTIF2Lku6rTR3IgfntT8S+vG0vPtBMaRLEkAZ4v8mIGZQinocAe5QRLNlIEYU7VrRAPEEdYquhyKoSvT+H/pFUpG4pfVwv1szSOLNgDB6AIDHAK6uAKNEATYHAHHsATeNbutUftRXudt2a0dGYX/ID29glVkphJ</latexit>

• Rise time (10% — 90%) tr = 1.8/(!n⇡⇣/


) 1 ⇣2
? Peak overshoot: Mp ⇡ e p <latexit sha1_base64="BcdC+PGiYmhQOZxcj/TsUc0znHU=">AAACEHicdVDLSgMxFM3Ud31VXboJFlE3dVprHReC4MalglWhLUMmvW1DM5khuSOWoZ/gxl9x40IRty7d+TemD0FFDwQO59xXThBLYdB1P5zMxOTU9MzsXHZ+YXFpObeyemmiRHOo8khG+jpgBqRQUEWBEq5jDSwMJFwF3ZOBf3UD2ohIXWAvhkbI2kq0BGdoJT+3hb6mdYRbHM5KA8l4t58e0WLB292uRyG0ma92+n4u7xbcIahb2CuVy55nSaXieZV9Wzyy8mSMMz/3Xm9GPAlBIZfMmFrRjbGRMo2CS+hn64mB2O5ibahZqlgIppEOj+jTTas0aSvS9imkQ/V7R8pCY3phYCtDhh3z2xuIf3m1BFteIxUqThAUHy1qJZJiRAfp0KbQwFH2LGFcC3sr5R2mGUebYdaG8PVT+j+5LBWKlp+X88eH4zhmyTrZINukSA7IMTklZ6RKOLkjD+SJPDv3zqPz4ryOSjPOuGeN/IDz9gkwZpyk</latexit>

✓ ◆
Mp in %
? • Peaktime
Settling overshoot
(to 1%): Mtps⇡=e 4.6/(⇣!0 ) or ⇣
⇡⇣/ 1 ⇣ 2
<latexit sha1_base64="z83g2HgzaqykkfCZnFSA3Hce9qo=">AAACJnicdVBNSysxFM34bZ/6qi7dBMsDN9aZvlrHhSC4cSMoWBU6tWTSWw1mZmJyR6zD/Bo3/hU3LhQRd/4U07GCynsXAifn3HtzckIlhUHXfXVGRsfGJyanpku/ZmbnfpfnF45MkmoOTZ7IRJ+EzIAUMTRRoIQTpYFFoYTj8GJnoB9fgTYiiQ+xr6AdsbNY9ARnaKlOeWuvo2iAcI3FriyUjF/kWcCU0sk1hdNsNVAiuAFka4G51Jh5q8XttJbneadccatuUdSt/q3V675vQaPh+4116g2lChnWfqf8GHQTnkYQI5fMmJbnKmxnTKPgEvJSkBpQ1gE7g5aFMYvAtLPCWk7/WKZLe4m2J0ZasF8nMhYZ049C2xkxPDc/tQH5L62VYs9vZyJWKULMPx7qpZJiQgeZ0a7QwFH2LWBcC+uV8nOmGUebbMmG8PlT+n9wVKt6Fh/UK9ubwzimyBJZJivEIxtkm+ySfdIknNySe/JInpw758F5dl4+Wkec4cwi+VbO2zvlRKc/</latexit>
0.6 1
100
<latexit sha1_base64="zSqrZDvQDhS4rQgFwEd6saQLb5Y=">AAACNnicdVDLThsxFPVQCjQUSNtlNxYREiyIZiCkww6pm26QQCKAFEeRx7mTWHg8g32narCGn2LT7+iOTRetqm75BJxHpYLaK1k6Ouc+jk9SKGkxDO+DhReLL5eWV17VVl+vrW/U37w9t3lpBHRErnJzmXALSmrooEQFl4UBniUKLpKrjxP94jMYK3N9huMCehkfaplKwdFT/foxuwHklCF8wek2lygurirHhnBNw2abKUhxO9plqeHCHfeLWa+7lZqyrapyURhWzMjhCHeqfr0RNsNp+dn9vVYrjidL2nHcPqDRXGqQeZ3069/YIBdlBhqF4tZ2o7DAnuMGpVBQ1VhpofB++BC6Hmqege25qdGKbnlmQNPc+KeRTtm/JxzPrB1nie/MOI7sc21C/kvrlpjGPSd1USJoMTuUlopiTicZ0oE0IFCNPeDCSO+VihH3+aBPuuZD+PNT+n9wvteMPD5tNY4O53GskPdkk2yTiHwgR+QTOSEdIsgduSc/yM/ga/A9+BX8nrUuBPOZd+RJBQ+Py3mshg==</latexit>

? Steady statetime
• Settling error(1%)
to unit step: radius
ess of poles: |z| < 0.01T /ts
<latexit sha1_base64="meNJDImpl/aVLf2RUzwbVZVcVzc=">AAAB+XicdVDLSsNAFJ34rPUVdelmsAiualJrDeKi4MZlhb6gjWEynbRDJ5MwMynUtH/ixoUibv0Td/6N0zaCih64cOace5l7jx8zKpVlfRhLyyura+u5jfzm1vbOrrm335RRIjBp4IhFou0jSRjlpKGoYqQdC4JCn5GWP7ye+a0REZJGvK7GMXFD1Oc0oBgpLXmmObmfXFlFy75L66fKk1PPLOjnHNAqnpXKZcfRpFJxnMo5tDOrADLUPPO924twEhKuMENSdmwrVm6KhKKYkWm+m0gSIzxEfdLRlKOQSDedbz6Fx1rpwSASuriCc/X7RIpCKcehrztDpAbytzcT//I6iQocN6U8ThThePFRkDCoIjiLAfaoIFixsSYIC6p3hXiABMJKh5XXIXxdCv8nzVLR1vy2XKheZnHkwCE4AifABhegCm5ADTQABiPwAJ7As5Eaj8aL8bpoXTKymQPwA8bbJ8JDkxM=</latexit>

? Phase margin: P M ⇡ 100⇣

4 - 16
Example
• A continuous system with transfer function
1
G(s) =
s(10s + 1)
<latexit sha1_base64="csONXuHKF3AcWxb7As711Q1vr9U=">AAACAnicbZDLSgMxFIbP1Futt1FX4iZYhBahTERQEKHgQpcV7AXaUjJppg3NXEgyQhkGN76KGxeKuPUp3Pk2pu0stPWHwMd/zuHk/G4kuNKO823llpZXVtfy64WNza3tHXt3r6HCWFJWp6EIZcsligkesLrmWrBWJBnxXcGa7uh6Um8+MKl4GNzrccS6PhkE3OOUaGP17IObkiqjK9TxJKEJThNVwo46weW0ZxedijMVWgScQREy1Xr2V6cf0thngaaCKNXGTqS7CZGaU8HSQidWLCJ0RAasbTAgPlPdZHpCio6N00deKM0LNJq6vycS4is19l3T6RM9VPO1iflfrR1r76Kb8CCKNQvobJEXC6RDNMkD9blkVIuxAUIlN39FdEhMGNqkVjAh4PmTF6FxWsGG786K1cssjjwcwhGUAMM5VOEWalAHCo/wDK/wZj1ZL9a79TFrzVnZzD78kfX5A/ZflTM=</latexit>

is controlled by a discrete control system with ZOH. The closed-loop


system is required to have:
‣ Step response overshoot: Mp < 16% <latexit sha1_base64="NuCgcT/loBPRerASyYXzhBuGrIU=">AAAB8HicbZDLSgMxFIbP1Futt6pLN8FScFVmRNRFFwU3boQK9iLtUDJppg1NMkOSEcrQp3DjQhG3Po4738Z0Ogtt/SHw8Z9zyDl/EHOmjet+O4W19Y3NreJ2aWd3b/+gfHjU1lGiCG2RiEeqG2BNOZO0ZZjhtBsrikXAaSeY3MzrnSeqNIvkg5nG1Bd4JFnICDbWerwbxKjuXfarg3LFrbmZ0Cp4OVQgV3NQ/uoPI5IIKg3hWOue58bGT7EyjHA6K/UTTWNMJnhEexYlFlT7abbwDFWtM0RhpOyTBmXu74kUC62nIrCdApuxXq7Nzf9qvcSE137KZJwYKsniozDhyERofj0aMkWJ4VMLmChmd0VkjBUmxmZUsiF4yyevQvu85lm+v6g06nkcRTiBUzgDD66gAbfQhBYQEPAMr/DmKOfFeXc+Fq0FJ585hj9yPn8A+i2PLg==</latexit>

‣ Step response settling time (1%): ts < 10s <latexit sha1_base64="ETB4p2JdUkn1/eX6Ke70FDv3V9g=">AAAB8HicbZBNSwMxEIZn/az1q+rRS7AInsquCHrooeDFYwX7Ie1Ssmm2DU2ySzIrlNJf4cWDIl79Od78N6btHrT1hcDDOzNk5o1SKSz6/re3tr6xubVd2Cnu7u0fHJaOjps2yQzjDZbIxLQjarkUmjdQoOTt1HCqIslb0eh2Vm89cWNFoh9wnPJQ0YEWsWAUnfWIPVslgU9sr1T2K/5cZBWCHMqQq94rfXX7CcsU18gktbYT+CmGE2pQMMmnxW5meUrZiA54x6GmittwMl94Ss6d0ydxYtzTSObu74kJVdaOVeQ6FcWhXa7NzP9qnQzjm3AidJoh12zxUZxJggmZXU/6wnCGcuyAMiPcroQNqaEMXUZFF0KwfPIqNC8rgeP7q3KtmsdRgFM4gwsI4BpqcAd1aAADBc/wCm+e8V68d+9j0brm5TMn8Efe5w9NMo9k</latexit>

‣ Steady-state error to unit ramp: ess < 1 <latexit sha1_base64="vRWMezRg3QcyXRDqcanANMrfWRU=">AAAB8HicbZBNSwMxEIZn/az1q+rRS7AInsquCHrooeDFYwX7Ie1Ssum0DU2yS5IVytJf4cWDIl79Od78N6btHrT1hcDDOzNk5o0SwY31/W9vbX1jc2u7sFPc3ds/OCwdHTdNnGqGDRaLWLcjalBwhQ3LrcB2opHKSGArGt/O6q0n1IbH6sFOEgwlHSo+4IxaZz1iLzNmWiVBr1T2K/5cZBWCHMqQq94rfXX7MUslKssENaYT+IkNM6otZwKnxW5qMKFsTIfYcaioRBNm84Wn5Nw5fTKItXvKkrn7eyKj0piJjFynpHZklmsz879aJ7WDmzDjKkktKrb4aJAKYmMyu570uUZmxcQBZZq7XQkbUU2ZdRkVXQjB8smr0LysBI7vr8q1ah5HAU7hDC4ggGuowR3UoQEMJDzDK7x52nvx3r2PReual8+cwB95nz84OI/9</latexit>

Check these specifications if the sampling time is T = 1s and the


controller is
u[k] =
<latexit sha1_base64="eP1xNkKK9nRKZAgKvoDTmsuH4D0=">AAACDnicbZDLSgMxFIYzXmu9jbp0EyyFirTMeMEuFApuXFawF5gOJZOeaUMzF5KMUEqfwI2v4saFIm5du/NtTKez0NYDgY/vnJCc34s5k8qyvo2l5ZXVtfXcRn5za3tn19zbb8ooERQaNOKRaHtEAmchNBRTHNqxABJ4HFre8Gbabz2AkCwK79UoBjcg/ZD5jBKlVdcsJs7Qxde4bFUuNJZt98Q+K4GW2lSrkKrjrlmwKlZaeBHsDAooq3rX/Or0IpoEECrKiZSObcXKHROhGOUwyXcSCTGhQ9IHR2NIApDuOF1ngova9LAfCX1ChVP7+8aYBFKOAk9PBkQN5HxvKv/rOYnyq+6YhXGiIKSzh/yEYxXhaTa4xwRQxUcaCBVM/xXTARGEKp1gXodgz6+8CM3Tiq357rxQu8riyKFDdIRKyEaXqIZuUR01EEWP6Bm9ojfjyXgx3o2P2eiSkd05QH/K+PwB3f6YKw==</latexit>
0.5u[k 1] + 13(e[k] 0.88e[k 1])
Example
System specifications
Solution:
a) We1.first
(a) find
Findthe
thepulse
pulse transfer G(s)plus
functionofofG(s)
transfer function withthe
theZOH
ZOH:

n G(s) o (z 1) n 0.1 o
G(z) = (1 z 1⇢)Z = Z
G(s) s z z 1 s2 (s + 0.1)
G(z) = Z
z 2 (s + a)}
e.g. look up Z{a/s s in tables:
⇣ ⇢ ⌘
z 1 0.1 0.1
= z Z (0.1 1 + e )z + (1 (check
e 0.1it at home!
0.1e 0.1)
)
(z 1)z 2
s (s + 0.1)
G(z) =
z 0.1(z 0.1 1)2 (z e 0.1 )
z 1 z (0.1 1 + e )z + (0.1 1 e 0.1 )
0.0484(z
= + 0.9672)
= z 0.1(z e 0.1 )(z 1) 2
(z 1)(z 0.9048)
0.0484(z + 0.9672)
=
(z 1)(ztransfer
(b) Find the controller 0.9048)
function (using z = shift operator):
<latexit sha1_base64="yx8iL8x8TLxtCf+1ytE7Jr7PXoE=">AAADGnicjVLLbtQwFHXCqwyvKSzZWIxAiUZTJaMRLUhIlViUZZGYtmKSGTkeZ8aq85DtIE2sfAcbfoUNCxBih9jwN9w8eLRl0Ss5Oj733OPrG0e54Ep73k/LvnL12vUbWzd7t27fuXuvv33/SGWFpGxKM5HJk4goJnjKppprwU5yyUgSCXYcnb6s88fvmFQ8S9/oTc7ChKxSHnNKNFCLbcs7cEoXP3mBg1gSasqRX5mywkFC9JoSYd5WgWCxDkwnOHCUWxkFCslXax0ACGbejk+TsHd5FygAk/nYUUOA7iXd2l3j5DigGvlDNjej2swth7ilRn+o1hO6hZ1T/uUB++58fPas3315k72JU0JXz57ujqG2EcMHCEi5VW/RH4CqCXwR+B0YoC4OF/3vwTKjRcJSTQVRauZ7uQ4NkZpTwapeUCiWE3pKVmwGMCUJU6Fpfm2FHwOzxHEmYaUaN+y/FYYkSm2SCJT1rNX5XE3+LzcrdLwXGp7mhWYpbQ+KC4F1hut3gpdcMqrFBgChkkOvmK4JzEjDa6qH4J+/8kVwNN7xAb+eDPafd+PYQg/RI+QgH+2iffQKHaIpotZ766P12fpif7A/2V/tb63UtrqaB+hM2D9+ASJ77xA=</latexit>

U (z) (1 0.88z 1 ) (z 0.88)


= D(z) = 13 1
= 13
E(z) (1 + 0.5z ) (z + 0.5)
4 - 18
Example
b) Find the controller transfer function

U (z) 1 0.88z 1 z 0.88


D(z) = = 13 1
= 13
E(z) 1 + 0.5z z + 0.5 <latexit sha1_base64="Kc4u56qz4IGTes6xtCASXIAXpP4=">AAACPXicbVDLSgMxFM34rPVVdekmWISKtEx8YBEKBRVcVmi10NaSSTMamnmQZIQ2zI+58R/cuXPjQhG3bs20I2j1QsK555xLco8TciaVbT9ZU9Mzs3PzmYXs4tLyympubf1SBpEgtEECHoimgyXlzKcNxRSnzVBQ7DmcXjn9k0S/uqNCssCvq0FIOx6+8ZnLCFaG6ubqp4XhDqzAtisw0Q3TxPosuQ2H9scsKtqlcnl4rYsojjXatUuHaVP5tgxHllgPEzHu5vJ2yR4V/AtQCvIgrVo399juBSTyqK8Ix1K2kB2qjsZCMcJpnG1HkoaY9PENbRnoY4/Kjh5tH8Ntw/SgGwhzfAVH7M8JjT0pB55jnB5Wt3JSS8j/tFak3HJHMz+MFPXJ+CE34lAFMIkS9pigRPGBAZgIZv4KyS02cSgTeNaEgCZX/gsu90rI4IuDfPU4jSMDNsEWKAAEjkAVnIMaaAAC7sEzeAVv1oP1Yr1bH2PrlJXObIBfZX1+AX6XqgU=</latexit>

System specifications
c) Check the steady-state 2.error for a unit ramp. We already showed that
Check the steady state error ess when rk = unit ramp
ess = lim ek = lim (z 1)E(z)
1 k!1 z!1
E(z) = R(z)
1 + P (z)K(z) E(z)
=
1
R(z) 1 + D(z)G(z)
<latexit sha1_base64="alj5RxJB4VpEMVb4+O65Ap8y8HU=">AAACCHicbVDLSgMxFL1TX7W+Rl26MFiEilBmRFAEoSCC4KaKfUA7lEyaaUMzD5KMUIdZuvFX3LhQxK2f4M6/MW1noa0Hcjmccy8397gRZ1JZ1reRm5tfWFzKLxdWVtfWN8zNrboMY0FojYQ8FE0XS8pZQGuKKU6bkaDYdzltuIOLkd+4p0KyMLhTw4g6Pu4FzGMEKy11zN3L0sPBOWp7ApPEThP7sKoFdK1LeqtLxyxaZWsMNEvsjBQhQ7VjfrW7IYl9GijCsZQt24qUk2ChGOE0LbRjSSNMBrhHW5oG2KfSScaHpGhfK13khUK/QKGx+nsiwb6UQ9/VnT5WfTntjcT/vFasvFMnYUEUKxqQySIv5kiFaJQK6jJBieJDTTARTP8VkT7WmSidXUGHYE+fPEvqR2Vb85vjYuUsiyMPO7AHJbDhBCpwBVWoAYFHeIZXeDOejBfj3fiYtOaMbGYb/sD4/AGpc5cp</latexit>

Tz
R(z) =
Tz z (z 1)2
where the input is: R(z) = 2
= 2
. Therefore,
(z 1) n (z T1)
z 1 o <latexit sha1_base64="P9dCvzn3/lia5IduatgS0SyHP4E=">AAACFXicbZDLSsNAFIYn9VbrLerSzWARWtCSFEERhIIbl1V6gzaWyXTSDp1MwsxEaENewo2v4saFIm4Fd76N0zZCrf4w8POdczhzfjdkVCrL+jIyS8srq2vZ9dzG5tb2jrm715BBJDCp44AFouUiSRjlpK6oYqQVCoJ8l5GmO7ya1Jv3REga8JoahcTxUZ9Tj2KkNOqax7eFcRFewo4nEI5r4yQujE/s4l05+WFzqGvmrZI1Ffxr7NTkQapq1/zs9AIc+YQrzJCUbdsKlRMjoShmJMl1IklChIeoT9racuQT6cTTqxJ4pEkPeoHQjys4pfMTMfKlHPmu7vSRGsjF2gT+V2tHyjt3YsrDSBGOZ4u8iEEVwElEsEcFwYqNtEFYUP1XiAdIZ6F0kDkdgr148l/TKJds7W9O85WLNI4sOACHoABscAYq4BpUQR1g8ACewAt4NR6NZ+PNeJ+1Zox0Zh/8kvHxDRD9nNw=</latexit>

T
so ess = lim (z 1) = lim
z!1 (z1)2 1 + D(z)G(z) z!1 (z 1)D(z)G(z)
ess = lim = lim (z 1)E(z) T 10
k!1 z!1 = lim
0.0484(z + 0.9672)

Output y and reference r


z!1
⇢ (z 1)
(z 1)(z 0.9048)
D(1) 8
z 1
= lim (z 1) 2 1 0.9048= . . . = 0.96
6

z!1 (z 1) 1 + =D(z)G(z)
0.0484(1 + 0.9672)D(1)
= 0.96 4

2
) ess < 1
<latexit sha1_base64="GihJrXKMypEGk6cx5I9jmhY6CKk=">AAACwXicbVFbb9MwFHbCbZRbB4+8WFRMrRBVPCEGiKFJA8HjQHSbVIfKcZzWqp1k9gnQWvmTPMG/wU0yaWwc6Uifv/Odi89JSiUtRNGfILx2/cbNW1u3e3fu3rv/oL/98NgWleFiwgtVmNOEWaFkLiYgQYnT0gimEyVOkuXhJn7yXRgri/wrrEoRazbPZSY5A0/N+r/FzFlb4519TJXUM7ekUFCZZ7Cq8X5LrT2FST1cPyejD8P1CFM6jcaE67i3g8/zOhFVIgPqGi3NDONuXbevb7s1bhlSO/LsvS/00bsnjZwvgNZNqbQA60E0fv3yQhv6ZSNhxhQ/8PnA+C0mmJ5VLMUUxE9wQ2axEWeVNCId1bP+IBpHjeGrgHRggDo7mvV/0bTglRY5cMWsnZKohNgxA5IrUfdoZUXJ+JLNxdTDnGlhY9dcoMZPPZPirDDec8ANezHDMW3tSideqRks7OXYhvxfbFpB9ip2Mi8rEDlvG2WVwn7Zm3Pi1P+Wg1p5wLiRflbMF8xvGfzRe34J5PKXr4Lj3THx+POLwcGbbh1b6DF6goaIoD10gD6hIzRBPHgXpIEO8vAwlGEZmlYaBl3OI/SPhe4vgtjUgw==</latexit>
(as required) =) ess < 1 (as required)
0
0 5 10
Time (sec)
4 - 19
Example
d) Step response:
Mp < 16% ) ⇣ > 0.5
<latexit sha1_base64="3QrjpFiOtKIglj5SXRwFED9bTZs=">AAACCnicbZDJSgNBEIZ7XGPcRj16aQ0BT2FGXEEk4MWLEMUskBmGnk5P0qRnobtGiUPOXnwVLx4U8eoTePNt7CwHTfyh4eOvKqrr9xPBFVjWtzEzOze/sJhbyi+vrK6tmxubNRWnkrIqjUUsGz5RTPCIVYGDYI1EMhL6gtX97sWgXr9jUvE4uoVewtyQtCMecEpAW565c+Ul+Mw+corYueHtDhAp43vsPDAg+BxbpUPPLFglayg8DfYYCmisimd+Oa2YpiGLgAqiVNO2EnAzIoFTwfp5J1UsIbRL2qypMSIhU242PKWPi9pp4SCW+kWAh+7viYyESvVCX3eGBDpqsjYw/6s1UwhO3IxHSQosoqNFQSowxHiQC25xySiIngZCJdd/xbRDJKGg08vrEOzJk6ehtl+yNV8fFMqn4zhyaBvtoj1ko2NURpeogqqIokf0jF7Rm/FkvBjvxseodcYYz2yhPzI+fwCBupgy</latexit>

<latexit sha1_base64="rKjWJ5NmaEy8YhWTzPZQRE8QP7Q=">AAACFnicbZDLSgMxFIYz9VbrbdSlm2AR3FgnKl6gQsGNyyr2Am0tmTRtQzMXkjNKnfYp3Pgqblwo4lbc+Taml4W2/hD4+M85nJzfDaXQ4DjfVmJmdm5+IbmYWlpeWV2z1zeKOogU4wUWyECVXaq5FD4vgADJy6Hi1HMlL7mdi0G9dMeVFoF/A92Q1zza8kVTMArGqtt7UNc4i4mDNa5ei1YbqFLBPe499LJOxiG3MdknTh+fYydzfFi308YcCk8DGUMajZWv21/VRsAij/vAJNW6QpwQajFVIJjk/VQ10jykrENbvGLQpx7XtXh4Vh/vGKeBm4Eyzwc8dH9PxNTTuuu5ptOj0NaTtYH5X60SQfO0Fgs/jID7bLSoGUkMAR5khBtCcQaya4AyJcxfMWtTRRmYJFMmBDJ58jQUDzLE8NVROnc2jiOJttA22kUEnaAcukR5VEAMPaJn9IrerCfrxXq3PkatCWs8s4n+yPr8AVkam6c=</latexit>
ts < 10s ) |z| < 0.011/10 = 0.63

The closed loop poles are the roots of 1 + D(z)G(z) = 0 <latexit sha1_base64="r13Yw7s/ulHnTjPh7S2E0DrB4WA=">AAAB83icbZDLSgMxFIbP1Futt6pLN8EiVIQyI4K6EAoKuqxgL9AOJZNm2tBMMiQZoQ59DTcuFHHry7jzbUzbWWjrDwc+/nMOOfmDmDNtXPfbyS0tr6yu5dcLG5tb2zvF3b2GlokitE4kl6oVYE05E7RumOG0FSuKo4DTZjC8nvSbj1RpJsWDGcXUj3BfsJARbKzV8U5uyk/Ht7au3G6x5FbcqdAieBmUIFOtW/zq9CRJIioM4VjrtufGxk+xMoxwOi50Ek1jTIa4T9sWBY6o9tPpzWN0ZJ0eCqWyJQyaur83UhxpPYoCOxlhM9DzvYn5X6+dmPDCT5mIE0MFmT0UJhwZiSYBoB5TlBg+soCJYvZWRAZYYWJsTAUbgjf/5UVonFY8y/dnpeplFkceDuAQyuDBOVThDmpQBwIxPMMrvDmJ8+K8Ox+z0ZyT7ezDHzmfPz6bj9M=</latexit>

<latexit sha1_base64="FCwVTtM+OiNZYlRFtJl565tChwA=">AAACVXicbVFbSyMxGM3Meu26a10ffQmWhSnikNGqdUEQFPRRwarQlpJJv9FgJjMkmYU2zJ/0Rfwnvghm2j54+yBwOJdcTuJccG0Iefb8H3PzC4tLy7WfK79+r9bX/lzrrFAMOiwTmbqNqQbBJXQMNwJucwU0jQXcxA8nlX7zH5Tmmbwyoxz6Kb2TPOGMGkcN6iLa6hVyCCpWlIGNdnuJA3a8TcJ2u7TjLRLuleXAngbjZonfW6dGEpJWuxVUvsP9g51maYPxdtQMqg0OndSswmeT8BEZ1BvOPxn8FUQz0ECzuRjUH3vDjBUpSMME1bobkdz0LVWGMwFlrVdoyCl7oHfQdVDSFHTfTlop8V/HDHGSKbekwRP2fcLSVOtRGjtnSs29/qxV5HdatzBJu2+5zAsDkk0PSgqBTYarivGQK2BGjBygTHF3V8zuqWvLuI+ouRKiz0/+Cq53wmgvJJetxvG/WR1LaANtogBF6AAdo3N0gTqIoUf04nme7z15r/6cvzC1+t4ss44+jL/6Bj6rrik=</latexit>

z 0.88 0.0484(z + 0.9672)


1 + 13 =0
z + 0.5 (z 1)(z 0.9048)
| {z } | {z }
D(z) G(z)

) z = 0.88,
<latexit sha1_base64="PeNePiwZEDmrEqz5il/OfnCY9mY=">AAACEXicbZDLSgMxFIYzXmu9jbp0EyxCFzpktGJdCAU3LqvYC3SGkkkzbWzmQpJR6tBXcOOruHGhiFt37nwb03YW2vpD4OM/53Byfi/mTCqEvo25+YXFpeXcSn51bX1j09zarssoEYTWSMQj0fSwpJyFtKaY4rQZC4oDj9OG178Y1Rt3VEgWhTdqEFM3wN2Q+Yxgpa22WXSuWbensBDRPXyA5xBZ5fIBdOAhstAJcuIA3iLrGJXaZkE7Y8FZsDMogEzVtvnldCKSBDRUhGMpWzaKlZtioRjhdJh3EkljTPq4S1saQxxQ6abji4ZwXzsd6EdCv1DBsft7IsWBlIPA050BVj05XRuZ/9VaifLLbsrCOFE0JJNFfsKhiuAoHthhghLFBxowEUz/FZIeFpgoHWJeh2BPnzwL9SPL1nxVKlTOsjhyYBfsgSKwwSmogEtQBTVAwCN4Bq/gzXgyXox342PSOmdkMzvgj4zPH/nGmTw=</latexit>
0.050 ± j0.304

But the pole at z = 0.88 is canceled by controller’s zero and, therefore,


(
<latexit sha1_base64="kIkBrQLe4hqc3PWHcNBoQLeIcog=">AAAB73icbZBNS8NAEIYnftb6VfXoZbEInkoigkUQCl48VrAf0Iay2U7apZtN3N0INfRPePGgiFf/jjf/jds2B219YeHhnRl25g0SwbVx3W9nZXVtfWOzsFXc3tnd2y8dHDZ1nCqGDRaLWLUDqlFwiQ3DjcB2opBGgcBWMLqZ1luPqDSP5b0ZJ+hHdCB5yBk11mo/kWviVqrVXqnsVtyZyDJ4OZQhV71X+ur2Y5ZGKA0TVOuO5ybGz6gynAmcFLupxoSyER1gx6KkEWo/m+07IafW6ZMwVvZJQ2bu74mMRlqPo8B2RtQM9WJtav5X66QmrPoZl0lqULL5R2EqiInJ9HjS5wqZEWMLlCludyVsSBVlxkZUtCF4iycvQ/O84lm+uyjXrvI4CnAMJ3AGHlxCDW6hDg1gIOAZXuHNeXBenHfnY9664uQzR/BHzucP5gWOhw==</latexit>

±j✓ r = 0.31, ✓ = 1.73


z = 0.050 ± j0.304 = re )
⇣ = 0.56
<latexit sha1_base64="wMu2K5aEgciJnEXCGp95aSUWIbk=">AAACXHicbVFNTxsxFPRuKQ1LgdBKvfRiESH1ACsvH6U9RIrUS49QNYAUp5HXeUlMvN6V/ZYqWeVP9salf6V1kj1Q6JMsjee98djjtNDKIWMPQfhi4+Xmq8ZWtP16Z3evuf/m2uWlldCVuc7tbSocaGWgiwo13BYWRJZquEmnX5b9m3uwTuXmO84K6GdibNRISYGeGjTdnLbpMYvZOeNFRu9YfMrOPGXhR7UiOE4AxYLyb2o8QWFt/jPiKYyVqaT3dYvItr0oOaKcrmfbSXxxSjmP+Nzv/FksPv8YcTDDWjFotrzhquhzkNSgReq6HDR/8WEuywwMSi2c6yWswH4lLCqpYRHx0kEh5FSMoeehERm4frUKZ0EPPTOko9z6ZZCu2MeKSmTOzbLUT2YCJ+5pb0n+r9crcfSpXylTlAhGro1GpaaY02XSdKgsSNQzD4S0yt+VyomwQqL/j8iHkDx98nNwfRInHl+dtTqf6zga5D05IB9IQi5Ih3wll6RLJHkgf4JGsBX8DjfC7XBnPRoGteYt+afCd38BoXevgg==</latexit>
But the pole at z = 0.88 is cancelled by controller zero at z = 0.88, and
Example ±j✓

r = 0.31, ✓ = 1.73
z = 0.050 ± j0.304 = re =)
⇣ = 0.56
1.5

Output y and input u/10


0.5

−0.5

−1 all specs satisfied!


−1.5
0 1 2 3 4 5 6 7 8 9 10
Time (sec)
4 - 20
Continuous-time PID-Controllers
• P: amplifies the error by Kp.
• I: eliminate the residual error by adding a control effect due to the historic
cumulative value of the error
• D: reduce the effect of the error by exerting a control based on the rate of error
change

• The continuous-time PID controller (in time domain) is


Z t
de(t)
u(t) = Kp e(t) + Ki e(⌧ )d⌧ + Kd
0 dt
• Taking Laplace transforms:
✓ ◆
Ki
ū(s) = Kp + + Kd s ē(s)
s
Others vs control engineers!
P-Controller

• The obvious method - proportional control

• This method fails if, for instance, the error corresponds to more than a single
task or the system changes; hence, for the same error, different gains are
needed.
No control
Increasing K
KCp (Kc=0)
(K p = 0)

0
Time

• That's where the integral and derivative terms play their part.
I-Controller

• An integral term increases action in relation not only to the error, but also the
time for which it has persisted. So, if applied control action is not enough to
bring the error to zero, this control action will be increased as time passes.

• A pure "I" controller could bring the error to zero, however, it would be both
slow reacting at the start, brutal, and slow to end, prompting overshoot and
oscillations.

Increasing t
decreasing
I Ki increasing Kp
Increasing KC
y
y

0 0
time time

Time Time
(a) (b)
• Alternative formulation: change the error in small persistent steps - over time
the steps accumulate and add up dependent on past errors;
this is the discrete-time equivalent to integration.
D-Controller

• Aims at flattening the error trajectory into a horizontal line, damping the control
applied, and so reduces overshoot

• Ideal derivative control cannot (and must not) be realized in a PID-controller.


Practical systems always contain high frequency disturbances (e.g., white
noise), which are amplified by derivative control.

• Because of that a lag term is usually added to the derivation.

Kd s
Kd s
1 + Kd s/N

• Other practical modification is to derivate only the output (not the reference,
not the error signal)
PID-Controller

• Top-left: P-controller effect


(ID-controllers kept constant)

• Bottom-left: I-controller effect


(PD-controllers kept constant)

• Bottom-right: D-controller effect


(PI-controllers kept constant)
PID-Controllers
From continuous- to discrete-time PID controllers

• Simple discretization:
8 8
> P (t) = Kp e(t) >
> P (kh) = Kp e(kh)
>
> >
>
>
> >
>
< Z t < k
X1 k
X1
I(t) = Ki e(⌧ )d⌧ ) I(kh) = Ki e(nh)h = Ki h e(nh)
>
> >
>
>
> 1 >
> n= 1 n= 1
>
: >
>
D(t) = Kd de(t) :
dt D(kh) = Kd e(kh) he(kh 1) = Khd e(kh)

• Therefore:
k
X1 Kd
u(kh) = Kp e(kh) + Ki h e(nh) + e(kh)
n= 1
h

• Taking the z-transform (why?):


✓ ◆
Ki h Kd z 1
U (z) = Kp + + E(z)
z 1 h z
| {z }
HPID
From continuous- to discrete-time PID controllers

• Note: the above PID-controller is not the only interpretation of a discrete PID-
controller. For example, if backward integration is used in the integral part,
the formula below follows:

Ki hz Kd z 1
HPID = GPID (s) = Kp + +
s= zzh1 z 1 h z

• The discretization of a practical PID-controller is as straightforward:


8 8
> Pm (s) = Kp (bYref (s) Y (s)) >
> Pm (z) = Kp (bYref (z) Y (z))
>
> >
>
>
< >
<
Ki Ki h
I(s) = (Yref (s) Y (s)) ) I(z) = (Yref (z) Y (z))
>
> s >
> z 1
>
> >
>
: Kd s >
:Dm (z) = Dm (s) Kd zzh1
Dm (s) = 1+K Y (s) = K Y (z)
d s/N s=z 1 1+ Nd zzh1
zh
Tuning PID controllers

• The structure of the used discrete PID algorithm must always be told together
with the tuning parameters Kp, Ki, Kd (and h).

• Controller design is based on heuristic design methods for selecting the


controller parameters.

• The principal design goal is stability: The system is stable when the closed
loop poles are on the left-half of s-plane or inside the unit circle in z-plane

• Secondary criteria are, for example, rise, overshoot, settling time, and steady
state error. These can be analyzed graphically from impulse, step and ramp
responses of the close loop system
Effects of increasing a parameter independently
Parameter Rise time Overshoot Settling time Steady-state error Stability

Kp Decrease Increase Small change Decrease Degrade

Ki Decrease Increase Increase Eliminate Degrade

Kd Minor change Decrease Decrease No effect in theory Improve if small


Actuator saturation

• Most control systems are designed based on linear theory

• A linear controller is simple to implement and performance is good, as long as


dynamics remain close to linear

• Nonlinear effects require care, such as actuator saturation (always present)

• Saturation phenomena, if neglected in the design phase, can lead to closed-


loop instability, especially if the process Saturation
Lecture: Anti-windup techniques
is open-loop
effects
unstable.
Main reason: the control loop gets broken if saturation is not taken into
Problem
account by the controller

Kx(k)+Hr(k)
saturation
r(k)
linear u(k) x(k)
controller G(z)

Most control systems are designed based on linear theory


Lecture: Anti-windup techniques Saturation effects

Saturation function
Saturation function
• Saturation
Saturation can
can bebe defined
defined as the
as the static
static nonlinearity
nonlinearity
1
8 8
>
< umin , if u < umin
< umin if u < umin
0.5

sat(u) = u,u if ifu umin 


u uu umax
sat(u) =   0

: >
: min
umaxif, ifu u
max
umax >> umax
umax −0.5

−1
−2 −1 0 1 2

umin
u and
andumax
u areare
thethe
minimum
minimum and maximum
and maximum allowed actuation
allowed actuationsignals
signals
• min max
(example: ±12 V for a DC motor)
(example: ±12 V for a DC motor)
If u is a vector with m components, the saturation function is defined as the
saturation of all its components (umin , umax 2 Rm )
2 3
• If u is a vector with m components,6the sat(u 1)
saturation function is defined as the
7
saturation of all its components 6 sat(u2 ) 7
sat(u) = 6
6 . 7
7
..
4 5
sat(um )

of. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 6 / 17
The windup problem Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

The wind-up problem


The windup problem

du/dt

Derivative du/dt
input
Derivative input

1
1 s 1
1 s
reference reference Gain Gain Saturation SaturationProcessProcess output
output

1 1
integ
s
s integ
Integrator To Workspace
Integrator To Workspace

very simple process (=an integrator)


very controlled
simple process
by a PID(=an integrator)
controller (KP = KI = KD = 1)
controlled by a PIDunder saturation
controller = K u=K0.1= 1)
(K 0.1 P I D
under saturation 0.1  u  0.1
The output takes a long time to go steady-state
• TheThe
output takes
The
output a long
reason
takes a is time
the
long to go
“windup”
time steady-state
of the
to go integrator contained in the PID controller,
steady-state
which keeps integrating the tracking error even if the input is saturating
• TheThe reason
reason is the
isanti-windup
the “windup”
“wind-up” schemes of
thethe
ofavoid integrator
integrator
such a windup contained
contained
effect in the
in the PIDPID controller,
controller,
which
which keepskeeps integrating
integrating the the tracking
tracking errorerror
even evenif if the
the inputinput
is is saturating
saturating
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 7 / 17

anti-windup schemes avoid such a windup effect


• Anti-windup schemes avoid such a wind-up effect
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 7 / 17
Anti-windup #1: incremental algorithm
Anti-windup #1: Incremental algorithm

r(KT)
incremental u(kT ) 1 u(kT) y(kT)
PID 1 z 1 G(z)

It only applies to PID control laws implemented in incremental form


• It only applies to PID control laws implemented in incremental form
u((k + 1)T) = u(kT) + u(kT)
u((k + 1)T ) = u(kT ) + u(kT )
where
where
u(kT) = u(kT) u((k 1)T)
u(kT ) = u(kT ) u((k 1)T )
Integration is stopped if adding a new u(kT) causes a violation of the
saturation bound
• Integration is stopped if adding a new ∆u(kT) causes a violation of the
saturation bound

Sunday, May 16, 2010

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 8 / 17
Anti-windupAnti-windup
#2: Back-calculation
#2: Back-calculation

PID
r ! "e ! ! v u y
sTd
!
Kp actuator G(s)
!
Kp 1 " !
Ti ! ! s

1 et
anti-windup Tt

• Anti-windup schemescheme
The anti-windup has nohas
effect when the
no effect actuator
when is not saturating
the actuator (et = 0)
is not saturating
(et (t) = 0)
• The
Thetime constant
time constantTt determines how
Tt determines quickly
how thethe
quickly integrator of the
integrator PIDPID
of the
controller
controlleris reset
is reset
If the actual output u(t) of the actuator in not measurable, we can use a
• If the actual output u(t) of the actuator in not measurable, we can use a
mathematical model of the actuator. Example: et (t) = v(t) sat(v(t))
mathematical model of the actuator, e.g., et(t) = v(t) − sat(v(t))
Wednesday, June 2, 2010
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 9 / 17
Anti-windup #2: Back-calculation
Anti-windup #2: Example

du/dt

Derivative du/dt input


Derivative input
1
1 s 1
1 s
reference Gain Saturation Process output
reference Gain Saturation Process output
integ_aw integ_aw

To Workspace To Workspace

1
1 s
s Integrator
Integrator

anti-windup scheme for a PID controller (KP = KI = KD = 1, Tt = 1)


anti-windup scheme for a PID controller (KP = KI = KD = 1, Tt = 1)

Integrator windup is avoided thanks to back-calculation

Integrator windup is avoided thanks to back-calculation


• Integrator windup is avoided thanks to back-calculation
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 10 / 17

• Note: Back-calculation only requires tuning one parameter, the time constant
Prof. T t. But
Alberto it only
Bemporad applies
(University to PID control. Automatic Control 2
of Trento) Academic year 2010-2011
Benefits of the anti-windup scheme
Benefits of the anti-windup scheme

• Let’sLet’s
looklook at the
at the difference
difference between
between having
having andand
notnot having
having an anti-windup
an anti-windup
scheme
scheme
2

• Note that in case of wind up we


output y(t)

1.5

0.5 have:
0 Note that in case of windup we have
0 10 20 30 40 50 60 70 80
‣ Large output oscillations
0.1
strong output oscillations
‣ Longer time to reach steady-state
input u(t)

0.05

0
a longer time to reach the
−0.05 ‣ Peaks of control signal
−0.1
0 10 20 30 40 50 60 70 80
steady-state
the peaks of control signal
integral term i(t)

−5
0 10 20 30 40 50 60 70 80
time t

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 11 / 17
Hardware Demo
Learning outcomes

By the end of this lecture, you should be able to:

• Design practical PID controllers for applications

• Design anti-windup schemes to avoid wind-up

You might also like