0% found this document useful (0 votes)
30 views5 pages

Chapter3 Solutions

Uploaded by

a1185569145
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views5 pages

Chapter3 Solutions

Uploaded by

a1185569145
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

1

Chapter 3: The Discrete Fourier Transform and


Fast Fourier Transform Algorithms
Answers

1) a) Let y[n] = cos[(2πm/N )n]. The DFT of y[n] can be found as


N
X −1
Y [k] = DF T {y[n]} = y[n]e−j2πkn/N
n=0
N −1
X 1  j2πmn/N
+ e−j2πmn/N e−j2πkn/N

= e
n=0
2
N −1
X 1  −j2π(k−m)n/N
+ e−j2π(k+m)n/N

= e
n=0
2
1
= (δ[k − m] + δ[k + m])
2
According to the property of DFT:
N −1
1 X
DF T {x[n]y[n]} = X[l] (δ[((k − l))N − m] + δ[((k − l))N + m])
2N l=0
N −1
1 X
= (X[((k − m))N ] + X[((k + m))N ])
2N l=0
1
= (X[((k − m))N ] + X[((k + m))N ])
2
Remark 1. We can also find the DFT based on its definition. Specifically, write
cos[(2πm/N )n] = 21 ej2πmn/N + e−j2πmn/N . Then, DF T {x[n] cos[(2πm/N )n]} =
 
PN −1 P −1
1
2
nk
n=0 x[n]WN WN +2 N
−nm 1 nk nm 1
n=0 x[n]WN WN = 2 (X[((k − m))N ] + X[((k + m))N ])

1
b) Similarly, we can find DF T {sin[(2πm/N )n]} = 2j
(δ[k − m] − δ[k + m]), then
N −1
1 X
DF T {x[n] sin[(2πm/N )n]} = X[l] (δ[((k − l))N − m] − δ[((k − l))N + m])
j2N l=0
1
= (X[((k − m))N ] − X[((k + m))N ])
2j
2

2) This question examine how zero-padding affect DFT. We can find the DFT of y[n] as
rN
X −1
Y [k] = DF T {y[n]} = y[n]e−j2πkn/rN
n=0
0
It is observed that for k = rk, we have
rN
X −1
Y [rk] = DF T {y[n]} = y[n]e−j2πknN = X[k]
n=0

Hence, the relationship between Y [k], k = 0, ..., rN − 1 and X[k], k = 0, ..., N − 1 is


Y [rk] = X[k], k = 0, ..., N − 1 (Other values of Y [k] cannot be determined).
Remark 2. Zero-padding means changing the DFT length N without adding more informa-
tion, which just results in a denser sampling of the underlying DTFT of the signal. In other
words, zero-padding just changes the sampling interval in the frequency domain, it does
not change any scaling factors. Zero-padding in time-domain maps to linear interpolation
in frequency domain.

3) This question examine how time-domain interpolation with inserting zeros affect DFT. We
can find the DFT of y[n] as:
rN
X −1
Y [k] = DF T {y[n]} = y[n]e−j2πkn/rN
n=0
N
X −1
= y[ir]e−j2πkir/rN
i=0
N
X −1
= x[i]e−j2πki/N , k = 0, ..., rN − 1
i=0

When k ≤ N − 1, Y [k] = X[k]. When k > N − 1, Y (k) = X[((k))N ]. In short, we can


write Y [k] = X[((k))N ], k = 0, ..., rN − 1.
Remark 3. When we perform interpolation on the time-domain, it is equivalent to repli-
cation in frequency domain.

4) According to the conjugate symmetry property of DFT, we have DF T {<{f [n]}} = Fep [k]
and DF T {j={f [n]}} = Fop [k]
3

a) Substitute F [k] gives:


1
DF T {x[n]} = Fep [k] = (F [k] + F ∗ [N − k])
2 !
1 1 − aN 1 − bN 1 − aN 1 − bN
= + j + − j
2 1 − aWNk 1 − bWNk 1 − aWN
−(N −k)
1 − bWN
−(N −k)

1 − aN 1 − bN 1 − aN 1 − bN
 
1
= +j + −j
2 1 − aWNk 1 − bWNk 1 − aWNk 1 − bWNk
1 − aN
=
1 − aWNk

j
DF T {y[n]} = Fep [k] = − (F [k] − F ∗ [N − k])
2
1 − aN 1 − bN 1 − aN 1 − bN
 
j
=− +j − +j
2 1 − aWNk 1 − bWNk 1 − aWNk 1 − bWNk
1 − bN
=
1 − bWNk
1−aN
PN −1
It is noted that X[k] = 1−aWNk = n=0 an WNkn . Based on the definition of DFT, we
have x[n] = an RN [n]. Similarly, we have y[n] = bn RN [n].
b) Apply the conjugate symmetry property of DFT gives:

X[k] = Fep [k] = 1

Y [k] = Fod [k] = N

