ECE 3640 - Discrete-Time Signals and Systems
z-transform
                   Jake Gunther
                   Spring 2015
Department of Electrical & Computer Engineering
                                 z-transform
                                       ∞
                                       X
                              X(z) =          x[n]z −n
                                       n=−∞
                           ROC = {z ∈ C : |X(z)| < ∞}
• need to specify both algebraic formula for X(z) and the ROC
• the ROC never contains poles
• zeros may lie in the ROC
• ROC is always circular
                                         z-transform is a “surface”
This figure was taken from Manolakis & Ingle “Applied Digital Signal Processing,”, Cambridge University Press.
• actually |X(z)|, ∠X(z), <{X(z)}, ={X(z)} are surfaces
• for poles |X(z)| → ∞
• for zeros |X(z)| = 0
                                               finite duration signals
This figure was taken from Proakis & Manolakis “Digital Signal Processing: Principles, Algorithms and Applications,”, 3rd edition, Prentice Hall.
                                             infinite duration signals
This figure was taken from Proakis & Manolakis “Digital Signal Processing: Principles, Algorithms and Applications,”, 3rd edition, Prentice Hall.
                                   example
          x[n] = anu[n]                            x[n] = −anu[−n − 1]
               1       z                                    1       z
    X(z) =          =                            X(z) =          =
           1 − az −1 z − a                              1 − az −1 z − a
          pole: z = a                                  pole: z = a
           zero:    z=0                                 zero:    z=0
         ROC:      |z| > |a|                          ROC:      |z| < |a|
  (convergence outside a circle)                (convergence inside a circle)
   (causal (right-sided) signal)               (anticausal (left-sided) signal)
• two different signals can give the same formula for X(z)
• they will have different ROCs
                                                      first order poles
This figure was taken from Proakis & Manolakis “Digital Signal Processing: Principles, Algorithms and Applications,”, 3rd edition, Prentice Hall.
                                          signal and pole examples
This figure was taken from Manolakis & Ingle “Applied Digital Signal Processing,”, Cambridge University Press.
                                   example
         x[n] = nanu[n]                            x[n] = −nanu[−n − 1]
           az −1        az                              az −1        az
 X(z) =             =                         X(z) =             =
        (1 − az −1)2 (z − a)2                        (1 − az −1)2 (z − a)2
  pole: z = a (2nd order pole)                 pole: z = a (2nd order pole)
           zero:    z=0                                 zero:    z=0
         ROC:      |z| > |a|                          ROC:      |z| < |a|
  (convergence outside a circle)                (convergence inside a circle)
   (causal (right-sided) signal)               (anticausal (left-sided) signal)
• two different signals can give the same formula for X(z)
• they will have different ROCs
                                                   second order poles
This figure was taken from Proakis & Manolakis “Digital Signal Processing: Principles, Algorithms and Applications,”, 3rd edition, Prentice Hall.
                                 example
         x[n] = rn cos(ω0n)u[n],  r > 0, 0 ≤ ω0 < 2π
                1 n jω0n     n −jω0 n                                      
              =   r e     +r e          u[n]
                2
                1    jω0 n     −jω0 n                                        
              =   (re ) + (re       ) u[n]
                2
                1
              = (pn + (p∗)n) u[n], p = rejω0
                2
                                                               
                 1           1               1           1
        X(z) =                           +
                 2       1 − pz −1           2       1 − p∗z −1
                  1 − r cos(ω0)z −1      z(z − r cos(ω0))
             =                         =
               (1 − pz −1)(1 − p∗z −1)   (z − p)(z − p∗)
ROC :   {z ∈ C : |z| > |p|} ∩ {z ∈ C : |z| > |p|} = {z ∈ C : |z| > r}
                                            complex conjugate poles
