Professional Documents
Culture Documents
Transforms
Transforms
Transforms
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 coefcients.
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 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 coefcients.
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
0 12 23
y[r]
Take the DFT of length 4N real symmetric sequence
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 in
reverse order and insert a zero between each pair of samples:
0 12 23
y[r]
Take the DFT of length 4N real symmetric sequence
Result is real, symmetric and anti-periodic:
0
12
23
Y[k]
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 in
reverse order and insert a zero between each pair of samples:
0 12 23
y[r]
Take the DFT of length 4N real symmetric sequence
Result is real, symmetric and anti-periodic: only need rst N values
0
12
23
Y[k]
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 in
reverse order and insert a zero between each pair of samples:
0 12 23
y[r]
Take the DFT of length 4N real symmetric sequence
Result is real, symmetric and anti-periodic: only need rst N values
0
12
23
Y[k]
Forward DCT: X
C
[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
for k = 0 : N 1
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 in
reverse order and insert a zero between each pair of samples:
0 12 23
y[r]
Take the DFT of length 4N real symmetric sequence
Result is real, symmetric and anti-periodic: only need rst N values
0
12
23
Y[k]
Forward DCT: X
C
[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
for k = 0 : N 1
Compare DFT: X
F
[k] =
N1
n=0
x[n] exp
j2(4n+0)k
4N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
x[n]
N=20
f=0.10
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
x[n]
N=20
f=0.10
|X
F
[k]|
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
f =
m
N
x[n]
N=20
f=0.10
N=20
f=0.08
|X
F
[k]|
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
f =
m
N
x[n]
N=20
f=0.10
N=20
f=0.08
|X
F
[k]|
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
f =
m
N
x[n]
N=20
f=0.10
N=20
f=0.08
|X
F
[k]|
DFT: RealComplex; Freq range [0, 1]; Poorly localized unless
f =
m
N
; |X
F
[k]| k
1
for Nf < k
N
2
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
f =
m
N
x[n]
N=20
f=0.10
N=20
f=0.08
|X
F
[k]|
|X
C
[k]|
DFT: RealComplex; Freq range [0, 1]; Poorly localized unless
f =
m
N
; |X
F
[k]| k
1
for Nf < k
N
2
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
f =
m
N
f =
m
N
x[n]
N=20
f=0.10
N=20
f=0.08
|X
F
[k]|
|X
C
[k]|
DFT: RealComplex; Freq range [0, 1]; Poorly localized unless
f =
m
N
; |X
F
[k]| k
1
for Nf < k
N
2
DCT: RealReal; Freq range [0, 0.5]; Well localized f;
|X
C
[k]| k
2
for 2Nf < k < N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
Y
F
[k] =
4N1
r=0
y[r]W
kr
4N
where W
M
= e
j2
M
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
Y
F
[k] =
4N1
r=0
y[r]W
kr
4N
where W
M
= e
j2
M
(i)
=
2N1
n=0
y[2n + 1]W
(2n+1)k
4N
(i) odd r only: r = 2n + 1
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
Y
F
[k] =
4N1
r=0
y[r]W
kr
4N
where W
M
= e
j2
M
(i)
=
2N1
n=0
y[2n + 1]W
(2n+1)k
4N
(ii)
=
N1
n=0
y[2n + 1]W
(2n+1)k
4N
+
N1
m=0
y[4N 2m1]W
(4N2m1)k
4N
(i) odd r only: r = 2n + 1
(ii) reverse order for n N: m = 2N 1 n
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
Y
F
[k] =
4N1
r=0
y[r]W
kr
4N
where W
M
= e
j2
M
(i)
=
2N1
n=0
y[2n + 1]W
(2n+1)k
4N
(ii)
=
N1
n=0
y[2n + 1]W
(2n+1)k
4N
+
N1
m=0
y[4N 2m1]W
(4N2m1)k
4N
(iii)
=
x[n]W
(2n+1)k
4N
+
N1
m=0
x[m]W
(2m+1)k
4N
(i) odd r only: r = 2n + 1
(ii) reverse order for n N: m = 2N 1 n
(iii) substitute y denition
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
0 12 23
y[r]
Dene y[r] =
_
_
0 r even
x
_
r1
2
r = 1 : 2 : 2N 1
x
_
4N1r
2
r = 2N + 1 : 2 : 4N 1
Y
F
[k] =
4N1
r=0
y[r]W
kr
4N
where W
M
= e
j2
M
(i)
=
2N1
n=0
y[2n + 1]W
(2n+1)k
4N
(ii)
=
N1
n=0
y[2n + 1]W
(2n+1)k
4N
+
N1
m=0
y[4N 2m1]W
(4N2m1)k
4N
(iii)
=
x[n]W
(2n+1)k
4N
+
N1
m=0
x[m]W
(2m+1)k
4N
= 2
N1
n=0
x[n] cos
2(2n+1)k
4N
= 2X
C
[k]
(i) odd r only: r = 2n + 1
(ii) reverse order for n N: m = 2N 1 n
(iii) substitute y denition & W
4Nk
4N
= e
j2
4Nk
4N
1
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication property does not hold
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication property does not hold
Symmetric: X[k] = X[k] since cos k = cos +k
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication property does not hold
Symmetric: X[k] = X[k] since cos k = cos +k
Anti-periodic: X[k + 2N] = X[k]
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 4N
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 4N
X[N] = 0 since X[N] = X[N] = X[N + 2N]
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 4N
X[N] = 0 since X[N] = X[N] = X[N + 2N]
Periodic: X[k + 4N] = X[k + 2N] = X[k]
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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
Denition: X[k] =
N1
n=0
x[n] cos
2(2n+1)k
4N
Linear: x[n] +y[n] X[k] +Y [k]
DFT ConvolutionMultiplication 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 + 8Nn + 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:
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
0
12
23
Y[k]
W
b
a
= e
j
2b
a
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
[Y [k] = 2X[k]]
0
12
23
Y[k]
W
b
a
= e
j
2b
a
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] [Y [k] = 2X[k]]
0
12
23
Y[k]
W
b
a
= e
j
2b
a
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
0
12
23
Y[k]
W
b
a
= e
j
2b
a
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
W
b
a
= e
j
2b
a
(i) k = l + 2N for k 2N and X[k + 2N] = X[k]
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
(ii)
=
1
N
2N1
k=0
X[k]W
(2n+1)k
4N
W
b
a
= e
j
2b
a
(i) k = l + 2N for k 2N and X[k + 2N] = X[k]
(ii)
(2n+1)(l+2N)
4N
=
(2n+1)l
4N
+n +
1
2
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
(ii)
=
1
N
2N1
k=0
X[k]W
(2n+1)k
4N
W
b
a
= e
j
2b
a
(iii)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
X[N]W
(2n+1)N
4N
+
1
N
N1
r=1
X[2N r]W
(2n+1)(2Nr)
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 +
1
2
(iii) k = 2N r for k > N
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
(ii)
=
1
N
2N1
k=0
X[k]W
(2n+1)k
4N
W
b
a
= e
j
2b
a
(iii)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
X[N]W
(2n+1)N
4N
+
1
N
N1
r=1
X[2N r]W
(2n+1)(2Nr)
4N
(iv)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
N1
r=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 +
1
2
(iii) k = 2N r for k > N (iv) X[N] = 0 and X[2N r] = X[r]
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
(ii)
=
1
N
2N1
k=0
X[k]W
(2n+1)k
4N
W
b
a
= e
j
2b
a
(iii)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
X[N]W
(2n+1)N
4N
+
1
N
N1
r=1
X[2N r]W
(2n+1)(2Nr)
4N
(iv)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
N1
r=1
X[r]W
(2n+1)r+2N
4N
x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
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 +
1
2
(iii) k = 2N r for k > N (iv) X[N] = 0 and X[2N r] = X[r]
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] =
1
4N
4N1
k=0
Y [k]W
rk
4N
=
1
2N
4N1
k=0
X[k]W
rk
4N
x[n] = y[2n + 1] =
1
2N
4N1
k=0
X[k]W
(2n+1)k
4N
[Y [k] = 2X[k]]
(i)
=
1
2N
2N1
k=0
X[k]W
(2n+1)k
4N
1
2N
2N1
l=0
X[l]W
(2n+1)(l+2N)
4N
0
12
23
Y[k]
(ii)
=
1
N
2N1
k=0
X[k]W
(2n+1)k
4N
W
b
a
= e
j
2b
a
(iii)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
X[N]W
(2n+1)N
4N
+
1
N
N1
r=1
X[2N r]W
(2n+1)(2Nr)
4N
(iv)
=
1
N
X[0] +
1
N
N1
k=1
X[k]W
(2n+1)k
4N
+
1
N
N1
r=1
X[r]W
(2n+1)r+2N
4N
x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
= 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 +
1
2
(iii) k = 2N r for k > N (iv) X[N] = 0 and X[2N r] = X[r]
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
E =
1
N
|X|
2
[0] +
2
N
N1
n=1
|X|
2
[n]
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
E =
1
N
|X|
2
[0] +
2
N
N1
n=1
|X|
2
[n]
Orthogonal DCT (preserves energy)
Dene: c[k] =
_
2
k
N
c[0] =
_
1
N
, c[k = 0] =
_
2
N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
E =
1
N
|X|
2
[0] +
2
N
N1
n=1
|X|
2
[n]
Orthogonal DCT (preserves energy)
Dene: c[k] =
_
2
k
N
c[0] =
_
1
N
, c[k = 0] =
_
2
N
ODCT: X[k] = c[k]
N1
n=0
x[n] cos
2(2n+1)k
4N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
E =
1
N
|X|
2
[0] +
2
N
N1
n=1
|X|
2
[n]
Orthogonal DCT (preserves energy)
Dene: c[k] =
_
2
k
N
c[0] =
_
1
N
, c[k = 0] =
_
2
N
ODCT: X[k] = c[k]
N1
n=0
x[n] cos
2(2n+1)k
4N
IODCT: x[n] =
N1
k=0
c[k]X[k] cos
2(2n+1)k
4N
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] =
N1
n=0
x[n] cos
2(2n+1)k
4N
IDCT: x[n] =
1
N
X[0] +
2
N
N1
k=1
X[k] cos
2(2n+1)k
4N
rep
0 12 23
y[r]
DFT
0
12
23
Y[k]
2
Energy: E =
N1
n=0
|x[n]|
2
: E 2E8NE 0.5NE
E =
1
N
|X|
2
[0] +
2
N
N1
n=1
|X|
2
[n]
Orthogonal DCT (preserves energy)
Dene: c[k] =
_
2
k
N
c[0] =
_
1
N
, c[k = 0] =
_
2
N
ODCT: X[k] = c[k]
N1
n=0
x[n] cos
2(2n+1)k
4N
IODCT: x[n] =
N1
k=0
c[k]X[k] cos
2(2n+1)k
4N
Note: MATLAB dct() calculates the ODCT
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 a
few X[k] and decorrelates them.
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 a
few X[k] and decorrelates them.
Example: Markov Process: x[n] = x[n 1] +
_
1
2
u[n]
where u[n] is i.i.d. unit Gaussian.
Then
x
2
[n]
_
= 1 and x[n]x[n 1] = .
Covariance of vector x is S
i,j
=
xx
H
_
i,j
=
|ij|
.
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 a
few X[k] and decorrelates them.
Example: Markov Process: x[n] = x[n 1] +
_
1
2
u[n]
where u[n] is i.i.d. unit Gaussian.
Then
x
2
[n]
_
= 1 and x[n]x[n 1] = .
Covariance of vector x is S
i,j
=
xx
H
_
i,j
=
|ij|
.
Suppose ODCT of x is Cx and DFT is Fx.
Covariance of Cx is
_
Cxx
H
C
H
_
= CSC
H
(similarly FSF
H
)
Diagonal elements give mean coefcient energy.
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 a
few X[k] and decorrelates them.
Example: Markov Process: x[n] = x[n 1] +
_
1
2
u[n]
where u[n] is i.i.d. unit Gaussian.
Then
x
2
[n]
_
= 1 and x[n]x[n 1] = .
Covariance of vector x is S
i,j
=
xx
H
_
i,j
=
|ij|
.
Suppose ODCT of x is Cx and DFT is Fx.
Covariance of Cx is
_
Cxx
H
C
H
_
= CSC
H
(similarly FSF
H
)
Diagonal elements give mean coefcient energy.
5 10 15 20 25 30
50
60
70
80
90
100
DCT
DFT
=0.9
N=32
No of coefficients
C
u
m
u
l
a
t
i
v
e
e
n
e
r
g
y
(
%
)
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 a
few X[k] and decorrelates them.
Example: Markov Process: x[n] = x[n 1] +
_
1
2
u[n]
where u[n] is i.i.d. unit Gaussian.
Then
x
2
[n]
_
= 1 and x[n]x[n 1] = .
Covariance of vector x is S
i,j
=
xx
H
_
i,j
=
|ij|
.
Suppose ODCT of x is Cx and DFT is Fx.
Covariance of Cx is
_
Cxx
H
C
H
_
= CSC
H
(similarly FSF
H
)
Diagonal elements give mean coefcient energy.
5 10 15 20 25 30
50
60
70
80
90
100
DCT
DFT
=0.9
N=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 by
JPEG2000 using wavelets)
Used in speech recognition to decorrelate:
DCT of log spectrum
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 a
few X[k] and decorrelates them.
Example: Markov Process: x[n] = x[n 1] +
_
1
2
u[n]
where u[n] is i.i.d. unit Gaussian.
Then
x
2
[n]
_
= 1 and x[n]x[n 1] = .
Covariance of vector x is S
i,j
=
xx
H
_
i,j
=
|ij|
.
Suppose ODCT of x is Cx and DFT is Fx.
Covariance of Cx is
_
Cxx
H
C
H
_
= CSC
H
(similarly FSF
H
)
Diagonal elements give mean coefcient energy.
5 10 15 20 25 30
50
60
70
80
90
100
DCT
DFT
=0.9
N=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 by
JPEG2000 using wavelets)
Used in speech recognition to decorrelate:
DCT of log spectrum
Energy compaction good for coding (low-valued coefcients can be set to 0)
Decorrelation good for coding and for probability modelling
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 signal
into frames
x[n]
X[k] k=30/220
y[n]
y[n]-x[n]
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 signal
into frames
Apply DCT to each frame
x[n]
X[k] k=30/220
y[n]
y[n]-x[n]
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 signal
into 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]
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 signal
into 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]
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 signal
into 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
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 signal
into 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
e.g. JPEG, MPEG use 8 8 pixel blocks
8.3 kB (PNG) 1.6 kB (JPEG) 0.5 kB (JPEG)
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
IMDCT
y
B
[N : 3N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
IMDCT
y
B
[N : 3N 1]
x[2N : 4N 1]
MDCT
X[2N : 3N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
IMDCT
y
B
[N : 3N 1]
x[2N : 4N 1]
MDCT
X[2N : 3N 1]
IMDCT
y
A
[2N : 3N 1]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
IMDCT
y
B
[N : 3N 1]
x[2N : 4N 1]
MDCT
X[2N : 3N 1]
IMDCT
y
A
[2N : 3N 1]
y[] = y
A
[] +y
B
[]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
Even frames y
A
, Odd frames y
B
then y = y
A
+y
B
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
Modied Discrete Cosine Transform (MDCT): overlapping frames 2N long
x[0 : 2N 1]
MDCT
X[0 : N 1]
IMDCT
y
A
[0 : 2N 1]
x[N : 3N 1]
MDCT
X[N : 2N 1]
IMDCT
y
B
[N : 3N 1]
x[2N : 4N 1]
MDCT
X[2N : 3N 1]
IMDCT
y
A
[2N : 3N 1]
y[] = y
A
[] +y
B
[]
x[n]
X[k]
y
A
[n]
y
B
[n]
y[n]
y[n]-x[n]
0 N
N
2N
2N
3N
3N
4N
4N
MDCT: 2N N coefcients, IMDCT: N 2N samples
Even frames y
A
, Odd frames y
B
then y = y
A
+y
B
Errors cancel exactly: Time-domain alias cancellation (TDAC)
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=0
X
M
[k] cos
2(2n+1+N)(2k+1)
8N
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=0
X
M
[k] cos
2(2n+1+N)(2k+1)
8N
MDCT can be made from a DCT of length 2N
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
c a
b
_
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
c a
b
_
Create y
A
[n] =
_
a
b b
a c +
d d +
c
_
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
c a
b
_
Create y
A
[n] =
_
a
b b
a c +
d d +
c
_
Next frame: y
B
[n] =
_
c
d d
c e +
f f +
e
_
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] =
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
c a
b
_
Create y
A
[n] =
_
a
b b
a c +
d d +
c
_
Next frame: y
B
[n] =
_
c
d d
c e +
f f +
e
_
Adding together, the
d and
2N1
n=0
x[n] cos
2(2n+1+N)(2k+1)
8N
IMDCT: y
A,B
[n] =
1
N
N1
k=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
c a
b
_
where
c a
b
_
Create y
A
[n] =
_
a
b b
a c +
d d +
c
_
Next frame: y
B
[n] =
_
c
d d
c e +
f f +
e
_
Adding together, the
d and
Summary
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