Skip to content Skip to navigation

Connexions

You are here: Home » Content » Discrete-Time Signals

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • Rice Digital Scholarship

    This module is included in aLens by: Digital Scholarship at Rice UniversityAs a part of collection: "Brief Notes on Signals and Systems"

    Click the "Rice Digital Scholarship" link to see all content affiliated with them.

  • NSF Partnership display tagshide tags

    This module is included inLens: NSF Partnership in Signal Processing
    By: Sidney BurrusAs a part of collection: "Digital Signal Processing and Digital Filter Design (Draft)"

    Click the "NSF Partnership" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Featured Content

    This module is included inLens: Connexions Featured Content
    By: ConnexionsAs a part of collection: "Digital Signal Processing and Digital Filter Design (Draft)"

    Click the "Featured Content" link to see all content affiliated with them.

Also in these lenses

  • UniqU content

    This module is included inLens: UniqU's lens
    By: UniqU, LLCAs a part of collections: "Digital Signal Processing and Digital Filter Design (Draft)", "Brief Notes on Signals and Systems"

    Click the "UniqU content" link to see all content selected in this lens.

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Discrete-Time Signals

Module by: C. Sidney Burrus. E-mail the author

Although the discrete-time signal x(n)x(n) could be any ordered sequence of numbers, they are usually samples of a continuous-time signal. In this case, the real or imaginary valued mathematical function x(n)x(n) of the integer nn is not used as an analogy of a physical signal, but as some representation of it (such as samples). In some cases, the term digital signal is used interchangeably with discrete-time signal, or the label digital signal may be use if the function is not real valued but takes values consistent with some hardware system.

Indeed, our very use of the term “discrete-time" indicates the probable origin of the signals when, in fact, the independent variable could be length or any other variable or simply an ordering index. The term “digital" indicates the signal is probably going to be created, processed, or stored using digital hardware. As in the continuous-time case, the Fourier transform will again be our primary tool [20], [21], [5].

Notation has been an important element in mathematics. In some cases, discrete-time signals are best denoted as a sequence of values, in other cases, a vector is created with elements which are the sequence values. In still other cases, a polynomial is formed with the sequence values as coefficients for a complex variable. The vector formulation allows the use of linear algebra and the polynomial formulation allows the use of complex variable theory.

The Discrete Fourier Transform

The description of signals in terms of their sinusoidal frequency content has proven to be as powerful and informative for discrete-time signals as it has for continuous-time signals. It is also probably the most powerful computational tool we will use. We now develop the basic discrete-time methods starting with the discrete Fourier transform (DFT) applied to finite length signals, followed by the discrete-time Fourier transform (DTFT) for infinitely long signals, and ending with the z-transform which uses the powerful tools of complex variable theory.

Definition of the DFT

It is assumed that the signal x(n)x(n) to be analyzed is a sequence of NN real or complex values which are a function of the integer variable nn. The DFT of x(n)x(n), also called the spectrum of x(n)x(n), is a length NN sequence of complex numbers denoted C(k)C(k) and defined by

C ( k ) = n = 0 N - 1 x ( n ) e - j 2 π N n k C ( k ) = n = 0 N - 1 x ( n ) e - j 2 π N n k
(1)

using the usual engineering notation: j=-1j=-1. The inverse transform (IDFT) which retrieves x(n)x(n) from C(k)C(k) is given by

x ( n ) = 1 N k = 0 N - 1 C ( k ) e j 2 π N n k x ( n ) = 1 N k = 0 N - 1 C ( k ) e j 2 π N n k
(2)

which is easily verified by substitution into Equation 1. Indeed, this verification will require using the orthogonality of the basis function of the DFT which is

k = 0 N - 1 e - j 2 π N m k e j 2 π N n k = N if n = m 0 if n m . k = 0 N - 1 e - j 2 π N m k e j 2 π N n k = N if n = m 0 if n m .
(3)

The exponential basis functions, e-j2πNke-j2πNk, for k{0,N-1}k{0,N-1}, are the NN values of the NNth roots of unity (the N zeros of the polynomial (s-1)N(s-1)N). This property is what connects the DFT to convolution and allows efficient algorithms for calculation to be developed [4]. They are used so often that the following notation is defined by

W N = e - j 2 π N W N = e - j 2 π N
(4)

with the subscript being omitted if the sequence length is obvious from context. Using this notation, the DFT becomes

C ( k ) = n = 0 N - 1 x ( n ) W N n k C ( k ) = n = 0 N - 1 x ( n ) W N n k
(5)

One should notice that with the finite summation of the DFT, there is no question of convergence or of the ability to interchange the order of summation. No “delta functions” are needed and the NN transform values can be calculated exactly (within the accuracy of the computer or calculator used) from the NN signal values with a finite number of arithmetic operations.

Matrix Formulation of the DFT

There are several advantages to using a matrix formulation of the DFT. This is given by writing Equation 1 or Equation 5 in matrix operator form as

C 0 C 1 C 2 C N - 1 = W 0 W 0 W 0 W 0 W 0 W 1 W 2 W 0 W 2 W 4 W 0 W ( N - 1 ) ( N - 1 ) x 0 x 1 x 2 x N - 1 C 0 C 1 C 2 C N - 1 = W 0 W 0 W 0 W 0 W 0 W 1 W 2 W 0 W 2 W 4 W 0 W ( N - 1 ) ( N - 1 ) x 0 x 1 x 2 x N - 1
(6)

or

C = Fx . C = Fx .
(7)

The orthogonality of the basis function in Equation 1 shows up in this matrix formulation by the columns of FF being orthogonal to each other as are the rows. This means that FTF=kIFTF=kI, where kk is a scalar constant, and, therefore, FT=kF-1FT=kF-1. This is called a unitary operator.

The definition of the DFT in Equation 1 emphasizes the fact that each of the NN DFT values are the sum of NN products. The matrix formulation in Equation 6 has two interpretations. Each kk-th DFT term is the inner product of two vectors, kk-th row of FF and xx; or, the DFT vector, CC is a weighted sum of the NN columns of FF with weights being the elements of the signal vector xx. A third view of the DFT is the operator view which is simply the single matrix equation Equation 7.

