2D Z-transform

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

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}

where n_1,n_2 are integers and z_1,z_2 are represented by the complex numbers:

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

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:

ROC = |X_z(z_1,z_2)| < \infty

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 (z_1,z_2) 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 (n_1,n_2).

Finite Support Sequences

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

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}

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 x(n_1,n_2).

First Quadrant and Wedge Sequences

Sequences with a region of support in the first quadrant of the (n_1,n_2) plane have the following 2D Z-transform:

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}

From the transform if a point z01,z02 lies within the ROC then any point with a magnitude

 \left| z_1 \right| \text{ ≥ } \left| z_{01} \right| ; \left| z_2 \right| \text{ ≥ } \left| z_{02} \right|

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:

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

It is obvious that this only converges for

 \left| a \right| < \left| z_{01} \right|\left| z_{02} \right| = \ln(\left| a \right|) < \ln(\left| z_{01} \right|) - \ln(\left| z_{02} \right|)

So the boundary of the ROC is simply a line with a slope of -1 in the ln(z01),ln(z02) 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 n01 = -Ln02. If l is defined as l = 01+Ln02 the new 2D Z-Transform becomes:

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}
Sequence with Region of support over a wedge and its corresponding ROC

This converges if:

 \left| z_1 \right| \text{ ≥ } \left| z_{01} \right| ; \left| z_1^{-L}z_2 \right| \text{ ≥ } \left| z_{01}^{-L}z_{02} \right|

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:

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

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 (n_1,n_2). A few examples are listed below:

x_n(n_1,n_2) = e^{(-n_1^{2}-n_2^{2})}

will converge for all z1,z2. While:

x_n(n_1,n_2) = a^{(n_1)}a^{(n_2)} , a \text{ ≥ }  1

will not converge for any value of z1,z2. 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 n1,n2 can be written as a sum of each quadrant sequence:

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)

Now Suppose:

x_1(n_1,n_2) = \begin{cases}
  x_n(n_1,n_2), & \mbox{if } n_1 > 0, n_2 > 0\\
  0.5x_n(n_1,n_2),  & \mbox{if } n_1 = 0, n_2 > 0 ; n_1 > 0, n_2 = 0\\
  0.25x_n(n_1,n_2),  & \mbox{if } n_1 = n_2 = 0\\
  0, otherwise
\end{cases}

and x_2(n_1,n_2), x_3(n_1,n_2), x_4(n_1,n_2) 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:

 \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)

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:

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}

This gives:

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)}

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 H_z(z_1,z_2) = \frac{1}{B_z(z_1,z_2)}. The filter is stable iff:[3]

B_z(z_1,z_2) \neq 0 for all points (z1,z2) such that  \left| z_1 \right| \text{ ≥ } 1 or \left| z_2 \right| \text{ ≥ } 1.

Shanks Theorem II

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

B_z(z_1,z_2) \neq 0, \left| z_1 \right| \text{ ≥ } 1, \left| z_2 \right| = 1

B_z(z_1,z_2) \neq 0, \left| z_1 \right| = 1, \left| z_2 \right| \text{ ≥ } 1

Huang's Theorem

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

B_z(z_1,z_2) \neq 0, \left| z_1 \right| \text{ ≥ } 1, \left| z_2 \right| = 1

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

Decarlo and Strintzis' Theorem

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

B_z(z_1,z_2) \neq 0, \left| z_1 \right| = 1, \left| z_2 \right| = 1

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

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

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 z1,z2 raised to the inverse power of the location of the corresponding point. For example, the sequence:

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)

has the Z-transform:

X(z_1,z_2) = 3 + 6z_1^{-1} + 2z_2^{-1} + 4z_1^{-1}z_2^{-1}

As this is a finite sequence the ROC is for all z1,z2.

Approach 2: Sequences with values along only n1 or n2

For a sequence with a region of support on only n1 = 0 or n2 = 0, 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:

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

Is clearly given by u[n_2]-u[n_2-N].

Therefore, its Z-transform is given by:

X_z(z_1,z_2) = 1+z_2^{-1}+z_2^{-2}+...+z_2^{-N+1}

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}

As this is a finite sequence the ROC is for all z1,z2.

Approach 3: Separable Sequences

A separable sequence is defined as x(n_1,n_2) = f(n_1)g(n_2)

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 f(n_1) and g(n_2). For example, the sequence:

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)

Therefore, its Z-transform is given by

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})}

The ROC is given by:

\left| z_1 \right| > \left| a \right| ; \left| z_2 \right| > \left| a \right|

References

  1. Siamak Khatibi, “Multidimensional Signal Processing: Lecture 11”, BLEKINGE INSTITUTE OF TECHNOLOGY, PowerPoint Presentation.
  2. 1 2 3 4 5 Dan E. Dudgeon, Russell M. Mersereau, “Multidimensional Digital Signal Processing”, Prentice-Hall Signal Processing Series, ISBN 0136049591, 1983.
  3. 1 2 3 4 Ed. Alexander D. Poularikas, “The Handbook of Formulas and Tables for Signal Processing”, Boca Raton: CRC Press LLC, 1999.
This article is issued from Wikipedia - version of the Sunday, February 07, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.