<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@vertical+block@lec10-tab1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="vertical" data-init="VerticalStudentView" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<h2 class="hd hd-2 unit-title">10.1. Lecture 6: Block Diagrams and Feedback.</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab1-text1">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab1-text1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p>
After completing this lecture you will be able to </p><ol class="enumerate"><li value="1"><p>
Interpret LTI systems in terms of <b class="bfseries"><span style="color:#0000FF">feedback</span></b> , and <b class="bfseries"><span style="color:#0000FF">construct appropriate block diagrams</span></b> representing them. </p></li></ol>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@vertical+block@lec10-tab2" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="vertical" data-init="VerticalStudentView" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<h2 class="hd hd-2 unit-title">10.2. Introduction to feedback</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab2-text1">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab2-text1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p>
Feedback is everywhere! You couldn't walk or ride a bicycle without the constant use of feedback. We have seen the example of acoustic feedback, which is often thought of as an annoyance. But the real power and interest in the feedback concept is its usefulness in stabilizing systems. </p><p>
We'll begin with a couple of examples designed to drive home the point that systems we already know well can be viewed as containing feedback loops. </p>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@vertical+block@lec10-tab3" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="vertical" data-init="VerticalStudentView" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<h2 class="hd hd-2 unit-title">10.3. Feedback in a first order system.</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="video" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Salmon farm example.</h3>
<div
id="video_lec10-tab3-video1"
class="video closed"
data-metadata='{"saveStateUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1/handler/xmodule_handler/save_user_state", "completionEnabled": false, "ytTestTimeout": 1500, "autohideHtml5": false, "completionPercentage": 0.95, "poster": null, "ytApiUrl": "https://www.youtube.com/iframe_api", "sources": [], "transcriptLanguages": {"en": "English"}, "saveStateEnabled": false, "captionDataDir": null, "recordedYoutubeIsAvailable": true, "autoAdvance": false, "duration": 0.0, "publishCompletionUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1/handler/publish_completion", "transcriptTranslationUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1/handler/transcript/translation/__lang__", "prioritizeHls": false, "autoplay": false, "savedVideoPosition": 0.0, "streams": "1.00:ie6sHMENWRI", "speed": null, "generalSpeed": 1.0, "ytMetadataEndpoint": "", "showCaptions": "true", "start": 0.0, "transcriptLanguage": "en", "lmsRootURL": "https://openlearninglibrary.mit.edu", "end": 0.0, "transcriptAvailableTranslationsUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab3-video1/handler/transcript/available_translations"}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="lec10-tab3-video1"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab3-text1">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab3-text1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p>
Feedback is everywhere! Some systems are pure feedback. The trick is to learn to use it and not get hurt by it. </p><p><p><b class="bfseries">Example 3.1 </b> Let's model a salmon farm. The parameters are </p><ul class="itemize"><li><p>
[mathjaxinline]x(t)[/mathjaxinline] = population of salmon at time [mathjaxinline]t[/mathjaxinline] </p></li><li><p>
[mathjaxinline]y(t)[/mathjaxinline] = rate at which salmon are added to the farm (stocked) minus the rate at which they are removed (harvested). </p></li><li><p>
[mathjaxinline]k[/mathjaxinline] = natural growth rate of salmon. </p></li></ul><p>
The equation is then </p><table id="a0000001020" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]\dot x(t)=y(t)+kx(t)[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
You can see the feedback loop here: the current population of salmon affects the rate of growth of the salmon population. </p><p>
Let's begin by supposing that the natural death rate and birth rate are in equilibrium; so [mathjaxinline]k=0[/mathjaxinline], and [mathjaxinline]\dot x=y[/mathjaxinline]. This is certainly simple to solve! </p><table id="a0000001021" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]x(t)=\int _0^ t y(t)\, dt\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
Let's re-express this in the frequency domain, by applying Laplace transform to the equation: </p><table id="a0000001022" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]sX(s)=Y(s)\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
The system function is the output over the input in the frequency domain: </p><table id="a0000001023" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]H(s)=1/s[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
so we can represent this system by the block diagram </p><center><img src="/assets/courseware/v1/62dcfc12102a171d39b56b82329eacf5/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_block_5.svg" width="175px" style="margin: 0px 10px 10px 10px"/></center><p>
The block containing [mathjaxinline]1/s[/mathjaxinline] is an “integrator." It is the [mathjaxinline]s[/mathjaxinline]-domain representation for the operation that sends a signal to its “integral up to time [mathjaxinline]t[/mathjaxinline]," as in the equation above. </p><p>
This is an “open-loop system"; there is no feedback. But now suppose that [mathjaxinline]k[/mathjaxinline] is nonzero. </p><p>
We can represent the effect of the current population as follows: </p><center><img src="/assets/courseware/v1/1518d045741cab03910242ef71693514/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_block_6.svg" width="300px" style="margin: 0px 10px 10px 10px"/></center><p>
This is a “closed loop" system, exhibiting feedback. </p><p>
Let's read the diagram. It says that [mathjaxinline]X(s)[/mathjaxinline] is the product of [mathjaxinline]1/s[/mathjaxinline] with the signal coming into the [mathjaxinline]1/s[/mathjaxinline] block. That signal has two parts: [mathjaxinline]Y(s)[/mathjaxinline], and [mathjaxinline]k[/mathjaxinline] times [mathjaxinline]X(s)[/mathjaxinline]. That is, </p><table id="a0000001024" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]X(s)=(1/s)(Y(s)+kX(s))[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
Solving for [mathjaxinline]X(s)[/mathjaxinline], we find: </p><table id="a0000001025" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]H(s)=\frac{1}{s-k}\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
This is indeed the system function of the full salmon system! </p></p>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@vertical+block@lec10-tab4" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="vertical" data-init="VerticalStudentView" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<h2 class="hd hd-2 unit-title">10.4. Feedback in a second order system.</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="video" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Spring/mass/dashpot system with feedback</h3>
<div
id="video_lec10-tab4-video1"
class="video closed"
data-metadata='{"saveStateUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1/handler/xmodule_handler/save_user_state", "completionEnabled": false, "ytTestTimeout": 1500, "autohideHtml5": false, "completionPercentage": 0.95, "poster": null, "ytApiUrl": "https://www.youtube.com/iframe_api", "sources": [], "transcriptLanguages": {"en": "English"}, "saveStateEnabled": false, "captionDataDir": null, "recordedYoutubeIsAvailable": true, "autoAdvance": false, "duration": 0.0, "publishCompletionUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1/handler/publish_completion", "transcriptTranslationUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1/handler/transcript/translation/__lang__", "prioritizeHls": false, "autoplay": false, "savedVideoPosition": 0.0, "streams": "1.00:S3UvBgWILYQ", "speed": null, "generalSpeed": 1.0, "ytMetadataEndpoint": "", "showCaptions": "true", "start": 0.0, "transcriptLanguage": "en", "lmsRootURL": "https://openlearninglibrary.mit.edu", "end": 0.0, "transcriptAvailableTranslationsUrl": "/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@video+block@lec10-tab4-video1/handler/transcript/available_translations"}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="lec10-tab4-video1"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab4-text1">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab4-text1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p>
One of the attractions of the block diagram notation, when combined with feedback paradigm, is its flexibility. Systems admit many different block diagram representations, expressing different features in different ways. </p><p>
For example, let's look at a spring/mass/dashpot system set up like this, and driven by a force acting directly on the mass: </p><center><img src="/assets/courseware/v1/0af75cbc6deca1587a4b94254b277832/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_smd_feedback.svg" width="200px" style="margin: 0px 10px 10px 10px"/></center><p>
The equation of motion is then </p><table id="a0000001026" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]m\ddot x + b\dot x + kx = f(t)[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
and the transfer function is </p><table id="a0000001027" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]H(s)=\frac{1}{ms^2+bs+k}\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
We can, if we like, represent this by a simple block diagram as follows. </p><center><img src="/assets/courseware/v1/842b66f15579f734c685bbd69769b9d8/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_block_7.svg" width="225px" style="margin: 0px 10px 10px 10px"/></center><p>
But we can also envision both spring force and the dashpot force as forms of feedback: both depend upon the current position of the mass. After all, we derived the equation of motion from Newton's law </p><table id="a0000001028" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]m\ddot x= f(t) - b\dot x - kx[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
The following diagram expresses this expression in the [mathjaxinline]s[/mathjaxinline]-domain: </p><center><img src="/assets/courseware/v1/d196b05d353e6221694d1a9632d95380/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_block_8.svg" width="275px" style="margin: 0px 10px 10px 10px"/></center><p>
Let's check: The transfer functions in the blocks making up the parallel branches in the feedback portion of the diagram add, giving [mathjaxinline]bs+k[/mathjaxinline]. Then the diagram reads: </p><table id="a0000001029" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]X(s)=\left(\frac{1}{ms^2}\right)\Big(F(s)-(bs+k)X(s)\Big)\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
which, when multiplied through by [mathjaxinline]ms^2[/mathjaxinline], is exactly the Laplace transform of the differential equation above. </p>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab4-text2">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab4-text2" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<h3 class="hd hd-3 problem-header">Effect of feedback on stability of spring system.</h3><p>
Let's look at what effects these two forms of feedback had on the behavior of the spring system. </p><p>
The open loop system function, [mathjaxinline]1/ms^2[/mathjaxinline], has a double pole at [mathjaxinline]s=0[/mathjaxinline]. This system is unstable; the general zero input response is [mathjaxinline]a+bt[/mathjaxinline]. </p><p>
When we added the spring feedback, the system function becomes [mathjaxinline]1/(ms^2+k)[/mathjaxinline]. The feedback splits the double pole at the origin into a complex conjugate pair of poles, at [mathjaxinline]\pm i\omega _ n[/mathjaxinline] where [mathjaxinline]\omega _ n[/mathjaxinline] is the natural angular frequency [mathjaxinline]\sqrt {k/m}[/mathjaxinline]. The general ZIR is the general sinusoidal signal of this angular frequency. The stability has improved – system responses for large time stay within a constant distance from each other as time goes by – but it's still unstable. </p><p>
Finally, when we add the dashpot, the damping pushes the poles of the system function off the imaginary axis into the left half plane. We have stabilized the system. </p>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@vertical+block@lec10-tab5" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="vertical" data-init="VerticalStudentView" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<h2 class="hd hd-2 unit-title">10.5. Black's formula</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab5-text1">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@html+block@lec10-tab5-text1" data-graded="True" data-has-score="False" data-runtime-version="1" data-block-type="html" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p>
Clearly there's a general calculation that can be done. Suppose we have the feedback block diagram. </p><center><img src="/assets/courseware/v1/e4030d5d59d23326ef54d1b0a20408b9/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_blacksformula.svg" width="300px" style="margin: 0px 10px 10px 10px"/></center><p>
The system represented by the transfer function [mathjaxinline]H(s)[/mathjaxinline] is the “plant," the main system. It is the “open loop system function." The system represented by [mathjaxinline]G(s)[/mathjaxinline] controls the quality of the feedback. Notice that we choose to present it as "negative feedback"; that is, the output of the [mathjaxinline]G(s)[/mathjaxinline] system is <b class="bf">subtracted</b> from [mathjaxinline]Y(s)[/mathjaxinline].The transfer function of the entire system is the “closed loop system function." Write [mathjaxinline]H_{\mathrm{cl}}[/mathjaxinline] for it. Let's calculate it. </p><p>
The block diagram represents the equation </p><table id="a0000001030" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]X=H\left(Y-GX\right)[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
To calculate the transfer function of the entire system, solve for [mathjaxinline]X[/mathjaxinline]: </p><table id="a0000001031" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]X=\frac{H}{1+GH}Y\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
So </p><table id="a0000001032" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]H_{\mathrm{cl}}(s)=\frac{H(s)}{1+G(s)H(s)}\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
This is <b class="bf">Black's formula</b>. </p><p>
As a sanity check, notice that if [mathjaxinline]G(s)=0[/mathjaxinline], so that the feedback branch kills any signal, you find [mathjaxinline]H_{\mathrm{cl}}(s)=H(s)[/mathjaxinline]: no feedback. </p><p>
An important example of feedback for use in control is “linear feedback," when the feedback transfer function is constant, [mathjaxinline]G(s)=c[/mathjaxinline], so that </p><table id="a0000001033" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]H_{\mathrm{cl}}(s)=\frac{H(s)}{1+cH(s)}\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
Let's investigate how it behaves. In particular, when does it represent a <b class="bf">stable</b> system? To understand this we should locate the poles of [mathjaxinline]H_{\mathrm{cl}}(s)[/mathjaxinline]. </p><p>
Suppose that [mathjaxinline]c[/mathjaxinline] is not zero. </p><p>
The first thing to notice is that the poles of the numerator are exactly the same as the poles of the denominator: [mathjaxinline]1+cH(s)[/mathjaxinline] becomes infinite exactly when [mathjaxinline]H(s)[/mathjaxinline] does. Therefore, in the quotient these poles cancel and are not poles of the closed loop transfer function. </p><p>
So the poles of [mathjaxinline]H_{\mathrm{cl}}(s)[/mathjaxinline] occur exactly at the <b class="bf">zeros</b> of the denominator. We've discovered this: </p><p><b class="bf">The closed loop system (with linear feedback with constant [mathjaxinline]c[/mathjaxinline]) is stable exactly when the zeros of [mathjaxinline]1+cH(s)[/mathjaxinline] are all in the left half plane.</b></p><p>
For a simple example, suppose we have a bacterial colony with natural growth rate given by the real number [mathjaxinline]k[/mathjaxinline]. The corresponding system function is [mathjaxinline]H(s)=1/(s-k)[/mathjaxinline], so </p><table id="a0000001034" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto"><tr><td class="equation" style="width:80%; border:none">[mathjax]1+cH(s)=1+\frac{c}{s-k}=\frac{s-k+c}{s-k}\, .[/mathjax]</td><td class="eqnnum" style="width:20%; border:none"> </td></tr></table><p>
This is zero for [mathjaxinline]s=k-c[/mathjaxinline], which is real, and negative when [mathjaxinline]c>k[/mathjaxinline]. This makes sense: the negative feedback will forestall a population explosion as long as its constant is greater than the natural growth rate of the colony. </p>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="cbffa101ea7511efb8110e0e3c45b88f" data-usage-id="block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1" data-graded="True" data-has-score="True" data-runtime-version="1" data-block-type="problem" data-init="XBlockToXModuleShim" data-course-id="course-v1:OCW+18.031+2019_Spring" data-runtime-class="LmsRuntime">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_lec10-tab5-problem1" class="problems-wrapper" role="group"
aria-labelledby="lec10-tab5-problem1-problem-title"
data-problem-id="block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1" data-url="/courses/course-v1:OCW+18.031+2019_Spring/xblock/block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="lec10-tab5-problem1-problem-title" aria-describedby="block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1-problem-progress" tabindex="-1">
Feedback junction with two positive signs
</h3>
<div class="problem-progress" id="block-v1:OCW+18.031+2019_Spring+type@problem+block@lec10-tab5-problem1-problem-progress"></div>
<div class="problem">
<div>
<p>
Give the formula for the transfer function of the closed loop if the feedback junction had two pluses instead of a plus and a minus. </p>
<center>
<img src="/assets/courseware/v1/10504d88c0bf9c4a2370e442dc926b54/asset-v1:OCW+18.031+2019_Spring+type@asset+block/images_c6_blacksformulaplus.svg" width="300px" style="margin: 0px 10px 10px 10px"/>
</center>
<p>
(Type <b class="bf">H</b> for [mathjaxinline]H(s)[/mathjaxinline]; <b class="bf">G</b> for G(s). I.e. omit the parentheses and the [mathjaxinline]s[/mathjaxinline].) </p>
<p>
<p style="display:inline">[mathjaxinline]H_{\mathrm{cl}}(s)=[/mathjaxinline]</p>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="formulaequationinput_lec10-tab5-problem1_2_1" class="inputtype formulaequationinput" style="display:inline-block;vertical-align:top">
<div class="unanswered">
<input type="text" name="input_lec10-tab5-problem1_2_1" id="input_lec10-tab5-problem1_2_1" data-input-id="lec10-tab5-problem1_2_1" value="" aria-describedby="status_lec10-tab5-problem1_2_1" size="20"/>
<span class="trailing_text" id="trailing_text_lec10-tab5-problem1_2_1"/>
<span class="status unanswered" id="status_lec10-tab5-problem1_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_lec10-tab5-problem1_2_1" class="answer"/>
<div id="input_lec10-tab5-problem1_2_1_preview" class="equation">
\(\)
<img src="/static/images/spinner.bc34f953403f.gif" class="loading" alt="Loading"/>
</div>
</div>
<div class="script_placeholder" data-src="/static/js/capa/src/formula_equation_preview.b1967ab28c31.js"/>
</div></div>
</p>
<p>
<div class="solution-span">
<span id="solution_lec10-tab5-problem1_solution_1"/>
</div></p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Feedback junction with two positive signs" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_lec10-tab5-problem1" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_lec10-tab5-problem1">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="lec10-tab5-problem1-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="lec10-tab5-problem1-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="lec10-tab5-problem1-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
</div>
</div>