chapter 5chapter 5 finite-length discrete transformscwlin/courses/dsp/notes/ch5_mitra_dsp_c.pdf ·...

70
Chapter 5 Chapter 5 Finite-Length Discrete Transforms Transforms 清大電機系林嘉文 [email protected] 03 5731152 © The McGraw-Hill Companies, Inc., 2007 Original PowerPoint slides prepared by S. K. Mitra 4-1-1 03-5731152

Upload: others

Post on 09-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

  • Chapter 5Chapter 5

    Finite-Length Discrete TransformsTransforms

    清大電機系林嘉文

    [email protected] 5731152

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-1

    03-5731152

  • Digital Fourier TransformDigital Fourier Transform• Definition - The simplest relation between a length-N e t o e s p est e at o bet ee a e gt

    sequence x[n], defined for 0 ≤ n ≤ N −1, and its DTFT X(ejω) is obtained by uniformly sampling X(ejω) on the ω-axis between 0 ≤ ω < 2π at ωk = 2πk/ N, 0 ≤ k ≤ N −1

    • From the definition of the DTFT we thus have

    0 ≤ k ≤ N −1

    • Note: X[k] is also a length-N sequence in the frequency domain

    • The sequence X[k] is called the Discrete Fourier Transform (DFT) of the sequence x[n]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-2

  • Digital Fourier TransformDigital Fourier Transform• Using the notation WN = e−j2π/N the DFT is usually Us g t e otat o N e t e s usua y

    expressed as:

    • The Inverse Discrete Fourier Transform (IDFT) is ( )given by

    • To verify the above expression we multiply both sides of the above equation by and sum the result from n = 0 to n = N −1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-3

  • Digital Fourier TransformDigital Fourier Transform• This results in:s esu ts

    • Making use of the identity

    we observe the RHS of the last equation is equal to X[l]• Hence

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-4

  • Digital Fourier TransformDigital Fourier Transform• Example - Consider the length-N sequencea p e Co s de t e e gt seque ce

    • Its N-point DFT is given by

    0 ≤ k ≤ N 1

    • Example - Consider the length-N sequence

    , 0 ≤ k ≤ N −1

    • Example - Consider the length-N sequence

    • Its N-point DFT is given by

    0 ≤ k ≤ N −1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-5

    , 0 ≤ k ≤ N 1

  • Digital Fourier TransformDigital Fourier Transform• Example - Consider the length-N sequence defined for

    0 ≤ n ≤ N −1g[n] = cos(2πrn/ N), 0 ≤ r ≤ N −1

    • Using a trigonometric identity we can write

    • The N-point DFT of g[n] is thus given by

    0 ≤ k ≤ N −1

    • Making use of the identity

    0 ≤ k ≤ N 1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-6

    • We get , 0 ≤ k ≤ N −1

  • Matrix RelationMatrix Relation• The DFT samples defined by

    can be expressed in matrix form ascan be expressed in matrix form asX = DNx

    whereX = [X[0] X[1] ..... X[N −1]]Tx = [x[0] x[1] ..... x[N −1]]T

    and DN is the N × N DFT matrix given by

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-7

  • Matrix RelationMatrix Relation• Likewise the IDFT relation given by• Likewise, the IDFT relation given by

    can be expressed in matrix form as

    where is the IDFT matrixwhere is the IDFT matrix

    • Note:

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-8

  • DFT Computation Using MATLABDFT Computation Using MATLAB• The functions to compute the DFT and the IDFT are fft and

    ifft• These functions make use of FFT algorithms which are

    computationally highly efficient compared to the direct computation

    • The DFT and DTFT of the following function is shown below• The DFT and DTFT of the following function is shown below

    x[n] = cos(6πn/16), 0 ≤ n ≤ 15

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-9

  • DTFT from DFT by InterpolationDTFT from DFT by Interpolation• The DFT X[k] of a length-N sequence x[n] is simply the freq.

    samples of its DTFT X(ejω) evaluated at N uniformly spaced frequency points ω = ωk = 2πk/N, 0 ≤ k ≤ N −1

    • Compared to the direct computation, these functions are computationally highly efficient due to the use of FFTGi th N i t DFT X[k] f l th N [ ] it• Given the N-point DFT X[k] of a length-N sequence x[n], its DTFT X(ejω) can be uniquely determined from X[k]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-10

  • DTFT from DFT by InterpolationDTFT from DFT by Interpolation• To develop a compact expression for the sum S, let

    r = e−j(ω−2πk/N)

    • Then

    • Or, equivalentlyS− rS = (1− r)S =1− rNS rS = (1 r)S =1 r

    • Hence

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-11

  • DTFT from DFT by InterpolationDTFT from DFT by Interpolation• Therefore

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-12

  • Sampling the DTFTSampling the DTFT• Consider a sequence x[n] with a DTFT X(ejω)• We sample X(ejω) at N equally spaced points ωk = 2πk/N, 0 ≤

    k ≤ N −1 developing the N frequency samples• These N frequency samples can be considered as an N-point

    DFT Y[k] whose N-point IDFT is a length-N sequence y[n]• Now

    • Taking IDFT of Y[k] yields

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-13

  • Sampling the DTFTSampling the DTFT• That is

    • Making use of the identity

    we arrive at the desired relationwe arrive at the desired relation

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-14

  • Sampling the DTFTSampling the DTFT• Thus y[n] is obtained from x[n] by adding an infinite number

    of shifted replicas of x[n], with each replica shifted by an integer multiple of N sampling instants, and observing the

    l f th i t lsum only for the interval• To apply

    t fi it l th th t th lto finite-length sequences, we assume that the samples outside the specified range are zerosThus if x[n] is a length M sequence with M ≤ N then y[n] =• Thus if x[n] is a length-M sequence with M ≤ N then y[n] = x[n] for 0 ≤ n ≤ N −1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-15

  • Sampling the DTFTSampling the DTFT• Example – Let {x[n]} = {0 1 2 3 4 5}• By sampling its DTFT X(ejω) at ωk = 2πk/4, 0 ≤ k ≤ 3 and then

    applying a 4-point IDFT to these samples, we arrive at the sequence y[n] given by

    y[n] = x[n] + x[n + 4] + x[n − 4] 0 ≤ n ≤ 3i.e.,

    {y[n]} = {4 6 2 3}⇒ {x[n]} cannot be recovered from {y[n]}

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-16

  • Numerical Computation of the DTFT Using DFT

    • A practical approach to the numerical computation of the• A practical approach to the numerical computation of the DTFT of a finite-length sequence

    • Let X(ejω) be the DTFT of a length-N sequence x[n]Let X(e ) be the DTFT of a length N sequence x[n]• We wish to evaluate X(ejω) at a dense grid of frequencies ωk = 2πk/M, 0 ≤ k ≤ M −1, where M >> N:k , ,

    • Define a new sequence

    • Then

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-17

  • Numerical Computation of the DTFT Using DFT

    • Thus X(ejω) is essentially an M-point DFT X [k] of the• Thus X(ej ) is essentially an M-point DFT Xe[k] of the length-M sequence xe[n]

    • The DFT Xe[k] can be computed very efficiently using theThe DFT Xe[k] can be computed very efficiently using the FFT algorithm if M is an integer power of 2

    • The function freqz employs this approach to evaluate the q p y ppfrequency response at a prescribed set of frequencies of a DTFT expressed as a rational function in e−jω

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-18

  • DFT PropertiesDFT Properties• Like the DTFT, the DFT also satisfies a number of

    properties that are useful in signal processing applications • Some of these properties are essentially identical to those

    of the DTFT, while some others are somewhat different

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-19x[n] is a complex sequence

  • Symmetry Relations of DFTSymmetry Relations of DFT

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-20x[n] is a real sequence

  • General Properties of DFTGeneral Properties of DFT

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-21

  • Circular Shift of a SequenceCircular Shift of a Sequence• This property is analogous to the time-shifting property of

    the DTFT, but with a subtle difference• Consider length-N sequences defined for 0 ≤ n ≤ N −1.

    Sample values of such sequences are equal to zero for values of n < 0 and n ≥ NIf [ ] i h th f bit i t• If x[n] is such a sequence, then for any arbitrary integer , the shifted sequence

    x [n] = x[n n ]x1[n] = x[n − no]is no longer defined for the range 0 ≤ n ≤ N −1We thus need to define another type of a shift that will• We thus need to define another type of a shift that will always keep the shifted sequence in the range 0 ≤ n ≤ N −1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-22

  • Circular Shift of a SequenceCircular Shift of a Sequence• The desired shift, called the circular shift, is defined using

    a modulo operation:xc[n] = x[ n − no N]

    • For no > 0 (right circular shift), the above equation implies

    x[ n − 1 ] x[ n − 4 ]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-23

    x[ n 1 6]= x[ n + 5 6]

    x[ n 4 6]= x[ n + 2 6]

  • Circular ConvolutionCircular Convolution• This operation is analogous to linear convolution, but with a

    subtle difference • Consider two length-N sequences, g[n] and h[n]. Their linear

    convolution results in a length-(2N−1) sequence yL[n]:

    • In computing yL[n] we assume that both length-N sequences h b dd d t t d th i l th t 2N 1have been zero-padded to extend their lengths to 2N−1

    • The longer form of yL[n] results from the time-reversal of the sequence h[n] and its linear shift to the rightsequence h[n] and its linear shift to the right

    • The first nonzero value of yL[n] is yL[0] = g[0]h[0] , and the last nonzero value is y [2N−2] = g[N−1]h[N−1]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-24

    last nonzero value is yL[2N−2] = g[N−1]h[N−1]

  • Circular ConvolutionCircular Convolution• To develop a convolution-like operation resulting in a length-

    N sequence yC[n], we need to define a circular time-reversal, and then apply a circular time-shift R lti ti ll d i l l ti i• Resulting operation, called a circular convolution, is defined by:

    • Since the operation defined involves two length-N p gsequences, it is often referred to as an N-point circular convolution, denoted as

    • The circular convolution is commutative, i.e.

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-25

  • Circular ConvolutionCircular Convolution• Example - Determine the 4-point circular convolution of the

    t l th 4two length-4 sequences {g[n]} = {1 2 0 1}, {h[n]} = {2 2 1 1}

    • The result is a length-4 sequence yC[n] given by

    • From above, we observe

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-26

  • Circular ConvolutionCircular Convolution• Likewise

    yC[1] = g[0]h[1] + g[1]h[0] + g[2]h[3] + g[3]h[2] = 7

    yC[2] = g[0]h[2] + g[1]h[1] + g[2]h[0] + g[3]h[3] = 6yC[2] g[0]h[2] g[1]h[1] g[2]h[0] g[3]h[3] 6

    yC[3] = g[0]h[3] + g[1]h[2] + g[2]h[1] + g[3]h[0] = 5

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-27

  • Circular ConvolutionCircular Convolution• Example - Consider the two length-4 sequences repeated

    b l f ibelow for convenience:

    • The 4-point DFT G[k] of g[n] is given byG[k] = g[0] + g[1] e−j2πk/4 + g[2] e−j4πk/4 + g[3] e−j6πk/4

    = 1 + 2e−jπk/2 + e−j3πk/2 , 0 ≤ k ≤ 3• Therefore G[0] = 4, G[1] = 1− j, G[2] = −2, G[3] = 1+ j• Likely

    H[k] = 2 + 2e−jπk/2 + e−jπk + e−j3πk/2 , 0 ≤ k ≤ 3

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-28

  • Circular ConvolutionCircular Convolution• The two 4-point DFTs can also be computed using the

    t i l ti i limatrix relation given earlier

    • If YC[k] denotes the 4-point DFT of yC[n], YC[k] = G[k]H[k]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-29

  • Circular ConvolutionCircular Convolution• A 4-point IDFT of YC[k] yields

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-30

  • Circular ConvolutionCircular Convolution• Example - Extend the two length-4 sequences to length 7 by

    di h ith th l d l iappending each with three zero-valued samples, i.e.

    • We next determine the 7-point circular convolution of ge[n]and he[n]

    • From the above, we can obtain y[0] ~ y[6]y[ ] y[ ]• y[n] is precisely the sequence yL[n] obtained

    by a linear convolution of g[n] and h[n]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-31

  • Circular ConvolutionCircular Convolution• The N-point circular convolution can be written in matrix

    fform as

    • Note: The elements of each diagonal of the matrix are equal• Such a matrix is called a circulant matrix

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-32

  • Circular Convolution Using Tabular Method

    • Consider the evaluation of y[n] = h[n] g[n] where {g[n]} Co s de e e a ua o o y[n] h[n] g[ ] e e {g[ ]}and {h[n]} are length-4 sequences

    • First, the samples of the two sequences are multiplied using p q p gthe conventional multiplication method as shown below

    • The partial products generated in the 2nd, 3rd, and 4th rows

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-33

    p p gare circularly shifted to the left as indicated above

  • Circular Convolution Using Tabular Method

    • The modified table after circular shifting is shown belowe od ed tab e a te c cu a s t g s s o be o

    • The samples of the sequence yC[n] are obtained by adding the 4 partial products in the column above of each sample

    yC[0] = g[0]h[0] + g[3]h[1] + g[2]h[2] + g[1]h[3] = 7yC[1] = g[1]h[0] + g[0]h[1] + g[3]h[2] + g[2]h[3] = 6yC[2] = g[2]h[0] + g[1]h[1] + g[0]h[2] + g[3]h[3] = 5

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-34

    yC[3] = g[3]h[0] + g[2]h[1] + g[1]h[2] + g[0]h[3] = 5

  • N-Point DFTs of Two Length-N Real Sequences

    • Let g[n] and h[n] be two length-N real sequences with G[k] et g[ ] a d [ ] be t o e gt ea seque ces t G[ ]and H[k] denoting their respective N-point DFTs

    • These two N-point DFTs can be computed efficiently using a p p y gsingle N-point DFT

    • Define a complex length-N sequencex[n] = g[n] + j h[n]

    • Let X[k] denote the N-point DFT of x[n]

    • Note that for 0 ≤ k ≤ N −1,

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-35

  • N-Point DFTs of Two Length-N Real Sequences

    • Example - We compute the 4-point DFTs of the two real a p e e co pute t e po t s o t e t o easequences g[n] and h[n] given below

    {g[n]} = {1 2 0 1}, {h[n]} = {2 2 1 1}{g[ ]} { } { [ ]} { }• Then {x[n]} = {g[n]}+ j{h[n]} = {1+j2 2+j2 j 1+j}• Its DFT X[k] is[ ]

    • From the aboveX*[k] = [4−j6 2 −2 −j2], X*[ 4−k 4] = [4−j6 −j2 −2 2]

    • Therefore

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-36

    {G[k]} = {4 1−j −2 1+j}, {H[k]} = {6 1−j 0 1+j}

  • 2N-Point DFTs of a Real Sequences Using an N-Point DFT

    • Let v[n] be a length-N real sequence with a 2N-point DFT V[k]et [ ] be a e gt ea seque ce t a po t [ ]• Define two length-N real sequences g[n] and h[n] as follows:

    g[n] = v[2n], h[n] = v[2n +1], 0 ≤ n ≤ Ng[n] v[2n], h[n] v[2n 1], 0 ≤ n ≤ N• Let G[k] and H[k] denote their respective N-point DFTs• Define a length-N complex sequenceDefine a length N complex sequence

    {x[n]} = {g[n]}+ j{h[n]}with an N-point DFT X[k]with an N point DFT X[k]

    • Now

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-37• That is

  • 2N-Point DFTs of a Real Sequences Using an N-Point DFT

    • Example - Let us determine the 8-point DFT V[k] of the a p e et us dete e t e 8 po t [ ] o t elength-8 real sequence

    {v[n]} = {1 2 2 2 0 1 1 1}{ [ ]} { }• We form two length-4 real sequences as follows

    g[n] = v[2n] = {1 2 0 1}, h[n] = v[2n +1] = {2 2 1 1}g[ ] [ ] { }, [ ] [ ] { }• Now

    • Substituting the values of the 4-point DFTs G[k] and H[k], we can obtain V[k]we can obtain V[k]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-38

  • Linear Convolution Using DFTLinear Convolution Using DFT• Since a DFT can be efficiently implemented using FFT S ce a ca be e c e t y p e e ted us g

    algorithms, it is of interest to develop methods for the implementation of linear convolution using the DFT

    • Let g[n] and h[n] be two finite-length sequences of length N and M, respectively

    • Define two length-L (L = N + M −1) sequences

    • Then

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-39

  • Linear Convolution Using DFTLinear Convolution Using DFT• The corresponding implementation scheme is illustrated e co espo d g p e e tat o sc e e s ust ated

    below

    • We next consider the DFT-based implementation ofp

    where h[n] is a finite-length sequence of length M and x[n] is an infinite length (or a finite length sequence of length much

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-40

    g ( g q ggreater than M)

  • Overlap Add MethodOverlap-Add Method• We first segment x[n], assumed to be a causal sequence

    h ith t l f lit i t t f tihere without any loss of generality, into a set of contiguous finite-length subsequences of length N each:

    wherewhere

    • Thus we can writeThus we can write

    wherewhere

    • Since h[n] is of length M and is of length N, ym[n] is of length

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-41

    [ ] g g ym[ ] gN + M −1

  • Overlap Add MethodOverlap-Add Method• The desired linear convolution y[n] = h[n] x[n] is broken up

    i t f i fi it b f h t l th liinto a sum of infinite number of short-length linear convolutions of length N + M −1 each: ym[n] = h[n] xm[n]Consider implementing the follo ing con ol tions sing the• Consider implementing the following convolutions using the DFT-based method, where now the DFTs (and the IDFT) are computed on the basis of (N + M −1) pointsare computed on the basis of (N M 1) points

    Th fi l i i h b [ ] h[ ] [ ] i• The first convolution in the above sum, y0[n] = h[n] x0[n], is of length N + M −1 and is defined for 0 ≤ n ≤ N + M − 2Th d h t l ti [ ] h[ ] [ ] i l f• The second short convolution y1[n] = h[n] x1[n], is also of length N + M −1 but is defined for N ≤ n ≤ 3N + M − 2There is an overlap of samples between these two short

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-42

    There is an overlap of samples between these two short linear convolutions

  • Overlap Add MethodOverlap-Add Method• In general, there will be an overlap of M −1 samples

    b t th l f th h t l ti h[ ] [ ]between the samples of the short convolutions h[n] xr-1[n] and h[n] xm[n] for (r −1)N ≤ n ≤ rN + M − 2

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-43

  • Overlap Add MethodOverlap-Add Method

    • Therefore, y[n] obtained by a linear convolution of x[n] and h[n] is given by

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-44

  • Overlap Add MethodOverlap-Add Method• The above procedure is called the overlap-add method

    i th lt f th h t li l ti l dsince the results of the short linear convolutions overlap and the overlapped portions are added to get the correct final resultresult

    • The MATLAB function fftfilt can be used to implement the above methodabove method

    • The following illustrates an example of filtering of a noise-corrupted signal using a length-3 moving average filter:p g g g g g

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-45

  • Overlap Save MethodOverlap-Save Method• In implementing the overlap-add method using the DFT, we

    d t t t (N M 1) i t DFT d (N Mneed to compute two (N + M −1)-point DFTs and one (N + M−1)-point IDFT for each short linear convolutionIt is possible to implement the o erall linear con ol tion b• It is possible to implement the overall linear convolution by performing instead circular convolution of length shorter than (N + M −1)(N M 1)

    • To this end, it is necessary to segment x[n] into overlapping blocks xm[n], keep the terms of the circular pp g m[ ], pconvolution of h[n] with that corresponds to the terms obtained by a linear convolution of h[n] and xm[n], and throw

    faway the other parts of the circular convolution

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-46

  • Overlap Save MethodOverlap-Save Method• To understand the correspondence between the linear and

    i l l ti id l th 4 [ ] dcircular convolutions, consider a length-4 sequence x[n] and a length-3 sequence h[n]Let [n] denote the res lt of a linear con ol tion of [n] ith• Let yL[n] denote the result of a linear convolution of x[n] with h[n]

    • The six samples of y [n] are given by• The six samples of yL[n] are given byyL[0] = h[0]x[0]y [1] = h[0]x[1] + h[1]x[0]yL[1] = h[0]x[1] + h[1]x[0]yL[2] = h[0]x[2] + h[1]x[1] + h[2]x[0]y [3] = h[0]x[3] + h[1]x[2] + h[2]x[1]yL[3] = h[0]x[3] + h[1]x[2] + h[2]x[1]yL[4] = h[1]x[3] + h[2]x[2]

    [5] h[2] [3]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-47

    yL[5] = h[2]x[3]

  • Overlap Save MethodOverlap-Save Method• If we append h[n] with a single zero-valued sample and

    t it i t l th 4 h [ ] th 4 i t i lconvert it into a length-4 sequence he[n], the 4-point circular convolution yC[n] of he[n] and x[n] is given by

    y [0] = h[0]x[0] + h[1]x[3] + h[2]x[2]yC[0] = h[0]x[0] + h[1]x[3] + h[2]x[2]yC[1] = h[0]x[1] + h[1]x[0] + h[2]x[3]y [2] = h[0]x[2] + h[1]x[1] + h[2]x[0]yC[2] = h[0]x[2] + h[1]x[1] + h[2]x[0]yC[3] = h[0]x[3] + h[1]x[2] + h[2]x[1]

    • If we compare the expressions for the samples yL[n] of withIf we compare the expressions for the samples yL[n] of with those of yC[n], we observe that the first 2 terms of yC[n] do not correspond to the first 2 terms of yL[n], whereas the last 2 Lterms of yC[n] are precisely the same as the 3rd and 4th terms of yL[n], i.e.

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-48

    yL[0] ≠ yC[0], yL[1] ≠ yC[1], yL[2] = yC[2], yL[3] = yC[3]

  • Overlap Save MethodOverlap-Save Method• General case: N-point circular convolution of a length-M

    h[ ] ith l th N [ ] ith N Msequence h[n] with a length-N sequence x[n] with N > M• First M − 1 samples of the circular convolution are incorrect

    and are rejectedand are rejected• Remaining N − M + 1 samples correspond to the correct

    samples of the linear convolution of h[n] with x[n]samples of the linear convolution of h[n] with x[n]• Now, consider an infinitely long or very long sequence x[n]• Break it up as a collection of smaller length (length 4)• Break it up as a collection of smaller length (length-4)

    overlapping sequences xm[n] as xm[n] = x[n + 2m], 0 ≤ n ≤ 3, 0 ≤ m ≤ ∞0 m

    • Next, formwm[n] = h[n] xm[n]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-49

    wm[n] h[n] xm[n]

  • Overlap Save MethodOverlap-Save Method• Or, equivalently,

    wm[0] = h[0]xm[0] + h[1]xm[3] + h[2]xm[2]wm[1] = h[0]xm[1] + h[1]xm[0] + h[2]xm[3]

    [2] h[0] [2] h[1] [1] h[2] [0]wm[2] = h[0]xm[2] + h[1]xm[1] + h[2]xm[0]wm[3] = h[0]xm[3] + h[1]xm[2] + h[2]xm[1]

    C ti th b f 0 1 2 3 d b tit ti• Computing the above for m = 0, 1, 2, 3, . . . , and substituting the values of xm[n] we arrive at

    w [0] = h[0]x[0] + h[1]x[3] + h[2]x[2] Rejectw0[0] = h[0]x[0] + h[1]x[3] + h[2]x[2] Rejectw0[1] = h[0]x[1] + h[1]x[0] + h[2]x[3] Rejectw0[2] = h[0]x[2] + h[1]x[1] + h[2]x[0] = y[2] Savew0[2] h[0]x[2] + h[1]x[1] + h[2]x[0] y[2] Savew0[3] = h[0]x[3] + h[1]x[2] + h[2]x[1] = y[3] Save

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-50

  • Overlap Save MethodOverlap-Save Methodw1[0] = h[0]x[2] + h[1]x[5] + h[2]x[4] Rejectw1[1] = h[0]x[3] + h[1]x[2] + h[2]x[5] Rejectw1[2] = h[0]x[4] + h[1]x[3] + h[2]x[2] = y[4] Save

    [3] h[0] [5] h[1] [4] h[2] [3] [5] Sw1[3] = h[0]x[5] + h[1]x[4] + h[2]x[3] = y[5] Save

    w [0] = h[0]x[4] + h[1]x[5] + h[2]x[6] Rejectw2[0] = h[0]x[4] + h[1]x[5] + h[2]x[6] Rejectw2[1] = h[0]x[5] + h[1]x[4] + h[2]x[7] Rejectw2[2] = h[0]x[6] + h[1]x[5] + h[2]x[4] = y[6] Savew2[2] = h[0]x[6] + h[1]x[5] + h[2]x[4] = y[6] Savew2[3] = h[0]x[7] + h[1]x[6] + h[2]x[5] = y[7] Save

    • It should be noted that to determine y[0] and y[1] we need toIt should be noted that to determine y[0] and y[1], we need to form x−1[n]: x−1[0] = 0, x−1[1] = 0, x−1[2] = x[0] , x−1[3] = x[1]and compute w−1[n] = h[n] x−1[n] for 0 ≤ n ≤ 3, reject w−1[0]

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-51

    a d co pu e −1[ ] [ ] −1[ ] o 0 3, ejec −1[0]and w−1[1], and save w−1[2] = y[0], and w−1[3] = y[1]

  • Overlap Save MethodOverlap-Save Method• General Case: Let h[n] be a length-N sequence• Let xm[n] denote the m-th section of an infinitely long

    sequence x[n] of length N and defined byxm[n] = x[n + m(N − M + 1)], 0 ≤ n ≤ N − 1 with M < N

    • Let wm[n] = h[n] xm[n]• Then, we reject the first M − 1 samples of wm[n] and “abut”

    the remaining M − M + 1 samples of wm[n] to form yL[n], the linear convolution of h[n] and x[n]linear convolution of h[n] and x[n]

    • If ym[n] denotes the saved portion of wm[n], i.e.,

    Th [ + (N M + 1)] [ ] M 1 ≤ ≤ N 1

    1

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-52

    • Then yL[n + m(N − M + 1)] = ym[n], M − 1 ≤ n ≤ N − 1

  • Overlap Save MethodOverlap-Save Method• The approach is called overlap-save method since the

    i t i t d i t l i ti d t f thinput is segmented into overlapping sections and parts of the results of the circular convolutions are saved and abutted to determine the linear convolution resultdetermine the linear convolution result

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-53

  • Overlap Save MethodOverlap-Save Method

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-54

  • Signal TransformSignal Transform• Motivation:Motivation:

    – Represent a vector (e.g. a block of image samples) as the superposition of some typical vectors (block patterns)

    +t1 t2 t3 t4

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-55

  • Transform Coding of a ImageTransform Coding of a Image

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-56

  • 1 D 16 Pont DFT Basis Vectors1-D 16-Pont DFT Basis Vectors

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-57

  • Disadvantages of DFT in Signal Coding

    • Fourier Transform of a real function results inou e a s o o a ea u ct o esu tscomplex numbers

    • May result in artifacts due to discontinuityat the block boundary

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-58

    Discontinuities (high freq. components)

  • From DFT to DCTFrom DFT to DCT• DFT of any real and symmetric sequence contains only

    l ffi i t di t th i t freal coefficients corresponding to the cosine terms of the series

    • Construct a new symmetric sequence y(n) of length 2N• Construct a new symmetric sequence y(n) of length 2N out of x(n) of length N

    ( ) ( ) 0 1= ≤ ≤ −= − − ≤ ≤ −

    ( ) ( ),0 1,( ) (2 1 ), 2 1.

    y n x n n Ny n x N n N n N

    • Y(n) is symmetrical about n = N - (1/2)

    ( ) ( ),y

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-59

  • From DFT to DCTFrom DFT to DCT• DCT has a higher compression ration than DFT

    • DCT avoids the generation of spurious spectral components

    No discontinuities

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-60

  • From DFT to DCTFrom DFT to DCT− +

    = ∑12 1 ( )2( ) ( )

    N n kY k y n W

    =

    − −+ +

    =

    = +

    ∑ ∑

    20

    1 11 2 1( ) ( )2 2

    ( ) ( ) ,

    ( ) ( )

    Nn

    N Nn k n k

    Y k y n W

    y n W y n W= =

    = +∑ ∑2 20

    ( ) ( )N Nn n N

    y n W y n W

    − −+ +

    ∑ ∑1 11 2 1( ) ( )N Nn k n k+ +

    = =

    − −+ − +

    = + − −∑ ∑

    ∑ ∑

    ( ) ( )2 2

    2 20

    1 11 1( ) [ 2 ( ) ]

    ( ) ( 2 1 )n k n k

    N Nn n N

    N Nn k N n k

    x n W x N n W

    π

    + +

    = =

    = +

    +

    ∑ ∑

    ( ) [ 2 ( ) ]2 2

    2 20 01

    ( ) ( )

    ( 2 1)

    n k N n k

    N Nn n

    N

    x n W x n W

    n k

    π

    π=

    += ∑

    02

    ( 2 1)2 ( ) c o s ,2n

    j

    n kx nN

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-61

    ≤ ≤ − = 220 2 1, j

    NNk N a n d W e

  • 1 D N Point DCT1-D N-Point DCTπ− +⎡ ⎤

    ⎢ ⎥∑1 ( 2 1)( ) ( ) ( ) c o s

    N n kF k C k f n=

    = ⎢ ⎥⎣ ⎦= −

    ∑0

    ( ) ( ) ( ) c o s ,2

    0 ,1, , 1,n

    F k C k f nN

    k Nπ− +⎡ ⎤= ⎢ ⎥⎣ ⎦

    ∑1

    0 ,1, , 1,( 2 1)( ) ( ) ( ) c o s ,

    2

    N

    k Nn kf n C k F k

    N= ⎢ ⎥⎣ ⎦= −

    0 20 ,1, , 1,

    k Nn N

    1 2

    where

    = = = −1 2(0) , ( ) , 1,2, , 1C C k k NN N

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-62

    • The constants are often defined differently

  • 1 D N Point DCT1-D N-Point DCT

    ( )cos (2 1)0 /16n π+ ( )cos (2 1)2 /16n π+ ( )cos (2 1)4 /16n π+ ( )cos (2 1)6 /16n π+

    ( )cos (2 1)1 /16n π+ ( )cos (2 1)3 /16n π+ ( )cos (2 1)5 /16n π+ ( )cos (2 1)7 /16n π+

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-63

  • Example of 1 D DCTExample of 1-D DCTRow 256 of Lena 2500 00

    160 00

    200.00Row 256 of Lena

    2000.00

    2500.00

    absolute DCT values of Lena row 256

    120.00

    160.00

    1500.00

    80.00 1000.00

    40.00 500.00

    0.00 200.00 400.00 600.00

    0.00

    0.00 200.00 400.00 600.00

    0.00

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-64

  • Illustration of Image CodingUsing 2-D DCT

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-65

  • DCT-Based Image Coding with Different Quantization Levels

    DCT di i h i i l i i bl k i 8 8• DCT coding with increasingly coarse quantization, block size 8x8

    quantizer step-size for AC coefficient:

    quantizer step-size for AC coefficient:

    quantizer step-size for AC coefficient:

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-66

    25 100 200

  • Image Coding with Different Numbers of DCT Coefficients

    with 16/64 original coefficients

    with 8/64 coefficients

    with 4/64 coefficients

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-67

  • Comparison of Basis Vectors of Different Transform (1-D)

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-68

  • Comparison of Basis Vectors of Different Transform (2-D)

    Cosine Sine

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-69Haar 69

  • DCT Based Coding: JPEGDCT-Based Coding: JPEG8x8 blocks Compressed

    i dDC

    Entropyencoder

    image dataQ

    DPCMZigzagscan

    DCTAC

    C

    Quantizationtable

    Tablespecification

    Sourceimage data

    specification

    Compressed8x8 blocks

    DC

    Entropydecoder

    image dataIQ

    DPCMZigzagscanIDCT

    AC

    Quantization Table

    Reconstructedimage data

    © The McGraw-Hill Companies, Inc., 2007Original PowerPoint slides prepared by S. K. Mitra 4-1-70

    table specification