Z-transform

From Wikipedia, the free encyclopedia

Template:Short description Script error: No such module "Distinguish".

In mathematics and signal processing, the Z-transform converts a discrete-time signal, which is a sequence of real or complex numbers, into a complex valued frequency-domain (the z-domain or z-plane) representation.[1][2][3]

It can be considered a discrete-time counterpart of the Laplace transform (the s-domain or s-plane).[4] This similarity is explored in the theory of time-scale calculus.

While the continuous-time Fourier transform is evaluated on the s-domain's vertical axis (the imaginary axis), the discrete-time Fourier transform is evaluated along the z-domain's unit circle. The s-domain's left half-plane maps to the area inside the z-domain's unit circle, while the s-domain's right half-plane maps to the area outside of the z-domain's unit circle.

In signal processing, one of the means of designing digital filters is to take analog designs, subject them to a bilinear transform which maps them from the s-domain to the z-domain, and then produce the digital filter by inspection, manipulation, or numerical approximation. Such methods tend not to be accurate except in the vicinity of the complex unity, i.e. at low frequencies.

History

The basic idea now known as the Z-transform was known to Laplace, and it was re-introduced in 1947 by W. Hurewicz[5][6] and others as a way to treat sampled-data control systems used with radar. It gives a tractable way to solve linear, constant-coefficient difference equations. It was later dubbed "the z-transform" by Ragazzini and Zadeh in the sampled-data control group at Columbia University in 1952.[7][8]

The modified or advanced Z-transform was later developed and popularized by E. I. Jury.[9][10]

The idea contained within the Z-transform is also known in mathematical literature as the method of generating functions which can be traced back as early as 1730 when it was introduced by de Moivre in conjunction with probability theory.[11] From a mathematical view the Z-transform can also be viewed as a Laurent series where one views the sequence of numbers under consideration as the (Laurent) expansion of an analytic function.

Definition

The Z-transform can be defined as either a one-sided or two-sided transform (similarly to the one-sided Laplace transform and the two-sided Laplace transform).[12]

Bilateral Z-transform

The bilateral or two-sided Z-transform of a discrete-time signal x[n] is the formal power series X(z) defined as:

Template:Equation box 1 where n is an integer and z is, in general, a complex number. In polar form, z may be written as:

z=Aeiϕ=A(cosϕ+isinϕ)

where A is the magnitude of Template:Tmath, i is the imaginary unit, and ϕ is the complex argument (also referred to as angle or phase) in radians.

Unilateral Z-transform

Alternatively, in cases where x[n] is defined only for Template:Tmath, the single-sided or unilateral Z-transform is defined as:

Template:Equation box 1

In signal processing, this definition can be used to evaluate the Z-transform of the unit impulse response of a discrete-time causal system.

An important example of the unilateral Z-transform is the probability-generating function, where the component x[n] is the probability that a discrete random variable takes the value Template:Tmath. The properties of Z-transforms (listed in Template:Slink) have useful interpretations in the context of probability theory.

Inverse Z-transform

The inverse Z-transform is:

Template:Equation box 1 where C is a counterclockwise closed path encircling the origin and entirely in the region of convergence (ROC). In the case where the ROC is causal (see Example 2), this means the path C must encircle all of the poles of Template:Tmath.

A special case of this contour integral occurs when C is the unit circle. This contour can be used when the ROC includes the unit circle, which is always guaranteed when X(z) is stable, that is, when all the poles are inside the unit circle. With this contour, the inverse Z-transform simplifies to the inverse discrete-time Fourier transform, or Fourier series, of the periodic values of the Z-transform around the unit circle:

Template:Equation box 1

The Z-transform with a finite range of n and a finite number of uniformly spaced z values can be computed efficiently via Bluestein's FFT algorithm. The discrete-time Fourier transform (DTFT)—not to be confused with the discrete Fourier transform (DFT)—is a special case of such a Z-transform obtained by restricting z to lie on the unit circle.

The following three methods are often used for the evaluation of the inverse -transform,

Direct evaluation by contour integration

This method involves applying the Cauchy Residue Theorem to evaluate the inverse Z-transform. By integrating around a closed contour in the complex plane, the residues at the poles of the Z-transform function inside the ROC are summed. This technique is particularly useful when working with functions expressed in terms of complex variables.

Expansion into a series of terms in the variables z and z−1

In this method, the Z-transform is expanded into a power series. This approach is useful when the Z-transform function is rational, allowing for the approximation of the inverse by expanding into a series and determining the signal coefficients term by term.

Partial-fraction expansion and table lookup

This technique decomposes the Z-transform into a sum of simpler fractions, each corresponding to known Z-transform pairs. The inverse Z-transform is then determined by looking up each term in a standard table of Z-transform pairs. This method is widely used for its efficiency and simplicity, especially when the original function can be easily broken down into recognizable components.

Example

[13]

A) Determine the inverse Z-transform of the following by series expansion method, X(z)=111.5z1+0.5z2

Solution:

Case 1:

ROC: |z|>1

Since the ROC is the exterior of a circle, x(n) is causal (signal existing for Template:Tmath). X(z)=1132z1+12z2=1+32z1+74z2+158z3+3116z4+. Thus, x(n)={1,32,74,158,3116} (arrow indicates term at Template:Tmath).

Note that in each step of long division process we eliminate lowest power term of Template:Tmath.

Case 2:

ROC: |z|<0.5

Since the ROC is the interior of a circle, x(n) is anticausal (signal existing for Template:Tmath).

By performing long division we get X(z)=1132z1+12z2=2z2+6z3+14z4+30z5+

x(n)={30,14,6,2,0,0}   (arrow indicates term at Template:Tmath).

Note that in each step of long division process we eliminate lowest power term of Template:Tmath.

Note:

  1. When the signal is causal, we get positive powers of z and when the signal is anticausal, we get negative powers of Template:Tmath.
  2. zk indicates term at x(k) and zk indicates term at Template:Tmath.

B) Determine the inverse Z-transform of the following by series expansion method,

Eliminating negative powers if z and dividing by Template:Tmath, X(z)z=z2z(z21.5z+0.5)=zz21.5z+0.5

By partial fraction expansion, X(z)z=z(z1)(z0.5)=A1z0.5+A2z1A1=(z0.5)X(z)z|z=0.5=0.5(0.51)=1A2=(z1)X(z)z|z=1=110.5=2X(z)z=2z11z0.5

Case 1:

ROC:|z|>1

Both the terms are causal, hence x(n) is causal.

x(n)=2(1)nu(n)1(0.5)nu(n)=(2(0.5)n)u(n)

Case 2:

ROC: |z|<0.5

Both the terms are anticausal, hence x(n) is anticausal.

x(n)=2(1)nu(n1)(1(0.5)nu(n1))=((0.5)n2)u(n1)

Case 3:

ROC: 0.5<|z|<1

One of the terms is causal (Template:Tmath provides the causal part) and other is anticausal (Template:Tmath provides the anticausal part), hence x(n) is both sided.

x(n)=2(1)nu(n1)1(0.5)nu(n)=2u(n1)(0.5)nu(n)

Region of convergence

Script error: No such module "Labelled list hatnote". The region of convergence (ROC) is the set of points in the complex plane for which the Z-transform summation absolutely converges:

ROC={z:n=|x[n]zn|<}

Example 1 (no ROC)

Let Template:Tmath. Expanding x[n] on the interval (,) it becomes

x[n]={,(0.5)3,(0.5)2,(0.5)1,1,0.5,(0.5)2,(0.5)3,}={,23,22,2,1,0.5,(0.5)2,(0.5)3,}.

Looking at the sum

n=x[n]zn.

Therefore, there are no values of z that satisfy this condition.

Example 2 (causal ROC)

ROC (blue), Template:Abs = 0.5 (dashed black circle), and the unit circle (dotted grey circle).

Let x[n]=(0.5)nu[n] (where u is the Heaviside step function). Expanding x[n] on the interval (,) it becomes

x[n]={,0,0,0,1,0.5,(0.5)2,(0.5)3,}.

Looking at the sum

n=x[n]zn=n=0(0.5)nzn=n=0(0.5z)n=110.5z1.

The last equality arises from the infinite geometric series and the equality only holds if Template:Tmath, which can be rewritten in terms of z as Template:Tmath. Thus, the ROC is Template:Tmath. In this case the ROC is the complex plane with a disc of radius Template:Tmath at the origin "punched out".

Example 3 (anticausal ROC)

ROC (blue), Template:Abs = 0.5 (dashed black circle), and the unit circle (dotted grey circle).

Let x[n]=(0.5)nu[n1] (where u is the Heaviside step function). Expanding x[n] on the interval (,) it becomes

x[n]={,(0.5)3,(0.5)2,(0.5)1,0,0,0,0,}.

Looking at the sum

n=x[n]zn=n=1(0.5)nzn=m=1(z0.5)m=(0.5)1z1(0.5)1z=10.5z11=110.5z1

and using the infinite geometric series again, the equality only holds if |(0.5)1z|<1 which can be rewritten in terms of z as Template:Tmath. Thus, the ROC is Template:Tmath. In this case the ROC is a disc centered at the origin and of radius Template:Tmath.