It is instructive at this point to write a computer program to calculate the DFT of a signal. In Matlab [18], there is a pre-programmed function to calculate the DFT, but that hides the scalar operations. One should program the transform in the scalar interpretive language of Matlab or some other lower level language such as FORTRAN, C, BASIC, Pascal, etc. This will illustrate how many multiplications and additions and trigonometric evaluations are required and how much memory is needed. Do not use a complex data type which also hides arithmetic, but use Euler's relations

e j x = cos ( x ) + j sin ( x ) e j x = cos ( x ) + j sin ( x )
(8)

to explicitly calculate the real and imaginary part of C(k)C(k).

If Matlab is available, first program the DFT using only scalar operations. It will require two nested loops and will run rather slowly because the execution of loops is interpreted. Next, program it using vector inner products to calculate each C(k)C(k) which will require only one loop and will run faster. Finally, program it using a single matrix multiplication requiring no loops and running much faster. Check the memory requirements of the three approaches.

The DFT and IDFT are a completely well-defined, legitimate transform pair with a sound theoretical basis that do not need to be derived from or interpreted as an approximation to the continuous-time Fourier series or integral. The discrete-time and continuous-time transforms and other tools are related and have parallel properties, but neither depends on the other.

The notation used here is consistent with most of the literature and with the standards given in [9]. The independent index variable nn of the signal x(n)x(n) is an integer, but it is usually interpreted as time or, occasionally, as distance. The independent index variable kk of the DFT C(k)C(k) is also an integer, but it is generally considered as frequency. The DFT is called the spectrum of the signal and the magnitude of the complex valued DFT is called the magnitude of that spectrum and the angle or argument is called the phase.

Extensions of x(n)

Although the finite length signal x(n)x(n) is defined only over the interval {0n(N-1)}{0n(N-1)}, the IDFT of C(k)C(k) can be evaluated outside this interval to give well defined values. Indeed, this process gives the periodic property 4. There are two ways of formulating this phenomenon. One is to periodically extend x(n)x(n) to -- and ++ and work with this new signal. A second more general way is evaluate all indices nn and kk modulo NN. Rather than considering the periodic extension of x(n)x(n) on the line of integers, the finite length line is formed into a circle or a line around a cylinder so that after counting to N-1N-1, the next number is zero, not a periodic replication of it. The periodic extension is easier to visualize initially and is more commonly used for the definition of the DFT, but the evaluation of the indices by residue reduction modulo NN is a more general definition and can be better utilized to develop efficient algorithms for calculating the DFT [4].

Since the indices are evaluated only over the basic interval, any values could be assigned x(n)x(n) outside that interval. The periodic extension is the choice most consistent with the other properties of the transform, however, it could be assigned to zero [20]. An interesting possibility is to artificially create a length 2N2N sequence by appending x(-n)x(-n) to the end of x(n)x(n). This would remove the discontinuities of periodic extensions of this new length 2N2N signal and perhaps give a more accurate measure of the frequency content of the signal with no artifacts caused by “end effects". Indeed, this modification of the DFT gives what is called the discrete cosine transform (DCT) [15]. We will assume the implicit periodic extensions to x(n)x(n) with no special notation unless this characteristic is important, then we will use the notation x˜(n)x˜(n).

Convolution

Convolution is an important operation in signal processing that is in some ways more complicated in discrete-time signal processing than in continuous-time signal processing and in other ways easier. The basic input-output relation for a discrete-time system is given by so-called linear or non-cyclic convolution defined and denoted by

y ( n ) = m = - h ( m ) x ( n - m ) = h ( n ) * x ( n ) y ( n ) = m = - h ( m ) x ( n - m ) = h ( n ) * x ( n )
(9)

where x(n)x(n) is the perhaps infinitely long input discrete-time signal, h(n)h(n) is the perhaps infinitely long impulse response of the system, and y(n)y(n) is the output. The DFT is, however, intimately related to cyclic convolution, not non-cyclic convolution. Cyclic convolution is defined and denoted by

y ˜ ( n ) = m = 0 N - 1 h ˜ ( m ) x ˜ ( n - m ) = h ( n ) x ( n ) y ˜ ( n ) = m = 0 N - 1 h ˜ ( m ) x ˜ ( n - m ) = h ( n ) x ( n )
(10)

where either all of the indices or independent integer variables are evaluated modulo NN or all of the signals are periodically extended outside their length NN domains.

This cyclic (sometimes called circular) convolution can be expressed as a matrix operation by converting the signal h(n)h(n) into a matrix operator as

H = h 0 h L - 1 h L - 2 h 1 h 1 h 0 h L - 1 h 2 h 1 h 0 h L - 1 h 0 , H = h 0 h L - 1 h L - 2 h 1 h 1 h 0 h L - 1 h 2 h 1 h 0 h L - 1 h 0 ,
(11)

The cyclic convolution can then be written in matrix notation as

Y = H X Y = H X
(12)

where XX and YY are column matrices or vectors of the input and output values respectively.

Because non-cyclic convolution is often what you want to do and cyclic convolution is what is related to the powerful DFT, we want to develop a way of doing non-cyclic convolution by doing cyclic convolution.

The convolution of a length NN sequence with a length MM sequence yields a length N+M-1N+M-1 output sequence. The calculation of non-cyclic convolution by using cyclic convolution requires modifying the signals by appending zeros to them. This will be developed later.

Properties of the DFT

The properties of the DFT are extremely important in applying it to signal analysis and to interpreting it. The main properties are given here using the notation that the DFT of a length-NN complex sequence x(n)x(n) is F{x(n)}=C(k)F{x(n)}=C(k).

  1. Linear Operator: F{x(n)+y(n)}=F{x(n)}+F{y(n)}F{x(n)+y(n)}=F{x(n)}+F{y(n)}
  2. Unitary Operator: F-1=1NFTF-1=1NFT
  3. Periodic Spectrum: C(k)=C(k+N)C(k)=C(k+N)
  4. Periodic Extensions of x(n)x(n): x(n)=x(n+N)x(n)=x(n+N)
  5. Properties of Even and Odd Parts: x(n)=u(n)+jv(n)x(n)=u(n)+jv(n) and C(k)=A(k)+jB(k)C(k)=A(k)+jB(k)
    Table 1
    uuvvAABB|C||C|θθ
    even0even0even0
    odd00oddevenπ/2π/2
    0even0evenevenπ/2π/2
    0oddodd0even0
  6. Cyclic Convolution: F{h(n)x(n)}=F{h(n)}F{x(n)}F{h(n)x(n)}=F{h(n)}F{x(n)}
  7. Multiplication: F{h(n)x(n)}=F{h(n)}F{x(n)}F{h(n)x(n)}=F{h(n)}F{x(n)}
  8. Parseval: n=0N-1|x(n)|2=1Nk=0N-1|C(k)|2n=0N-1|x(n)|2=1Nk=0N-1|C(k)|2
  9. Shift: F{x(n-M)}=C(k)e-j2πMk/NF{x(n-M)}=C(k)e-j2πMk/N
  10. Modulate: F{x(n)ej2πKn/N}=C(k-K)F{x(n)ej2πKn/N}=C(k-K)
  11. Down Sample or Decimate: F{x(Kn)}=1Km=0K-1C(k+Lm)F{x(Kn)}=1Km=0K-1C(k+Lm) where N=LKN=LK
  12. Up Sample or Stretch: If xs(2n)=x(n)xs(2n)=x(n) for integer nn and zero otherwise, then F{xs(n)}=C(k)F{xs(n)}=C(k), for k=0,1,2,...,2N-1k=0,1,2,...,2N-1
  13. N Roots of Unity: (WNk)N=1(WNk)N=1 for k=0,1,2,...,N-1k=0,1,2,...,N-1
  14. Orthogonality:
    k=0N-1e-j2πmk/Nej2πnk/N=Nifn=m0ifnm.k=0N-1e-j2πmk/Nej2πnk/N=Nifn=m0ifnm.
    (13)
  15. Diagonalization of Convolution: If cyclic convolution is expressed as a matrix operation by y=Hxy=Hx with HH given by Equation 11, the DFT operator diagonalizes the convolution operator HH, or FTHF=HdFTHF=Hd where HdHd is a diagonal matrix with the NN values of the DFT of h(n)h(n) on the diagonal. This is a matrix statement of Property 6. Note the columns of FF are the NN eigenvectors of HH, independent of the values of h(n)h(n).

One can show that any “kernel" of a transform that would support cyclic, length-N convolution must be the N roots of unity. This says the DFT is the only transform over the complex number field that will support convolution. However, if one considers various finite fields or rings, an interesting transform, called the Number Theoretic Transform, can be defined and used because the roots of unity are simply two raised to a powers which is a simple word shift for certain binary number representations [1], [2].

Examples of the DFT

It is very important to develop insight and intuition into the DFT or spectral characteristics of various standard signals. A few DFT's of standard signals together with the above properties will give a fairly large set of results. They will also aid in quickly obtaining the DFT of new signals. The discrete-time impulse δ(n)δ(n) is defined by

δ ( n ) = 1 when n = 0 0 otherwise δ ( n ) = 1 when n = 0 0 otherwise
(14)

The discrete-time pulse M(n)M(n) is defined by

M ( n ) = 1 when n = 0 , 1 , , M - 1 0 otherwise M ( n ) = 1 when n = 0 , 1 , , M - 1 0 otherwise
(15)

Several examples are:

  • DFT{δ(n)}=1DFT{δ(n)}=1, The DFT of an impulse is a constant.
  • DFT{1}=Nδ(k)DFT{1}=Nδ(k), The DFT of a constant is an impulse.
  • D F T { e j 2 π K n / N } = N δ ( k - K ) D F T { e j 2 π K n / N } = N δ ( k - K )
  • D F T { cos ( 2 π M n / N ) = N 2 [ δ ( k - M ) + δ ( k + M ) ] D F T { cos ( 2 π M n / N ) = N 2 [ δ ( k - M ) + δ ( k + M ) ]
  • D F T { M ( n ) } = sin ( π N M k ) sin ( π N k ) D F T { M ( n ) } = sin ( π N M k ) sin ( π N k )

These examples together with the properties can generate a still larger set of interesting and enlightening examples. Matlab can be used to experiment with these results and to gain insight and intuition.

The Discrete-Time Fourier Transform

In addition to finite length signals, there are many practical problems where we must be able to analyze and process essentially infinitely long sequences. For continuous-time signals, the Fourier series is used for finite length signals and the Fourier transform or integral is used for infinitely long signals. For discrete-time signals, we have the DFT for finite length signals and we now present the discrete-time Fourier transform (DTFT) for infinitely long signals or signals that are longer than we want to specify [20]. The DTFT can be developed as an extension of the DFT as NN goes to infinity or the DTFT can be independently defined and then the DFT shown to be a special case of it. We will do the latter.

Definition of the DTFT

The DTFT of a possibly infinitely long real (or complex) valued sequence f(n)f(n) is defined to be

F ( ω ) = - f ( n ) e - j ω n F ( ω ) = - f ( n ) e - j ω n
(16)

and its inverse denoted IDTFT is given by

f ( n ) = 1 2 π - π π F ( ω ) e j ω n d ω . f ( n ) = 1 2 π - π π F ( ω ) e j ω n d ω .
(17)

Verification by substitution is more difficult than for the DFT. Here convergence and the interchange of order of the sum and integral are serious questions and have been the topics of research over many years. Discussions of the Fourier transform and series for engineering applications can be found in [21], [5]. It is necessary to allow distributions or delta functions to be used to gain the full benefit of the Fourier transform.

Note that the definition of the DTFT and IDTFT are the same as the definition of the IFS and FS respectively. Since the DTFT is a continuous periodic function of ωω, its Fourier series is a discrete set of values which turn out to be the original signal. This duality can be helpful in developing properties and gaining insight into various problems. The conditions on a function to determine if it can be expanded in a FS are exactly the conditions on a desired frequency response or spectrum that will determine if a signal exists to realize or approximate it.

Properties

The properties of the DTFT are similar to those for the DFT and are important in the analysis and interpretation of long signals. The main properties are given here using the notation that the DTFT of a complex sequence x(n)x(n) is F{x(n)}=X(ω)F{x(n)}=X(ω).

  1. Linear Operator: F{x+y}=F{x}+F{y}F{x+y}=F{x}+F{y}
  2. Periodic Spectrum: X(ω)=X(ω+2π)X(ω)=X(ω+2π)
  3. Properties of Even and Odd Parts: x(n)=u(n)+jv(n)x(n)=u(n)+jv(n) and X(ω)=A(ω)+jB(ω)X(ω)=A(ω)+jB(ω)
    Table 2
    uuvvAABB|X||X|θθ
    even0even0even0
    odd00oddeven0
    0even0evenevenπ/2π/2
    0oddodd0evenπ/2π/2
  4. Convolution: If non-cyclic or linear convolution is defined by:
    y(n)=h(n)*x(n)=m=-h(n-m)x(m)=k=-h(k)x(n-k)y(n)=h(n)*x(n)=m=-h(n-m)x(m)=k=-h(k)x(n-k)
    then F{h(n)*x(n)}=F{h(n)}F{x(n)}F{h(n)*x(n)}=F{h(n)}F{x(n)}
  5. Multiplication: If cyclic convolution is defined by:
    Y(ω)=H(ω)X(ω)=0TH˜(ω-Ω)X˜(Ω)dΩY(ω)=H(ω)X(ω)=0TH˜(ω-Ω)X˜(Ω)dΩ
    F{h(n)x(n)}=12πF{h(n)}F{x(n)}F{h(n)x(n)}=12πF{h(n)}F{x(n)}
  6. Parseval: n=-|x(n)|2=12π-ππ|X(ω)|2dωn=-|x(n)|2=12π-ππ|X(ω)|2dω
  7. Shift: F{x(n-M)}=X(ω)e-jωMF{x(n-M)}=X(ω)e-jωM
  8. Modulate: F{x(n)ejω0n}=X(ω-ω0)F{x(n)ejω0n}=X(ω-ω0)
  9. Sample: F{x(Kn)}=1Km=0K-1X(ω+Lm)F{x(Kn)}=1Km=0K-1X(ω+Lm) where N=LKN=LK
  10. Stretch: F{xs(n)}=X(ω)F{xs(n)}=X(ω), for -KπωKπ-KπωKπ where xs(Kn)=x(n)xs(Kn)=x(n) for integer nn and zero otherwise.
  11. Orthogonality: n=-e-jω1ne-jω2n=2πδ(ω1-ω2)n=-e-jω1ne-jω2n=2πδ(ω1-ω2)

Evaluation of the DTFT by the DFT

If the DTFT of a finite sequence is taken, the result is a continuous function of ωω. If the DFT of the same sequence is taken, the results are NN evenly spaced samples of the DTFT. In other words, the DTFT of a finite signal can be evaluated at NN points with the DFT.

X ( ω ) = D T F T { x ( n ) } = n = - x ( n ) e - j ω n X ( ω ) = D T F T { x ( n ) } = n = - x ( n ) e - j ω n
(18)

and because of the finite length

X ( ω ) = n = 0 N - 1 x ( n ) e - j ω n . X ( ω ) = n = 0 N - 1 x ( n ) e - j ω n .
(19)

If we evaluate ωω at NN equally space points, this becomes

X ( 2 π N k ) = n = 0 N - 1 x ( n ) e - j 2 π N k n X ( 2 π N k ) = n = 0 N - 1 x ( n ) e - j 2 π N k n
(20)

which is the DFT of x(n)x(n). By adding zeros to the end of x(n)x(n) and taking a longer DFT, any density of points can be evaluated. This is useful in interpolation and in plotting the spectrum of a finite length signal. This is discussed further in Sampling, Up-Sampling, Down-Sampling, and Multi-Rate Processing.

There is an interesting variation of the Parseval's theorem for the DTFT of a finite length-NN signal. If x(n)0x(n)0 for 0nN-10nN-1, and if LNLN, then

n = 0 N - 1 | x ( n ) | 2 = 1 L k = 0 L - 1 | X ( 2 π k / L ) | 2 = 1 π 0 π | X ( ω ) | 2 d ω . n = 0 N - 1 | x ( n ) | 2 = 1 L k = 0 L - 1 | X ( 2 π k / L ) | 2 = 1 π 0 π | X ( ω ) | 2 d ω .
(21)

The second term in Equation 21 says the Riemann sum is equal to its limit in this case.

Examples of DTFT

As was true for the DFT, insight and intuition is developed by understanding the properties and a few examples of the DTFT. Several examples are given below and more can be found in the literature [20], [21], [5]. Remember that while in the case of the DFT signals were defined on the region {0n(N-1)}{0n(N-1)} and values outside that region were periodic extensions, here the signals are defined over all integers and are not periodic unless explicitly stated. The spectrum is periodic with period 2π2π.

  • DTFT{δ(n)}=1DTFT{δ(n)}=1 for all frequencies.
  • D T F T { 1 } = 2 π δ ( ω ) D T F T { 1 } = 2 π δ ( ω )
    (22)
  • D T F T { e j ω 0 n } = 2 π δ ( ω - ω 0 ) D T F T { e j ω 0 n } = 2 π δ ( ω - ω 0 )
    (23)
  • D T F T { cos ( ω 0 n ) } = π [ δ ( ω - ω 0 ) + δ ( ω + ω 0 ) ] D T F T { cos ( ω 0 n ) } = π [ δ ( ω - ω 0 ) + δ ( ω + ω 0 ) ]
    (24)
  • D T F T { M ( n ) } = sin ( ω M k / 2 ) sin ( ω k / 2 ) D T F T { M ( n ) } = sin ( ω M k / 2 ) sin ( ω k / 2 )
    (25)

The Z-Transform

The z-transform is an extension of the DTFT in a way that is analogous to the Laplace transform for continuous-time signals being an extension of the Fourier transform. It allows the use of complex variable theory and is particularly useful in analyzing and describing systems. The question of convergence becomes still more complicated and depends on values of zz used in the inverse transform which must be in the “region of convergence" (ROC).

Definition of the Z-Transform

The z-transform (ZT) is defined as a polynomial in the complex variable zz with the discrete-time signal values as its coefficients [16], [22], [20]. It is given by

F ( z ) = n = - f ( n ) z - n F ( z ) = n = - f ( n ) z - n
(26)

and the inverse transform (IZT) is

f ( n ) = 1 2 π j R O C F ( z ) z n - 1 d z . f ( n ) = 1 2 π j R O C F ( z ) z n - 1 d z .
(27)

The inverse transform can be derived by using the residue theorem [7], [21] from complex variable theory to find f(0)f(0) from z-1F(z)z-1F(z), f(1)f(1) from F(z)F(z), f(2)f(2) from zF(z)zF(z), and in general, f(n)f(n) from zn-1F(z)zn-1F(z). Verification by substitution is more difficult than for the DFT or DTFT. Here convergence and the interchange of order of the sum and integral is a serious question that involves values of the complex variable zz. The complex contour integral in Equation 27 must be taken in the ROC of the z plane.

A unilateral z-transform is sometimes needed where the definition Equation 27 uses a lower limit on the transform summation of zero. This allow the transformation to converge for some functions where the regular bilateral transform does not, it provides a straightforward way to solve initial condition difference equation problems, and it simplifies the question of finding the ROC. The bilateral z-transform is used more for signal analysis and the unilateral transform is used more for system description and analysis. Unless stated otherwise, we will be using the bilateral z-transform.

Properties

The properties of the ZT are similar to those for the DTFT and DFT and are important in the analysis and interpretation of long signals and in the analysis and description of discrete-time systems. The main properties are given here using the notation that the ZT of a complex sequence x(n)x(n) is Z{x(n)}=X(z)Z{x(n)}=X(z).

  1. Linear Operator: Z{x+y}=Z{x}+Z{y}Z{x+y}=Z{x}+Z{y}
  2. Relationship of ZT to DTFT: Z{x}|z=ejω=DTFT{x}Z{x}|z=ejω=DTFT{x}
  3. Periodic Spectrum: X(ejω)=X(ejω+2π)X(ejω)=X(ejω+2π)
  4. Properties of Even and Odd Parts: x(n)=u(n)+jv(n)x(n)=u(n)+jv(n) and X(ejω)=A(ejω)+jB(ejω)X(ejω)=A(ejω)+jB(ejω)
    uvABeven0even0odd00odd0even0even0oddodd0uvABeven0even0odd00odd0even0even0oddodd0
    (28)
  5. Convolution: If discrete non-cyclic convolution is defined by
    y(n)=h(n)*x(n)=m=-h(n-m)x(m)=k=-h(k)x(n-k)y(n)=h(n)*x(n)=m=-h(n-m)x(m)=k=-h(k)x(n-k)
    then Z{h(n)*x(n)}=Z{h(n)}Z{x(n)}Z{h(n)*x(n)}=Z{h(n)}Z{x(n)}
  6. Shift: Z{x(n+M)}=zMX(z)Z{x(n+M)}=zMX(z)
  7. Shift (unilateral): Z{x(n+m)}=zmX(z)-zmx(0)-zm-1x(1)--zx(m-1)Z{x(n+m)}=zmX(z)-zmx(0)-zm-1x(1)--zx(m-1)
  8. Shift (unilateral): Z{x(n-m)}=z-mX(z)-z-m+1x(-1)--x(-m)Z{x(n-m)}=z-mX(z)-z-m+1x(-1)--x(-m)
  9. Modulate: Z{x(n)an}=X(z/a)Z{x(n)an}=X(z/a)
  10. Time mult.: Z{nmx(n)}=(-z)mdmX(z)dzmZ{nmx(n)}=(-z)mdmX(z)dzm
  11. Evaluation: The ZT can be evaluated on the unit circle in the z-plane by taking the DTFT of x(n)x(n) and if the signal is finite in length, this can be evaluated at sample points by the DFT.

Examples of the Z-Transform

A few examples together with the above properties will enable one to solve and understand a wide variety of problems. These use the unit step function to remove the negative time part of the signal. This function is defined as

u ( n ) = 1 if n 0 0 if n < 0 u ( n ) = 1 if n 0 0 if n < 0
(29)

and several bilateral z-transforms are given by

  • Z{δ(n)}=1Z{δ(n)}=1 for all zz.
  • Z{u(n)}=zz-1Z{u(n)}=zz-1 for |z|>1|z|>1.
  • Z{u(n)an}=zz-aZ{u(n)an}=zz-a for |z|>|a||z|>|a|.

Notice that these are similar to but not the same as a term of a partial fraction expansion.

Inversion of the Z-Transform

The z-transform can be inverted in three ways. The first two have similar procedures with Laplace transformations and the third has no counter part.

  • The z-transform can be inverted by the defined contour integral in the ROC of the complex zz plane. This integral can be evaluated using the residue theorem [7], [21].
  • The z-transform can be inverted by expanding 1zF(z)1zF(z) in a partial fraction expansion followed by use of tables for the first or second order terms.
  • The third method is not analytical but numerical. If F(z)=P(z)Q(z)F(z)=P(z)Q(z), f(n)f(n) can be obtained as the coefficients of long division.

For example

z z - a = 1 + a z - 1 + a 2 z - 2 + z z - a = 1 + a z - 1 + a 2 z - 2 +
(30)

which is u(n)anu(n)an as used in the examples above.

We must understand the role of the ROC in the convergence and inversion of the z-transform. We must also see the difference between the one-sided and two-sided transform.

Solution of Difference Equations using the Z-Transform

The z-transform can be used to convert a difference equation into an algebraic equation in the same manner that the Laplace converts a differential equation in to an algebraic equation. The one-sided transform is particularly well suited for solving initial condition problems. The two unilateral shift properties explicitly use the initial values of the unknown variable.

A difference equation DE contains the unknown function x(n)x(n) and shifted versions of it such as x(n-1)x(n-1) or x(n+3)x(n+3). The solution of the equation is the determination of x(t)x(t). A linear DE has only simple linear combinations of x(n)x(n) and its shifts. An example of a linear second order DE is

a x ( n ) + b x ( n - 1 ) + c x ( n - 2 ) = f ( n ) a x ( n ) + b x ( n - 1 ) + c x ( n - 2 ) = f ( n )
(31)

A time invariant or index invariant DE requires the coefficients not be a function of nn and the linearity requires that they not be a function of x(n)x(n). Therefore, the coefficients are constants.

This equation can be analyzed using classical methods completely analogous to those used with differential equations. A solution of the form x(n)=Kλnx(n)=Kλn is substituted into the homogeneous difference equation resulting in a second order characteristic equation whose two roots give a solution of the form xh(n)=K1λ1n+K2λ2nxh(n)=K1λ1n+K2λ2n. A particular solution of a form determined by f(n)f(n) is found by the method of undetermined coefficients, convolution or some other means. The total solution is the particular solution plus the solution of the homogeneous equation and the three unknown constants KiKi are determined from three initial conditions on x(n)x(n).

It is possible to solve this difference equation using z-transforms in a similar way to the solving of a differential equation by use of the Laplace transform. The z-transform converts the difference equation into an algebraic equation. Taking the ZT of both sides of the DE gives

a X ( z ) + b [ z - 1 X ( z ) + x ( - 1 ) ] + c [ z - 2 X ( z ) + z - 1 x ( - 1 ) + x ( - 2 ) ] = Y ( z ) a X ( z ) + b [ z - 1 X ( z ) + x ( - 1 ) ] + c [ z - 2 X ( z ) + z - 1 x ( - 1 ) + x ( - 2 ) ] = Y ( z )
(32)

solving for X(z)X(z) gives

X ( z ) = z 2 [ Y ( z ) - b x ( - 1 ) - x ( - 2 ) ] - z c x ( - 1 ) a z 2 + b z + c X ( z ) = z 2 [ Y ( z ) - b x ( - 1 ) - x ( - 2 ) ] - z c x ( - 1 ) a z 2 + b z + c
(33)

and inversion of this transform gives the solution x(n)x(n). Notice that two initial values were required to give a unique solution just as the classical method needed two values.

These are very general methods. To solve an nnth order DE requires only factoring an nnth order polynomial and performing a partial fraction expansion, jobs that computers are well suited to. There are problems that crop up if the denominator polynomial has repeated roots or if the transform of y(n)y(n) has a root that is the same as the homogeneous equation, but those can be handled with slight modifications giving solutions with terms of the from nλnnλn just as similar problems gave solutions for differential equations of the form testtest.

The original DE could be rewritten in a different form by shifting the index to give

a x ( n + 2 ) + b x ( n + 1 ) + c x ( n ) = f ( n + 2 ) a x ( n + 2 ) + b x ( n + 1 ) + c x ( n ) = f ( n + 2 )
(34)

which can be solved using the second form of the unilateral z-transform shift property.

Region of Convergence for the Z-Transform

Since the inversion integral must be taken in the ROC of the transform, it is necessary to understand how this region is determined and what it means even if the inversion is done by partial fraction expansion or long division. Since all signals created by linear constant coefficient difference equations are sums of geometric sequences (or samples of exponentials), an analysis of these cases will cover most practical situations. Consider a geometric sequence starting at zero.

f ( n ) = u ( n ) a n f ( n ) = u ( n ) a n
(35)

with a z-transform

F ( z ) = 1 + a z - 1 + a 2 z - 2 + a 3 z - 3 + + a M z - M . F ( z ) = 1 + a z - 1 + a 2 z - 2 + a 3 z - 3 + + a M z - M .
(36)

Multiplying by az-1az-1 gives

a z - 1 F ( z ) = a z - 1 + a 2 z - 2 + a 3 z - 3 + a 4 z - 4 + + a M + 1 z - M - 1 a z - 1 F ( z ) = a z - 1 + a 2 z - 2 + a 3 z - 3 + a 4 z - 4 + + a M + 1 z - M - 1
(37)

and subtracting from Equation 36 gives

( 1 - a z - 1 ) F ( z ) = 1 - a M + 1 z - M - 1 ( 1 - a z - 1 ) F ( z ) = 1 - a M + 1 z - M - 1
(38)

Solving for F(z)F(z) results in

F ( z ) = 1 - a M + 1 z - M - 1 1 - a z - 1 = z - a ( a z ) M z - a F ( z ) = 1 - a M + 1 z - M - 1 1 - a z - 1 = z - a ( a z ) M z - a
(39)

The limit of this sum as MM is

F ( z ) = z z - a F ( z ) = z z - a
(40)

for |z|>|a||z|>|a|. This not only establishes the z-transform of f(n)f(n) but gives the region in the zz plane where the sum converges.

If a similar set of operations is performed on the sequence that exists for negative nn

f ( n ) = u ( - n - 1 ) a n = a n n < 0 0 n 0 f ( n ) = u ( - n - 1 ) a n = a n n < 0 0 n 0
(41)

the result is

F ( z ) = - z z - a F ( z ) = - z z - a
(42)

for |z|<|a||z|<|a|. Here we have exactly the same z-transform for a different sequence f(n)f(n) but with a different ROC. The pole in F(z)F(z) divides the z-plane into two regions that give two different f(n)f(n). This is a general result that can be applied to a general rational F(z)F(z) with several poles and zeros. The z-plane will be divided into concentric annular regions separated by the poles. The contour integral is evaluated in one of these regions and the poles inside the contour give the part of the solution existing for negative nn with the poles outside the contour giving the part of the solution existing for positive nn.

Notice that any finite length signal has a z-transform that converges for all zz. The ROC is the entire z-plane except perhaps zero and/or infinity.

Relation of the Z-Transform to the DTFT and the DFT

The FS coefficients are weights on the delta functions in a FT of the periodically extended signal. The FT is the LT evaluated on the imaginary axis: s=jωs=jω.

The DFT values are samples of the DTFT of a finite length signal. The DTFT is the z-transform evaluated on the unit circle in the z plane.

F ( z ) = n = - x ( n ) z - n = ZT { x ( n ) } F ( z ) = n = - x ( n ) z - n = ZT { x ( n ) }
(43)
F ( e j ω ) = n = - x ( n ) e - j ω n = DTFT { x ( n ) } F ( e j ω ) = n = - x ( n ) e - j ω n = DTFT { x ( n ) }
(44)

and if x(n)x(n) is of length NN

F ( e j 2 π N k ) = n = 0 N - 1 x ( n ) e - j 2 π N k n = DFT { x ( n ) } F ( e j 2 π N k ) = n = 0 N - 1 x ( n ) e - j 2 π N k n = DFT { x ( n ) }
(45)

It is important to be able to relate the time-domain signal x(n)x(n), its spectrum X(ω)X(ω), and its z-transform represented by the pole-zero locations on the z plane.

Relationships Among Fourier Transforms

The DFT takes a periodic discrete-time signal into a periodic discrete-frequency representation.

The DTFT takes a discrete-time signal into a periodic continuous-frequency representation.

The FS takes a periodic continuous-time signal into a discrete-frequency representation.

The FT takes a continuous-time signal into a continuous-frequency representation.

The LT takes a continuous-time signal into a function of a continuous complex variable.

The ZT takes a discrete-time signal into a function of a continuous complex variable.

Wavelet-Based Signal Analysis

There are wavelet systems and transforms analogous to the DFT, Fourier series, discrete-time Fourier transform, and the Fourier integral. We will start with the discrete wavelet transform (DWT) which is analogous to the Fourier series and probably should be called the wavelet series [3]. Wavelet analysis can be a form of time-frequency analysis which locates energy or events in time and frequency (or scale) simultaneously. It is somewhat similar to what is called a short-time Fourier transform or a Gabor transform or a windowed Fourier transform.

The history of wavelets and wavelet based signal processing is fairly recent. Its roots in signal expansion go back to early geophysical and image processing methods and in DSP to filter bank theory and subband coding. The current high interest probably started in the late 1980's with the work of Mallat, Daubechies, and others. Since then, the amount of research, publication, and application has exploded. Two excellent descriptions of the history of wavelet research and development are by Hubbard [17] and by Daubechies [12] and a projection into the future by Sweldens [25] and Burrus [6].

The Basic Wavelet Theory

The ideas and foundations of the basic dyadic, multiresolution wavelet systems are now pretty well developed, understood, and available [3], [11], [26], [24]. The first basic requirement is that a set of expansion functions (usually a basis) are generated from a single “mother” function by translation and scaling. For the discrete wavelet expansion system, this is

φ j , k ( t ) = φ ( 2 j t - k ) φ j , k ( t ) = φ ( 2 j t - k )
(46)

where j,kj,k are integer indices for the series expansion of the form

f ( t ) = j , k c j , k φ j , k ( t ) . f ( t ) = j , k c j , k φ j , k ( t ) .
(47)

The coefficients cj,kcj,k are called the discrete wavelet transform of the signal f(t)f(t). This use of translation and scale to create an expansion system is the foundation of all so-called first generation wavelets [25].

The system is somewhat similar to the Fourier series described in Equation 51 from Least Squared Error Designed of FIR Filters with frequencies being related by powers of two rather than an integer multiple and the translation by kk giving only the two results of cosine and sine for the Fourier series.

The second almost universal requirement is that the wavelet system generates a multiresolution analysis (MRA). This means that a low resolution function (low scale jj) can be expanded in terms of the same function at a higher resolution (higher jj). This is stated by requiring that the generator of a MRA wavelet system, called a scaling function φ(t)φ(t), satisfies

φ ( t ) = n h ( n ) φ ( 2 t - n ) . φ ( t ) = n h ( n ) φ ( 2 t - n ) .
(48)

This equation, called the refinement equation or the MRA equation or basic recursion equation, is similar to a differential equation in that its solution is what defines the basic scaling function and wavelet [10], [3].

The current state of the art is that most of the necessary and sufficient conditions on the coefficients h(n)h(n) are known for the existence, uniqueness, orthogonality, and other properties of φ(t)φ(t). Some of the theory parallels Fourier theory and some does not.

A third important feature of a MRA wavelet system is a discrete wavelet transform (DWT) can be calculated by a digital filter bank using what is now called Mallat's algorithm. Indeed, this connection with digital signal processing (DSP) has been a rich source of ideas and methods. With this filter bank, one can calculate the DWT of a length-N digital signal with order N operations. This means the number of multiplications and additions grows only linearly with the length of the signal. This compares with Nlog(N)Nlog(N) for an FFT and N2N2 for most methods and worse than that for some others.

These basic ideas came from the work of Meyer, Daubechies, Mallat, and others but for a time looked like a solution looking for a problem. Then a second phase of research showed there are many problems to which the wavelet is an excellent solution. In particular, the results of Donoho, Johnstone, Coifman, Beylkin, and others opened another set of doors.

Generalization of the Basic Wavelet System

After (in some cases during) much of the development of the above basic ideas, a number of generalizations [3] were made. They are listed below:

  1. A larger integer scale factor than M=2M=2 can be used to give a more general M-band refinement equation [23]
    φ(t)= nh(n)φ(Mt-n)φ(t)= nh(n)φ(Mt-n)
    (49)
    than the “dyadic" or octave based Equation 4 from Rational Function Approximation. This also gives more than two channels in the accompanying filter bank. It allows a uniform frequency resolution rather than the resulting logarithmic one for M=2M=2.
  2. The wavelet system called a wavelet packet is generated by “iterating" the wavelet branches of the filter bank to give a finer resolution to the wavelet decomposition. This was suggested by Coifman and it too allows a mixture of uniform and logarithmic frequency resolution. It also allows a relatively simple adaptive system to be developed which has an automatically adjustable frequency resolution based on the properties of the signal.
  3. The usual requirement of translation orthogonality of the scaling function and wavelets can be relaxed to give what is called a biorthogonal system[8]. If the expansion basis is not orthogonal, a dual basis can be created that will allow the usual expansion and coefficient calculations to be made. The main disadvantage is the loss of a Parseval's theorem which maintains energy partitioning. Nevertheless, the greater flexibility of the biorthogonal system allows superior performance in many compression and denoising applications.
  4. The basic refinement Equation 4 from Rational Function Approximation gives the scaling function in terms of a compressed version of itself (self-similar). If we allow two (or more) scaling functions, each being a weighted sum of a compress version of both, a more general set of basis functions results. This can be viewed as a vector of scaling functions with the coefficients being a matrix now. Once again, this generalization allows more flexibility in the characteristics of the individual scaling functions and their related multi-wavelets. These are called multi-wavelet systems and are still being developed.
  5. One of the very few disadvantages of the discrete wavelet transform is the fact it is not shift invariant. In other words, if you shift a signal in time, its wavelet transform not only shifts, it changes character! For many applications in denoising and compression, this is not desirable although it may be tolerable. The DWT can be made shift-invariant by calculating the DWT of a signal for all possible shifts and adding (or averaging) the results. That turns out to be equivalent to removing all of the down-samplers in the associated filter bank (an undecimated filter bank), which is also equivalent to building an overdetermined or redundant DWT from a traditional wavelet basis. This overcomplete system is similar to a “tight frame" and maintains most of the features of an orthogonal basis yet is shift invariant. It does, however, require Nlog(N)Nlog(N) operations.
  6. Wavelet systems are easily modified to being an adaptive system where the basis adjusts itself to the properties of the signal or the signal class. This is often done by starting with a large collection or library of expansion systems and bases. A subset is adaptively selected based on the efficiency of the representation using a process sometimes called pursuit. In other words, a set is chosen that will result in the smallest number of significant expansion coefficients. Clearly, this is signal dependent, which is both its strength and its limitation. It is nonlinear.
  7. One of the most powerful structures yet suggested for using wavelets for signal processing is to first take the DWT, then do a point-wise linear or nonlinear processing of the DWT, finally followed by an inverse DWT. Simply setting some of the wavelet domain expansion terms to zero results in linear wavelet domain filtering, similar to what would happen if the same were done with Fourier transforms. Donoho [13], [14] and others have shown by using some form of nonlinear thresholding of the DWT, one can achieve near optimal denoising or compression of a signal. The concentrating or localizing character of the DWT allows this nonlinear thresholding to be very effective.

The present state of activity in wavelet research and application shows great promise based on the above generalizations and extensions of the basic theory and structure [6]. We now have conferences, workshops, articles, newsletters, books, and email groups that are moving the state of the art forward. More details, examples, and software are given in [3], [24], [19].

References

  1. Agarwal, R. C. and Burrus, C. S. (1974, April). Fast Convolution Using Fermat Number Transforms with Applications to Digital Filtering. [Reprinted in Number Theory in DSP, by McClellan and Rader, Prentice-Hall, 1979]. IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-22(2), 87-97.
  2. Agarwal, R. C. and Burrus, C. S. (1975, April). Number Theoretic Transforms to Implement Fast Digital Convolution. [also in IEEE Press DSP Reprints II, 1979]. Proceedings of the IEEE, 63(4), 550–560.
  3. Burrus, C. Sidney and Gopinath, Ramesh A. and Guo, Haitao. (1998). Introduction to Wavelets and the Wavelet Transform. Upper Saddle River, NJ: Prentice Hall.
  4. Burrus, C. S. and Parks, T. W. (1985). DFT/FFT and Convolution Algorithms. New York: John Wiley & Sons.
  5. Bracewell, R. N. (1985). The Fourier Transform and Its Applications. (Third). New York: McGraw-Hill.
  6. Burrus, C. Sidney. (1997, July). Wavelet Based Signal Processing: Where are We and Where are We Going?, Plenary Talk. In Proceedings of the International Conference on Digital Signal Processing. (Vol. I, p. 3–5). Santorini, Greece
  7. Churchill, R. V. and Brown, J. W. (1984). Introduction to Complex Variables and Applications. (fourth). New York: McGraw-Hill.
  8. Cohen, A. and Daubechies, I. and Feauveau, J. C. (1992). Biorthogonal Bases of Compactly Supported Wavelets. Communications on Pure and Applied Mathematics, 45, 485–560.
  9. DSP Committee, (Ed.). (1979). Digital Signal Processing II, selected reprints. New York: IEEE Press.
  10. Daubechies, Ingrid. (1988, November). Orthonormal Bases of Compactly Supported Wavelets. Communications on Pure and Applied Mathematics, 41, 909–996.
  11. Daubechies, Ingrid. (1992). Ten Lectures on Wavelets. [Notes from the 1990 CBMS-NSF Conference on Wavelets and Applications at Lowell, MA]. Philadelphia, PA: SIAM.
  12. Daubechies, Ingrid. (1996, April). Where Do Wavelets Comre From? – A Personal Point of View. Proceedings of the IEEE, 84(4), 510–513.
  13. Donoho, David L. (1993, December). Unconditional Bases are Optimal Bases for Data Compression and for Statistical Estimation. [Also Stanford Statistics Dept. Report TR-410, Nov. 1992]. Applied and Computational Harmonic Analysis, 1(1), 100–115.
  14. Donoho, David L. (1995, May). De-Noising by Soft-Thresholding. [also Stanford Statistics Dept. report TR-409, Nov. 1992]. IEEE Transactions on Information Theory, 41(3), 613–627.
  15. Elliott, D. F. and Rao, K. F. (1982). Fast Transforms: Algorithms, Analyses and Applications. New York: Academic Press.
  16. Freeman, H. (1965). Discrete Time Systems. New York: John Wiley & Sons.
  17. Hubbard, Barbara Burke. (1996). The World According to Wavelets. [Second Edition 1998]. Wellesley, MA: A K Peters.
  18. Moler, Cleve and Little, John and Bangert, Steve. (1989). Matlab User's Guide. South Natick, MA: The MathWorks, Inc.
  19. Misiti, Michel and Misiti, Yves and Oppenheim, Georges and Poggi, Jean-Michel. (1996). Wavelet Toolbox User's Guide. Natick, MA: The MathWorks, Inc.
  20. Oppenheim, A. V. and Schafer, R. W. (1989). Discrete-Time Signal Processing. Englewood Cliffs, NJ: Prentice-Hall.
  21. Papoulis, A. (1962). The Fourier Integral and Its Applications. McGraw-Hill.
  22. Rabiner, L. R. and Gold, B. (1975). Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall.
  23. Steffen, P. and Heller, P. N. and Gopinath, R. A. and Burrus, C. S. (1993, December). Theory of Regular -Band Wavelet Bases. [Special Transaction issue on wavelets; Rice contribution also in Tech. Report No. CML TR-91-22, Nov. 1991.]. IEEE Transactions on Signal Processing, 41(12), 3497–3511.
  24. Strang, Gilbert and Nguyen, T. (1996). Wavelets and Filter Banks. Wellesley, MA: Wellesley–Cambridge Press.
  25. Sweldens, Wim. (1996, April). Wavelets: What Next? Proceedings of the IEEE, 84(4), 680–685.
  26. Vetterli, Martin and Kovačević, Jelena. (1995). Wavelets and Subband Coding. Upper Saddle River, NJ: Prentice–Hall.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks