Lab 12: Poles and Zeros

Qifan Wang

1Introduction

This exercise shows how to using MATLAB on find transfer functions of differential equation systems to discover the various properties related to the linear systems, and generate plots to demonstrate these properties.

2Procedure

2.1Analysis of differential equations

d 2 y d t 2 + 4 d y d t + 3 y ( t ) = d x d t + 3 x ( t )

The transfer function is H = tf([1,3],[1,4,3]):

H ( s ) = s + 3 s 2 + 4 s + 3

Poles are -3, -1, zero is -3.

They are all real numbers
Figure 1Pole-zero map of H = tf([1,3],[1,4,3])

The impluse response converges to zero so the system is asymptotically stable.

Almost like inverse curve
Figure 2Impluse response of H = tf([1,3],[1,4,3])
d 3 y d t 3 + 3 d 2 y d t 2 + d y d t 5 y ( t ) = d 2 x d t 2 7 d x d t + 12 x ( t )

The transfer function is H = tf([1,-7,12],[1,3,1,-5]):

Poles are -2+j, -2-j, 1, zeros are 4, 3.

Poles are complex numbers
Figure 3Pole-zero map of H = tf([1,-7,12],[1,3,1,-5])

The impluse response diverges so the system is unstable.

The curve diverges
Figure 4Impluse response of H = tf([1,-7,12],[1,3,1,-5])
d 4 y d t 4 + 5 d 3 y d t 3 + 9 d 2 y d t 2 + 5 d y d t = d 2 x d t 2 10 d x d t + 21 x ( t )

The transfer function is H = tf([1 -10 21],[1 5 9 5 0]):

Poles are 0, -2+j, -2-j, -1, zeros are 7, 3.

Poles are complex numbers
Figure 5Pole-zero map of H = tf([1 -10 21],[1 5 9 5 0])

The impluse response converges to a non-zero number so the system is stable.

The curve converges to a positive number
Figure 6Impluse response of H = tf([1 -10 21],[1 5 9 5 0])

2.1.1Design a stable transfer function

The transfer function is H = tf([1 -6 -16], [1 10 21 0]):

Poles are 0, -3, -7, zeros are -2, 8.

Poles are real numbers
Figure 7Pole-zero map of H = tf([1 -6 -16], [1 10 21 0])

The impluse response is stable because poles are real numbers and includes a zero.

The curve converges to a positive number
Figure 8Impluse response of H = tf([1 -6 -16], [1 10 21 0])

2.1.2Design an asymptotically stable transfer function

The transfer function is H = tf([1 -7 10], [1 3 12 10]):

Poles are -1-3j, -1+3j, -1, zeros are 2, 5.

Poles contain a counjugate pair
Figure 9Pole-zero map of H = tf([1 -7 10], [1 3 12 10])

The impluse response is asymptotically stable because poles contains a pair of counjugate numbers.

The curve converges to zero
Figure 10Impluse response of H = tf([1 -7 10], [1 3 12 10])

2.1.3Design an unstable transfer function

The transfer function is H = tf([1 0 -1], [1 3 -4 -12]):

Poles are 2, -3, -2, zeros are -1, 1.

Poles contain a positive number
Figure 11Pole-zero map of H = tf([1 0 -1], [1 3 -4 -12])

The impluse response is unstable because poles contains a positive number.

The curve diverges
Figure 12Impluse response of H = tf([1 0 -1], [1 3 -4 -12])

2.2RLC circuit

H ( s ) = 1 s C R + s L + 1 s C = 1 s 2 L C + s R C + 1
Equation 1Transfer function of the RLC circuit

For R = 40; L = 3*10^-3; C = 5*10^-6;:

Poles show signs of asymptotically stable
Figure 13Pole-zero map of the system

The impluse response is asymptotically stable, as the poles contains a pair of counjugate complex numbers.

The curve converges
Figure 14Impluse response of the system
The typical RLC curve
Figure 15Step response of the system

Setting R = 1, 2, 3, 10, we can discover that as resistance increases, the oscillation drastics reduces, and the pole magnitude is always the same, only the angle varies.

2.3Pole-zero cancelation

For H = tf([1 -7 12], [1 1 0 -2]), we could find that it has poles 1, -1+j, -1-j, zeros 4, 3.

Clearly it diverges
Figure 16Impluse response of H = tf([1 -7 12], [1 1 0 -2])
H ( s ) = ( s 4 ) ( s 3 ) ( s + 1 j ) ( s + 1 + j ) ( s 1 )
Equation 2Factorized H = tf([1 -7 12], [1 1 0 -2])
H ( s ) = ( s 4 ) ( s 3 ) ( s 1 ) ( s + 1 j ) ( s + 1 + j ) ( s 1 ) = ( s 4 ) ( s 3 ) ( s + 1 j ) ( s + 1 + j ) = s 2 7 s + 12 s 2 + 2 s + 2
Equation 3Cancelation
It now converges
Figure 17The pole-zero canceled impluse response

3Feedback

This lab is a very intensive exercise. While I do apprciate that MATLAB is the most popular toolbox for engineers, I believe that using a CAS would probably be more effective for this type of task.

The tf used in the exercise needs the Control System Toolbox add-on to work, and there are other add-ons has the function of the same name but for different purpose. I think this needs a clearification.