You are on page 1of 2

CoE 121: Introduction to Digital Signal Processing

Electrical and Electronics Engineering Institute


University of the Philippines, Diliman

Programming Exercise 05: Analysis of Signals and Systems in the Z-Domain

INSTRUCTIONS
• This is an individual programming exercise. Any clarifications or questions must be
directed to the instructor or student assistant.
• Save your main code in an M-file with the file name CoE121_PE05_<LastName>.m.
Submit your code together with the following files.
o Documentation containing all the answers for each question. Save it as a pdf
file named CoE121_PE05_<LastName>_docu.pdf”.
o The required functions and images.
o Note: A missing file will incur a deduction of 10.
• The deadline of this exercise is on February 25, 4:00 PM. A 10-point deduction per
day will be incurred for late submissions.

LINEAR AND TIME-INVARIANT SYSTEMS IN THE Z-DOMAIN


Let us consider a linear and time-invariant (LTI) system described by the general linear
constant coefficient difference equation (LCCDE) given in the equation below.
𝑁 𝑀

𝑦[𝑛] = − ∑ 𝑎𝑘 𝑦[𝑛 − 𝑘] + ∑ 𝑏𝑙 𝑥 [𝑛 − 𝑙 ]
𝑘=1 𝑙=0

In the z-domain, the same N-th order LTI system has a system function, H(z),
represented as a ratio of two polynomials, shown in the equation below. The numerator
polynomial, B(z), contains the zeros of the system function, which are values of z where
H(z) = 0. The denominator polynomial, A(z), on the other hand contains the poles or
values of z for which H(z) approach an infinitely large value. The region of convergence
of H(z) must not contain any poles.
𝐵 (𝑧 ) ∑𝑀
𝑙=0 𝑏𝑙 𝑧
−𝑙
𝐻 (𝑧 ) = =
𝐴(𝑧) 1 + ∑𝑁𝑘=1 𝑎𝑘 𝑧−𝑘

POLE-ZERO PLOTS
The system function H(z) may be represented graphically with a pole-zero plot or
pattern. In this form, the location of the poles and zeros are shown in the complex plane
by crosses and circles respectively. If a pole or zero occurs more than once, a number
close to the corresponding cross or circle is written to indicate its multiplicity.

In MATLAB, the pole-zero plot of a system may be generated. If the poles and zeros of a
system function, H(z), are stored in column vectors p and z respectively, the pole-zero
plot may be generated as follows:

>> zplane(z,p);

The pole-zero plot may also be generated directly from the coefficients of the system
function. If the coefficients of the numerator and denominator polynomials of a system
function, H(z), are stored in row vectors B and A respectively, the pole-zero plot may be
generated as follows:

>> zplane(B,A);

1. (10 POINTS) Display the poles and zeros associated with the following system
functions using zplane(). Note that the coefficients of the numerator and
denominator polynomials are given. Verify your plot by computing for the poles and
zeros of each system. Use MATLAB’s tf2zp() function for the computation of the poles
and zeroes. Save your plots as PZH1_<LastName>.jpg and PZH2_<LastName>.jpg.

CoE 121 Programming Exercise 05: Analysis of Signals and Systems in the Z-Domain
2nd Semester 2018-2019
CoE 121: Introduction to Digital Signal Processing
Electrical and Electronics Engineering Institute
University of the Philippines, Diliman

2 − 0.85𝑧 −1 + 0.85𝑧 −2
𝐻1 (𝑧) =
1 − 0.4𝑧 −1 + 0.36𝑧 −2 + 0.405𝑧 −3

2 + 16𝑧 −1 + 44𝑧 −2 + 56𝑧 −3 + 32𝑧 −4


𝐻2 (𝑧) =
3 − 15𝑧 −2 + 18𝑧 −3 − 12𝑧 −4
2. (60 POINTS) Examine the pole-zero plots generated in (1). Determine all possible
regions of convergence (ROCs). For each ROC defined, determine the impulse
response of the system and comment on its causality and stability.

ROC Impulse Response, h[n] Causal? Stable?


H1(z)

ROC Impulse Response, h[n] Causal? Stable?


H2(z)

3. (10 POINTS) For causal systems, the impulse response can be generated in MATLAB
using the impz() function. If the coefficients of the numerator and denominator
polynomials of a system function, H(z), are stored in vectors B and A respectively,
the pole-zero plot may be generated as follows.

>> impz(B,A);

For the two system functions H1(z) and H2(z), plot the impulse response for the first
50 samples corresponding to the causal system using the impz() function.
Superimpose a continuous plot based from your manually computed impulse
response in (2). Save your plots as hn1causal_<LastName>.jpg and
hn2causal_<LastName>.jpg.

4. (20 POINTS) The response of a system to any input can also be obtained in MATLAB.
If the coefficients of the numerator and denominator polynomials of a system
function, H(z), are stored in vectors B and A respectively, and the input signal, x[n],
is stored in a vector x, then the response, y[n], is determined via the filter() function
as follows:

>> filter(B,A,x);

Note that this code assumes that the system is initially relaxed. The filter() function
can also be used if the system has nonzero initial conditions. For the two causal
system functions H1(z) and H2(z), determine and plot the step response (zero-state)
via the filter() function. Save your plots as sn1causal_<LastName>.jpg and
sn2causal_<LastName>.jpg. Verify the output by manually computing for the
response.

CoE 121 Programming Exercise 05: Analysis of Signals and Systems in the Z-Domain
2nd Semester 2018-2019

You might also like