The
DTFS
is just a change of
basis in
ℂN
N
.
To start, we have
fn
f
n
in terms of the
standard basis.
fn=f0
e
0
+f1
e
1
+…+fN-1
e
N
-
1
=∑k=0n-1fkδk-n
f
n
f
0
e
0
f
1
e
1
…
f
N
1
e
N
-
1
k
0
n
1
f
k
δ
k
n
(1)
f0f1f2⋮fN-1=f000⋮0+0f10⋮0+00f2⋮0+…+000⋮fN-1
f
0
f
1
f
2
⋮
f
N
1
f
0
0
0
⋮
0
0
f
1
0
⋮
0
0
0
f
2
⋮
0
…
0
0
0
⋮
f
N
1
(2)
Taking the DTFS, we can write
fn
f
n
in terms of the sinusoidal Fourier basis
fn=∑k=0N-1
c
k
ⅇⅈ2πNkn
f
n
k
0
N
1
c
k
2
N
k
n
(3)
f0f1f2⋮fN-1=
c
0
111⋮1+
c
1
1ⅇⅈ2πNⅇⅈ4πN⋮ⅇⅈ2πNN-1+
c
2
1ⅇⅈ4πNⅇⅈ8πN⋮ⅇⅈ4πNN-1+…
f
0
f
1
f
2
⋮
f
N
1
c
0
1
1
1
⋮
1
c
1
1
2
N
4
N
⋮
2
N
N
1
c
2
1
4
N
8
N
⋮
4
N
N
1
…
(4)
We can form the basis matrix (we'll call it
WW here instead of
BB) by stacking the basis vectors
in as columns
W=
b
0
n
b
1
n…
b
N
-
1
n=111…11ⅇⅈ2πNⅇⅈ4πN…ⅇⅈ2πNN-11ⅇⅈ4πNⅇⅈ8πN…ⅇⅈ2πN2N-1⋮⋮⋮⋮⋮1ⅇⅈ2πNN-1ⅇⅈ2πN2N-1…ⅇⅈ2πNN-1N-1
W
b
0
n
b
1
n
…
b
N
-
1
n
1
1
1
…
1
1
2
N
4
N
…
2
N
N
1
1
4
N
8
N
…
2
N
2
N
1
⋮
⋮
⋮
⋮
⋮
1
2
N
N
1
2
N
2
N
1
…
2
N
N
1
N
1
(5)
with
b
k
n=ⅇⅈ2πNkn
b
k
n
2
N
k
n
note: the entry in the k-th row and n-th column is
W
j
,
k
=ⅇⅈ2πNkn=
W
n
,
k
W
j
,
k
2
N
k
n
W
n
,
k
So, here we have an additional symmetry
W=WT⇒WT¯=W¯=1NW-1
W
W
W
W
1
N
W
(since
b
k
n
b
k
n
are orthogonal)
We can now rewrite the DTFS equations in matrix form where we
have:
-
f
f = signal (vector in
ℂN
N
)
-
c
c = DTFS coeffs. (vector in
ℂN
N
)
| "synthesis" |
f=Wc
f
W
c
|
fn=<c,bn¯>
f
n
c
b
n
|
| "analysis" |
c=WT¯f=W¯f
c
W
f
W
f
|
ck=<f,bk>
c
k
f
b
k
|
Finding (and inverting) the DTFS is just matrix
multiplication.
Everything in
ℂN
N
is clean: no limits, no convergence questions, just
good ole matrix arithmetic.
"My introduction to signal processing course at Rice University."