What differentiates this example from the previous example is only the ROC. This is intentional to demonstrate that the transform result alone is insufficient.

Examples conclusion

Examples 2 and 3 clearly show that the Z-transform X(z) of x[n] is unique when and only when specifying the ROC. Creating the pole–zero plot for the causal and anticausal case show that the ROC for either case does not include the pole that is at Template:Tmath. This extends to cases with multiple poles: the ROC will never contain poles.

In example 2, the causal system yields a ROC that includes |z|= while the anticausal system in example 3 yields an ROC that includes Template:Tmath.

ROC shown as a blue ring 0.5 < Template:Abs < 0.75

In systems with multiple poles it is possible to have a ROC that includes neither |z|= nor Template:Tmath. The ROC creates a circular band. For example,

x[n]=(0.5)nu[n](0.75)nu[n1]

has poles at Template:Tmath and Template:Tmath. The ROC will be Template:Tmath, which includes neither the origin nor infinity. Such a system is called a mixed-causality system as it contains a causal term (0.5)nu[n] and an anticausal term Template:Tmath.

The stability of a system can also be determined by knowing the ROC alone. If the ROC contains the unit circle (i.e., Template:Tmath) then the system is stable. In the above systems the causal system (Example 2) is stable because Template:Tmath contains the unit circle.

Let us assume we are provided a Z-transform of a system without a ROC (i.e., an ambiguous Template:Tmath). We can determine a unique x[n] provided we desire the following:

  • Stability
  • Causality

For stability the ROC must contain the unit circle. If we need a causal system then the ROC must contain infinity and the system function will be a right-sided sequence. If we need an anticausal system then the ROC must contain the origin and the system function will be a left-sided sequence. If we need both stability and causality, all the poles of the system function must be inside the unit circle.

The unique x[n] can then be found.

Properties

Properties of the z-transform

Property

Time domain Z-domain Proof ROC
Definition of Z-transform x[n] X(z) X(z)=𝒵{x[n]} (definition of the z-transform)

x[n]=𝒵1{X(z)} (definition of the inverse z-transform)

