Course materials · Control Engineering II

Transfer Function

English translation

Execution conditions

MATLAB · Control System Toolbox

Learning objectives

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

From coefficients to poles and zeros

  • num: coefficient array of the numerator polynomial.
  • den: coefficient array of the denominator polynomial.
  • Array order: highest power first.

Starting conditions

  • A: num=[2]\mathrm{num}=[2], den=[5,1]\mathrm{den}=[5,1].
  • B: num=[1,2]\mathrm{num}=[1,2], den=[1,3,2]\mathrm{den}=[1,3,2].
  • C: num=[1,1]\mathrm{num}=[1,1], den=[1,2,5]\mathrm{den}=[1,2,5].

Procedure

  1. Run A as the baseline example. Write the numerator and denominator as polynomials, and calculate using roots 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

  • 1 table with one row per model and 1 pole–zero map.
  • Example level for A: H(s)=2/(5s+1), pole -0.2, no finite zeros. Complete B and C yourself.
  • Briefly explain the relationship between coefficients and roots.
s=tf('s');
models={tf(2,[5 1]),tf([1 2],[1 3 2]),tf([1 1],[1 2 5])};
H_A=models{1}; disp(H_A); disp(pole(H_A)); disp(zero(H_A)); disp(dcgain(H_A));
% TODO: Complete the tables and complex-plane plots for B, C.
 

Record results and self-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?

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 series, 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

  • 1 coefficient table for the 3 interconnections and 1 step plot of T.
  • Record the error as the absolute difference between complex responses at the same frequency.
s=tf('s'); H1=tf(2,[1 0]); H2=tf(3,[4 1]);
Hs=series(H1,H2); Hp=parallel(H1,H2); T=feedback(Hs,1); disp(Hs); disp(Hp); disp(T);
t=linspace(0,50,2501)'; figure; step(T,t); xlabel('Time [s]'); ylabel('Output'); grid on
% TODO: Compare with the directly derived transfer functions at the same frequencies.
 

Record results and self-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?

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

  • 1 model-order table and a response-difference plot.
  • A brief explanation of the tolerance used to identify cancellation and its interpretation.
B=tf([1 2],[1 3 2]); D=tf([1 2.1],[1 3 2]); disp(minreal(B)); disp(minreal(D));
% TODO: Plot the unit-step responses of B, D and their difference on the same time axis.
 

Record results and self-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?