From the DFT pairs table, we can find that x[n] = δ[n] and y[n] = N δ[n].

nN/2
5) a) Note that (−1)n = ejπn = WN . According to the property of DFT, DF T {x1 [n]} =
X[((k + N/2))N ]
b) According to the property of DFT, we have

DF T {x ∗ [((−n))N ]} = X ∗ [k]

DF T {x[((−n))N ]} = X[((−k))N ]
(N −1)k
DF T {x[((−n + (N − 1)))N ]} = WN X[((−k))N ] = WN−k X[((−k))N ]

6) a) {1, 0, 4, 2, 10, 4, 13, 6, 9}


b) {5, 13, 10, 11, 10}
4

c) {1, 0, 4, 2, 10, 4, 13, 6, 9, 0}

7) a) No. T = 84.
b) Yes, peaks at k = 5, 6, 12, corresponding to frequency 50, 60, 120 Hz. Which are
close to the original 51.4, 60, 120 Hz.

8) According to the convolutional property of DFT, after performing N -point IDFT of X[k]Y [k],
the resultant sequence r[n] is the circular convolution of x[n] and y[n], i.e.,
N
X −1 N
X −1
r[n] = x[m]y[((n − m))N ] = x[((n − m))N ]y[m],
m=0 m=0

where N = 20. The linear convolution is defined as


X∞ ∞
X
(x ∗ y)[n] = x[m]y[n − m] = x[n − m]y[m],
m=−∞ m=−∞
PN −1
Since y[n] = 0 for n < 0 and n ≥ 20, we have (x ∗ y)[n] = m=0 x[n − m]y[m].
r[n] is equivalent to (x ∗ y)[n] for the range of n such that x[((n − m))N ] = x[n −
m], ∀0 ≤ m ≤ N − 1. For 0 ≤ m ≤ n, the equality always holds. We just need to
find the range of n, such that x[n − m + N ] = x[n − m], ∀n < m ≤ N − 1 Since
x[n] = 0, for n < 0, we have x[n − m] = 0, ∀n < m ≤ N − 1. It reduces to find the
range of n such that x[n − m + N ] = 0, ∀n < m ≤ N − 1. Since x[n] = 0, n ≥ 8,
x[n − m + N ] = 0, ∀n < m ≤ N − 1 if n ≥ 7. Hence, r[n] = (x ∗ y)[n] for 7 ≤ n ≤ 19.

9) Direct DFT: N 2 complex multiplication and N (N − 1) complex addition and the time
N
required is 0.0118s. FFT: 2
log2 N complex multiplication, N log2 N complex addition,
and the time is 0.0001152s.

PM −1
10) We would like to find X(zk ) = n=0 x[n]e−j2πnk/N , k = 0, 1, ..., N − 1 based on an
N -point FFT algorithm.
a) When N ≤ M , let P = d M
N
e and construct the sequence x̄[n], n = 0, ..., P N − 1
from x[n] by padding (P N − M ) zeros. Then, we have
M
X −1 N −1
PX
X(zk ) = x[n]e−j2πnk/N = x̄[n]e−j2πnk/N
n=0 n=0
5

The index n can be replaced by pN + r, p = 0, ..., P − 1; r = 0, ..., N − 1, which


gives
P
X −1 N
X −1
X(zk ) = x̄[pN + r]e−j2π(pN +r)k/N
p=0 r=0
P
X −1 N
X −1
= x̄[pN + r]e−j2πrk/N
p=0 r=0
−1 −1
N P
!
X X
= x̄[pN + r] e−j2πrk/N
r=0 p=0
PP −1
Construct the sequence y[r] = p=0 x̄[pN +r], r = 0, ..., N −1. Then, X(zk ) = Y [k],
where Y [k] is the N -point DFT of sequence y[r], computed using N -point FFT
algorithm.
b) When N > M , we an construct the sequence x̄[n], n = 0, ..., N from x[n] by padding
(N − M ) zeros. Then, we have:
M
X −1 N
X −1
−j2πnk/N
X(zk ) = x[n]e = x̄[n]e−j2πnk/N ,
n=0 n=0

which can be computed as the N -point DFT of sequence x̄[n], using N -point FFT
algorithm.

11) a) To convert the circular convolution to linear convolution, each input segment need to
pad 49 (length of h[n] minus 1) symbols from previous data block, i.e., N = 49. The
effective input length is actually 100 − 49 = 51. Hence, in the corresponding linear
convolution, the index of h[n] is from 0 to 49, and the index of input is from 0 to
50. After performing convolution using 128-point FFT, the effective data is ranged
from index 0 to 99, among which we discard the front N samples and extract the
last 51 samples as output, i.e., M = 51.
b) The index for the non-zero output is 0 ∼ 99. We discard the front 49 samples
(0 ∼ 48), so the index for the extracted samples are 49 ∼ 99.

You might also like