r2<|z|<r1
Linearity a1x1[n]+a2x2[n] a1X1(z)+a2X2(z) X(z)=n=(a1x1[n]+a2x2[n])zn=a1n=x1[n]zn+a2n=x2[n]zn=a1X1(z)+a2X2(z) Contains ROC1 ∩ ROC2
Time expansion xK[n]={x[r],n=Kr0,nK

with K:={Kr:r}

X(zK) XK(z)=n=xK[n]zn=r=x[r]zrK=r=x[r](zK)r=X(zK) R1K
Decimation x[Kn] 1Kp=0K1X(z1Kei2πKp) ohio-state.edu or ee.ic.ac.uk
Time delay x[nk]

with k>0 and x:x[n]=0 n<0

zkX(z) 𝒵{x[nk]}=n=0x[nk]zn=m=kx[m]z(m+k)m=nk=m=kx[m]zmzk=zkm=kx[m]zm=zkm=0x[m]zmx[β]=0,β<0=zkX(z) ROC, except z=0 if k>0 and z= if k<0
Time advance x[n+k]

with k>0

Bilateral Z-transform:

zkX(z) Unilateral Z-transform:[14] zkX(z)zkn=0k1x[n]zn

First difference backward x[n]x[n1]

with x[n]=0 for n<0

(1z1)X(z) Contains the intersection of ROC of X1(z) and z0
First difference forward x[n+1]x[n] (z1)X(z)zx[0]
Time reversal x[n] X(z1) 𝒵{x(n)}=n=x[n]zn=m=x[m]zm=m=x[m](z1)m=X(z1) 1r1<|z|<1r2
Scaling in the z-domain anx[n] X(a1z) 𝒵{anx[n]}=n=anx[n]zn=n=x[n](a1z)n=X(a1z) |a|r2<|z|<|a|r1
Complex conjugation x[n] X(z) 𝒵{x(n)}=n=x[n]zn=n=[x[n](z)n]=[n=x[n](z)n]=X(z)
Real part Re{x[n]} 12[X(z)+X(z)]
Imaginary part Im{x[n]} 12i[X(z)X(z)]
Differentiation in the z-domain nx[n] zdX(z)dz 𝒵{nx(n)}=n=nx[n]zn=zn=nx[n]zn1=zn=x[n](nzn1)=zn=x[n]ddz(zn)=zdX(z)dz ROC, if X(z) is rational;

ROC possibly excluding the boundary, if X(z) is irrational[15]

Convolution x1[n]x2[n] X1(z)X2(z) 𝒵{x1(n)x2(n)}=𝒵{l=x1[l]x2[nl]}=n=[l=x1[l]x2[nl]]zn=l=x1[l][n=x2[nl]zn]=[l=x1(l)zl][n=x2[n]zn]=X1(z)X2(z) Contains ROC1 ∩ ROC2
Cross-correlation rx1,x2=x1[n]x2[n] Rx1,x2(z)=X1(1z)X2(z) Contains the intersection of ROC of X1(1z) and X2(z)
Accumulation k=nx[k] 11z1X(z) n=k=nx[k]zn=n=(x[n]+)zn=X(z)(1+z1+z2+)=X(z)j=0zj=X(z)11z1
Multiplication x1[n]x2[n] 12πiCX1(v)X2(zv)v1dv -

Parseval's theorem

n=x1[n]x2[n]=12πiCX1(v)X2(1v)v1dv

Initial value theorem : If x[n] is causal, then x[0]=limzX(z).

Final value theorem: If the poles of (z1)X(z) are inside the unit circle, then x[]=limz1(z1)X(z).

Table of common Z-transform pairs

Here:

u:nu[n]={1,n00,n<0

is the unit (or Heaviside) step function and

δ:nδ[n]={1,n=00,n0

is the discrete-time unit impulse function (cf. Dirac delta function, which is a continuous-time version). The two functions are chosen together so that the unit step function is the accumulation (running total) of the unit impulse function.

Signal, x[n] Z-transform, X(z) ROC
1 δ[n] 1 all z
2 δ[nn0] zn0 z0
3 u[n] 11z1 |z|>1
4 u[n1] 11z1 |z|<1
5 nu[n] z1(1z1)2 |z|>1
6 nu[n1] z1(1z1)2 |z|<1
7 n2u[n] z1(1+z1)(1z1)3 |z|>1
8 n2u[n1] z1(1+z1)(1z1)3 |z|<1
9 n3u[n] z1(1+4z1+z2)(1z1)4 |z|>1
10 n3u[n1] z1(1+4z1+z2)(1z1)4 |z|<1
11 anu[n] 11az1 |z|>|a|
12 anu[n1] 11az1 |z|<|a|
13 nanu[n] az1(1az1)2 |z|>|a|
14 nanu[n1] az1(1az1)2 |z|<|a|
15 n2anu[n] az1(1+az1)(1az1)3 |z|>|a|
16 n2anu[n1] az1(1+az1)(1az1)3 |z|<|a|
17 (n+m1m1)anu[n] [14] Template:Tmath, for positive integer m[15] |z|>|a|
18 (1)m(n1m1)anu[nm] Template:Tmath, for positive integer m[15] |z|<|a|
19 cos(ω0n)u[n] 1z1cos(ω0)12z1cos(ω0)+z2 |z|>1
20 sin(ω0n)u[n] z1sin(ω0)12z1cos(ω0)+z2 |z|>1
21 ancos(ω0n)u[n] 1az1cos(ω0)12az1cos(ω0)+a2z2 |z|>|a|
22 ansin(ω0n)u[n] az1sin(ω0)12az1cos(ω0)+a2z2 |z|>|a|

Relationship to Fourier series and Fourier transform

Script error: No such module "Unsubst".

For values of z in the region Template:Tmath, known as the unit circle, we can express the transform as a function of a single real variable ω by defining Template:Tmath. The bilateral transform reduces to a Fourier series:

Template:Equation box 1 which is also known as the discrete-time Fourier transform (DTFT) of the x[n] sequence. This 2π-periodic function is the periodic summation of a Fourier transform, which makes it a widely used analysis tool. To understand this, let X(f) be the Fourier transform of any function, Template:Tmath, whose samples at some interval T equal the x[n] sequence. Then the DTFT of the x[n] sequence can be written as follows.

Template:Equation box 1 where T has units of seconds, f has units of hertz. Comparison of the two series reveals that ω=2πfT is a normalized frequency with unit of radian per sample. The value ω=2π corresponds to Template:Tmath. And now, with the substitution Template:Tmath, Eq.1 can be expressed in terms of X(ω2πk2πT) (a Fourier transform):

Template:Equation box 1

As parameter T changes, the individual terms of Eq.2 move farther apart or closer together along the f-axis. In Eq.3 however, the centers remain 2π apart, while their widths expand or contract. When sequence x(nT) represents the impulse response of an LTI system, these functions are also known as its frequency response. When the x(nT) sequence is periodic, its DTFT is divergent at one or more harmonic frequencies, and zero at all other frequencies. This is often represented by the use of amplitude-variant Dirac delta functions at the harmonic frequencies. Due to periodicity, there are only a finite number of unique amplitudes, which are readily computed by the much simpler discrete Fourier transform (DFT). (See Template:Slink.)

Relationship to Laplace transform

Script error: No such module "Unsubst".

Bilinear transform

Script error: No such module "Labelled list hatnote". The bilinear transform can be used to convert continuous-time filters (represented in the Laplace domain) into discrete-time filters (represented in the Z-domain), and vice versa. The following substitution is used:

s=2T(z1)(z+1)

to convert some function H(s) in the Laplace domain to a function H(z) in the Z-domain (Tustin transformation), or

z=esT1+sT/21sT/2

from the Z-domain to the Laplace domain. Through the bilinear transformation, the complex s-plane (of the Laplace transform) is mapped to the complex z-plane (of the z-transform). While this mapping is (necessarily) nonlinear, it is useful in that it maps the entire iω axis of the s-plane onto the unit circle in the z-plane. As such, the Fourier transform (which is the Laplace transform evaluated on the iω axis) becomes the discrete-time Fourier transform. This assumes that the Fourier transform exists; i.e., that the iω axis is in the region of convergence of the Laplace transform.

Starred transform

Script error: No such module "Labelled list hatnote". Given a one-sided Z-transform X(z) of a time-sampled function, the corresponding starred transform produces a Laplace transform and restores the dependence on T (the sampling parameter):

X(s)=X(z)|z=esT

The inverse Laplace transform is a mathematical abstraction known as an impulse-sampled function.

Linear constant-coefficient difference equation

The linear constant-coefficient difference (LCCD) equation is a representation for a linear system based on the autoregressive moving-average equation:

p=0Ny[np]αp=q=0Mx[nq]βq.

Both sides of the above equation can be divided by α0 if it is not zero. By normalizing with Template:Tmath, the LCCD equation can be written

y[n]=q=0Mx[nq]βqp=1Ny[np]αp.

This form of the LCCD equation is favorable to make it more explicit that the "current" output y[n] is a function of past outputs Template:Tmath, current input Template:Tmath, and previous inputs Template:Tmath.

Transfer function

Taking the Z-transform of the above equation (using linearity and time-shifting laws) yields:

Y(z)p=0Nzpαp=X(z)q=0Mzqβq

where X(z) and Y(z) are the Z-transform of x[n] and Template:Tmath, respectively. (Notation conventions typically use capitalized letters to refer to the Z-transform of a signal denoted by a corresponding lower case letter, similar to the convention used for notating Laplace transforms.)

Rearranging results in the system's transfer function:

H(z)=Y(z)X(z)=q=0Mzqβqp=0Nzpαp=β0+z1β1+z2β2++zMβMα0+z1α1+z2α2++zNαN.

Zeros and poles

From the fundamental theorem of algebra the numerator has M roots (corresponding to zeros of H) and the denominator has N roots (corresponding to poles). Rewriting the transfer function in terms of zeros and poles

H(z)=(1q1z1)(1q2z1)(1qMz1)(1p1z1)(1p2z1)(1pNz1),

where qk is the kth zero and pk is the kth pole. The zeros and poles are commonly complex and when plotted on the complex plane (z-plane) it is called the pole–zero plot.

In addition, there may also exist zeros and poles at z=0 and Template:Tmath. If we take these poles and zeros as well as multiple-order zeros and poles into consideration, the number of zeros and poles are always equal.

By factoring the denominator, partial fraction decomposition can be used, which can then be transformed back to the time domain. Doing so would result in the impulse response and the linear constant coefficient difference equation of the system.

Output response

If such a system H(z) is driven by a signal X(z) then the output is Template:Tmath. By performing partial fraction decomposition on Y(z) and then taking the inverse Z-transform the output y[n] can be found. In practice, it is often useful to fractionally decompose Y(z)z before multiplying that quantity by z to generate a form of Y(z) which has terms with easily computable inverse Z-transforms.

See also

References

Page Template:Reflist/styles.css has no content.

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "Citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. a b c Script error: No such module "Citation/CS1".

Script error: No such module "Check for unknown parameters".

Further reading

  • Refaat El Attar, Lecture notes on Z-Transform, Lulu Press, Morrisville NC, 2005. Template:Isbn.
  • Ogata, Katsuhiko, Discrete Time Control Systems 2nd Ed, Prentice-Hall Inc, 1995, 1987. Template:Isbn.
  • Alan V. Oppenheim and Ronald W. Schafer (1999). Discrete-Time Signal Processing, 2nd Edition, Prentice Hall Signal Processing Series. Template:Isbn.

Template:DSP Script error: No such module "Authority control".