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 ) = n 1 = 0 n 2 = 0 x ( n 1 , n 2 ) z 1 n 1 z 2 n 2 {\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}}}

where n 1 , n 2 {\displaystyle n_{1},n_{2}} are integers and z 1 , z 2 {\displaystyle z_{1},z_{2}} are represented by the complex numbers:

z 1 = A e j ϕ 1 = A ( cos ϕ 1 + j sin ϕ 1 ) {\displaystyle z_{1}=Ae^{j\phi _{1}}=A(\cos {\phi _{1}}+j\sin {\phi _{1}})\,}
z 2 = B e j ϕ 2 = B ( cos ϕ 2 + j sin ϕ 2 ) {\displaystyle 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:

R O C = | X z ( z 1 , z 2 ) | < {\displaystyle 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 ) {\displaystyle (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 of the original sequence ( n 1 , n 2 ) {\displaystyle (n_{1},n_{2})} .

Finite-support sequences

A sequence with a region of support that is bounded by an area ( M 1 , M 2 ) {\displaystyle (M_{1},M_{2})} within the ( n 1 , n 2 ) {\displaystyle (n_{1},n_{2})} plane can be represented in the z-domain as:

X z ( z 1 , z 2 ) = n 1 = 0 M 1 n 2 = 0 M 2 x ( n 1 , n 2 ) z 1 n 1 z 2 n 2 {\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}}}

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 ) {\displaystyle 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 ) {\displaystyle (n_{1},n_{2})} plane have the following 2D Z-transform:

X z ( z 1 , z 2 ) = n 1 = 0 n 2 = 0 x ( n 1 , n 2 ) z 1 n 1 z 2 n 2 {\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}}}

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

| z 1 |  ≥  | z 01 | ; | z 2 |  ≥  | z 02 | {\displaystyle \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 1 n δ ( n 1 n 2 ) u [ n 1 , n 2 ] {\displaystyle x_{n}(n_{1},n_{2})=a_{1}^{n}\delta (n_{1}-n_{2})u[n_{1},n_{2}]} has the z {\displaystyle z} transform
X z ( z 1 , z 2 ) = 1 1 a z 1 1 z 2 1 {\displaystyle X_{z}(z_{1},z_{2})={\frac {1}{1-az_{1}^{-1}z_{2}^{-1}}}}

It is obvious that this only converges for

| a | < | z 01 | | z 02 | = ln ( | a | ) < ln ( | z 01 | ) ln ( | z 02 | ) {\displaystyle \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 l n ( z 01 ) , l n ( z 02 ) {\displaystyle ln(z_{01}),ln(z_{02})} 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 n 01 = L n 02 {\displaystyle n_{01}=-Ln_{02}} . If l {\displaystyle l} is defined as l = 01 + L n 02 {\displaystyle l=_{01}+Ln_{02}} the new 2D Z-Transform becomes:

X z ( z 1 , z 2 ) = n 1 = 0 n 2 = 0 x ( l L n 2 , n 2 ) z 1 l + L n 2 z 2 n 2 {\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}}}
Sequence with Region of support over a wedge and its corresponding ROC

This converges if:

| z 1 |  ≥  | z 01 | ; | z 1 L z 2 |  ≥  | z 01 L z 02 | {\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|}

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:

l n ( | z 1 | )  ≥  l n ( | z 01 ) | ) {\displaystyle ln(\left|z_{1}\right|){\text{ ≥ }}ln(\left|z_{01})\right|)} and l n ( | z 2 | )  ≥  L l n ( | z 1 ) | ) + ( l n ( | z 02 ) | ) L l n ( | z 01 ) | ) ) {\displaystyle 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 ) {\displaystyle (n_{1},n_{2})} . A few examples are listed below:

x n ( n 1 , n 2 ) = e ( n 1 2 n 2 2 ) {\displaystyle x_{n}(n_{1},n_{2})=e^{(-n_{1}^{2}-n_{2}^{2})}}

