# PROPERTIES OF THE DFT

1. PRELIMINARIES (a) Deﬁnition (b) The Mod Notation (c) Periodicity of WN (d) A Useful Identity (e) Inverse DFT Proof (f) Circular Shifting (g) Circular Convolution (h) Time-reversal (i) Circular Symmetry 2. PROPERTIES (a) Perodicity property (b) Circular shift property (c) Modulation property (d) Circular convolution property (e) Parseval’s theorem (f) Time-reversal property (g) Complex-conjugation property (h) Real x[n] property (i) Real and circularly symmetric x[n]

I. Selesnick

EL 713 Lecture Notes

1

DFT DEFINITION
The DFT of an N -point signal {x[n], 0 ≤ n ≤ N − 1} is deﬁned as
N −1

X [k ] =
n=0

−kn x[n] WN ,

0≤k ≤N −1

(1)

where WN = ej N = cos

2π N

+ j sin

2π N

is the principal N -th root of unity. The original sequence x[n] can be retrieved by the inverse discrete Fourier transform (IDFT) 1 x[n] = N
N −1 kn X [k ] WN , k=0

0 ≤ n ≤ N − 1.

I. Selesnick

EL 713 Lecture Notes

2

. .THE MOD NOTATION The notation k N denotes the remainder r when k is divided by N . 0≤ k For example. . For example 3 4 =3 4 and 6 4 = 2. Selesnick EL 713 Lecture Notes 3 . k 4 0 1 2 3 0 1 2 3 . We choose the remainder r so that it is between 0 and N − 1. −3 = (−1)(4) + 1 and −6 = (−2)(4) + 2 so −6 4 N ≤N −1 so −3 4 =1 =2 I. k 0 1 2 3 4 5 6 7 . The notation k N is also deﬁned for negative integers k . . This is also denoted as k mod N . The following table shows k for values of k from 0 to 7.

k . . 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 . we can generate k the code fragment: >> k=-8:7. . . mod(k. 4 In MATLAB. k . . Selesnick N using the command mod. as illustrated by 0 1 2 3 0 1 2 3 0 1 2 3 0 1 EL 713 Lecture Notes 4 . .The following table shows k 4 for values of k from -8 to 7. −8 −7 −7 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 . . . >> [k’. .4)’] ans = -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 I.

Selesnick EL 713 Lecture Notes 5 .6 7 Evidently k 2 3 N is a periodic function of k with period N : k+N N = k N I.

A related identity is m·k WN = WN m· k N which is derived as m·k WN = ej N (m)(l·N +r) 2π 2π = ej N (m·l·N ) · ej N m·r m·r = 1 · WN = WN m· k N 2π . Selesnick EL 713 Lecture Notes 6 . The identity Therefore WN k WN = WN k N is useful when working with the DFT. If we write k as k = l · N + r with 0 ≤ r ≤ N − 1 then we have k k WN = ej N (l·N +r) 2π 2π N = r and = ej N (l·N ) · ej N r r = 1 · WN = WN k N 2π 2π . I. k is a periodic function of k with a period of N .PERIODICITY OF WN Our deﬁnition of WN is WN := ej N .

0 N k =1 WN k WN = 1. . . . this simpliﬁes to Because WN N −1 nk = WN n=0 n N aN −1 a−1 a=1 a = 1. ±N. ±2N. we ﬁnally get the sought identity in the simple form: N −1 nk WN = N · δ[ k n=0 N ].A USEFUL IDENTITY First. then we get: N −1 nk WN n=0 Nk = 1. k Similarly WN = 1 if k N = 0. I. recall the geometric summation formula: N −1 a = n=0 k If a = WN . k k Note that WN = 1 if k = 0. deﬁned as δ [n] = 0 1 n=0 n = 0. Selesnick EL 713 Lecture Notes 7 . Therefore we can simplify the summation further to obtain: N −1 nk WN = n=0 0 N k k N N =0 = 0. = N N k −1 WN k −1 WN k WN =1 k WN = 1. In other words WN = 1 if k N = 0. . Using the discrete-time delta function δ [n].

x[l] · N · δ [ n − l l=0 = x[n]. WN 1 x[n] = N 1 = N = 1 N x[l] · l=0 N −1 k=0 WN k(n−l) . we substitute the DFT into the inverse DFT formula: x[n] = 1 N N −1 kn X [k ] WN k=0 N −1 N −1 −kl x[l] WN k=0 N −1 l=0 N −1 kn . I.INVERSE DFT PROOF With the formula N −1 nk WN = N · δ[ k n=0 N] we are ready to verify the the inverse DFT formula. N ]. Selesnick EL 713 Lecture Notes 8 . To verify the inversion formula.

if g [n] := x[ n − 1 then g [0] = x[ g [1] = x[ g [2] = x[ . Selesnick EL 713 Lecture Notes 9 . I. . it is necessary to add 1 to the index vector. >> g = [1 3 5 2] g = 1 3 5 >> n = 0:3 n = 0 1 >> mod(n-1. g [N − 1] = x[ −1 N ] = x[N − 1] 0 N ] = x[0] 1 N ] = x[1] N −2 N] N] = x[N − 2] For example. represents a circular shift by m samples. The following MATLAB code fragment illustrates the circular shift. 1. 5. the signal g [n] := x[ n − m N] represents a circular shift of x[n] by m samples to the right. 0 ≤ n ≤ N − 1}. 5). if x[n] is the 4-point signal x[n] = (1.4) 3 0 2 2 3 1 2 % Add 1 to account for MATLAB indexing 5 >> g(mod(n-1. . 3.CIRCULAR SHIFTING Given an N -point signal {x[n].4)+1) 2 1 3 Because indexing in MATLAB begins with 1 rather than with 0. For example. 3. 2) then x[ n − 1 x[ n − m N] N] = (2.

for m = 0:N-1 y = y + x(m+1)*g(mod(n-m.N)+1). The following MATLAB function illustrates how the circular convolution can be computed.g) y = 56 73 57 60 69 I. function y = cconv(x.CIRCULAR CONVOLUTION The usual convolution (or linear convolution) is deﬁned as N −1 x[n] ∗ g [n] := m=0 x[m]g [n − m]. >> y = cconv(x. then the term g [n − m] will fall outside the range. 0 ≤ n ≤ N − 1} and {g [n]. Selesnick EL 713 Lecture Notes 10 . But when x[n] and g [n] are deﬁned as N -point signals {x[n]. >> g = [7 3 5 2 4]. y = zeros(size(x)).g) % y = cconv(x.g) N = length(x). n = 0:N-1. 0 ≤ n ≤ N − 1}. The deﬁnition of circular convolution evaluates the index modulo N : N −1 x[n] ⊗ g [n] := m=0 x[m]g [ n − m N ]. end For example: >> x = [2 4 3 1 5].

5. 5.N)+1) ans = 1 2 5 3 I. . >> n = 0:N-1. . g [N − 1] = x[ 0 N ] = x[0] −1 N ] = x[N − 1] −2 N ] = x[N − 2] 1−N N] N] x[0] x[N − n] n=0 1 ≤ n ≤ N − 1. the signal g [n] := x[ −n is given by g [n] = as shown by: g [0] = x[ g [1] = x[ g [2] = x[ . 0 ≤ n ≤ N − 1}. = x[1]. 2) then x[ −n N] = (1. Selesnick EL 713 Lecture Notes 11 . The following MATLAB code fragment illustrates time-reversal for a 4-point signal. 3.TIME-REVERSAL Given an N -point signal {x[n]. For example. 2. >> g = [1 3 5 2] g = 1 3 5 2 >> N = 4. >> g(mod(-n. 3). if x[n] is the 4-point signal x[n] = (1.

But if x[n] is an N -point signal {x[n]. Selesnick EL 713 Lecture Notes 12 . 4. 2. 3) v [n] = (5. the sequences x[n] = (5. 2. 3. 4. N ]. 4. I. then the sample x[−n] falls outside the range. 2.CIRCULAR SYMMETRY A discrete-time signal x[n] is symmetric if x[n] = x[−n]. 3. 2. 3) are both circularly symmetric. 0 ≤ n ≤ N − 1}. The deﬁnition of circular symmetry evaluates the index modulo N . 4. 7. An N -point signal x[n] is circularly symmetric if x[n] = x[ −n For example.

. . and 1 x[n] = N = = 1 N 1 N N −1 X [k ] WN k=0 N −1 k·(l·N +r) −kr klN X [k ] WN · WN k=0 N −1 kr X [k ] WN k=0 = x[r] = x[ n N ]. N − 1. 0 ≤ k ≤ N − 1}. 0 ≤ n ≤ N − 1}. . then x[n] = x[ n N ]. Likewise. If the DFT formula is evaluated for k outside the range 0 ≤ k ≤ N − 1. To derive this equation. we deﬁned the DFT coeﬃcients X [k ] for 0 ≤ k ≤ N − 1. If the Inverse DFT formula is evaluated for n outside the range 0 ≤ n ≤ N − 1. .PERIODICITY PROPERTY Given the N -point signal {x[n]. given the N -point DFT vector {X [k ]. Then k N = r. we deﬁned the Inverse DFT samples x[n] for 0 ≤ n ≤ N − 1. But if n lies outside the range 0. . N − 1. But if k lies outside the range 0. . I. write n as n = l · N + r with 0 ≤ r ≤ N − 1. then one ﬁnds that X [k ] is periodic with period N . Then k N = r. . write k as k = l · N + r with 0 ≤ r ≤ N − 1. then one ﬁnds that x[n] is periodic with period N . Selesnick EL 713 Lecture Notes 13 . then X [k ] = X [ k N ]. . To derive this equation. and N −1 X [k ] = n=0 N −1 x[n] WN −n·(l·N +r) = n=0 N −1 −n l N −nr x[n] WN · WN = n=0 −nr x[n] WN = X [r] = X[ k N ].

0000i 0.0000 4. % shift W.0000 1.0000 3. property.CIRCULAR SHIFT PROPERTY If −mk G[k ] := WN · X [k ] then g [n] = x[ n − m Derivation: Begin with the Inverse DFT. ifft(G) I. >> >> >> >> >> >> >> >> >> g = 2. X [k ] WN k=0 k(n−m) = x[n − m] = x[ n − m N ]. N W X k m G g = = = = = = = length(x). Selesnick EL 713 Lecture Notes 14 .0000i x = [3 1 5 2 4]’. The following MATLAB code fragment illustrates the circular shift property with a shift of 2 samples. % N: data length exp(2*pi/N*sqrt(-1)).0000i 0.0000i 0. 1 g [n] = N = = 1 N 1 N N −1 nk G[k ] WN k=0 N −1 −mk nk WN X [k ] WN k=0 N −1 N ]. fft(x).0000 5.0000i 0. [0:N-1]’.* X.0000 + 0.^(-m*k) . % frequency index 2.

Selesnick EL 713 Lecture Notes 15 . N −1 N ].MODULATION PROPERTY (circular shift in frequency) If mn g [n] := WN · x[n] then G[k ] = X [ k − m Derivation: Begin with the DFT. I. G[k ] = n=0 N −1 −nk g [n] WN = n=0 N −1 −nk mn WN x[n] WN = n=0 x[n] WN −n(k−m) = X [k − m] = X[ k − m N ].

*fft(g))’ ans = 56.0000i 0.0000 60. Selesnick + + - 0.0000 57. >> x = [2 4 3 1 5].0000i 0.0000 I.0000i 0. Derivation: N −1 Y [k ] = = = m=0 N −1 −nk y [n]WN n=0 N −1 N −1 · n=0 m=0 N −1 x[m]g [ n − m N −1 −nk N ]WN x[m] · n=0 g[ n − m −nk N ]WN = m=0 −mk x[m]WN G[k ] N −1 = G[k ] · m=0 −mk x[m]WN = G[k ] · X [k ] The following MATLAB code fragment illustrates the DFT convolution theorem.0000i 0. >> cconv(x.CIRCULAR CONVOLUTION PROPERTY If N −1 y [n] := m=0 x[m]g [ n − m N] then Y [k ] = X [k ] · G[k ].0000 73.0000i EL 713 Lecture Notes 16 .g) ans = [ 56 73 57 60 69 ] >> ifft(fft(x).0000 69. >> g = [7 3 5 2 4].

7812 .0.0.5186i >> g = randn(1. >> x = randn(1.1.9655 .0. >> sum(x.2656 .1878i 0.N) + i*randn(1.1. >> N = 4.0.N) x = 0.0559i I.9655 .0.N) + i*randn(1.6644i 0.N) g = 0.PARSEVAL’S THEOREM N −1 x[n] · g ∗ [n] = n=0 1 · N N −1 X [k ] · G∗ [k ] k=0 Derivation: N −1 N −1 x[n] · g [n] = n=0 n=0 ∗ x[n] · 1 N 1 N 1 N N −1 1 N N −1 nk G[k ]WN ∗ k=0 N −1 −nk G∗ [k ]WN k=0 N −1 = = = x[n] · n=0 N −1 G∗ [k ] · k=0 N −1 n=0 −nk x[n]WN X [k ] · G∗ [k ] k=0 The following MATLAB code fragment illustrates Parseval’s theorem.*conj(g)) ans = 1.3274 .1859i -1.*conj(G))/N ans = 1. >> G = fft(g).0039 .2.8217 + 0.9863i -0.2341 .5690 . Selesnick EL 713 Lecture Notes 17 .3744i 0.9471i >> X = fft(x).6644i >> sum(X.0215 .1.2023i -0.

N)+1).0. ifft(G) I. >> >> >> >> >> >> g = 3.0000 7.0000 . The following MATLAB code fragment illustrates the time-reversal property. Selesnick EL 713 Lecture Notes 18 .0000 4.0.0000i N n x X G g = = = = = = 5.0000i + 0. X(mod(-n. [3 6 2 4 7]’.0000 6. N] G[k ] = n=0 N −1 x[ −n −nk N ]WN = m=0 N −1 x[m]WN − −m Nk = m=0 mk x[m]WN = X [−k ] = X [ −k N] N where we used the change of variables m = −n N (in which case n = −m for 0 ≤ n ≤ N − 1).0000i + 0.0000i .TIME-REVERSAL PROPERTY If g [n] := x[ −n then G[k ] = X [ −k Derivation: N −1 N ]. fft(x). 0:N-1.0000 2.

>> >> >> >> x = 3.0000i 3.0000i 9. Selesnick + + - 2.0000 I.’ >> X = fft(x).N)+1)).0000 6.0000i 7. 0:N-1.COMPLEX CONJUGATION PROPERTY If g [n] := x∗ [n] then G[k ] := X ∗ [ −k Derivation: N −1 N] G[k ] = n=0 −nk x∗ [n]WN N −1 ∗ nk x[n]WN n=0 ∗ = = X [−k ] = X ∗ [ −k N] The following MATLAB code fragment illustrates the complex conjugation property.0000i 9. >> g = ifft(G) g = 3.0000 + + + 2.0000i 7. >> G = conj(X(mod(-n.0000 4.0000 5.0000 8.0000i N n i x = = = = 5.0000 8.0000i 3.0000 6.0000i EL 713 Lecture Notes 19 .0000i 1.0000 5.0000i 1.0000 4. [3+2*i 5-3*i 6+i 4-7*i 8+9*i]. sqrt(-1).

5956i 1.4058 -5.7409 -1.7409 I. In this case.2094i 1.2094i 4. Xr [k ] = Xr [ −k N] and Xi [k ] = −Xi [ −k N ].5956i EL 713 Lecture Notes 20 .7780i 4. x[n] real =⇒ =⇒ X [k ] = X ∗ [ −k N ].3351 3. Derivation: x[n] real =⇒ =⇒ =⇒ x[n] = x∗ [n] DFT{x[n]} = DFT{x∗ [n]} X [k ] = X ∗ [ −k N ].7780i 4. Notice that Xi (0) must be 0 because when k is 0. The following MATLAB code fragment illustrates the circular symmetries present in the DFT of a real signal.0000 3. the relation X [k ] = X ∗ [ −k N ] gives Xi [0] = −Xi [0] . the signal is of odd length. >> x = [3 7 5 2 4 1 5]’ x = 3 7 5 2 4 1 5 >> X = fft(x) X = 27.4058 -1.REAL x[n] PROPERTY x[n] real Equivalently.3351 -5. Selesnick + + + 4. where Xr [k ] and Xi [k ] are the real and imaginary parts of X [k ].

2.2426 -1.4058 -5.7409 0 -4. the signal is of even length.3351 3.2426 3.4058 -1.5956 -1.0000 3.2426i + 2.2094 -4.0000 3.>> [real(X) imag(X)] ans = 27.2426 -1.2426 .0000i + 6.7780 4.2094 1. Notice that Xi (N/2) = 0 in this case.2426i + 4.7409 -1.2426i >> [real(X) imag(X)] ans = I.2426i .0000 -5.0000 -5.7780 4. Selesnick EL 713 Lecture Notes 21 .0000 3.4.3351 -5. >> x = [3 7 5 2 4 1 3 2]’ x = 3 7 5 2 4 1 3 2 >> X = fft(x) X = 27.6.0000i .5956 In the following example.

2426 4. Selesnick EL 713 Lecture Notes 22 .2426 0 2.0000 -5.0000 3.27.0000 -5.2426 -4.0000 -2.0000 6.2426 3.2426 0 -6.2426 -1.2426 -1.0000 3.2426 I.

The following example illustrates the DFT of a real circularly symmetric signal. Selesnick EL 713 Lecture Notes 23 .2426 .0000i + 0.Real and Circularly Symmetric x[n] When x[n] is real and circularly symmetric.2426 -1.0.0000 1.0000i .0.0000i + 0.0000 1.2426 9.2426 -1. I.0000 -7. then so is the DFT.0000 -7. >> x = [3 1 5 4 6 4 5 1]’ x = 3 1 5 4 6 4 5 1 >> X = fft(x) X = 29. {x[n] real and x[n] = x[ −n Derivation: x[n] real and x[n] = x[ −n Therefore {x[n] real and x[n] = x[ −n N ]} N] N ]} =⇒ {X [k ] real and X [k ] = X [ −k N ]} =⇒ X [k ] = X ∗ [ −k N] =⇒ =⇒ DFT{x[n]} = DFT{x[ −n X [k ] = X [ −k N ]. N ]} =⇒ =⇒ X [k ] = X ∗ [ −k N ] = X [ −k N ] X [k ] real and X [k ] = X [ −k N ].0000i Note that both x[n] and X [k ] are real and circularly symmetric.

Selesnick EL 713 Lecture Notes 24 .Summary of DFT Properties Periodicity Circular Shift Modulation Circular Convolution Time-Reversal Complex Conjugation Parseval’s Theorem X [k ] = X [ k N ] x[ n − m N ] mn WN · x[n] x[n] ⊗ g [n] x[ −n N ] x∗ [n] N −1 ∗ n=0 x[n] · g [n] = x[n] = x[ n N ] −mk WN · X [k ] X[ k − m N ] X [k ] · G[k ] X [ −k N ] X ∗ [ −k N ] N −1 ∗ · k =0 X [k ] · G [k ] 1 N I.

Sign up to vote on this title