This figure was taken from Proakis & Manolakis “Digital Signal Processing: Principles, Algorithms and Applications,”, 3rd edition, Prentice Hall.
                                               two-sided exponential
                           n               n                1        1
             x[n] = a u[n] − b u[−n − 1] ↔ X(z) =                +
                                                        1 − az −1 1 − bz −1
                                  ROC : |a| < |z| < |b|
This figure was taken from Manolakis & Ingle “Applied Digital Signal Processing,”, Cambridge University Press.
• the ROC of a sum of transforms is the intersection of the ROCs
• must have |a| < |b|, otherwise X(z) does not exist
• sequence is stable if and only if |a| < 1 < |b|, then unit circle in ROC
                                                   z-transform pairs
This table was taken from Manolakis & Ingle “Applied Digital Signal Processing,”, Cambridge University Press.
            z-transform is linear
                x[n]    ↔   X(z)
                 y[n]   ↔    y(z)
z[n] = ax[n] + by[n]    ↔   Z(z) = aX(z) + bY (z)
          ROCZ at least ROCX ∩ ROCY
                                  example
                           2z 2 + 0.8z − 2.2
                    X(z) = 2                 , |z| > 0.8
                            z + 0.3z − 0.4
                               −0.4z + 1
                    Y (z) = 2                , |z| > 0.8
                           z + 0.5z − 0.24
                                    2z 2 − 1.8z − 0.2
             Z(z) = X(z) + Y (z) = 2                  , |z| > 0.5
                                    z − 0.8z + 0.15
• Matlab: roots([1 0.3 -0.40]) = [-0.8, 0.5]
• Matlab: roots([1 0.5 -0.24]) = [-0.8, 0.3]
• Matlab: roots([1 -0.8 0.15]) = [ 0.3, 0.5]
• the ROC of Z(z) is larger than the intersection of the ROCs of X(z) and Y (z)
  because of pole-zero cancellation when two rational functions are summed
                            z-transform of time shift
                                        x[n]   ↔     X(z),        ROCZ
                      y[n] = x[n − k]          ↔     Y (z) = z −k X(z)
• ROCY = ROCX with consideration for z = 0 and z = ∞
• this is easy to derive using a single change of variables (m = n − k)
               X                    X                        X
                           −n                       −n
     Y (z) =       y[n]z        =       x[n − k]z        =       z[m]z −mz −k = z −k X(z)
               n                    n                        m
                                   example
      x[n] = u[n]     ↔   X(z) = 1 + z −1 + z −2 + z −3 + · · · ,      0 < |z|
  x[n] = u[n − 1]     ↔   z −1X(z) = z −1 + z −2 + z −3 + z −4 + · · · ,     0 < |z|
  x[n] = u[n + 1]     ↔   z 1X(z) = z 1 + 1 + z −1 + z −2 + · · · ,    0 < |z| < ∞
      x[n] = u[−n]    ↔     X(z) = · · · + z 3 + z 2 + z + 1,    |z| < ∞
 x[n] = u[−(n + 1)]   ↔     z 1X(z) = · · · + z 4 + z 3 + z 2 + z,    |z| < ∞
 x[n] = u[−(n − 1)]   ↔     z −1X(z) = · · · + z 2 + z 1 + 1 + z −1,     0 < |z| < ∞
• sometimes the ROC does not change
• sometimes the ROC changes by removing the point at z = 0 or z = ∞
                  z-transform of difference equation
• take z-transforms of both sides of the difference quation using linearity and the
  time-shifting property
                         N
                         X                       M
                                                 X
                               a[k]y[n − k] =          b[k]x[n − k]
                         k=0                     k=0
                        N
                        X                        M
                                                 X
                              a[k]z −k Y (z) =         b[k]z −k X(z)
                        k=0                      k=0
                      N
                                   !              M
                                                                !
                      X                           X
                            a[k]z −k Y (z) =            b[k]z −k X(z)
                      k=0                         k=0
• now rearrange and define the transfer (system) function
                                PM     −k          ∞
                    Y (z)        b[k]z      B(z)   X
             H(z) =          k=0
                          = PN            =      =    h[n]z −n,
                    X(z)     k=0 a[k]z
                                       −k   A(z) n=−∞
  where h[n] is the impulse response
                                                                PN             −k
• finite poles are roots pk , k = 1, 2, · · · , N of A(z) =        k=0 a[k]z
                                                                 PM            −k
• finite zeros are roots zk , k = 1, 2, · · · , M of B(z) =        k=0 b[k]z
• may also have poles or zeros at z = ∞
• counting poles and zeros at ∞, a rational function has equal numbers of poles
  and zeros
• the transfer function may also be written in factored form exposing the poles and
  zeros
                               M
                               X                         M
                                                         Y
                                     b[k]z −k                  (1 − zk z −1)
                               k=0                  b[0] k=1
                     H(z) =     N
                                                =       · N
                               X                    a[0] Y
                                     a[k]z −k               (1 − pk z −1)
                               k=0                       k=1
• Matlab roots, poly and conv functions
                        z-transform of convolution
                                x[n]   ↔    X(z)
                                y[n]   ↔    y(z)
                  z[n] = x[n] ∗ y[n]   ↔    Z(z) = X(z) · Y (z)
                         ROCZ at least ROCX ∩ ROCY
• this property is easy to derive using one change of variables
                                       example
determine the output of LTI system described by y[n] = 12 y[n − 1] + x[n] driven by
x[n] = 10 cos(πn/4)u[n] and y[−1] = 0
                              1                  10(1 − √12 z −1)
                H(z) =        1 −1 ,     X(z) =    √
                         1−   2z                1 − 2z −1 + z −2
                                          10(1 − √12 z −1)
               Y (z) = H(z)X(z) =      1 −1
                                                  √
                                  (1 − 2 z )(1 − 2z −1 + z −2)
                                                 ◦             ◦
                        −1.9     6.78e−j28.7       6.78ej28.7
                    =     1 −1 +            −1
                                               +
                      1 − 2z     1−e jπ/4 z      1 − e−jπ/4z −1
                    n                                        
                     1               ◦                   ◦
        y[n] = −1.9      + 6.78ej28.7 ejπn/4 + 6.78ej28.7 ejπn/4 u[n]
                     2
                    n                           
                     1
             = −1.9      + 13.56 cos(πn/4 − 28.7◦) u[n]
                     2
• partial fraction expansion was used (Matlab: residuez)
                       example (continued)
[r,p,k]=residuez(10*[1,−1/sqrt(2)],conv([1,−1/2],[1,−sqrt(2),1]));
n = [0:20];
y = −1.9074*(0.5).ˆn + 13.56*cos(pi*n/4−28.7*pi/180);
plot(n,y,'b'); hold on;
y = filter(1,[1,−0.5],10*cos(pi*n/4));
stem(n,y,'r'); hold off;
                           exponential modulation
                    x[n]   ↔    X(z),    ROCX
          y[n] = anx[n]    ↔    Y (z) = X(a−1z),     ROCY = |a|ROCX
• let p be a pole of X(z): X(p) → ∞
• then Y (ap) = X(a−1(ap)) = X(p) → ∞, so ap is a pole of Y (z)
• the ROC stretches (|a| > 1), shrinks (|a| < 1), or stays the same (|a| = 1)
• let a = ejω0 , then pole at p gets rotated to ejω0 p, but the ROC stays the same
                       differentiation property
                             x[n]   ↔   X(z)
                                             dX(z)
                            nx[n]   ↔   −z
                                              dz
proof:
                   ∞                             ∞
         dX(z)    X                             X
               =      x[n](−n)z −n−1 = (−z −1)     (nx[n])z −n
          dz     n=−∞                          n=−∞
                                   ∞
                         dX(z)    X
                      −z       =     (nx[n])z −n
                          dz     n=−∞
• the ROC does not change
                     example
  n               1
 a u[n]   ↔          −1
                        , |z| > |a|
              1 − az
                 d       1          az −1
nanu[n]   ↔   −z           −1
                              =         −1 2
                                             ,   |z| > |a|
                 dz 1 − az      (1 − az )
                             more properties
• complex conjugate
                      x[n]   ↔   X(z),        ROCX
              y[n] = x∗[n]   ↔   Y (z) = X ∗(z ∗),           ROCY = ROCX
• time-reversal
                      x[n]   ↔   X(z),        ROCX
            y[n] = x[−n]     ↔   Y (z) = X(z −1),        ROCY = 1/ROCX
                                         1              1
• if ROCX : r1 < |z| < r2, then ROCY :   r2   < |z| <   r1
                                 more properties
• initial value theorem for causal x[n],
                                   x[0] = lim X(z)
                                            z→∞
• final value theorem for causal x[n],
                              lim x[n] = lim (1 − z −1)X(z)
                           n→∞             z→1
  assuming the limits exist
                         you should be able to ...
• derive the time shifting property
• derive the time-reversal property
• derive the conjugation property
• derive the convolution property
• compute z-transforms of common signals
• ... and levitate
           inverse z-transform
               Z
          1
x[n] =                 X(z)z n−1dz,   C ∈ ROC
         2πj   C:CCW
                                             observe
                                       N
                                       X
                            x[n] =           ck pnku[n],   distinct pk
                                       k=1
                   N
                   X         ck
         X(z) =
                         1 − pk z −1
                   k=1
                                  N
                                  Y                             N −1
                   PN
                                             (1 − pmz −1)
                                                                X
                     k=1 ck                                            b[k]z −k
                              m=1,m6=k                          k=0
               =             N
                                                            =    N
                                                                                  ,   a0 = 1
                             Y                                  X
                                  (1 − pk z −1)                       a[k]z −k
                            k=1                                 k=0
• this is a proper rational function
• given a rational function with distinct poles, we can reverse this procedure to find
  x[n]
• use partial fraction expansion (Matlab: residuez)
                                     example
                               1 + z −1        z(z + 1)
                  X(z) =                1 −1 =
                         (1 − z )(1 − 2 z ) (z − 1)(z − 12 )
                               −1
                             1
• poles at p1 = 1 and p2 =   2
• zeros at z1 = 0 and z2 = −1
• two distinct poles gives three different possibilities for the ROC
• PFE:
  [R,P,K]=residuez([1,1],conv([1,-1],[1,-0.5]));
  [R,P,K]=residuez([1,1],poly([1,0.5]));
  (residue,pole) pairs = (R=4,P=1) and (R=-3, P=0.5)
                                       4        −3
                             X(z) =         +
                                    1 − z −1 1 − 12 z −1
                               example continued
                              1 + z −1            4        −3
                X(z) =                        =        +
                       (1 − z −1)(1 − 21 z −1) 1 − z −1 1 − 12 z −1
with two distinct poles p1 = 1, p2 = 21 , there are three possible regions of convergence
                                       1               1 n
                                                         
1. left-sided sequence, ROC : |z| <    2,   x[n] = 3   2   u[−n   − 1] − 4u[−n − 1]
                                1                           1 n
                                                              
2. two-sided sequence, ROC :    2   < |z| < 1, x[n] = −3    2   u[n]   − 4u[−n − 1]
                                                         1 n
                                                           
3. right-sided sequence, ROC : 1 < |z|, x[n] = −3        2   u[n]   + 4u[n]
                             example continued
none of these sequences are stable because none of the ROCs contain the unit circle
                                            example
x[n] is causal and
                        1 + z −1         A          A∗
            X(z) =      −1       −2
                                    =        −1
                                                +    ∗  −1
                                                           ,                    |z| > |p|
                   1 − z + 0.5z       1 − pz      1−p z
                        x[n] = (Apn + A∗p∗n) u[n] = 2<{Apn}u[n]