will converge for all z 1 , z 2 {\displaystyle z_{1},z_{2}} . While:

x n ( n 1 , n 2 ) = a ( n 1 ) a ( n 2 ) , a  ≥  1 {\displaystyle x_{n}(n_{1},n_{2})=a^{(n_{1})}a^{(n_{2})},a{\text{ ≥ }}1}

will not converge for any value of z 1 , z 2 {\displaystyle z_{1},z_{2}} . 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 n 1 , n 2 {\displaystyle n_{1},n_{2}} 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 ) {\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})}

Now suppose:

x 1 ( n 1 , n 2 ) = { x n ( n 1 , n 2 ) , if  n 1 > 0 , n 2 > 0 0.5 x n ( n 1 , n 2 ) , if  n 1 = 0 , n 2 > 0 ; n 1 > 0 , n 2 = 0 0.25 x n ( n 1 , n 2 ) , if  n 1 = n 2 = 0 0 , o t h e r w i s e {\displaystyle 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 ) {\displaystyle 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:

k 1 = 0 K 1 1 k 2 = 0 K 2 1 b ( k 1 , k 2 ) y ( n 1 k 1 , n 2 k 2 ) = r 1 = 0 R 1 1 r 2 = 0 R 2 1 a ( r 1 , r 2 ) x ( n 1 r 1 , n 2 r 2 ) {\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})}

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 ) k 1 = 0 K 1 1 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 ) r 1 = 0 R 1 1 r 2 = 0 R 2 1 a ( r 1 , r 2 ) z 1 r 1 z 2 r 2 {\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}}}

This gives:

H z ( z 1 , z 2 ) = Y z ( z 1 , z 2 ) X z ( z 1 , z 2 ) = r 1 = 0 R 1 1 r 2 = 0 R 2 1 a ( r 1 , r 2 ) z 1 r 1 z 2 r 2 k 1 = 0 K 1 1 k 2 = 0 K 2 1 b ( k 1 , k 2 ) z 1 k 1 z 2 k 2 = A z ( z 1 , z 2 ) B z ( z 1 , z 2 ) {\displaystyle H_{z}(z_{1},z_{2})={\frac {Y_{z}(z_{1},z_{2})}{X_{z}(z_{1},z_{2})}}={\frac {\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}}}{\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}}}}={\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 ) = 1 B z ( z 1 , z 2 ) {\displaystyle 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 ) 0 {\displaystyle B_{z}(z_{1},z_{2})\neq 0} for all points ( z 1 , z 2 ) {\displaystyle (z_{1},z_{2})} such that | z 1 |  ≥  1 {\displaystyle \left|z_{1}\right|{\text{ ≥ }}1} or | z 2 |  ≥  1 {\displaystyle \left|z_{2}\right|{\text{ ≥ }}1} .

Shanks' Theorem II

For a first quadrant recursive filter in which H z ( z 1 , z 2 ) = 1 B z ( z 1 , z 2 ) {\displaystyle 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 ) 0 , | z 1 |  ≥  1 , | z 2 | = 1 {\displaystyle 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 ) 0 , | z 1 | = 1 , | z 2 |  ≥  1 {\displaystyle 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 ) = 1 B z ( z 1 , z 2 ) {\displaystyle 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 ) 0 , | z 1 |  ≥  1 , | z 2 | = 1 {\displaystyle B_{z}(z_{1},z_{2})\neq 0,\left|z_{1}\right|{\text{ ≥ }}1,\left|z_{2}\right|=1}

B z ( a , z 2 ) 0 , | z 2 |  ≥  1 {\displaystyle B_{z}(a,z_{2})\neq 0,\left|z_{2}\right|{\text{ ≥ }}1} for any a {\displaystyle a} such that | a |  ≥  1 {\displaystyle \left|a\right|{\text{ ≥ }}1}

Decarlo and Strintzis' Theorem

For a first quadrant recursive filter in which H z ( z 1 , z 2 ) = 1 B z ( z 1 , z 2 ) {\displaystyle 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 ) 0 , | z 1 | = 1 , | z 2 | = 1 {\displaystyle B_{z}(z_{1},z_{2})\neq 0,\left|z_{1}\right|=1,\left|z_{2}\right|=1}

B z ( a , z 2 ) 0 , | z 2 |  ≥  1 {\displaystyle B_{z}(a,z_{2})\neq 0,\left|z_{2}\right|{\text{ ≥ }}1} for any a {\displaystyle a} such that | a | = 1 {\displaystyle \left|a\right|=1}

B z ( z 1 , b ) 0 , | z 1 |  ≥  1 {\displaystyle B_{z}(z_{1},b)\neq 0,\left|z_{1}\right|{\text{ ≥ }}1} for any b {\displaystyle b} such that | b | = 1 {\displaystyle \left|b\right|=1}

Calculation of 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 z 1 , z 2 {\displaystyle z_{1},z_{2}} raised to the inverse power of the location of the corresponding point. For example, the sequence:

x ( n 1 , n 2 ) = 3 δ ( n 1 , n 2 ) + 6 δ ( n 1 1 , n 2 ) + 2 δ ( n 1 , n 2 1 ) + 4 δ ( n 1 1 , n 2 1 ) {\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)}

has the Z-transform:

X ( z 1 , z 2 ) = 3 + 6 z 1 1 + 2 z 2 1 + 4 z 1 1 z 2 1 {\displaystyle 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 z 1 , z 2 {\displaystyle z_{1},z_{2}} .

Approach 2: Sequences with values along only n 1 {\displaystyle n_{1}} or n 2 {\displaystyle n_{2}}

For a sequence with a region of support on only n 1 = 0 {\displaystyle n_{1}=0} or n 2 = 0 {\displaystyle n_{2}=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 ) = { δ ( n 1 ) , if  0 n 2 N 1 0 , o t h e r w i s e {\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}}}

Is clearly given by u [ n 2 ] u [ n 2 N ] {\displaystyle 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 {\displaystyle X_{z}(z_{1},z_{2})=1+z_{2}^{-1}+z_{2}^{-2}+...+z_{2}^{-N+1}}

X z ( z 1 , z 2 ) = { N , if  z 2 = 1 1 z 2 N 1 z 2 1 , o t h e r w i s e {\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}}}

As this is a finite sequence the ROC is for all z 1 , z 2 {\displaystyle z_{1},z_{2}} .

Approach 3: Separable sequences

A separable sequence is defined as x ( n 1 , n 2 ) = f ( n 1 ) g ( n 2 ) {\displaystyle 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 and taking the product of the 1D Z-transform of each signal f ( n 1 ) {\displaystyle f(n_{1})} and g ( n 2 ) {\displaystyle g(n_{2})} . For example, consider 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 ) {\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})} .

Its Z-transform is given by

X z ( z 1 , z 2 ) = F z ( z 1 ) G ( z 2 ) = ( 1 1 a z 1 1 ) ( 1 1 a z 2 1 ) = 1 ( 1 a z 1 1 ) ( 1 a z 2 1 ) {\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})}}} .

The ROC is given by

| z 1 | > | a | {\displaystyle \left|z_{1}\right|>\left|a\right|}  ; | z 2 | > | a | {\displaystyle \left|z_{2}\right|>\left|a\right|} .

References

  1. ^ Siamak Khatibi, “Multidimensional Signal Processing: Lecture 11”, BLEKINGE INSTITUTE OF TECHNOLOGY, PowerPoint Presentation.
  2. ^ a b c d e Dan E. Dudgeon, Russell M. Mersereau, “Multidimensional Digital Signal Processing”, Prentice-Hall Signal Processing Series, ISBN 0136049591, 1983.
  3. ^ a b c d Ed. Alexander D. Poularikas, “The Handbook of Formulas and Tables for Signal Processing”, Boca Raton: CRC Press LLC, 1999.