FFT (Both DFT IDFT) - Practice Problems
FFT (Both DFT IDFT) - Practice Problems
1. Consider 𝑥1 (𝑛) = {1, 0.5, 0.25, 0.125} and 𝑥2 (𝑛) = {1,1,1,1}. Determine
𝑋1 (𝑘) using DIT FFT and 𝑋2 (𝑘) using DIF FFT. Hence find the circular
convolution of 𝑥1 (𝑛) and 𝑥2 (𝑛).
Hint:
𝑦(𝑛) = 𝑥1 (𝑛) ⊛ 𝑥2 (𝑛)
See convolution property of DFT→ 𝑥1 (𝑛) ⊛ 𝑥2 (𝑛) = 𝑋1 (𝑘). 𝑋2 (𝑘)
Find 𝑋1 (𝑘) and 𝑋2 (𝑘)using corresponding FFT algorithms
Find 𝑌(𝑘) = 𝑋1 (𝑘). 𝑋2 (𝑘)
Then 𝑦(𝑛) = 𝐼𝐷𝐹𝑇[𝑌(𝑘)]
Use any algorithm of your choice for finding the IDFT
Answer for verification
𝑋(𝑘) = {1.87, 0.75 − 𝑗0.375, 0.625, 0.75 + 𝑗0.375}
𝐻(𝑘) = {4,0,0,0}
𝑦(𝑛) = {1.875, 1.875, 1.875, 1.875}
2. In an LTI system the input 𝑥(𝑛) = {−1, 2, 2, 2, −1} and the impulse response
ℎ(𝑛) = {−1, 1, −1, 1}. Determine the response of the LTI system by radix-2
DIT FFT.
Hint:
The response of an LTI system is 𝑦(𝑛) = 𝑥(𝑛) ∗ ℎ(𝑛)
The DFT (or FFT) supports only circular convolution. Hence to get
the result the linear convolution is performed via circular convolution.
The length of 𝑥(𝑛) = 5, and ℎ(𝑛) = 4. Hence the length of 𝑦(𝑛) =
5 + 4 − 1 = 8
The sequence 𝑥(𝑛) and ℎ(𝑛) should be converted to the size of y(n),
by appending with zeros
𝑥(𝑛) = { −1, 2, 2, 2, −1, 0, 0, 0 }
ℎ(𝑛) = { −1, 1, −1, 1, 0, 0, 0, 0 }
Then circular convolution of 𝑥(𝑛) and ℎ(𝑛) is performed to get 𝑦(𝑛)
𝑦(𝑛) = 𝑥(𝑛) ⊛ ℎ(𝑛)
See convolution property of DFT→ 𝑥(𝑛) ⊛ ℎ(𝑛) = 𝑋(𝑘). 𝐻(𝑘)
Find 𝑋(𝑘) and 𝐻(𝑘) using DIT FFT
Find 𝑌(𝑘) = 𝑋(𝑘). 𝐻(𝑘)
Then 𝑦(𝑛) = 𝐼𝐷𝐹𝑇[𝑌(𝑘)]
Answer for verification
𝑋(𝑘) = {4, −𝑗4.82, −4, −𝑗0.82, −4, 𝑗0.82, −4. , 𝑗4.82}
𝐻(𝑘) = {0, −1 − 𝑗0.414, 0, −1 − 𝑗2.414, −4, −1 + 𝑗2.414, 0, −1 + 𝑗0.414}
𝑦(𝑛) = {1, −3, 1, −3, 3, −1, 3, −1}
4. Find the 8-point IDFT of a sequence 𝑋(𝑘) = {0, 2 + 𝑗2, −4𝑗, 2 − 2𝑗, 0, 2 +
2𝑗, 4𝑗, 2 − 2𝑗} using DIFFFT algorithm.