DCS Discrete PID Controllers
DCS 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:
• What is the sampling frequency so that one can reconstruct the signal
=−∞
( ( − )) ∗ ( ) ...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
() No longer Re plicas of X c ( j ( )) 2 0 0
In the previous lecture…
- 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…
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
• The first theoretical analysis and practical application was in the field of
automatic steering systems for ships - early 1920s onwards.
⌃
<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,
⌃
<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>
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
1 + P (z)K(z)
<latexit sha1_base64="3P8GIEc+d6nSWEMrNinbB0V4Z/g=">AAACC3icbZBNSwMxEIZn61etX6sevYQWoSKUXREUQSh4KXipYD+gLSWbZtvQbHZJskJdevfiX/HiQRGv/gFv/hvTdkFtHUh48s4Mk3m9iDOlHefLyiwtr6yuZddzG5tb2zv27l5dhbEktEZCHsqmhxXlTNCaZprTZiQpDjxOG97wapJv3FGpWChu9SiinQD3BfMZwdpIXTtfKd4fXbZ9iUlSNYiuzTVO3OOfR9cuOCVnGmgR3BQKkEa1a3+2eyGJAyo04ViplutEupNgqRnhdJxrx4pGmAxxn7YMChxQ1Ummu4zRoVF6yA+lOUKjqfq7I8GBUqPAM5UB1gM1n5uI/+VasfbPOwkTUaypILNBfsyRDtHEGNRjkhLNRwYwkcz8FZEBNr5oY1/OmODOr7wI9ZOSa/jmtFC+SO3IwgHkoQgunEEZKlCFGhB4gCd4gVfr0Xq23qz3WWnGSnv24U9YH9+VApgt</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 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
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:
✓ ◆
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>
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
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 ✓ = ⇣
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:
✓ ◆
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>
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>
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>
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)
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,
<latexit sha1_base64="PeNePiwZEDmrEqz5il/OfnCY9mY=">AAACEXicbZDLSgMxFIYzXmu9jbp0EyxCFzpktGJdCAU3LqvYC3SGkkkzbWzmQpJR6tBXcOOruHGhiFt37nwb03YW2vpD4OM/53Byfi/mTCqEvo25+YXFpeXcSn51bX1j09zarssoEYTWSMQj0fSwpJyFtKaY4rQZC4oDj9OG178Y1Rt3VEgWhTdqEFM3wN2Q+Yxgpa22WXSuWbensBDRPXyA5xBZ5fIBdOAhstAJcuIA3iLrGJXaZkE7Y8FZsDMogEzVtvnldCKSBDRUhGMpWzaKlZtioRjhdJh3EkljTPq4S1saQxxQ6abji4ZwXzsd6EdCv1DBsft7IsWBlIPA050BVj05XRuZ/9VaifLLbsrCOFE0JJNFfsKhiuAoHthhghLFBxowEUz/FZIeFpgoHWJeh2BPnzwL9SPL1nxVKlTOsjhyYBfsgSKwwSmogEtQBTVAwCN4Bq/gzXgyXox342PSOmdkMzvgj4zPH/nGmTw=</latexit>
0.050 ± j0.304
−0.5
• 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
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
• 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
• 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 structure of the used discrete PID algorithm must always be told together
with the tuning parameters Kp, Ki, Kd (and h).
• 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
Kx(k)+Hr(k)
saturation
r(k)
linear u(k) x(k)
controller G(z)
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
: >
: 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
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
r(KT)
incremental u(kT ) 1 u(kT) y(kT)
PID 1 z 1 G(z)
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
To Workspace To Workspace
1
1 s
s Integrator
Integrator
• 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
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