Thesis Proposal





Title: A Software Tool for Automatic Compensation of Linear Feedback Systems


Submitted by: Patrycja Ewelina Missiuro

550 Memorial Drive, Apt. 7B-4

Cambridge, MA 02139

Date of Submission: December 8, 1999

Fulfillment of Degrees: Master and Bachelor of Electrical Engineering and Computer Science

Massachusetts Institute of Technology

Department: Electrical Engineering and Computer Science













The goal of the thesis is to develop an intelligent software tool, which is capable of analyzing and eventually controlling a modeled system. I plan to focus on series compensation for linear feedback systems. A user provides an uncompensated system along with specifications in both the time and the frequency domains. These requirements are to be met with proper compensation. The software is responsible for finding a solution if one exists. If the requirements cannot be met, the tool decides what tradeoffs need to be made to optimize the design. The difficulty of this research project is in designing an effective method to resolve the tradeoffs required by feedback systems control and to come up with a properly compensated system.



Table of Contents


Abstract *

1. Introduction *

1.1 Motivation *

1.2 Background *

1.2.1 Feedback and Compensation Theory *

1.2.2 Developments in Compensation Software Tools *

2. Scope of the Thesis *

2.1 Focus *

2.2 Functionality of my system *

3. Schedule *

3.1 Milestone Specifications: *

3.2 Supervision on the project: *

4. Resources *

4.1 Hardware *

4.2 Software *

4.3 Information Sources *

5. Deliverables *

6. Bibliography *


  1. Introduction

    1. Motivation
    2. The motivation for this project is my personal interest in feedback theory and the challenges of compensation design. I hope to make the process of designing proper compensation more efficient by providing a software tool, which will automatically design proper compensation. Many students including myself have difficulty finding efficient methods for designing a good compensator for a particular feedback system. There is no clearly defined or rigorous method to approach such problems. Students often end up plugging numbers and do not develop any intuition. The software tool that I am planning on designing will allow them to view their uncompensated and compensated systems’ properties. Users will be able to compare properties of systems in both the time and the frequency domains. The most common system design specification options will be implemented as well so that students can compare their paper designs with the one the automatic compensation tool comes up with. Moreover, I will provide documentation on the usage of my software tool and the methods that I will implement.

      There has been significant development in the software compensation schemes by MathWorks, Inc. Their Control Systems Toolbox, described in section 1.2.2, is a powerful analysis and design tool running as an extension to Matlab, which provides computational and visual support functions. However, these tools are somewhat expensive. Other companies’ products in this area are not focused on system analysis more so than compensation design. Their products build on top of the Matlab package and are platform dependent. I hope to be able to run my software on any browser, making it platform independent. Moreover it will be free to use.


    3. Background
      1. Feedback and Compensation Theory

A feedback control system regulates an output variable based on information from the output variable itself. It is a type of closed loop control where the control is dependent on the controlled variable. The system which is being controlled is called a plant.

An Example of A Typical Feedback System

Depending on the specifications, a well-designed feedback system can be one where:

The list above represents the most common design requirements. They are not necessarily parallel and most of the design of feedback systems requires making appropriate tradeoffs that will ensure the most important characteristics of such system are achieved. Most real life systems are modeled as linear and time-invariant. Moreover, first and second order systems are often used to approximate the characteristics of more complex feedback systems. This makes analyzing and compensating such systems much easier.

Feedback system performance can be specified in either the time domain or the frequency domain.


First Order System Characteristics

Second or Higher Order System Characteristics

Time Domain

Frequency Domain

Time Domain

Frequency Domain

Time constant


Percent overshoot

Phase margin

Speed of response

Phase margin

Time to peak


Settling time



Max magnitude in freq.

Step response


Steady state error

Peak frequency


Step response


Settling time



In order to improve system’s performance, various techniques of compensation can be used depending on the designer’s objective. One approach is a series or cascade compensation, where the compensating elements are in series with the plant.

Types of series compensation:

Another approach is using minor loop compensation. This type of compensation is used when noise, nonlinearities, and uncertainties can considerably affect characteristics of the plant. The two most frequently used types are single pole compensation and two-pole compensation.

      1. Developments in Compensation Software Tools

MathWorks, Inc. is currently the leading developer and supplier of system analysis and design software. Matlab, one of their core products, is an interactive program for numerical computation and data visualization; it is used extensively by control engineers for analysis and design. There are many different toolboxes available which extend the basic functionality of Matlab into different application areas. In the area of systems control, the Control System Toolbox contains specialized tools for the design and analysis of automatic control systems. The toolbox provides various control design methods, including root locus and pole placement. A Graphical User Interface allows the user to evaluate control system performance using standard plotting techniques such as Bode, Nichols, Nyquist, pole-zero, and more. Matlab and the Control System Toolbox are supported on Unix, Macintosh, and Windows environments.

In addition to the MathWorks’ software tools, some third-party solutions have been developed. Most of them however build on top of the Matlab computing environment. The most relevant examples are:


  1. Scope of the Thesis

2.1 Focus

My thesis research will focus on linear feedback systems’ properties and compensation techniques. Non-minimal phase systems and nonlinear systems will not be included unless time permits. The basic functionality of my software tool will be focused on solving for a good series compensator. Later I will begin working on other compensation methods such as minor loop feedback compensation. To simplify analysis, the controller will be positioned in the forward path of the system. After this part is functional, I will try implementing methods to handle compensation in the feedback path.


