00300 Transforms

Embed Size (px)

Citation preview

  • 8/13/2019 00300 Transforms

    1/97

  • 8/13/2019 00300 Transforms

    2/97

    DFT Problems

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 2 / 14

    For processing 1-D or 2-D signals (especially coding), a common method is

    to divide the signal into “frames” and then apply an invertible transform to

    each frame that compresses the information into few coefficients.

    The DFT has some problems when used for this purpose:

  • 8/13/2019 00300 Transforms

    3/97

    DFT Problems

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 2 / 14

    For processing 1-D or 2-D signals (especially coding), a common method is

    to divide the signal into “frames” and then apply an invertible transform to

    each frame that compresses the information into few coefficients.

    The DFT has some problems when used for this purpose:

    •   N   real x[n] ↔ N  complex X [k] : 2 real,   N 2   − 1 conjugate pairs

  • 8/13/2019 00300 Transforms

    4/97

    DFT Problems

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 2 / 14

    For processing 1-D or 2-D signals (especially coding), a common method is

    to divide the signal into “frames” and then apply an invertible transform to

    each frame that compresses the information into few coefficients.

    The DFT has some problems when used for this purpose:

    •   N   real x[n] ↔ N  complex X [k] : 2 real,   N 2   − 1 conjugate pairs

    •   DFT ∝ the DTFT of a periodic signal formed by replicating x[n] .

  • 8/13/2019 00300 Transforms

    5/97

    DFT Problems

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 2 / 14

    For processing 1-D or 2-D signals (especially coding), a common method is

    to divide the signal into “frames” and then apply an invertible transform to

    each frame that compresses the information into few coefficients.

    The DFT has some problems when used for this purpose:

    •   N   real x[n] ↔ N  complex X [k] : 2 real,   N 2   − 1 conjugate pairs

    •   DFT ∝ the DTFT of a periodic signal formed by replicating x[n] .⇒ Spurious frequency components from boundary discontinuity.

    N=20f=0.08

  • 8/13/2019 00300 Transforms

    6/97

    DFT Problems

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 2 / 14

    For processing 1-D or 2-D signals (especially coding), a common method is

    to divide the signal into “frames” and then apply an invertible transform to

    each frame that compresses the information into few coefficients.

    The DFT has some problems when used for this purpose:

    •   N   real x[n] ↔ N  complex X [k] : 2 real,   N 2   − 1 conjugate pairs

    •   DFT ∝ the DTFT of a periodic signal formed by replicating x[n] .⇒ Spurious frequency components from boundary discontinuity.

    N=20f=0.08

    The Discrete Cosine Transform (DCT) overcomes these problems.

  • 8/13/2019 00300 Transforms

    7/97

    DCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 3 / 14

    To form the Discrete Cosine Transform (DCT), replicate x[0 : N  − 1] but inreverse order and insert a zero between each pair of samples:

    0 12 23

    y[r]

    Take the DFT of length 4N  real symmetric sequence

  • 8/13/2019 00300 Transforms

    8/97

    DCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 3 / 14

    To form the Discrete Cosine Transform (DCT), replicate x[0 : N  − 1] but inreverse order and insert a zero between each pair of samples:

    0 12 23

    y[r]

    Take the DFT of length 4N  real symmetric sequenceResult is real, symmetric and anti-periodic:

    012

    23

    Y[k]

  • 8/13/2019 00300 Transforms

    9/97

    DCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 3 / 14

    To form the Discrete Cosine Transform (DCT), replicate x[0 : N  − 1] but inreverse order and insert a zero between each pair of samples:

    0 12 23

    y[r]

    Take the DFT of length 4N  real symmetric sequenceResult is real, symmetric and anti-periodic: only need first N  values

    012

    23

    Y[k]

  • 8/13/2019 00300 Transforms

    10/97

    DCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 3 / 14

    To form the Discrete Cosine Transform (DCT), replicate x[0 : N  − 1] but inreverse order and insert a zero between each pair of samples:

    0 12 23

    y[r]

    Take the DFT of length 4N  real symmetric sequenceResult is real, symmetric and anti-periodic: only need first N  values

    012

    23

    Y[k]

    Forward DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N    for k  = 0 : N  − 1

  • 8/13/2019 00300 Transforms

    11/97

    DCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 3 / 14

    To form the Discrete Cosine Transform (DCT), replicate x[0 : N  − 1] but inreverse order and insert a zero between each pair of samples:

    0 12 23

    y[r]

    Take the DFT of length 4N  real symmetric sequenceResult is real, symmetric and anti-periodic: only need first N  values

    012

    23

    Y[k]

    Forward DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N    for k  = 0 : N  − 1

    Compare DFT: X F [k] =

    N −1n=0   x[n]exp  −j2π(4n+0)k4N 

  • 8/13/2019 00300 Transforms

    12/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

  • 8/13/2019 00300 Transforms

    13/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

    x[n]N=20f=0.10

  • 8/13/2019 00300 Transforms

    14/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

    x[n]N=20f=0.10

    |X F [k]|

  • 8/13/2019 00300 Transforms

    15/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

      f  =   mN 

    x[n] N=20f=0.10

    N=20f=0.08

    |X F [k]|

  • 8/13/2019 00300 Transforms

    16/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

      f  =   mN 

    x[n] N=20f=0.10

    N=20f=0.08

    |X F [k]|

  • 8/13/2019 00300 Transforms

    17/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

      f  =   mN 

    x[n] N=20f=0.10

    N=20f=0.08

    |X F [k]|

    DFT: Real→Complex; Freq range [0, 1]; Poorly localized unlessf  =   m

    N  ; |X F [k]| ∝ k

    −1 for Nf < k    N 2

  • 8/13/2019 00300 Transforms

    18/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

      f  =   mN 

    x[n] N=20f=0.10

    N=20f=0.08

    |X F [k]|

    |X C [k]|

    DFT: Real→Complex; Freq range [0, 1]; Poorly localized unlessf  =   m

    N  ; |X F [k]| ∝ k

    −1 for Nf < k    N 2

  • 8/13/2019 00300 Transforms

    19/97

    DCT of sine wave

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 4 / 14

    DCT: X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

    f  =   mN 

      f  =   mN 

    x[n] N=20f=0.10

    N=20f=0.08

    |X F [k]|

    |X C [k]|

    DFT: Real→Complex; Freq range [0, 1]; Poorly localized unlessf  =   m

    N  ; |X F [k]| ∝ k

    −1 for Nf < k    N 2DCT: Real→Real; Freq range [0, 0.5]; Well localized ∀f ;

    |X C [k]| ∝ k−2 for 2Nf < k < N 

  • 8/13/2019 00300 Transforms

    20/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

  • 8/13/2019 00300 Transforms

    21/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

    Y F [k] =4N −1

    r=0   y[r]W kr4N    where W M   = e

    −j2πM 

  • 8/13/2019 00300 Transforms

    22/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

    Y F [k] =4N −1

    r=0   y[r]W kr4N    where W M   = e

    −j2πM 

    (i)

    =2N −1

    n=0   y[2n + 1]W (2n+1)k

    4N 

    (i) odd r  only:  r = 2n + 1

  • 8/13/2019 00300 Transforms

    23/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

    Y F [k] =4N −1

    r=0   y[r]W kr4N    where W M   = e

    −j2πM 

    (i)

    =2N −1

    n=0   y[2n + 1]W (2n+1)k

    4N (ii)=N −1

    n=0   y[2n + 1]W (2n+1)k4N 

    +N −1

    m=0 y[4N  − 2m − 1]W (4N −2m−1)k4N 

    (i) odd r  only:  r = 2n + 1(ii) reverse order for n ≥ N :  m = 2N  − 1 − n

  • 8/13/2019 00300 Transforms

    24/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

    Y F [k] =4N −1

    r=0   y[r]W kr4N    where W M   = e

    −j2πM 

    (i)

    =2N −1

    n=0   y[2n + 1]W (2n+1)k

    4N (ii)=N −1

    n=0   y[2n + 1]W (2n+1)k4N 

    +N −1

    m=0 y[4N  − 2m − 1]W (4N −2m−1)k4N 

    (iii)= x[n]W 

    (2n+1)k4N    +

    N −1m=0 x[m]W 

    −(2m+1)k4N 

    (i) odd r  only:  r = 2n + 1(ii) reverse order for n ≥ N :  m = 2N  − 1 − n(iii) substitute y  definition

  • 8/13/2019 00300 Transforms

    25/97

    DCT/DFT Equivalence

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 5 / 14

    X C [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 0 12 23

    y[r]

    Define y[r] =

    0   r even

    xr−1

    2

      r = 1 : 2 : 2N  − 1x4N −1−r

    2

      r = 2N  + 1 : 2 : 4N  − 1

    Y F [k] =4N −1

    r=0   y[r]W kr4N    where W M   = e

    −j2πM 

    (i)

    =2N −1

    n=0   y[2n + 1]W (2n+1)k

    4N (ii)=N −1

    n=0   y[2n + 1]W (2n+1)k4N 

    +N −1

    m=0 y[4N  − 2m − 1]W (4N −2m−1)k4N 

    (iii)= x[n]W 

    (2n+1)k4N    +

    N −1m=0 x[m]W 

    −(2m+1)k4N 

    = 2

    N −1n=0   x[n]cos

     2π(2n+1)k4N    = 2X C [k]

    (i) odd r  only:  r = 2n + 1(ii) reverse order for n ≥ N :  m = 2N  − 1 − n(iii) substitute y  definition & W 4Nk

    4N   = e−j2π

    4Nk4N  ≡ 1

  • 8/13/2019 00300 Transforms

    26/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N 

  • 8/13/2019 00300 Transforms

    27/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]

  • 8/13/2019 00300 Transforms

    28/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold

  • 8/13/2019 00300 Transforms

    29/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

  • 8/13/2019 00300 Transforms

    30/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k]

  • 8/13/2019 00300 Transforms

    31/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π

  • 8/13/2019 00300 Transforms

    32/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

  • 8/13/2019 00300 Transforms

    33/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =N −1

    n=0   x[n]cos 2π(2n+1)k

    4N •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]

  • 8/13/2019 00300 Transforms

    34/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

  • 8/13/2019 00300 Transforms

    35/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

    1:

  • 8/13/2019 00300 Transforms

    36/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

    1:

    2:

  • 8/13/2019 00300 Transforms

    37/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

    3:

    1:

    2:

  • 8/13/2019 00300 Transforms

    38/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

    3:

    1: 4:

    2:

  • 8/13/2019 00300 Transforms

    39/97

    DCT Properties

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 6 / 14

    Definition:  X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    •   Linear:  αx[n] + βy[n] → αX [k] + βY [k]•   DFT “Convolution←→Multiplication” property does not hold•   Symmetric: X [−k] = X [k] since cos−αk = cos +αk

    •   Anti-periodic:  X [k + 2N ] = −X [k] because:◦   cos(θ + π) = − cos θ◦   2π(2n + 1)(k + 2N ) = 2π(2n + 1)k + 8πN n + 4N π⇒X [N ] = 0 since X [N ] = X [−N ] = −X [−N  + 2N ]

    •   Periodic:  X [k + 4N ] = −X [k + 2N ] = X [k]DCT basis functions:

    0:

    3:

    1: 4:

    2: 5:

  • 8/13/2019 00300 Transforms

    40/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N 

    0

    12

    23

    Y[k]

    W ba  = e−j 2πb

    a

  • 8/13/2019 00300 Transforms

    41/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    [Y [k] = 2X [k]]

    0

    12

    23

    Y[k]

    W ba  = e−j 2πb

    a

  • 8/13/2019 00300 Transforms

    42/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1]   [Y [k] = 2X [k]]

    0

    12

    23

    Y[k]

    W ba  = e−j 2πb

    a

  • 8/13/2019 00300 Transforms

    43/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    0

    12

    23

    Y[k]

    W ba  = e−j 2πb

    a

  • 8/13/2019 00300 Transforms

    44/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   1

    2N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    0

    12

    23

    Y[k]

    W ba  = e−j 2πb

    a

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

  • 8/13/2019 00300 Transforms

    45/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   1

    2N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    0

    12

    23

    Y[k]

    (ii)=   1

    2N −1k=0   X [k]W 

    −(2n+1)k4N    W 

    ba  = e

    −j 2πba

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

    (ii)  (2n+1)(l+2N )

    4N    =  (2n+1)l

    4N    + n +  12

  • 8/13/2019 00300 Transforms

    46/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   1

    2N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    0

    12

    23

    Y[k]

    (ii)=   1

    2N −1k=0   X [k]W 

    −(2n+1)k4N    W 

    ba  = e

    −j 2πba

    (iii)

    =

      1

    N X 

    [0] +

      1

    N N −1

    k=1  X 

    [k

    ]W 

    −(2n+1)k

    4N    +

      1

    N X 

    [N 

    ]W 

    −(2n+1)N 

    4N +  1N 

    N −1r=1   X [2N  − r]W 

    −(2n+1)(2N −r)4N 

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

    (ii)  (2n+1)(l+2N )

    4N    =  (2n+1)l

    4N    + n +  12

    (iii) k  = 2N  − r  for k > N 

  • 8/13/2019 00300 Transforms

    47/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   12N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    0

    12

    23

    Y[k]

    (ii)=   1

    2N −1k=0   X [k]W 

    −(2n+1)k4N    W 

    ba  = e

    −j 2πba

    (iii)=   1

    N X [0] +   1

    N N −1

    k=1  X [k]W 

    −(2n+1)k

    4N   +   1

    N X [N ]W 

    −(2n+1)N 

    4N +  1N 

    N −1r=1   X [2N  − r]W 

    −(2n+1)(2N −r)4N 

    (iv)=   1

    N X [0] +   1

    N −1k=1   X [k]W 

    −(2n+1)k4N 

    +  1N 

    N −1r=1   −X [r]W 

    (2n+1)r+2N 4N 

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

    (ii)  (2n+1)(l+2N )

    4N    =  (2n+1)l

    4N    + n +  12

    (iii) k  = 2N  − r  for k > N    (iv) X [N ] = 0 and X [2N  − r] = −X [r]

  • 8/13/2019 00300 Transforms

    48/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   12N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    012

    23

    Y[k]

    (ii)=   1

    2N −1k=0   X [k]W 

    −(2n+1)k4N    W 

    ba  = e

    −j 2πba

    (iii)=   1

    N X [0] +   1

    N N −1

    k=1  X [k]W 

    −(2n+1)k

    4N   +   1

    N X [N ]W 

    −(2n+1)N 

    4N +  1N 

    N −1r=1   X [2N  − r]W 

    −(2n+1)(2N −r)4N 

    (iv)=   1

    N X [0] +   1

    N −1k=1   X [k]W 

    −(2n+1)k4N 

    +  1N 

    N −1r=1   −X [r]W 

    (2n+1)r+2N 4N 

    x[n] =   1N X [0] +   2N 

    N −1k=1   X [k]cos  2π(2n+1)k4N 

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

    (ii)  (2n+1)(l+2N )

    4N    =  (2n+1)l

    4N    + n +  12

    (iii) k  = 2N  − r  for k > N    (iv) X [N ] = 0 and X [2N  − r] = −X [r]

  • 8/13/2019 00300 Transforms

    49/97

    IDCT

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 7 / 14

    y[r] =   14N 

    4N −1k=0   Y [k]W 

    −rk4N    =

      12N 

    4N −1k=0   X [k]W 

    −rk4N 

    x[n] = y[2n + 1] =   12N 4N −1

    k=0   X [k]W −(2n+1)k4N    [Y [k] = 2X [k]]

    (i)=   12N 

    2N −1k=0   X [k]W 

    −(2n+1)k4N 

    −   12N 2N −1

    l=0   X [l]W −(2n+1)(l+2N )4N 

    012

    23

    Y[k]

    (ii)=   1

    2N −1k=0   X [k]W 

    −(2n+1)k4N    W 

    ba  = e

    −j 2πba

    (iii)=   1

    N X [0] +   1

    N N −1

    k=1  X [k]W 

    −(2n+1)k

    4N   +   1

    N X [N ]W 

    −(2n+1)N 

    4N +  1N 

    N −1r=1   X [2N  − r]W 

    −(2n+1)(2N −r)4N 

    (iv)=   1

    N X [0] +   1

    N −1k=1   X [k]W 

    −(2n+1)k4N 

    +  1N 

    N −1r=1   −X [r]W 

    (2n+1)r+2N 4N 

    x[n] =   1N X [0] +   2N 

    N −1k=1   X [k]cos  2π(2n+1)k4N    = Inverse DCT

    (i) k  = l + 2N   for k ≥ 2N   and X [k + 2N ] = −X [k]

    (ii)  (2n+1)(l+2N )

    4N    =  (2n+1)l

    4N    + n +  12

    (iii) k  = 2N  − r  for k > N    (iv) X [N ] = 0 and X [2N  − r] = −X [r]

  • 8/13/2019 00300 Transforms

    50/97

  • 8/13/2019 00300 Transforms

    51/97

    Energy Conservation

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 8 / 14

    DCT: X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    IDCT: x[n] =   1N 

    X [0] +   2N 

    N −1k=1   X [k]cos

     2π(2n+1)k4N 

    rep

    →0 12 23

    y[r]

    DFT

    →   012

    23

    Y[k]

    ÷2

    Energy:  E  =N −1

    n=0   |x[n]|2

    :  E  → 2E → 8N E →≈ 0.5N E 

    E  =   1N   |X |2

    [0] +   2N N −1

    n=1   |X |2

    [n]

  • 8/13/2019 00300 Transforms

    52/97

    Energy Conservation

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 8 / 14

    DCT: X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    IDCT: x[n] =   1N 

    X [0] +   2N 

    N −1k=1   X [k]cos

     2π(2n+1)k4N 

    rep

    →0 12 23

    y[r]

    DFT

    →   012

    23

    Y[k]

    ÷2

    Energy:  E  =N −1

    n=0   |x[n]|2

    :  E  → 2E → 8N E →≈ 0.5N E 

    E  =   1N   |X |2

    [0] +   2N N −1

    n=1   |X |2

    [n]

    Orthogonal DCT (preserves energy)

    Define:  c[k] = 

    2−δkN   ⇒ c[0] =

      1N 

    , c[k  = 0] = 

     2N 

  • 8/13/2019 00300 Transforms

    53/97

    Energy Conservation

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 8 / 14

    DCT: X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    IDCT: x[n] =   1N 

    X [0] +   2N 

    N −1k=1   X [k]cos

     2π(2n+1)k4N 

    rep

    →0 12 23

    y[r]

    DFT

    →   012

    23

    Y[k]

    ÷2

    Energy:  E  =N −1

    n=0   |x[n]|2

    :  E  → 2E → 8N E →≈ 0.5N E 

    E  =   1N   |X |2

    [0] +   2N N −1

    n=1   |X |2

    [n]

    Orthogonal DCT (preserves energy)

    Define:  c[k] = 

    2−δkN   ⇒ c[0] =

      1N 

    , c[k  = 0] = 

     2N 

    ODCT: X [k] = c[k]

    N −1n=0   x[n]cos  2

    π(2n+1)k4N 

  • 8/13/2019 00300 Transforms

    54/97

    Energy Conservation

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 8 / 14

    DCT: X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    IDCT: x[n] =   1N 

    X [0] +   2N 

    N −1k=1   X [k]cos

     2π(2n+1)k4N 

    rep

    →0 12 23

    y[r]

    DFT

    →   012

    23

    Y[k]

    ÷2

    Energy:  E  =N −1

    n=0   |x[n]|2

    :  E  → 2E → 8N E →≈ 0.5N E 

    E  =   1N   |X |2

    [0] +   2N N −1

    n=1   |X |2

    [n]

    Orthogonal DCT (preserves energy)

    Define:  c[k] = 

    2−δkN   ⇒ c[0] =

      1N 

    , c[k  = 0] = 

     2N 

    ODCT: X [k] = c[k]

    N −1n=0   x[n]cos  2

    π(2n+1)k4N 

    IODCT: x[n] = N −1

    k=0   c[k]X [k]cos 2π(2n+1)k

    4N 

  • 8/13/2019 00300 Transforms

    55/97

    Energy Conservation

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 8 / 14

    DCT: X [k] =

    N −1n=0   x[n]cos

     2π(2n+1)k4N 

    IDCT: x[n] =   1N 

    X [0] +   2N 

    N −1k=1   X [k]cos

     2π(2n+1)k4N 

    rep

    →0 12 23

    y[r]

    DFT

    →   012

    23

    Y[k]

    ÷2

    Energy:  E  =N −1

    n=0   |x[n]|2

    :  E  → 2E → 8N E →≈ 0.5N E 

    E  =   1N   |X |2

    [0] +   2N N −1

    n=1   |X |2

    [n]

    Orthogonal DCT (preserves energy)

    Define:  c[k] = 

    2−δkN   ⇒ c[0] =

      1N 

    , c[k  = 0] = 

     2N 

    ODCT: X [k] = c[k]

    N −1n=0   x[n]cos  2π(2n+1)k4N 

    IODCT: x[n] = N −1

    k=0   c[k]X [k]cos 2π(2n+1)k

    4N 

    Note: MATLAB dct() calculates the ODCT

  • 8/13/2019 00300 Transforms

    56/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

  • 8/13/2019 00300 Transforms

    57/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

    Example:  Markov Process:  x[n] = ρx[n − 1] + 

    1 − ρ2u[n]where u[n] is i.i.d. unit Gaussian.Then

    x2[n]

     = 1 and x[n]x[n − 1] = ρ.

    Covariance of vector x is Si,j  =

    xxH i,j

     = ρ|i−j|.

  • 8/13/2019 00300 Transforms

    58/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

    Example:  Markov Process:  x[n] = ρx[n − 1] + 

    1 − ρ2u[n]where u[n] is i.i.d. unit Gaussian.Then

    x2[n]

     = 1 and x[n]x[n − 1] = ρ.

    Covariance of vector x is Si,j  =

    xxH i,j

     = ρ|i−j|.

    Suppose ODCT of x is Cx and DFT is Fx.

    Covariance of Cx is

    CxxH 

    CH 

     = CSCH 

    (similarly FSFH 

    )Diagonal elements give mean coefficient energy.

  • 8/13/2019 00300 Transforms

    59/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

    Example:  Markov Process:  x[n] = ρx[n − 1] + 

    1 − ρ2u[n]where u[n] is i.i.d. unit Gaussian.Then

    x2[n]

     = 1 and x[n]x[n − 1] = ρ.

    Covariance of vector x is Si,j  =

    xxH i,j

     = ρ|i−j|.

    Suppose ODCT of x is Cx and DFT is Fx.

    Covariance of Cx is

    CxxH 

    CH 

     = CSCH 

    (similarly FSFH 

    )Diagonal elements give mean coefficient energy.

    5 10 15 20 25 30

    50

    60

    70

    80

    90

    100

    DCT

    DFT

    ρ =0.9N=32

    No of coefficients

       C  u  m  u   l  a   t   i  v  e

      e  n  e  r  g  y   (   %   )

  • 8/13/2019 00300 Transforms

    60/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

    Example:  Markov Process:  x[n] = ρx[n − 1] + 

    1 − ρ2u[n]where u[n] is i.i.d. unit Gaussian.Then

    x2[n]

     = 1 and x[n]x[n − 1] = ρ.

    Covariance of vector x is Si,j  =

    xxH i,j

     = ρ|i−j|.

    Suppose ODCT of x is Cx and DFT is Fx.

    Covariance of Cx is

    CxxH 

    CH 

     = CSCH 

    (similarly FSFH 

    )Diagonal elements give mean coefficient energy.

    5 10 15 20 25 30

    50

    60

    70

    80

    90

    100

    DCT

    DFT

    ρ =0.9N=32

    No of coefficients

       C  u  m  u   l  a   t   i  v  e  e  n  e  r  g  y   (   %   )

      •   Used in MPEG and JPEG (superseded byJPEG2000 using wavelets)

    •   Used in speech recognition to decorrelate:DCT of log spectrum

  • 8/13/2019 00300 Transforms

    61/97

    Energy Compaction

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 9 / 14

    If consecutive x[n] are positively correlated, DCT concentrates energy in afew X [k] and decorrelates them.

    Example:  Markov Process:  x[n] = ρx[n − 1] + 

    1 − ρ2u[n]where u[n] is i.i.d. unit Gaussian.Then

    x2[n]

     = 1 and x[n]x[n − 1] = ρ.

    Covariance of vector x is Si,j  =

    xxH i,j

     = ρ|i−j|.

    Suppose ODCT of x is Cx and DFT is Fx.

    Covariance of Cx is

    CxxH 

    CH 

     = CSCH 

    (similarly FSFH 

    )Diagonal elements give mean coefficient energy.

    5 10 15 20 25 30

    50

    60

    70

    80

    90

    100

    DCT

    DFT

    ρ =0.9N=32

    No of coefficients

       C  u  m  u   l  a   t   i  v  e  e  n  e  r  g  y   (   %   )

      •   Used in MPEG and JPEG (superseded byJPEG2000 using wavelets)

    •   Used in speech recognition to decorrelate:DCT of log spectrum

    Energy compaction good for coding (low-valued coefficients can be set to 0)

    Decorrelation good for coding and for probability modelling

  • 8/13/2019 00300 Transforms

    62/97

    Frame-based coding

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 10 / 14

    •   Divide continuous signalinto frames

      x[n]

    X[k]   k=30/220

    y[n]

    y[n]-x[n]

    F b d di

  • 8/13/2019 00300 Transforms

    63/97

    Frame-based coding

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 10 / 14

    •   Divide continuous signalinto frames

    •   Apply DCT to each frame

    x[n]

    X[k]   k=30/220

    y[n]

    y[n]-x[n]

    F b d di

  • 8/13/2019 00300 Transforms

    64/97

    Frame-based coding

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 10 / 14

    •   Divide continuous signalinto frames

    •   Apply DCT to each frame

    •   Encode DCT◦   e.g. keep only 30 X [k]

    x[n]

    X[k]   k=30/220

    y[n]

    y[n]-x[n]

    F b d di

  • 8/13/2019 00300 Transforms

    65/97

    Frame-based coding

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 10 / 14

    •   Divide continuous signalinto frames

    •   Apply DCT to each frame

    •   Encode DCT◦   e.g. keep only 30 X [k]

    •   Apply IDCT → y[n]

    x[n]

    X[k]   k=30/220

    y[n]

    y[n]-x[n]

    F b d di

  • 8/13/2019 00300 Transforms

    66/97

    Frame-based coding

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 10 / 14

    •   Divide continuous signalinto frames

    •   Apply DCT to each frame

    •   Encode DCT◦   e.g. keep only 30 X [k]

    •   Apply IDCT → y[n]

    x[n]

    X[k]   k=30/220

    y[n]

    y[n]-x[n]

    Problem: Coding may create discontinuities at frame boundaries

  • 8/13/2019 00300 Transforms

    67/97

    Lapped Transform

  • 8/13/2019 00300 Transforms

    68/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    Lapped Transform

  • 8/13/2019 00300 Transforms

    69/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]   x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients

    Lapped Transform

  • 8/13/2019 00300 Transforms

    70/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    Energy Conservation• Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samples

    Lapped Transform

  • 8/13/2019 00300 Transforms

    71/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samples

    Lapped Transform

  • 8/13/2019 00300 Transforms

    72/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    IMDCT→   yB [N   : 3N  − 1]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samples

    Lapped Transform

  • 8/13/2019 00300 Transforms

    73/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    IMDCT→   yB [N   : 3N  − 1]

    x[2N   : 4N  − 1]MDCT→   X [2N   : 3N  − 1]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samples

    Lapped Transform

  • 8/13/2019 00300 Transforms

    74/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    IMDCT→   yB [N   : 3N  − 1]

    x[2N   : 4N  − 1]MDCT→   X [2N   : 3N  − 1]

    IMDCT→   yA[2N   : 3N  − 1]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samples

    Lapped Transform

  • 8/13/2019 00300 Transforms

    75/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    IMDCT→   yB [N   : 3N  − 1]

    x[2N   : 4N  − 1]MDCT→   X [2N   : 3N  − 1]

    IMDCT→   yA[2N   : 3N  − 1]

    y[∗] = yA[∗] + yB [∗]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samplesEven frames → yA, Odd frames → yB   then y  = yA + yB

    Lapped Transform

  • 8/13/2019 00300 Transforms

    76/97

    Lapped Transform

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 11 / 14

    Modified Discrete Cosine Transform (MDCT): overlapping frames 2N   long

    x[0 : 2N  − 1]MDCT→   X [0 : N  − 1]

    IMDCT

    →   yA[0 : 2N  − 1]x[N   : 3N  − 1]

    MDCT→   X [N   : 2N  − 1]

    IMDCT→   yB [N   : 3N  − 1]

    x[2N   : 4N  − 1]MDCT→   X [2N   : 3N  − 1]

    IMDCT→   yA[2N   : 3N  − 1]

    y[∗] = yA[∗] + yB [∗]

    x[n]

    X[k]

    yA[n]

    yB[n]

    y[n]

    y[n]-x[n]

    0 N

    N

    2N

    2N

    3N

    3N

    4N

    4N

    MDCT: 2N  → N  coefficients, IMDCT: N  → 2N   samplesEven frames → yA, Odd frames → yB   then y  = yA + yBErrors cancel exactly:  Time-domain alias cancellation (TDAC)

    MDCT

  • 8/13/2019 00300 Transforms

    77/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT

  • 8/13/2019 00300 Transforms

    78/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    MDCT

  • 8/13/2019 00300 Transforms

    79/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    MDCT

  • 8/13/2019 00300 Transforms

    80/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    MDCT

  • 8/13/2019 00300 Transforms

    81/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    MDCT

  • 8/13/2019 00300 Transforms

    82/97

    MDCT

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]

    MDCT

  • 8/13/2019 00300 Transforms

    83/97

    C

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]IMDCT

    Undo above to get X M [k] → u =  −d −←−c a −

    ←−b

    MDCT

  • 8/13/2019 00300 Transforms

    84/97

    3: Discrete Cosine Transform• DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =

      a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]IMDCT

    Undo above to get X M [k] → u =  −d −←−c a −

    ←−b

    Create yA[n] =

      a −

    ←−

    b b −

    ←−a c +

    ←−

    d d +

    ←−c

    MDCT

  • 8/13/2019 00300 Transforms

    85/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N 

    Split x[n] into four  N 

    2 -vectors:  x =   a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]IMDCT

    Undo above to get X M [k] → u =  −d −←−c a −

    ←−b

    CreateyA[n] =

      a −

    ←−

    b b −

    ←−a c +

    ←−

    d d +

    ←−c

    Next frame:  yB[n] =

      c −←−d d −←−c e +

    ←−f f  + ←−e

    MDCT

  • 8/13/2019 00300 Transforms

    86/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N Split

     x[n] into four   N 

    2 -vectors:

     x =   a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]IMDCT

    Undo above to get X M [k] → u =  −d −←−c a −

    ←−b

    Create yA[n] =

      a −

    ←−

    b b −

    ←−a c +

    ←−

    d d +

    ←−c

    Next frame:  yB[n] =

      c −←−d d −←−c e +

    ←−f f  + ←−e

    Adding together, the←−d   and ←−c   terms cancel but c and d add.

    MDCT

  • 8/13/2019 00300 Transforms

    87/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 12 / 14

    MDCT: X M [k] =

    2N −1n=0   x[n]cos  2π(2n+1+N )(2k+1)8N 

    IMDCT: yA,B [n] =  1N 

    N −1k=0   X M [k]cos

     2π(2n+1+N )(2k+1)8N 

    MDCT can be made from a DCT of length 2N Split

     x[n] into four   N 

    2 -vectors:  x

     =   a b c d

    Now form the N -vector u =  −d −←−c a −

    ←−b

    where←−c   is the vector c but in reverse order

    Now form v =

      u   −←−u

    and take 2N   DCT

    V  C [2k] = 0 because of symmetry, so set X M [k] = V  C [2k + 1]IMDCT

    Undo above to get X M [k] → u =  −d −←−c a −

    ←−b

    Create yA[n] =

      a −

    ←−

    b b −

    ←−

    a c +

    ←−

    d d +

    ←−

    c

    Next frame:  yB[n] =

      c −←−d d −←−c e +

    ←−f f  + ←−e

    Adding together, the←−d   and ←−c   terms cancel but c and d add.

    Used in audio coding: MP3, WMA, AC-3, AAC, Vorbis, ATRAC

    Summary

  • 8/13/2019 00300 Transforms

    88/97

    y

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    Summary

  • 8/13/2019 00300 Transforms

    89/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    •   Often scaled to make an orthogonal transform (ODCT)

    Summary

  • 8/13/2019 00300 Transforms

    90/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    •   Often scaled to make an orthogonal transform (ODCT)•   Better than DFT for energy compaction and decorrelation

    Summary

  • 8/13/2019 00300 Transforms

    91/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    •   Often scaled to make an orthogonal transform (ODCT)•   Better than DFT for energy compaction and decorrelation•   Nice convolution property of DFT is lost

    Summary

  • 8/13/2019 00300 Transforms

    92/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    •   Often scaled to make an orthogonal transform (ODCT)•   Better than DFT for energy compaction and decorrelation•   Nice convolution property of DFT is lost

    MDCT: Modified Discrete Cosine Transform

    •   Lapped transform: 2N  → N  → 2N 

    Summary

  • 8/13/2019 00300 Transforms

    93/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties

    • IDCT

    • Energy Conservation

    • Energy Compaction

    • Frame-based coding

    • Lapped Transform

    • MDCT

    • Summary

    • MATLAB routines

    DSP and Digital Filters (2013-3622) Transforms: 3 – 13 / 14

    DCT: Discrete Cosine Transform•   Equivalent to a DFT of time-shifted double-length

      x   ←−x

    •   Often scaled to make an orthogonal transform (ODCT)•   Better than DFT for energy compaction and decorrelation•   Nice convolution property of DFT is lost

    MDCT: Modified Discrete Cosine Transform

    •   Lapped transform: 2N  → N  → 2N •   Aliasing errors cancel out when overlapping output frames are added

    Summary

  • 8/13/2019 00300 Transforms

    94/97

    3: Discrete Cosine Transform

    • DFT Problems

    • DCT

    • DCT of sine wave

    • DCT/DFT Equivalence

    • DCT Properties