2D Z-transform

From HandWiki

The 2D Z-transform, similar to the Z-transform, is used in Multidimensional signal processing to relate a two-dimensional discrete-time signal to the complex frequency domain in which the 2D surface in 4D space that the Fourier Transform lies on is known as the unit surface or unit bicircle.[1] The 2D Z-transform is defined by

[math]\displaystyle{ X_z(z_1,z_2) = \sum_{n_1=0}^{\infty}\sum_{n_2=0}^{\infty} x(n_1,n_2) z_1^{-n_1} z_2^{-n_2} }[/math]

where [math]\displaystyle{ n_1,n_2 }[/math] are integers and [math]\displaystyle{ z_1,z_2 }[/math] are represented by the complex numbers:

[math]\displaystyle{ z_1 = Ae^{j\phi_1} = A(\cos{\phi_1}+j\sin{\phi_1})\, }[/math]
[math]\displaystyle{ z_2 = Be^{j\phi_2} = B(\cos{\phi_2}+j\sin{\phi_2})\, }[/math]

The 2D Z-transform is a generalized version of the 2D Fourier transform. It converges for a much wider class of sequences, and is a helpful tool in allowing one to draw conclusions on system characteristics such as BIBO stability. It is also used to determine the connection between the input and output of a linear Shift-invariant system, such as manipulating a difference equation to determine the system's Transfer function.

Region of Convergence (ROC)

The Region of Convergence is the set of points in complex space where:

[math]\displaystyle{ ROC = |X_z(z_1,z_2)| \lt \infty }[/math]

In the 1D case this is represented by an annulus, and the 2D representation of an annulus is known as the Reinhardt domain.[2] From this one can conclude that only the magnitude and not the phase of a point at [math]\displaystyle{ (z_1,z_2) }[/math] will determine whether or not it lies within the ROC. In order for a 2D Z-transform to fully define the system in which it means to describe, the associated ROC must also be know. Conclusions can be drawn on the Region of Convergence based on Region of Support (mathematics) of the original sequence [math]\displaystyle{ (n_1,n_2) }[/math].

Finite Support Sequences

A sequence with a region of support that is bonded by an area [math]\displaystyle{ (M_1,M_2) }[/math] within the [math]\displaystyle{ (n_1,n_2) }[/math] plane can be represented in the z-domain as:

[math]\displaystyle{ X_z(z_1,z_2) = \sum_{n_1=0}^{M_1}\sum_{n_2=0}^{M_2} x(n_1,n_2) z_1^{-n_1} z_2^{-n_2} }[/math]

Because the bounds on the summation are finite, as long as z1 and z2 are finite, the 2D Z-transform will converge for all values of z1 and z2, except in some cases where z1 = 0 or z2 = 0 depending on [math]\displaystyle{ x(n_1,n_2) }[/math].

First Quadrant and Wedge Sequences

Sequences with a region of support in the first quadrant of the [math]\displaystyle{ (n_1,n_2) }[/math] plane have the following 2D Z-transform:

[math]\displaystyle{ X_z(z_1,z_2) = \sum_{n_1=0}^{\infty}\sum_{n_2=0}^{\infty} x(n_1,n_2) z_1^{-n_1} z_2^{-n_2} }[/math]

From the transform if a point [math]\displaystyle{ z_{01},z_{02} }[/math] lies within the ROC then any point with a magnitude

[math]\displaystyle{ \left| z_1 \right| \text{ ≥ } \left| z_{01} \right| ; \left| z_2 \right| \text{ ≥ } \left| z_{02} \right| }[/math]

also lie within the ROC. Due to these condition, the boundary of the ROC must have a negative slope or a slope of 0. This can be assumed because if the slope was positive there would be points that meet the previous condition, but also lie outside the ROC.[2] For example, the sequence:

[math]\displaystyle{ x_n(n_1,n_2) = a^n_1\delta(n_1-n_2)u[n_1,n_2] }[/math] has the [math]\displaystyle{ z }[/math] transform
[math]\displaystyle{ X_z(z_1,z_2) = \frac{1}{1 - az_1^{-1}z_2^{-1}} }[/math]

It is obvious that this only converges for

[math]\displaystyle{ \left| a \right| \lt \left| z_{01} \right|\left| z_{02} \right| = \ln(\left| a \right|) \lt \ln(\left| z_{01} \right|) - \ln(\left| z_{02} \right|) }[/math]

So the boundary of the ROC is simply a line with a slope of -1 in the [math]\displaystyle{ ln(z_{01}),ln(z_{02}) }[/math] plane.[2]

In the case of a wedge sequence where the region of support is less than that of a half plane. Suppose such a sequence has a region of support over the first quadrant and the region in the second quadrant where [math]\displaystyle{ n_{01} = -Ln_{02} }[/math]. If [math]\displaystyle{ l }[/math] is defined as [math]\displaystyle{ l = _{01}+Ln_{02} }[/math] the new 2D Z-Transform becomes:

[math]\displaystyle{ X_z(z_1,z_2) = \sum_{n_1=0}^{\infty}\sum_{n_2=0}^{\infty} x(l-Ln_2,n_2) z_1^{-l+Ln_2} z_2^{-n_2} }[/math]
Sequence with Region of support over a wedge and its corresponding ROC

This converges if:

[math]\displaystyle{ \left| z_1 \right| \text{ ≥ } \left| z_{01} \right| ; \left| z_1^{-L}z_2 \right| \text{ ≥ } \left| z_{01}^{-L}z_{02} \right| }[/math]

These conditions can then be used to determine constraints on the slope of the boundary of the ROC in a similar manner to that of a first quadrant sequence.[2] By doing this one gets:

[math]\displaystyle{ ln(\left| z_1 \right|) \text{ ≥ } ln(\left| z_{01}) \right|) }[/math] and [math]\displaystyle{ ln(\left| z_2 \right|) \text{ ≥ } Lln(\left| z_{1}) \right|)+(ln(\left| z_{02}) \right|)-Lln(\left| z_{01}) \right|)) }[/math]

Sequences with Region of Support in all Quadrants

A sequence with an unbounded Region of Support can have an ROC in any shape, and must be determined based on the sequence [math]\displaystyle{ (n_1,n_2) }[/math]. A few examples are listed below:

[math]\displaystyle{ x_n(n_1,n_2) = e^{(-n_1^{2}-n_2^{2})} }[/math]

will converge for all [math]\displaystyle{ z_1,z_2 }[/math]. While:

[math]\displaystyle{ x_n(n_1,n_2) = a^{(n_1)}a^{(n_2)} , a \text{ ≥ } 1 }[/math]

will not converge for any value of [math]\displaystyle{ z_1,z_2 }[/math]. However, These are the extreme cases, and usually, the Z-transform will converge over a finite area.[2]

A sequence with support over the entire [math]\displaystyle{ n_1,n_2 }[/math] can be written as a sum of each quadrant sequence:

[math]\displaystyle{ x_n(n_1,n_2) = x_1(n_1,n_2) + x_2(n_1,n_2) + x_3(n_1,n_2) + x_4(n_1,n_2) }[/math]

Now Suppose:

[math]\displaystyle{ x_1(n_1,n_2) = \begin{cases} x_n(n_1,n_2), & \mbox{if } n_1 \gt 0, n_2 \gt 0\\ 0.5x_n(n_1,n_2), & \mbox{if } n_1 = 0, n_2 \gt 0 ; n_1 \gt 0, n_2 = 0\\ 0.25x_n(n_1,n_2), & \mbox{if } n_1 = n_2 = 0\\ 0, otherwise \end{cases} }[/math]

and [math]\displaystyle{ x_2(n_1,n_2), x_3(n_1,n_2), x_4(n_1,n_2) }[/math] also have similar definitions over their respective quadrants. Then the Region of convergence is simply the intersection between the four 2D Z-transforms in each quadrant.

Using the 2D Z-transform to solve difference equations

A 2D difference equation relates the input to the output of a Linear Shift-Invariant (LSI) System in the following manner:

[math]\displaystyle{ \sum_{k_1=0}^{K_1-1}\sum_{k_2=0}^{K_2-1}b(k_1,k_2)y(n_1-k_1,n_2-k_2)=\sum_{r_1=0}^{R_1-1}\sum_{r_2=0}^{R_2-1}a(r_1,r_2)x(n_1-r_1,n_2-r_2) }[/math]

Due to the finite limits of computation, it can be assumed that both a and b are sequences of finite extent. After using the z transform, the equation becomes:

[math]\displaystyle{ Y_z(z_1,z_2)\sum_{k_1=0}^{K_1-1}\sum_{k_2=0}^{K_2-1}b(k_1,k_2)z_1^{-k_1}z_2^{-k_2} = X_z(z_1,z_2)\sum_{r_1=0}^{R_1-1}\sum_{r_2=0}^{R_2-1}a(r_1,r_2)z_1^{-r_1}z_2^{-r_2} }[/math]

This gives:

[math]\displaystyle{ H_z(z_1,z_2) = \frac{X_z(z_1,z_2)}{Y_z(z_1,z_2)} = \frac{\sum_{k_1=0}^{K_1-1}\sum_{k_2=0}^{K_2-1}a(k_1,k_2)z_1^{-k_1}z_2^{-k_2}}{\sum_{r_1=0}^{R_1-1}\sum_{r_2=0}^{R_2-1}b(r_1,r_2)z_1^{-r_1}z_2^{-r_2}} = \frac{A_z(z_1,z_2)}{B_z(z_1,z_2)} }[/math]

Thus we have defined the relation between the input and output of the LSI system.

Using the 2D Z-Transform to Determine Stability

Shanks' Theorem I

For a first quadrant recursive filter in which [math]\displaystyle{ H_z(z_1,z_2) = \frac{1}{B_z(z_1,z_2)} }[/math]. The filter is stable iff:[3]

[math]\displaystyle{ B_z(z_1,z_2) \neq 0 }[/math] for all points [math]\displaystyle{ (z_1,z_2) }[/math] such that [math]\displaystyle{ \left| z_1 \right| \text{ ≥ } 1 }[/math] or [math]\displaystyle{ \left| z_2 \right| \text{ ≥ } 1 }[/math].

Shanks Theorem II

For a first quadrant recursive filter in which [math]\displaystyle{ H_z(z_1,z_2) = \frac{1}{B_z(z_1,z_2)} }[/math]. The filter is stable iff:[3]

[math]\displaystyle{ B_z(z_1,z_2) \neq 0, \left| z_1 \right| \text{ ≥ } 1, \left| z_2 \right| = 1 }[/math]

[math]\displaystyle{ B_z(z_1,z_2) \neq 0, \left| z_1 \right| = 1, \left| z_2 \right| \text{ ≥ } 1 }[/math]

Huang's Theorem

For a first quadrant recursive filter in which [math]\displaystyle{ H_z(z_1,z_2) = \frac{1}{B_z(z_1,z_2)} }[/math]. The filter is stable iff:[3]

[math]\displaystyle{ B_z(z_1,z_2) \neq 0, \left| z_1 \right| \text{ ≥ } 1, \left| z_2 \right| = 1 }[/math]

[math]\displaystyle{ B_z(a,z_2) \neq 0, \left| z_2 \right| \text{ ≥ } 1 }[/math] for any [math]\displaystyle{ a }[/math] such that [math]\displaystyle{ \left| a \right| \text{ ≥ } 1 }[/math]

Decarlo and Strintzis' Theorem

For a first quadrant recursive filter in which [math]\displaystyle{ H_z(z_1,z_2) = \frac{1}{B_z(z_1,z_2)} }[/math]. The filter is stable iff:[3]

[math]\displaystyle{ B_z(z_1,z_2) \neq 0, \left| z_1 \right| = 1, \left| z_2 \right| = 1 }[/math]

[math]\displaystyle{ B_z(a,z_2) \neq 0, \left| z_2 \right| \text{ ≥ } 1 }[/math] for any [math]\displaystyle{ a }[/math] such that [math]\displaystyle{ \left| a \right| = 1 }[/math]

[math]\displaystyle{ B_z(z_1,b) \neq 0, \left| z_1 \right| \text{ ≥ } 1 }[/math] for any [math]\displaystyle{ b }[/math] such that [math]\displaystyle{ \left| b \right| = 1 }[/math]

Solving 2D Z-Transforms

Approach 1: Finite Sequences

For finite sequences, the 2D Z-transform is simply the sum of magnitude of each point multiplied by [math]\displaystyle{ z_1,z_2 }[/math] raised to the inverse power of the location of the corresponding point. For example, the sequence:

[math]\displaystyle{ x(n_1,n_2) = 3\delta(n_1,n_2)+6\delta(n_1-1,n_2)+2\delta(n_1,n_2-1)+4\delta(n_1-1,n_2-1) }[/math]

has the Z-transform:

[math]\displaystyle{ X(z_1,z_2) = 3 + 6z_1^{-1} + 2z_2^{-1} + 4z_1^{-1}z_2^{-1} }[/math]

As this is a finite sequence the ROC is for all [math]\displaystyle{ z_1,z_2 }[/math].

Approach 2: Sequences with values along only [math]\displaystyle{ n_1 }[/math] or [math]\displaystyle{ n_2 }[/math]

For a sequence with a region of support on only [math]\displaystyle{ n_1 = 0 }[/math] or [math]\displaystyle{ n_2 = 0 }[/math], the sequence can be treated as a 1D signal and the 1D Z-transform can be used to solve for the 2D Z-transform. For example, the sequence:

[math]\displaystyle{ X_z(z_1,z_2) = \begin{cases} \delta(n_1), & \mbox{if } 0 \text{≤} n_2 \text{≤} N-1\\ 0, otherwise \end{cases} }[/math]

Is clearly given by [math]\displaystyle{ u[n_2]-u[n_2-N] }[/math].

Therefore, its Z-transform is given by:

[math]\displaystyle{ X_z(z_1,z_2) = 1+z_2^{-1}+z_2^{-2}+...+z_2^{-N+1} }[/math]

[math]\displaystyle{ X_z(z_1,z_2) = \begin{cases} N, & \mbox{if } z_2 = 1\\ \frac{1-z_2^{-N}}{1-z_2^{-1}}, otherwise \end{cases} }[/math]

As this is a finite sequence the ROC is for all [math]\displaystyle{ z_1,z_2 }[/math].

Approach 3: Separable Sequences

A separable sequence is defined as [math]\displaystyle{ x(n_1,n_2) = f(n_1)g(n_2) }[/math]

For a separable sequence finding the 2D Z-transform is as simple as separating the sequence, taking the product of the 1D Z-transform of each signal [math]\displaystyle{ f(n_1) }[/math] and [math]\displaystyle{ g(n_2) }[/math]. For example, the sequence:

[math]\displaystyle{ x(n_1,n_2) = a^{n_1+n_2}u[n_1,n_2] = a^{n_1}u[n_1]a^{n_2}u[n_2]= f(n_1)g(n_2) }[/math]

Therefore, its Z-transform is given by

[math]\displaystyle{ X_z(z_1,z_2) = F_z(z_1)G(z_2) = (\frac{1}{1-az_1^{-1}})(\frac{1}{1-az_2^{-1}}) = \frac{1}{(1-az_1^{-1})(1-az_2^{-1})} }[/math]

The ROC is given by:

[math]\displaystyle{ \left| z_1 \right| \gt \left| a \right| }[/math] ; [math]\displaystyle{ \left| z_2 \right| \gt \left| a \right| }[/math]


  1. Siamak Khatibi, “Multidimensional Signal Processing: Lecture 11”, BLEKINGE INSTITUTE OF TECHNOLOGY, PowerPoint Presentation.
  2. 2.0 2.1 2.2 2.3 2.4 Dan E. Dudgeon, Russell M. Mersereau, “Multidimensional Digital Signal Processing”, Prentice-Hall Signal Processing Series, ISBN:0136049591, 1983.
  3. 3.0 3.1 3.2 3.3 Ed. Alexander D. Poularikas, “The Handbook of Formulas and Tables for Signal Processing”, Boca Raton: CRC Press LLC, 1999.