Professional Documents
Culture Documents
03 To Be Corrupt or Not To Be Corrupt Hendi Yogi Prabowo
03 To Be Corrupt or Not To Be Corrupt Hendi Yogi Prabowo
DSP Labs
Partial Fraction Expansion
• The MATLAB function residue( ) can be applied to perform the partial fraction
expansion of a z-transform function X(z)/z.
• B is B(z) and A is A(z) are the vectors consisting of coefficients for the numerator
and denominator polynomials, respectively.
• Notice that B(z) and A(z) are the polynomials with increasing positive powers of z.
B( z ) b0 .z M + b1 .z M −1 + b2 .z M − 2 + + bM
= N
A( z ) z + a1 .z N −1 + a2 .z N − 2 + + aN
• The residues in vector R, poles in vector P, and polynomial coefficients (if any) in
vector K.
1
a. X ( z ) =
(1 − z −1 )(1 − 0.5 z −1 )
z 2 ( z + 1)
b. Y ( z ) =
( z − 1)( z 2 − z + 0.5)
z2
c. X ( z ) =
( z − 1)( z − 0.5) 2
Solution
a. From MATLAB, we can show the denominator polynomial as
>> D = conv([1 -1],[1 -0.5])
D =
1.0000 -1.5000 0.5000
This leads to
1 z2
X ( z) = =
(1 − z −1 )(1 − 0.5 z −1 ) z 2 − 1.5 z + 0.5
X ( z) z
= 2
z z − 1.5 z + 0.5
From MATLAB, we have
>> [R,P,K]=residue([1 0],[1 -1.5 0.5])
R = 2
-1
P =
1.0000
0.5000
K =
[]
2z z
Then the expansion is written as X ( z ) = −
( z − 1) ( z − 0.5)
b. From MATLAB, we can show the denominator polynomial as
>> N = conv([1 0 0], [1 1])
N =
1 1 0 0
>> D = conv([1 -1], [1 -1 0.5])
D =
1.0000 -2.0000 1.5000 -0.5000
We get
z 2 ( z + 1) z3 + z 2
Y ( z) = =
( z − 1)( z 2 − z + 0.5) z 3 − 2 z 2 + 1.5 z − 0.5
Y ( z) z2 + z
= 3
z z − 2 z 2 + 1.5 z − 0.5
Where B = 4, p1 = 1, A = -1.5 - 0.5j, p = 0.5 + 0.5j, A* = -1.5 + 0.5j, and p = 0.5 - 0.5j
c. From MATLAB, we can show the denominator polynomial as
>> N = conv(conv([1 -1],[1 -0.5]),[1 -0.5])
N =
1.0000 -2.0000 1.2500 -0.2500
We get
z2 z2
X ( z) = =
( z − 1)( z − 0.5) 2 z 3 − 2 z 2 + 1.25 z − 0.25
X ( z) z
= 3
z z − 2 z + 1.25 z − 0.25
2