Course materials · Control Engineering II
Programming language

Transfer Function

English translation

Even with the same coefficients, responses depend on the interconnection and cancellation conditions. Practice predicting behavior from coefficients.

Before practice

01 Poles and zeros are roots of which polynomials?

Description

They are the roots of the denominator and numerator, respectively. Also distinguish representations before and after canceling common factors.

02 How does negative unity feedback change a transfer function?

Description

For open-loop H, the result is H/(1+H). Since the denominator changes, recalculate the closed-loop poles.

Execution conditions

Find poles and zeros using python-control's ctl.poles and ctl.zeros.

If the module is missing, run %pip install control==0.10.2 in a Colab or Jupyter code cell.

MATLAB · Control System Toolbox

Practice

Preview practice notebookDownload practice notebookPreview practice mlx scriptDownload practice mlx script

1. From coefficients to poles and zeros

Starting conditions

Procedure

  1. Run A as the baseline example. Write the numerator and denominator as polynomials, and calculate using np.roots and ctl.poles/ctl.zerosroots and pole/zero.
  2. Apply the same procedure to B and C. Distinguish numerator and denominator degrees from the number of finite zeros, and record both real and imaginary parts of complex roots.
  3. Plot the poles and zeros of all three models on one complex plane. Use × for poles and ○ for zeros, with a different color for each model.

Results to retain

Items to record and points to check
Model
H(s)
Pole
Finite zeros
DC Gain

Points to check

  • Do the roots calculated directly from the coefficients match the library results, apart from their order?
  • When the denominator's constant term is not 0, does DC gain equal the ratio of constant terms?

2. Comparing series, parallel, and feedback connections

Starting conditions

H1(s)=2sH_1(s)=\frac2s, H2(s)=34s+1H_2(s)=\frac3{4s+1}. Use negative unity feedback for H1H2H_1H_2.

Procedure

  1. Derive expressions for Hs=H1H2H_s=H_1H_2, Hp=H1+H2H_p=H_1+H_2, and T=Hs1+HsT=\frac{H_s}{1+H_s}.
  2. Use ctl.series, ctl.parallel, ctl.feedbackseries, parallel, feedback to build the same models, and compare with the directly derived expressions at ω=[0.1,1,10] rad/s.
  3. Plot the unit-step response of T over 0≤t≤500\le t\le 50 s. Distinguish the poles at the origin of Hs and Hp from the meaning of DC gain.

Results to retain

Items to record and points to check
Interconnection
Derived numerator
Derived denominator
Maximum frequency-response error

Points to check

  • Is the response difference between the two representations at most 1e-6? Did you divide all coefficients by the same value to normalize the denominator's leading coefficient to 1 before comparing?
  • Does the step plot show time [s], output, and a sufficiently long recording interval?

3. Cancellation and small coefficient changes

Starting conditions

Create model D by changing B's numerator from [1,2] to [1,2.1]. Both models have denominator [1,3,2].

Procedure

  1. Record the original pole–zero maps of B and D alongside the models simplified with minreal.
  2. Plot the difference between the two responses to the same unit-step input over 0≤t≤100\le t\le 10 s.
  3. Distinguish exact from near cancellation, and explain why the model before cancellation should also be retained.

Results to retain

Items to record and points to check
Model
Original order
Order after simplification
Maximum response difference

Points to check

  • Did you avoid assuming that D has the same canceled model as B?
  • Did you distinguish model representation order from actual response differences?