[R,P,K]=residuez([1,1],[1,-1,0.5]);
(residue,pole) pairs = (R, P ) = ( 21 − j 32 , 12 + j 12 ) and (R, P ) = ( 12 + j 23 , 12 − j 21 )
                                     √
                                 10 −j71.56◦        1 π
                               A=   e        , p = √ ej 4
                                 2                   2
                              √  n
                               10 1           π          
                       x[n] =      √    cos n − 71.56◦ u[n]
                               2     2         4
is this a stable sequence? does the ROC include the unit circle?
             example continued
         √            n
         10       1               π
                                               ◦
                                                   
x[n] =            √         cos        n − 71.56       u[n]
         2         2               4
              inverse z-transform of rational functions
                                        PM           −k
                                           k=0 b[k]z
                               X(z) = PN
                                                       −k
                                           k=0 a[k]z
• assume that A(z) has distinct roots (distinct poles)
• PFE of X(z) has the form
                                M −N                N
                                X                   X        Ak
                       X(z) =           Ck z −k +
                                                          1 − pk z −1
                                 k=0                k=1
• first sum (direct term) exists when M ≥ N
• then a causal signal x[n] has the simple form
                               M
                               X −N                   N
                                                      X
                      x[n] =          Ck δ[n − k] +         Ak pnku[n]
                               k=0                    k=1
• but there are N + 1 possible inverses x[n], each corresponding to a different ROC
• at most one of the inverses x[n] is stable
• if a pole on the unit circle, then none of the x[n] are stable
                                     LTI systems
• transfer function and impulse response of LTI system
                           PM           −k         ∞
                                  b[k]z            X
                  H(z) = PN   k=0
                                               =          h[n]z −n,   ROCH
                              k=0   a[k]z −k       n=−∞
• system is stable if ROC contains the unit circle
• system is causal if ROC lies outside the outtermost pole
• system is causal and stable if all poles lie inside the unit circle
• zeros of H(z) can be anywhere
                            LTI systems example
is a causal realization of the system below stable?
                                         1 − z −2
                      H(z) =
                             1 + 0.9z −1 + 0.6z −2 + 0.05z −3
[R,P,K]=residuez([1,0,-1],[1,0.9,0.6,0.05]);
zplane([1,0,-1],[1,0.9,0.6,0.05]);
roots([1,0.9,0.6,0.05])
the last one produces
  -0.4022 + 0.6011i
  -0.4022 - 0.6011i
  -0.0956
abs(roots([1,0.9,0.6,0.05]))
this produces
     0.7233
     0.7233
     0.0956
                LTI systems example continued
zplane([1,0,-1],[1,0.9,0.6,0.05]);
freqz([1,0,-1],[1,0.9,0.6,0.05]);
                                complex conjugate roots
            M
            X
                 b[k]z −k       M −N               K1                   K
                                                                        2
                                X                  X        Ak         X      bk,0 + bk,1z −1
 H(z) =    k=0
                            =          Ck z −k +                  −1
                                                                     +
           XN                                            1 − pk z         1 + ak,1z −1 + ak,2z −2
                 a[k]z −k       k=0                k=1                  k=1
           k=0
  M
  X −N                          K1
                                X                              K2
                                                               X
         Ck δ[n − k]                  Ak pnku[n]                     2|Bk |rkn cos(ωk n + θk )u[n]
  k=0                           k=0                            k=0
   (direct terms)           (real distinct poles)                (complex conjugate poles)
   Bk          Bk∗           bk,0 + bk,1z −1
           +            =                        ,               Bk = |Bk |ejθk ,       pk = rk ejωk
1 − pk z −1 1 − p∗k z −1 1 + ak,1z −1 + ak,2z −2
                 bk,0 = 2|Bk | cos θk                        ak,1 = −2rk cos ωk
                 bk,1 = −2rk |Bk | cos(ωk − θk )             ak,2 = rk2
                                  symmetries
• if x[n] = x∗[n] (i.e. x[n] is real), then X(z) = X ∗(z ∗) (prove this)
• if X(z0) = 0, then X(z0∗) = 0
• zeros off the real axis occur in complex conjugate pairs
• ex: x[n] = δ[n] + δ[n − 2] ↔ X(z) = 1 + z −2 = (1 − jz −1)(1 + jz −1)
• x=randn(1,5); roots(x) returns
     0.5565 + 0.6921i
     0.5565 - 0.6921i
    -1.3343
    -0.6746
  as expected, zeros are real or occur in complex conjugate pairs
                                    symmetries
• if x[n] = x[−n] (i.e. x[n] is even), then X(z) = X(z −1) (prove this)
• if X(z0) = 0, then X(z0−1) = 0
• zeros occur in reciprocal pairs
• example:
                                                   
                                       −35 31 −35
                             x[n] = 1,    , ,     ,1
                                        6 3 6
                          35 1 31 35 −1
                      2
             X(z) = z − z +           − z + z −2
                           6       3   6
                                                           
                                        1                 1
                  = z 2 1 − 2z −1 1 − z −1 1 − 3z −1 1 − z −1
                                                     
                                        2                 3
                                    symmetries
• if h[n] = h[−n] = h∗[n] = h∗[−n] (i.e. real and even),
  then H(z0) = H(z0∗) = H(z0−1) = H(z0−∗) = 0
• in general zeros occur in 4-tuples (z0, z0∗, z0−1, z0−∗)
• unit circle zeros appear in conjugate pairs (z0, z0∗)
• real zeros occur in reciprocal pairs (z0, z0−1)
• zeros at ±1 can appear alone
h =   -0.8320
       2.2262
      -3.6809
       5.1558
      -5.7986
       6.7314
      -5.7986
       5.1558
      -3.6809
       2.2262
      -0.8320
                              one-sided z-transform
• z-transform of x[n]u[n]
• x[n] for n < 0 is ignored
                               ∞
                               X
                   X +(z) =          x[n]z −n   ROC=exterior of circle
                               n=0
• most z-transform properties carry over to the one-sided z-transform except for
  the time-shifting property
                      x[n]      ↔      X +(z)
                  x[n − 1]      ↔      x[−1] + z −1X +(z)
                  x[n − 2]      ↔      x[−2] + x[−1]z −1 + z −2X +(z)
                                       k
                                       X
                  x[n − k]      ↔            x[−m]z −k+m + z −k X +(z)
                                       m=1
         zero-input and zero-state response of LTI system
• difference equation with non-zero initial condition
                  y[n] = ay[n − 1] + bx[n],      n ≥ 0,           y[−1] 6= 0
• take one-sided z-transform of both sides
                       Y +(z) = ay[−1] + z −1Y +(z) + bX +(z)
• solve for Y +(z) yields
                                     ay[−1]       b
                        Y +(z) =          −1
                                             +      −1
                                                        X +
                                                            (z)
                                   |1 −{z
                                        az } |1 − az {z       }
                                    zero-input       zero-state
         zero-input and zero-state response of LTI system
   consider a step input
                                                +         1
                       x[n] = u[n]         ↔   X (z) =
                                                       1 − z −1
then the output is
                              ay[−1]             b
                Y +(z) =              +
                             1 − az −1 (1 − az −1)(1 − z −1)
                             ay[−1]     b/(1 − a) ab/(1 − a)
                         =         −1
                                      +       −1
                                                  −
                            1 − az       1−z        1 − az −1
                                   n+1     b        n+1
                                                        
                     y[n] = y[−1]a     +        1−a       , n≥0
                            | {z } 1 − a
                              zero-input |       {z     }
                                                 zero-state