DTFT from DFT samples by interpolation
N-point DFT (X[k]) of a given length-N sequence, x[n], is the frequency values of its DTFT,𝑋 𝑒 𝑗𝑤 , evaluated at 𝑁 uniformly spaced frequency points. 𝑤= 𝑤 𝑘 = 2𝜋𝑘 𝑁 0≤𝑘≤(𝑁−1) Given the N-point DFT, ie. X[k], its DTFT can be uniquely determined from X[k] 𝑋 𝑒 𝑗𝑤 = 𝑛=0 𝑁−1 𝑥[𝑛] 𝑒 −𝑗𝑤𝑛 = 𝑛=0 𝑁−1 1 𝑁 𝑘=0 𝑁−1 𝑋[𝑘] 𝑊 𝑁 −𝑘𝑛 𝑒 −𝑗𝑤𝑛 = 1 𝑁 𝑘=0 𝑁−1 𝑋[𝑘] 𝑛=0 𝑁−1 𝑒 −𝑗 𝑤− 2𝜋𝑘 𝑁 𝑛 S
= 1 𝑁 𝑘=0 𝑁−1 𝑋[𝑘] 1− 𝑒 −𝑗 𝑤𝑁−2𝜋𝑘 1− 𝑒 −𝑗 𝑤− 2𝜋𝑘 𝑁 = 1 𝑁 𝑘=0 𝑁−1 𝑋 𝑘 sin 𝑤𝑁−2𝜋𝑘 2 sin 𝑤𝑁−2𝜋𝑘 2𝑁 𝑒 −𝑗 𝑤− 2𝜋𝑘 𝑁 𝑁−1 2 Interpolation function for getting 𝑋 𝑒 𝑗𝑤 from X[k]
DTFT Sampling The DTFT is 𝑋 𝑒 𝑗𝑤 =𝑋 𝑤 = 𝑛=−∞ ∞ 𝑥[𝑛] 𝑒 −𝑗𝑤𝑛 The DFT analysis formula is: 𝑋 𝑘 = 𝑛=0 𝑁−1 𝑥 𝑛 𝑒 −𝑗 2𝜋 𝑁 𝑘𝑛 If x[n] is a L-point signal, i.e. it is non-zero only in the 0≤𝑛≤ 𝐿−1 range the DTFT can be written as: 𝑋 𝑤 = 𝑛=0 𝐿−1 𝑥[𝑛] 𝑒 −𝑗𝑤𝑛 If we compare these two formulas we see that: for the N-point DFT values to be samples of the DTFT the length L of the sequence x[n] must be less than N (i.e. L <= N) X k =X w | 𝑤= 2𝜋𝑘 𝑁
If we are given X(w) and we wish to find x[n] we can use the synthesis formula: 𝑥 𝑛 = 1 2𝜋 −𝜋 𝜋 𝑋(𝑤) 𝑒 𝑗𝑤𝑛 𝑑𝑤 However performing the integral may be inconvenient. The following is an easier approach: 1) Sample DTFT X(w) to get DFT values X[k] for k = 0,…, (N-1) 2) Take inverse DFT of X[k] to get back x[n] Does this always work ? No. For this to work L <=N.
Example: x[n] 1 n 0 2 DTFT 𝑋 𝑒 𝑗𝑤 = 𝑛=0 3 1∙ 𝑒 −𝑗𝑤𝑛 = 1− 𝑒 −𝑗4𝑤 1− 𝑒 −𝑗𝑤 = 𝑒 −𝑗 3𝑤 2 𝑠𝑖𝑛 2𝑤 𝑠𝑖𝑛 𝑤/2 DTF 𝑋 𝑘 = 𝑛=0 3 1∙ 𝑒 −𝑗 2𝜋 4 𝑘𝑛 =1+ 𝑒 −𝑗 𝜋 2 𝑘 + 𝑒 −𝑗𝜋𝑘 + 𝑒 −𝑗 3𝜋 2 𝑘 = 4 k=0 0 k = 1,2,3
Sampling DTFT 𝑋 𝑘 =𝑋 𝑒 𝑗 2𝜋 4 𝑘 = 𝑒 −𝑗 3𝜋𝑘 4 𝑠𝑖𝑛 𝜋𝑘 𝑠𝑖𝑛 𝜋𝑘/4 = 4 0 𝑘=0 𝑘=1,2,3
Sampling in frequency: Sample 𝑋 𝑒 𝑗𝑤 at 𝑤 𝑘 = 2𝜋𝑘 𝑀 0≤𝑘≤(𝑀−1) 𝑋 𝑒 𝑗𝑤 𝑋 𝑠 𝑘 =𝑋 𝑒 𝑗𝑘 2𝜋 𝑀 ≈𝑋 𝑒 𝑗𝑤 ∙ 𝑆 𝑒 𝑗𝑤 𝑤 - 𝑆 𝑒 𝑗𝑤 𝑥 𝑠 𝑛 =𝑥 𝑛 ∗𝑠 𝑛 =x[n]∗ 𝑙=−∞ ∞ 𝛿 𝑛−𝑙𝑀 0 2𝜋 𝑀 4𝜋 𝑀 = 𝑙=−∞ ∞ 𝑥 𝑛−𝑙𝑀
𝑥 𝑠 𝑛 =𝑥 𝑛 𝑀 Original signal x[n] is replicated in time at integer multiples of M x[n] n xs[n] ⋯ ⋯ ⋯ ⋯ n -M 0 M
Sampling in frequency => replication in time Sampling in time => replication in frequency If 𝑥 𝑛 𝐷𝑇𝐹𝑇 𝑋 𝑒 𝑗𝑤 and 𝑋 𝑠 𝑘 = 𝑋 𝑒 𝑗𝑤 𝑤= 2𝜋𝑘 𝑀 𝑘=0,⋯, 𝑀−1 then 𝑋 𝑠 𝑘 𝐼𝐷𝐹𝑇 𝑥 𝑠 𝑛 where 𝑥 𝑠 𝑛 = 𝑙=−∞ ∞ 𝑥 𝑛−𝑙𝑀 To “recover” x[n] from 𝑥 𝑠 𝑛 , x[n] must be time limited to <= M values Otherwise we have aliasing.
Since xp[n] is the periodic extension of x[n] it is clear that x[n] can be recovered from xp[n] if there is no aliasing in the time domain. That is if x[n] is time-limited to less than the period N of xp[n].This is depicted below:
Example : 𝑥 𝑛 = 𝑎 𝑛 𝑢 𝑛 where 𝑎 <1 X w = 1 1−𝑎 𝑒 −𝑗𝑤 Here the time domain signal is npot time-limited (i.e. L = ) Now suppose we take N samples of this DTFT i.e 𝑋 2𝜋 𝑁 𝑘 = 𝑋 𝑤 𝑤= 2𝜋 𝑁 𝑘
for a = 0.7 𝑥 𝑛 = 𝑎 𝑛 𝑢 𝑛 ⋯ N=6 samples x[n] san not be recovered from replicated time-domain signal since L > N Note for n >20 x[n] starts to vanish so if N=20 or more is chosen then x[n] can be recovered from the time-domain signal