2.2 Functionality of my system

An enduser provides a system model by one of these three methods:

After specifying the system model, the user can:

My thesis software toolkit will consist of two major parts:

  1. Schedule


Date of Completion


High level design

January 10


Software for uncompensated system

January 20


Testing of uncompensated system + GUI

January 27


Development of compensator’s specs

February 10


Testing of specifications

February 17


Uncompensated system’s spec fulfillment

February 25


Design of systems fulfilling one spec

March 5


Writing and the first few chapters submitted

March 7-9


Fulfillment of multiple specs

March 20


Testing and docs for multiple specs

April 5


Non-unity feedback

April 12


Testing of Non-Unity Feedback

April 16


Draft of thesis submitted

April 26


GUI improvements, debugging, rewriting

April 30


Minor loop feedback

May 8


Final Draft

May 5-19


3.1 Milestone Specifications:


  1. High level design of the system is ready. Block diagrams representing system modules are drawn. The basic scope of the project is determined. Small chunks of code are written to check for the validity of implementation of certain design choices. Some documentation is written.
  2. Software responsible for analyzing a given uncompensated system and presenting its properties is working. Graphical user interface for this portion of the project is partially done.
  3. Testing and documentation is being done to debug any problems with the uncompensated system.
  4. Development of user specifications to be fulfilled by the compensated system is complete. This part includes development of the graphical user interface for the specifications.
  5. Testing and documentation of the specifications is complete.
  6. Uncompensated systems are tested for fulfilling the specs.
  7. Systems fulfilling a particular specification are designed. The compensation method used is series compensation with unity feedback.
  8. More documentation is written and the first few chapters of my thesis are submitted to Professor Roberge for comments.
  9. Systems fulfilling more than one specification are designed. If fulfilling both specifications is not possible, the program attempts to make the best tradeoff. The algorithms for such tradeoffs are being explored.
  10. Testing and documentation of the research on the theoretical tradeoff of system properties is complete. Description of the specifications and their implemented relations is complete.
  11. Non-unity feedback compensation is being implemented.
  12. Testing and documentation of feedback path compensation.
  13. Graphical User Interface is being improved. The code is being debugged. More writing done.
  14. A draft of the thesis is submitted to Professor Roberge.
  15. Minor loop feedback design and possible implementation.
  16. Final Draft Complete


3.2 Supervision on the project:

My thesis advisor, Professor J. K. Roberge, has agreed to discuss my project weekly on either Tuesdays or Thursdays of each week as necessary and as time permits him.


  1. Resources

    1. Hardware
    2. My thesis project will be done on Athena, which is a campus-wide networked computer system provided for MIT students. The workstations that I will be using are Sun Sparc machines. The workstation performance varies depending on the model. However I plan on using mainly the best machines available, Sparc Ultra 10, with 333MHz processor. All my work-related material will be stored on my personal student account, which is currently 30 Megabytes. If more space is necessary, portable storage media such as zip disks and 3.5-inch floppies will be used.

      Some of the thesis-related work will be done on my personal computer with 266 MHz Pentium II processor and running Windows 95.

    3. Software
    4. The project will be programmed in Java, which is available for free. I will also use the installation of Matlab available on Athena to check the accuracy of some of my results. Matlab already has many analytic tools that allow its user to easily plot system’s parameters in both the frequency and the time domains.

      The text editor I plan on using is Emacs for both the code and the thesis document. The thesis will be compiled with Latex which is a text formatting system designed to simplify writing professional looking papers with math, commonly used at MIT for theses and other coursework.


    5. Information Sources

    Numerous books on the theory of feedback compensation will be used to gain a better understanding of the concepts and previously developed analysis and design methods. I am already familiar with Java, however, I will use some books as a reference and to learn about the new libraries that one can use to simplify coding. The internet will also be a major source of information with most up-to-date development in Java and work related to automatic compensation.


  3. Deliverables

As a result of my research, I plan on delivering:

  1. A software toolkit useful for analyzing feedback systems.
  2. The toolkit will be written in Java since it can be easily moved to many different platforms as well as run on a web browser.

  3. Written document.

The thesis document will describe the research and implementation done to complete my thesis. The appropriate background on the topic of feedback compensation and software development in the area will be presented. I will document the methods I used to analyze the system and their advantages. I will present the algorithms used for determining the tradeoff issues. I will include documentation on the use of this toolkit. The thesis will contain appropriate visual aids such as graphs, plots, user interface prints, and other examples. All the code will be included in the appendix.


  1. Bibliography

[1] James K. Roberge, Operational Amplifiers: Theory and Practice, New York, NY: John Wiley & Sons, Inc., 1975.

[2] L. A. Gould, W. R. Markey, J. K. Roberge, D. L. Trumper, Control Systems Theory, Cambridge, MA: Massachusetts Institute of Technology, 1997.

[3] Mathworks, Inc., "Third Party Solutions by Application Area," [Online document], cited 1999, Dec 8, Available HTTP:

[4] Intelligent System Modeling and Control, Inc., "Optimal Primary Loop PID Control, RaPID," [Online document], cited 1999, Dec 8, Available HTTP:

[5] Terasoft, Inc., "Controls Tutor," [Online document], cited 1999, Dec 8, Available HTTP:

[6] MathWorks, Inc., "Matlab Products," [Online document], cited 1999, Dec 8, Available HTTP: