7.16 discrete fourier transform - polytechnique montréal · discrete-time fourier transform 39...

31
38 Signals, Systems, Transforms and Digital Signal Processing with MATLAB i.e. F ( e jΩ ) = F [f [n]] is periodic with period 2π and its base period is given by ΠB (Ω) = u (Ω + B) - u - B) , -π Ω π. Example 7.17 Let x[n]=1. We have X(e jΩ )= n=-∞ e -jΩn =2π k=-∞ δ - 2) . From the duality property we may write 2π n=-∞ δ(t - 2) F.S.C. ←→ 1 i.e. n=-∞ δ(t - 2) F.S.C. ←→ 1/ (2π) which are the expected Fourier series coefficients of the impulse train. 7.16 Discrete Fourier Transform Let x[n] be an N -point finite sequence that is generally non-nil for 0 n N - 1 and nil otherwise. The z-transform of x[n] is given by X(z)= N-1 n=0 x[n]z -n . (7.112) Its Fourier transform is given by X e jΩ = N-1 n=0 x [n]e -jΩn . (7.113) We note that being the z-transform evaluated on the unit circle, X(e jΩ ) is periodic in Ω with period 2π. In fact, for k integer X e j(Ω+2) = N-1 n=0 x [n]e -j(Ω+2)n = N-1 n=0 x [n]e -jΩn = X e jΩ . (7.114) Similarly to the analysis of finite duration or periodic signals by Fourier series the analysis of finite duration or periodic sequences is the role of the Discrete Fourier Transform DFT. Moreover, in the same way that for continuous time signals the Fourier series is a sampling of the Fourier transform, for discrete time signals the DFT is a sampling of their Fourier transform. In particular, for an N -point finite duration sequence or a sequence that is periodic with a period N , the DFT is in fact a uniform sampling of the Fourier transform such that the unit circle is sampled into N points with an angular spacing of 2π/N , as shown in Fig. 7.28 for the case N = 16. The continuous angular frequency Ω is replaced by the discrete N values Ω k =2πk/N, k =0, 1, ..., N - 1. Denoting the DFT by the symbol X[k] we have its definition in the form X [k]= X e j2πk/N = N-1 n=0 x[n]e -j2πnk/N , k =0, 1, 2, ..., N - 1 (7.115)

Upload: hanhi

Post on 17-Jul-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

38 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

i.e. F(ejΩ)

= F [f [n]] is periodic with period 2π and its base period is given by

ΠB (Ω) = u (Ω + B)− u (Ω−B) , −π ≤ Ω ≤ π.

Example 7.17 Let x[n] = 1. We have

X(ejΩ) =

∞∑

n=−∞

e−jΩn = 2π

∞∑

k=−∞

δ (Ω− 2kπ) .

From the duality property we may write

2π∞∑

n=−∞

δ(t− 2nπ)F.S.C.←→ 1

i.e.∞∑

n=−∞

δ(t− 2nπ)F.S.C.←→ 1/ (2π)

which are the expected Fourier series coefficients of the impulse train.

7.16 Discrete Fourier Transform

Let x[n] be an N-point finite sequence that is generally non-nil for 0 ≤ n ≤ N − 1 and nilotherwise. The z-transform of x[n] is given by

X(z) =N−1∑

n=0

x[n]z−n. (7.112)

Its Fourier transform is given by

X(ejΩ)

=N−1∑

n=0

x [n]e−jΩn. (7.113)

We note that being the z-transform evaluated on the unit circle, X(ejΩ) is periodic in Ω withperiod 2π. In fact, for k integer

X(ej(Ω+2kπ)

)=

N−1∑

n=0

x [n]e−j(Ω+2kπ)n =

N−1∑

n=0

x [n]e−jΩn = X(ejΩ)

. (7.114)

Similarly to the analysis of finite duration or periodic signals by Fourier series the analysis of finiteduration or periodic sequences is the role of the Discrete Fourier Transform DFT. Moreover, in thesame way that for continuous time signals the Fourier series is a sampling of the Fourier transform,for discrete time signals the DFT is a sampling of their Fourier transform. In particular, for anN-point finite duration sequence or a sequence that is periodic with a period N , the DFT is in facta uniform sampling of the Fourier transform such that the unit circle is sampled into N points withan angular spacing of 2π/N , as shown in Fig. 7.28 for the case N = 16. The continuous angularfrequency Ω is replaced by the discrete N values Ωk = 2πk/N, k = 0, 1, . . . , N − 1. Denotingthe DFT by the symbol X[k] we have its definition in the form

X [k] = X(ej2πk/N

)=

N−1∑

n=0

x[n]e−j2πnk/N , k = 0, 1, 2, . . . , N − 1 (7.115)

Page 2: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 39

FIGURE 7.28

Unit circle divided into 16 points.

We note that the DFT is periodic in k with period N . This is the case since it’s a sampling of theFourier transform around the unit circle and

ej2π(k+mN)/N = ej2πk/N . (7.116)

The periodic sequence that is the periodic repetition of the DFT

X[k], k = 0, 1, 2, . . . (7.117)

is called the Discrete Fourier Series DFS and may be denoted by the symbol X[k]. The DFT istherefore only one period of the DFS as obtained by setting k = 0, 1, . . . , N − 1.

From the definition of the DFT:

X[k] =

N−1∑

n=0

x[n]e−j2πnk/N , k = 0, 1, . . . , N − 1 (7.118)

the inverse transform can be evaluated by multiplying both sides of the equation by ej2πr/N . Weobtain

X[k]ej2πkr/N =

N−1∑

n=0

x[n]e−j2πk(n−r)/N . (7.119)

Effecting the sum of both sides with respect to k

N−1∑

k=0

X[k]ej2πkr/N =

N−1∑

k=0

N−1∑

n=0

x[n]e−j2πk(n−r)/N =

N−1∑

n=0

x[n]

N−1∑

k=0

e−j2πk(n−r)/N . (7.120)

For integer m we have

N−1∑

k=0

e−j2πkm/N =

N, for m = pN, p integer0, otherwise

(7.121)

whenceN−1∑

k=0

e−j2πk(n−r)/N =

N, for n = r + pN, p integer0, otherwise

(7.122)

i.e.N−1∑

k=0

X[k]ej2πkr/N = Nx[r]. (7.123)

Replacing r by n we have the inverse transform

x[n] =1

N

N−1∑

k=0

X[k]ej2πnk/N . (7.124)

Page 3: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

40 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

Example 7.18 Evaluate the DTFT and the DFT of the sequence

x[n] = cos Bn RN (n)

The z-transform is given by

X (z) =

N−1∑

n=0

cos nBz−n =1

2

N−1∑

n=0

(ejBn + e−jBn

)z−n.

Let a = ejB

X (z) =N−1∑

n=0

(anz−n + a∗nz−n

)=

1

2

(1− aNz−N

1− az−1+

1− a∗Nz−N

1− a∗z−1

)

The transform X(z) can be re-written

X (z) =1− cos B z−1 − cos NB z−N + cos [(N − 1) B] z−(N+1)

1− 2 cos B z−1 + z−2.

The Fourier transform is written

X(ejΩ)

=1

2

[1− aNe−jNΩ

1− ae−jΩ+

1− a∗Ne−jNΩ

1− a∗e−jΩ

].

The student can verify that X(ejΩ)

can be written in the form

X(ejΩ)

= 0.5

ej(B−Ω)(N−1)/2SdN [(B − Ω) /2]

+ e−j(B+Ω)(N−1)/2SdN [(B + Ω)/2]

or, alternatively,

X(ejΩ)

=N

2Φ (Ω−B) + Φ (Ω + B)

where

Φ(Ω) =sin (NΩ/2)

N sin (Ω/2)e−j(N−1)Ω/2.

The absolute value and phase angle of the function Φ (Ω) are shown in Fig. 7.29 for N = 8.We note that the Fourier transform X

(ejΩ)

closely resembles the transform of a continuous time

FIGURE 7.29

The SdN function and transform.

Page 4: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 41

truncated sinusoid. The DFT is given by

X[k] = X(ej2πk/N

)=

N

2

Φ

(2π

Nk −B

)+ Φ

(2π

Nk + B

).

For the special case where the interval N contains an integer number of cycles we have

B =2π

Nm, m = 0, 1, 2, . . .

X [k] = (N/2)

N(k −m)

+ Φ

N(k + m)

]

=

N/2, k = m and k = N −m0, otherwise.

The DFT is thus composed of two discrete impulses, one at k = m, the other at k = N −m. Notethat in the ’well behaved’ case B = 2πm/N we can evaluate the DFT directly by writing

cos(Bn) =1

2

ej 2π

Nmn + e−j 2π

Nmn

=1

N

N−1∑

k=0

X [k]ej 2π

Nnk, n = 0, 1, . . . , N − 1..

Equating the coefficients of the exponentials we have

X [k] =

N/2, k = m, k = N −m0, otherwise.

We recall from Chapter ?? that the Fourier series of a truncated continuous time sinusoid con-tains in general two discrete sampling functions and that when the analysis interval is equal to theperiod of the sinusoid or to a multiple thereof the discrete Fourier series spectrum contains onlytwo impulses. We see the close relation between the Fourier series of continuous time signals andthe DFT of discrete time signals.

7.17 Discrete Fourier Series

We shall use the notation x [n] to denote a periodic sequence of period N , i.e.

x [n] = x [n + kN ] , k integer. (7.125)

We shall write X [k] = DFS [x [n]] meaning x [n]DF S←→ X [k]. Let x [n] be an aperiodic sequence.

A periodic sequence x [n] may be formed thereof in the form

x [n] = x [n] ∗∞∑

k=−∞

δ [n + kN ] =∞∑

k=−∞

x [n + kN ] , k integer. (7.126)

If x [n] is of finite duration 0 ≤ n ≤ N − 1, i.e. a sequence of length N the added shifted versionsthereof, forming x [n], do not overlap, and we have

x [n] = x [n mod N ] (7.127)

where n mod N means n modulo N ; meaning the remainder of the integer division n÷N . Forexample 70 mod 32 = 8.

If the sequence x [n] is of length L < N , again no overlapping occurs and in the range 0 ≤ n ≤N − 1 the value of x [n] is the same as x [n] followed by (N − L) zeros. If on the other hand thelength of the sequence x [n] is L > N , overlap occurs leading to superposition (“aliasing”) and wecan no more write x [n] = x [n mod N ] .

Page 5: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

42 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

7.18 DFT of a Sinusoidal Signal

Given a finite-duration sinusoidal signal xc(t) = sin(βt + θ)RT (t) of frequency β and duration T ,sampled with a sampling interval Ts and sampling frequency fs = 1/Ts Hz, i.e. ωs = 2π/Ts r/s andthe signal period is τ = 2π/β . For simplicity of presentation we let θ = 0, the more general caseof θ 6= 0 being similarly developed. We presently consider the particular case where the windowduration T is a multiple m of the signal period τ i.e. T = mτ , as can be seen in Fig. 7.30 for thecase m = 3.

t

T

N-1

t n,

x t x n( ), [ ]

Ts

04 128 2016

FIGURE 7.30

Sinusoid with 3 cycles during analysis window.

The discrete-time signal is given by x[n] = xc(nTs) = sin(Bn)RN [n], where B = βTs. We alsonote that the N-point DFT analysis corresponds to the signal window duration

T = mτ = NTs. (7.128)

We may write

B = βTs =2π

τTs =

Nm. (7.129)

sin(Bn) =1

2j

ej 2π

Nmn − e−j 2π

Nmn

=1

N

N−1∑

k=0

X [k]ej2πnk/N , n = 0, 1, . . . , N − 1.

Hence

X [k] =

∓jN/2, k = m, k = N −m0, otherwise.

We note that the fundamental frequency of analysis in the continuous-time domain, which may bedenoted by ω0 is given by ω0 = 2π/T . The sinusoidal signal frequency β is a multiple m of thefundamental frequency ω0 . In particular

β =2π

τ=

T/m= m

T= mω0. (7.130)

B = βTs = m2π

TTs = m

N. (7.131)

The unit circle is divided into N samples denoted k = 0, 1, 2, ..., N − 1 corresponding to thefrequencies Ω = 0, 2π/N, , 4π/N, ..., (N − 1)π/N . The k = 1 point is the fundamental frequency

Page 6: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 43

Ω0 = 2π/N . Since B = m2π/N its falls on the mth point of the circle as the mth harmonic. Itsconjugate falls on the point k = N −m.

The following example illustrates these observations.

Example 7.19 Given the signal xc(t) = sin βtRT (t), where β = 250π r/s and T = 24 ms. A C/Dconverter samples this signal at a frequency of 1000 Hz. At what values of k does the DFT X[k]display its spectral peaks?

The signal period is τ = 2π/β = 8 ms. The Rectangular window of duration T contains m =T/τ = 24/8 = 3 cycles of the signal as can be seen in Fig. 7.30. The sampling period is Ts = 1ms. The sampled signal is the sequence x[n] = sin BnRN [n], where B = βTs = π/4 and N =T/Ts = 24. The fundamental frequency of analysis is ω0 = 2π/T , and the signal frequency isβ = 2π/τ = (T/τ )ω0 = mω0. In the discrete-time domain

B = βTs =2π

τTs =

T/mTs =

Nm = mΩ0.

The spectral peak occurs at k = m = 3 and at k = N − m = 24 − 3 = 21, which are the polepositions of the corresponding infinite duration signal, as can be seen in Fig. 7.31.

6

12 0, , 2w ps

N = 24

23

18

b w=3 ,0 B

w W0 0,

FIGURE 7.31

Unit circle divided into 24 points.

Example 7.20 Let

v (t) = cos (25πt) RT (t)

Assuming a sampling frequency fs of 100 samples per second, evaluate the DFT if T = 1.28 sec.

Let Ts be the sampling interval. fs = 100 Hz, Ts = 1fs

= 0.01 sec, N = TTs

= 1.280.01

= 128.

v [n] = cos (25π × nTs) RN (n) = cos (0.25πn) RN (n) =4 cos (Bn) RN (n) .

Writing B = 0.25π = (2π/N)m, we have m = 16. The DFT X[k] has a peak on the unit circle atk = 16 and k = 128− 16 = 112.

V [k] =

N/2 = 64, k = 16, k = 1120, otherwise.

as seen in Fig. 7.32

Page 7: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

44 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

FIGURE 7.32

DFT of a sequence.

7.19 Deducing the Z-Transform from the DFT

Consider a finite duration sequence x [n] which is in general non-nil for 0 ≤ n ≤ N − 1 and nilotherwise, and its periodic extension x [n] with a period of repetition N

x [n] =

∞∑

k=−∞

x [n + kN ] . (7.132)

Since x [n] is of length N its periodic repetition with period N produces no overlap; hence x [n] =x [n] , 0 ≤ n ≤ N − 1. The z-transform of the sequence x [n] is given by

X (z) =N−1∑

n=0

x [n] z−n (7.133)

and its discrete Fourier series DFS is given by

X [k] =

N−1∑

n=0

x [n] e−j2πkn/N=4

N−1∑

n=0

x [n] W knN (7.134)

where WN = e−j2π/N is the N th root of unity. The inverse DFS is

x [n] = x [n] =1

N

N−1∑

k=0

X [k] ej2πkn/N=4

1

N

N−1∑

k=0

X [k] W−knN , 0 ≤ n ≤ N − 1 (7.135)

and the z-transform may thus be deduced from the DFS and hence from the DFT. We have

X (z) =

N−1∑

n=0

x [n] z−n =

N−1∑

n=0

1

N

N−1∑

k=0

X [k] W−knN z−n

=1

N

N−1∑

k=0

X [k]

N−1∑

n=0

W−knN z−n =

1− z−N

N

N−1∑

k=0

X [k]

1−W−kN z−1

=1− z−N

N

N−1∑

k=0

X [k]

1−W−kN z−1

(7.136)

which is an interpolation formula reconstructing the z-transform from the N-point DFT on thez plane unit circle. We can similarly obtain an interpolation formula reconstructing the Fourier

Page 8: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 45

transform X(ejΩ)

from the DFT. To this end we replace z by ejΩ in the above obtaining

X(ejΩ)

=1

N

N−1∑

k=0

X [k]1−W−kN

N e−jΩN

1−W−kN e−jΩ

=1

N

N−1∑

k=0

X [k]1− ej(2π/N)kNe−jΩN

1−W−kN e−jΩ

=1

N

N−1∑

k=0

X [k]e−j(Ω−2πk/N)(N−1)/2 sin (Ω− 2πk/N)N/2sin (Ω− 2πk/N) /2

=1

N

N−1∑

k=0

X [k]e−j(Ω−2πk/N)(N−1)/2SdN [(Ω− 2πk/N) /2]

(7.137)

The function SdN (Ω/2) = sin (NΩ/2) / sin (Ω/2) is depicted in Fig. 7.33 for the case N = 8.Note that over one period the function has zeros at values of Ω which are multiples of 2π/N = 2π/8.In fact

SdN (rπ/N) =sin (rπ)

sin (rπ/N)=

N, r = 00, r = 1, 2, . . . , N − 1.

(7.138)

Hence

X(ejΩ)|Ω=2πm/N =1

N

N−1∑

k=0

X [k]e−j(2π/N)(m−k)(N−1)/2

· SdN [π (m− k) /N ] = X [m]

(7.139)

confirming that the Fourier transform X(ejΩ)

curve passes through the N points of the DFT.

p ppp W

N W

FIGURE 7.33

The function SdN(Ω/2).

7.20 DFT vs DFS

The DFS is but a periodic repetition of the DFT. Consider a finite duration sequence x [n] of lengthN , i.e. a sequence that is nil except in the interval 0 ≤ n ≤ N − 1, we may extend it periodically

Page 9: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

46 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

with period N , obtaining the sequence

x [n] =

∞∑

k=−∞

x [n + kN ] . (7.140)

The DFS of x [n] is X [k] and the DFT is simply

X [k] = X [k] , 0 ≤ k ≤ N − 1. (7.141)

In other words the DFT is but the base period of the DFS. We may write the DFT in the form

X [k] =

N−1∑

n=0

x [n] e−j 2π

Nnk =

N−1∑

n=0

x [n] e−j 2π

Nnk, 0 ≤ k ≤ N − 1. (7.142)

The inverse DFT is

x [n] =1

N

N−1∑

n=0

X [k] ej 2π

Nnk, n = 0, 1, . . . , N − 1. (7.143)

In summary, as we have seen in Chapter ??, here again in evaluating the DFT of a sequence x [n]we automatically perform a periodic extension of x [n] obtaining the sequence x [n]. This in effectproduces the sequence “seen” by the DFS. We then evaluate the DFS and deduce the DFT byextracting the DFS coefficients in the base interval 0 ≤ k ≤ N − 1. It is common in the literatureto emphasize the fact that

X [k] = X [k] RN [k] (7.144)

where RN [k] is the N-point rectangle

RN [k] = u [k]− u [k −N ] (7.145)

that is, the DFT X [k] is an N-point rectangular window truncation of the periodic DFS X [k]. Theresult is an emphasis on the fact that X [k] is nil for values of k other than 0 ≤ k ≤ N − 1. Suchdistinction, however, adds no new information than that provided by the DFS, and is thereforeof little significance. In deducing and applying properties of the DFT a judicious approach is toperform a periodic extension, evaluate the DFS and finally deduce the DFT as its base period.

Example 7.21 Let x [n] be the rectangle x [n] = R4 [n]. Evaluate the Fourier transform, the8-point DFS and 8-point DFT of the sequence and its periodic repetition.

FIGURE 7.34

Rectangular sequence and periodic repetition.

Referring to Fig. 7.34 we have

X(ejΩ)

=

3∑

n=0

e−jΩn =1− e−j4Ω

1− e−jΩ=

e−j2Ω

e−jΩ/2

sin (4Ω/2)

sin Ω/2= e−j3Ω/2Sd4 (Ω/2)

Page 10: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 47

The DFS, with N = 8, of the periodic sequence x [n] =∞∑

k=−∞

x [n + 8k] is

X [k] = X(ejΩ)∣∣∣

Ω=(2π/N)k=

3∑

n=0

e−j 2π

Nkn = e−j3(π/8)kSd4 (πk/8)

The magnitude spectrum is

∣∣∣X [k]∣∣∣ =

4, k = 02.613, k = 1, 70, k = 2, 4, 61.082, k = 3, 5

which is plotted in Fig. 7.35. The DFT is the base period of the DFS, i.e.

FIGURE 7.35

Periodic discrete amplitude spectrum.

X [k] = X [k] RN [k] = e−j3πk/8Sd4 (πk/8) , k = 0, 1, . . . , 7.

7.21 Properties of DFS and DFT

The following are basic properties of Discrete Fourier Series.Linearity

The linearity property states that if x1 [n] and x2 [n] are periodic sequences of period N eachthen

x1 [n] + x2 [n]DF S←→ X1 [k] + X2 [k] . (7.146)

Shift in Time The shift in time property states that

x [n−m]DF S←→W km

N X [k] . (7.147)

Shift in Frequency The dual of the shift in time property states that

x [n] W−nmN

DF S←→ X [n−m] . (7.148)

Duality From the definition of the DFS and its inverse we may write

x [−n] =1

N

N−1∑

k=0

X [k] W nkN . (7.149)

Page 11: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

48 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

Replacing n by k and vice versa we have

x [−k] =1

N

N−1∑

n=0

X [n] W nkN =

1

NDFS

[X [n]

]. (7.150)

In other words if x [n]DF S←→ X [k] then X [n]

DF S←→ Nx [−k] . This same property applies to theDFT where, as always, operations such as reflection are performed on the periodic extensions of thetime and frequency sequences. The DFT is then simply the base period of the periodic sequence,extending from index 0 to index N − 1.

Example 7.22 We have evaluated the DFT X[k] and DFS X [k] of the rectangular sequence x[n]of example 7.21 and its periodic extension x [n] with a period N = 8, respectively, shown in Fig.7.34. From the duality property we deduce that given a sequence

y[n] = X [n] = X [n] RN [n] = e−j3πn/8Sd4 (πn/8)RN [n]

i.e.y[n] = e−j3πn/8Sd4 (πn/8) , n = 0, 1, . . . , 7.

and its periodic repetition y [n], the DFS of the latter is Y [k] = Nx [−k] and the DFT of y[n] is

Y [k] = Nx [−k] RN [k].

To visualize these sequences note that the complex periodic sequence

y [n] = X [n] = e−j3πn/8Sd4 (πn/8) ,

of which the absolute value is | y [n] |=| X [n] |, has the same absolute value as the spectrum shownin Fig. 7.35 with the index k replaced by n. The sequence y[n] has an absolute value which is thebase N = 8-point period of this sequence and is shown in Fig. 7.36

0 1 2 3 4 5 6 7 n

y n X n[ ] = [ ]| | | |

4

FIGURE 7.36

Base-period |y[n]| of periodic absolute value sequence y [n]

The transform Y [k] = Nx [−k] is visualized by reflecting the sequence x [n] of Fig. 7.34 aboutthe vertical axis and replacing the index n by k. The transform Y [k] is simply the N-point baseperiod of Y [k], as shown in Fig. 7.37

7.21.1 Periodic Convolution

Given two periodic sequences x [n] and v [n] of period N each, multiplication of their DFS X [k]and V [k] corresponds to periodic convolution of x [n] and v [n]. Let w [n] denote the periodicconvolution, written in the form

w [n] = x [n] ~ v [n] =

N−1∑

m=0

x [m] v [n−m] . (7.151)

Page 12: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 49

1 2 3 4 5 6 7 k

8

8 9 10 11

~Y N X -k[k]= [ ]~

-1-2-3

1 2 3 4 5 6 7 k

Y [k]

8

0

FIGURE 7.37

Reflection of a periodic sequence and base-period extraction.

The DFS of w [n] is given by

W [k] =

N−1∑

n=0

N−1∑

m=0

x [m] v [n−m]

e−j(2π/N)nk

=

N−1∑

m=0

x [m]

N−1∑

n=0

v [n−m] e−j(2π/N)nk.

(7.152)

Let n−m = r

W [k] =

N−1∑

m=0

x [m]

−m+N−1∑

r=−m

v [r] e−j(2π/N)(r+m)k

=N−1∑

m=0

x [m] e−j(2π/N)mkN−1∑

r=0

v [r] e−j(2π/N)rk = X [k] V [k] .

(7.153)

In other words

x [n] ~ v [n]DF S←→ X [k] V [k] . (7.154)

The dual of this property states that

x [n] v [n]DF S←→ (1/N) X [k] ~ V [k] . (7.155)

Example 7.23 Evaluate the periodic convolution z [n] = x [n] ~ v [n] for the two sequences x [n]and v [n] shown in Fig.7.38

Proceeding graphically as shown in the figure we fold the sequence v [n] about its axis and slidethe resulting sequence v [n−m] to the point m = n along the m axis evaluating successively thesum of the product x [m] v [n−m] for each value of n. We obtain the value of z [n], of which thebase period has the form shown in the following table.

n 0 1 2 3 4 5 6 7z [n] 16 12 7 3 6 10 13 17

The periodic sequence z [n] is depicted in Fig. 7.39

Page 13: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

50 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

FIGURE 7.38

Example of periodic convolution.

FIGURE 7.39

Circular convolution result.

Page 14: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 51

7.22 Circular Convolution

Circular convolution of two finite duration sequences, each N points long, is simply periodic con-volution followed by retaining only the base period. Symbolically we may write

x [n] v [n] = x [n] ~ v [n]RN [n] . (7.156)

x [n] v [n]DF T←→ X [k] V [k] (7.157)

x [n] v [n]DF T←→ (1/N)X [k] V [k] . (7.158)

The practical approach is therefore to simply perform periodic convolution then extract the baseperiod, obtaining the circular convolution.

In other words, circular convolution is given by

x [n] v [n] =

[N−1∑

m=0

x [m] v [n−m]

]RN [n] =

[N−1∑

m=0

v [m] x [n−m]

]RN [n] (7.159)

For the case of the two sequences defined in the last example, circular convolution would beevaluated identically as periodic convolution, as seen in the example, followed by retaining onlythe base period of the evaluate periodic convolution z [n], i.e.

x [n] v [n] = z [n] RN [n]

x [n] v [n] = 16, 12, 7, 3, 6, 10, 13, 17, for n = 0, 1, 2, 3, 4, 5, 6, 7.Circular convolution is not the same but can be related to the usual linear convolution. Let y [n]

be the N-point linear convolution of two finite length sequences x [n] and v [n]

y [n] = x [n] ∗ v [n] , (7.160)

circular convolution is given by

x [n] v [n] =

∞∑

k=−∞

y [n + kN ]

RN [n] . (7.161)

Circular convolution is therefore the aliasing (superposition of shifted versions) of the linearconvolution sequence y [n]. Note that if the length of y [n] is less than or equal to N then the sum onthe right hand side includes in the interval 0 ≤ n ≤ N−1 only the component y [n], while all othercomponents such as y [n−N ], y [n + N ] fall outside that interval so that y [n + kN ] RN [n] = 0for k 6= 0 and

x [n] v [n] = x [n] ∗ v [n] (7.162)

i.e. in this case circular convolution is the same as linear convolution. If the sequences x [n] andv [n] are of lengths N1 and N2, the linear convolution sequence y [n] is of length N1 + N2− 1. If anN-point circular convolution is effected the result would be the same as linear convolution if andonly if N ≥ N1 + N2 − 1.

Example 7.24 Evaluate the linear convolution y [n] = x [n]∗v [n] of the sequences x [n] and v [n]which are the base periods of x [n] and v [n] of the last example.

Proceeding similarly, as shown in Fig. 7.40, we obtain the linear convolution y [n] which may belisted in the form of the following table.

n 0 1 2 3 4 5 6 7 8 9 10y [n] 0 0 1 3 6 10 13 17 16 12 6

Page 15: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

52 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

FIGURE 7.40

Linear convolution of two sequences.

The sequence y [n] is depicted in Fig. 7.41.

To deduce the value of circular convolution z [n] from the linear convolution y [n] we constructthe following table, where z[n] = y[n] + y[n + 8]. obtaining the circular convolution z [n] as found

y [n] 0 0 1 3 6 10 13 17 16 12 6 0 0 0y [n + 8] 16 12 6 0 0 0 0 0 0 0 0 0 0 0z [n] 16 12 7 3 6 10 13 17 0 0 0 0 0 0

above.

7.23 Circular Convolution using the DFT

The following example illustrates circular convolution using the DFT.

Example 7.25 Consider the circular convolution of the two sequences x [n] and v [n] of the last

Page 16: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 53

n

16

12

8

4

1 2 83 4 5 6 7 9 10

y n[ ]

FIGURE 7.41

Linear convolution results.

example. We evaluate X [k], V [k] and their product and verify that the circular convolution z [n] =x [n] ~ v [n] has the DFS X [k] = X [k] V [k]. By extracting the N-point base period we concludethat the DFT relation Z [k] = X [k] V [k] also holds.

The sequences x [n] and v [n] are periodic with period N = 8.

For 0 ≤ n ≤ 7 we have

x [n] = δ [n] + δ [n− 1] + 2δ [n− 2] + 2δ [n− 3] + 3δ [n− 4] + 3δ [n− 5]

v [n] = δ [n− 2] + 2 δ [n− 3] + 2δ [n− 4] + 2δ [n− 5]

X [k] =

N−1∑

n=0

x [n] e−j(2π/N)nk

= 1 + e−j(2π/8)k + 2e−j(2π/8)2k + 2e−j(2π/8)3k

+ 3e−j(2π/8)4k + 3e−j(2π/8)5k

X [k] = X [k] RN [k] = X [k] , k = 0, 1, . . . , N − 1

V [k] = e−j(2π/8)2k + 2

e−j(2π/8)3k + e−j(2π/8)4k + e−j(2π/8)5k

V [k] = V [k] RN [k] = V [k] , k = 0, 1, . . . , N − 1.

Letting w = e−j(2π/8)k we have

X [k] = 1 + w + 2w2 + 2w3 + 3w4 + 3w5

V [k] = 2w2 + 3w3 + 3w4 + 3w5.

Multiplying the two polynomials noticing that wk = wk mod 8, we have

Z [k] = X [k] V [k] = 16 + 12w + 7w2 + 3w3 + 6w4

+ 10w5 + 13w6 + 17w7, 0 ≤ k ≤ N − 1

X [k] V [k] = Z [k] RN [k] = Z [k] , 0 ≤ k ≤ 7.

The inverse transform of Z [k] is

z [n] = 16δ [n] + 12δ [n− 1] + 7δ [n− 2] + 3δ [n− 3] + 6δ [n− 4]+ 10δ [n− 5] + 13δ [n− 6] + 17δ [n− 7] , 0 ≤ n ≤ N − 1

and

z [n] = z [n] , 0 ≤ n ≤ N − 1.

This is the same result obtained above by performing circular convolution directly in the timedomain.

as stated.

Page 17: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

54 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

7.24 Sampling the Spectrum

Let x [n] be an aperiodic sequence with z-transform X (z) and Fourier transform X(ejΩ).

X (z) =

∞∑

n=−∞

x [n] z−n (7.163)

X(ejΩ)

=

∞∑

n=−∞

x [n] e−jΩn. (7.164)

Sampling the z-transform on the unit circle uniformly into N points, that is at Ω = [2π/N ] k, k =0, 1, . . . , N − 1 we obtain the periodic DFS

X [k] =∞∑

n=−∞

x [n] e−j(2π/N)nk. (7.165)

We recall, on the other hand, that the same DFS

X [k] =

N−1∑

n=0

x [n] e−j(2π/N)nk (7.166)

is the expansion of a periodic sequence x [n] of period N . To show that x [n] is but an aliasing ofthe aperiodic sequence x [n] we use the inverse relation

x [n] =1

N

N−1∑

k=0

X [k]ej(2π/N)nk =1

N

N−1∑

k=0

∞∑

m=−∞

x [m]e−j(2π/N)mkej(2π/N)nk

=1

N

∞∑

m=−∞

x [m]

N−1∑

k=0

ej(2π/N)(n−m)k.

(7.167)

Now

1

N

N−1∑

k=0

ej(2π/N)(n−m)k =

1, m− n = lN0, otherwise

(7.168)

wherefrom

x [n] =∞∑

l=−∞

x [n + lN ] (7.169)

confirming that sampling the Fourier transform of an aperiodic sequence x [n], leading to the DFS,has for effect aliasing in time of the sequence x [n], which results in a periodic sequence x [n] thatcan be quite different from x [n]. If on the other hand x [n] is of length N or less the resultingsequence x [n] is a simple periodic extension of x [n]. Since the DFT is but the base period of theDFS these same remarks apply directly to the DFT.

7.25 Table of Properties of DFS and DFT

Table 7.3 summarizes basic properties of the DFS expansion. Since the DFT of an N-point sequencex [n] is but the base period of the DFS expansion of x [n], the periodic extension of x [n], the sameproperties apply to the DFT. We simply replace the sequence x [n] by its periodic extension x [n],apply the DFS property and extract the base period of the resulting DFS. The following exampleillustrates the approach in applying the shift in time property, which states that if x [n] ↔ X [k]then x [n−m]↔ e−j(2π/N)kmX [k].

Page 18: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 55

FIGURE 7.41

Discrete Fourier series DFS properties.

Time n Frequency k

x [n] X [k]

x∗ [n] X∗ [−k]

x∗ [−n] X∗ [k]

x [n−m] e−j(2π/N)kmX [k]

ej(2π/N)mnx [n] X [k −m]

x [n] ~ v [n] X [k] V [k]

x [n] v [n] (1/N) X [k] ~ V [k]

Proof of Shift in Time Property

Let v [n] = x [n−m]

V [k] =

N−1∑

n=0

x [n−m] e−j(2π/N)km. (7.170)

Let n−m = r

V [k] =

−m+N−1∑

r=−m

x [r] e−j(2π/N)k(r+m)

= e−j(2π/N)kmN−1∑

r=0

x [r] e−j(2π/N)kr = e−j(2π/N)kmX [k]

(7.171)

i.e.

x [n−m]↔ e−j(2π/N)kmX [k] . (7.172)

Note that if the amount of shift m is greater than N the resulting shift is by m mod N since thesequence x [n] is periodic of period N .

7.26 Shift in Time and Circular Shift

Given a periodic sequence x [n] of period N the name circular shift refers to shifting the sequenceby say m samples followed by extracting the base period, that is, the period 0 ≤ n ≤ N − 1. Ifwe consider the result of the shift on the base period before and after the shift we deduce that theresult is a rotation, a circular shift, of the N samples. For example if the periodic sequence has aperiod N = 8 and has the values . . . , 2, 9, 8, 7, 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, . . . withthe base period x [n] = 2, 9, 8, 7, 6, 5, 4, 3 for n = 0, 1, 2, . . . , 7, as shown in Fig. 7.42 (a) thenif it is shifted one point to the right the resulting base period is x [n− 1] = 3, 2, 9, 8, 7, 6, 5, 4as shown in Fig. 7.42 (b). If shifted instead by two points to the right the resulting sequenceis x [n− 2] = 4, 3, 2, 9, 8, 7, 6, 5, as shown in Fig. 7.42 (c). We note that the effect is a simple

Page 19: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

56 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

rotation to the right by the number of shifts. If the shift of x [n] is to the left by one point the resultis x [n + 1] = 9, 8, 7, 6, 5, 4, 3, 2, as shown in Fig. 7.42 (d) . See Fig. 7.42 The base period of x [n]

FIGURE 7.42

Circular shift operations.

is given by x [n] RN [n], that of x [n−m] is x [n−m] RN [n] as shown in the figure. The arrow inthe figure is the reference point. Shifting the sequence x [n] to the right by k points corresponds tothe unit circle as a wheel turning anti-clockwise k steps and reading the values starting from thereference point and vice versa.

Note: The properties listed are those of the DFS, but apply equally to the DFT with theproper interpretation that x [n] and X [k] are periodic extensions of the N-point sequences x [n]and X [k], that X [k] = X [k] RN [k] and x [n] = x [n] RN [n]. The shift in time producingx [n−m] is equivalent to circular shift and the periodic convolution x [n] ~ v [n] is equivalent tocyclic convolution in the DFT domain.

7.27 Table of DFT Properties

Properties of the DFT are listed in Table 7.4. In this table the notation x[((k))N

]stands for

x [k mod N ]. As noted above, the properties are the same as those of the DFS except for atruncation of a periodic sequence to extract its base period.

Page 20: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 57

FIGURE 7.42

DFT properties.

Time n Frequency k

x [n] X [k]

x∗ [n] X∗ [((−k))N ]

x∗ [((−n))N ] X∗ [k]

x [((n−m))N ] e−j(2π/N)kmX [k]

ej(2π/N)mnx [n] X [((k −m))N ]

x [n] v [n] X [k] V [k]

x [n] v [n] (1/N)X [k] V [k]

7.28 Zero Padding

Consider a sequence of x [n] of length N defined over the interval 0 ≤ n ≤ N − 1 and zeroelsewhere, and its periodic repetition x [n]. We study the effect on the DFT of annexing N zeros,called padding with zeros leading to a sequence x2 [n] of length 2N . More generally, we considerpadding the sequence x [n] with zeros leading to a sequence x4 [n] say of length 4N , x8 [n] of length8N and higher.

The addition of N zeros to the sequence implies that the new periodic sequence x2 [n] is equivalentto a convolution of the original N-point sequence x [n] with an impulse train of period 2N . Theresult is a sequence of a period double the original period N of the sequence x [n], which is buta convolution of the sequence x [n] with an impulse train of period N . The effect of doubling theperiod is that in the frequency domain the DFS X2 [k] and the DFT X2 [k] are but finer sampling ofthe unit circle; into 2N points rather than N points. Similarly zero padding leading to a sequencex4 [n] of length 4N produces a DFT X4 [k] that is a finer still sampling of the unit circle into 4Npoints, and so on. We conclude that zero padding leads to finer sampling of the Fourier transformX(ejΩ), that is, to an interpolation between the samples of X [k].

The duality between time and frequency domains implies moreover that given a DFT X [k] andDFS X [k] of a sequence x [n], zero padding of the X [k] and, equivalently, X [k], leading to a DFTsequence X2 [k] corresponds to convolution in the frequency domain of X [k] with an impulse trainof period 2N . This implies multiplication in the time domain of the sequence x [n] by an impulsetrain of double the frequency such that the resulting sequence x2 [n] is a finer sampling, by a factorof two, of the original sequence x [n]. Similarly, zero padding X [k] leading to a sequence X4 [k]of length 4N has for effect a finer sampling, by a factor of 4, i.e. interpolation, of the originalsequence x [n].

Example 7.26 Let x [n] = RN [n]

X(ejΩ)

=

N−1∑

n=0

e−jΩn =1− e−jΩN

1− e−jΩ=

e−jΩN/2

e−jΩ/2

2j sin (ΩN/2)

2j sin (Ω/2)

= e−jΩ(N−1)/2 sin (NΩ/2)

sin (Ω/2)= e−jΩ(N−1)/2SdN (Ω/2) .

(7.173)

Page 21: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

58 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

We consider the case N = 4 sot that x [n] = R4 [n] and then the case of padding x [n] withzeros obtaining the 16 point sequence

y [n] =

x [n] , n = 0, 1, 2, 30, n = 4, 5, . . . , 15.

(7.174)

We have

X [k] =3∑

n=0

e−j(2π/4)nk = X(ejΩ)∣∣

Ω=(2π/4)k= e−j(3/2)(π/2)kSd4 (kπ/4)

=

N = 4, k = 00, k = 1, 2, 3

(7.175)

Y [k] =

3∑

n=0

e−j(2π/16)nk =1− e−j(2π/16)4k

1− e−j(2π/16)k

=e−j(2π/16)2k

e−j(2π/16)k/2

sin [(2π/16) 2k]

sin [(2π/16) k/2]= e−j(2π/16)(3k/2)Sd4 (kπ/16)

(7.176)

which is a four times finer sampling of X(ejΩ)

than in the case of X [k].

Example 7.27 Consider a sinusoid xc(t) = sin(ω1t), where ω1 = 2πf1), sampled at a frequencyfs = 25600 Hz. The sinusoid is sampled for a duration of τ = 2.5 msec into N1 samples. Thefrequency f1 of xc(t) is such that in the time interval (0, τ ) there are 8.5 cycles of the sinusoid.a) Evaluate the 64-point FFT of the sequence x[n] = xc(nTs, where Ts is the sampling intervalTs = 1/fs.b) Apply zero padding by annexing 192 zeros to the samples of the sequence x[n]. Evaluate the256-point FFT of the padded signal vector. Observe the interpolation and the higher spectral peaksthat appear thanks to zero padding.

The following Matlab program evaluates the FFT of the signal x[n] and subsequently that of thezero-padded vector xz[n].

% Zero padding example. Corinthios 2008fs=25600 % sampling frequencyTs=1/fs % sampling period Ts = 3.9063x10( − 5)tau=0.0025 % duration of sinusoidN1=0.0025/Ts % N1=64t=(0:N1-1)*Ts % time in seconds% tau contains 8.5 cycles of sinusoid and 64 samples.tau1=tau/8.5 % tau1 is the period of the sinusoid.% f1 is the frequency of the sinusoid in Hz.f1=1/tau1w1=2*pi*f1x=sin(w1*t);figure(1)stem(t,x)title(’x[n]’)X=fft(x);% N1=64 samples on unit circle cover the range 0 to fs Hzfreq=(0:63)*fs/64;Xabs=abs(X);figure(2)stem(freq,Xabs)title(’Xabs[k]’)% Add 28 − 64 = 192 zeros.N = 28

Page 22: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 59

T = N ∗ Ts % Duration of zero-padded vector.xz=[x zeros(1,192)]; % xz is x with zero paddingt = (0 : N − 1) ∗ Ts % t=(0:255)*Tsfigure(3)stem(t,xz)title(’Zero-padded vector xz[n]’)Xz=fft(xz);Xzabs=abs(Xz);freqf = (0 : 255) ∗ fs/256; % frequency finer-sampling vectorfigure(4)stem(freqf,Xzabs)title(’Xzabs[k]’)See Matlab program zero padding example sinusoid.m

The signal x[n] is depicted in Fig. 7.43 (a). The modulus |X[k]| of its DFT can be seen inFig. 7.43 (b). We note that the signal frequency falls in the middle between two samples on theunit circle. Hence the peak of the spectrum |X[k]| which should equal N1/2 = 32 falls between twosamples and cannot be seen. The zero-padded signal xz[n] is shown in Fig. 7.43 (c). The modulus|Xz[k]| of the DFT of the zero padded signal can be seen in Fig. 7.43 (d).

0 0.5 1 1.5 2 2.5 3

x 104

0

5

10

15

20

25

30

35Xzabs[k]

0 0.002 0.004 0.006 0.008 0.01-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Zero-padded vector xz[n]

0 0.5 1 1.5 2 2.5 3

x 104

0

5

10

15

20

25Xabs[k]

0 0.5 1 1.5 2 2.5

x 10-3

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1x[n]

(a) (b)

(d)(c)

FIGURE 7.43

Zero-padding: (a) A sinusoidal sequence, (b) 64-point DFT, (c) zero padded sequence to256 points, (d) 256-point DFT of padded sequence.

We note that interpolation has been effected, revealing the spectral peak of N1/2 = 32, whichnow falls on one of the N = 256 samples around the unit circle. By increasing the sequence length

Page 23: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

60 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

through zero padding to N = 4N1 an interpolation of the DFT spectrum by a factor of 4 has beenachieved.

7.29 Discrete Z -Transform

A ’Discrete z Transform’ DZT may be defined as the result of sampling a circle in the z planecentered about the origin. Note that the DFT is a special case of the DZT obtained if the radiusof the circle is unity. An approach to system identification pole-zero modeling employing DZTevaluation and a weighting of z transform spectra has been proposed as an alternative to the wellknow Prony’s Approach [5]. A system is given as a black box and the objective is to evaluate itspoles and zeros by applying a finite duration input sequence or an impulse and observing its finiteduration output. The approach is based on the fact that knowing only a finite duration of theimpulse response the evaluation of the DZT on a circle identifies fairly accurately the frequency ofthe least damping poles. However, identification of the components’ damping coefficients, i.e. theradius of the pole or pole-pair cannot be deduced through radial z transforms since spectra alonga radial contour passing through the pole-zero rises exponentially toword the origin of the z planedue to a multiple pole at the origin of the transform of such a finite duration sequence.

The proposed weighting of spectra unmasks the poles identifying their location in the z planeboth in angle and radius as shown in Fig. 7.44 [?]. Once the pole locations and their residues arefound the zeros are deduced. The least damped poles are thus deleted ’deflating’ the system, i.e.reducing its order. The process is repeated identifying the new least damped poles and so on untilall the poles and zeros have been identified. In [?] an example is given showing the identificationof a system of the 14th order.

Example 7.28 Given the sequence

x [n] = an u [n]− u [n−N ]

with a = 0.7 and N = 16.a) Evaluate the z-transform X (z) of x [n], stating its ROC.b) Evaluate and sketch the poles and zeros of X (z) in the z plane.c) Evaluate the z-transform on a circle of radius a in the z plane.d) Evaluate Xa [k], the ’Discrete z Transform’ DZT along the circle of radius a, by sampling the

z-transform along the circle at frequencies Ω = 0, 2π/N , 3π/N , . . ., (N − 1) π/N , similarly to thesampling the DFT effects along the unit circle.

We havex [n] = anRN [n]

a) X (z) =N−1∑

n=0

anz−n =1− aNz−N

1− az−1, z 6= 0

=zN − aN

zN−1 (z − a).

b) ZerosaNz−N = 1 = e−j2πk

zN = aNej2πk

z = aej2πk/N = 0.7ej2πk/16

implying a coincidence pole-zero at z = a, pole of order N − 1 at z = 0. See Fig. 7.45.

c) X(aejΩ

)=

1− e−jΩN

1− e−jΩ= e−jΩ(N−1)/2 sin (NΩ/2)

sin (Ω/2)= e−jΩ(N−1)/2SdN (Ω/2) .

Page 24: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 61

FIGURE 7.44

3D plot of weighted z spectrum unmasking a pole pair.

d) Xa [k] =1− e−j2πk

1− e−j2πk/N=

N, k = 00, k = 1, 2, . . . , N − 1.

Example 7.29 Evaluate the Fourier transform of the sequence

x[n] =

1− |n|

N, −N ≤ n ≤ N

0, otherwise.

where N is odd. Using duality deduce the corresponding Fourier series expansion and Fouriertransform. Evaluate the Fourier transform of the sequence x1[n] = x[n−N . We may write

x[n] = v[n] ∗ v[n]

wherev[n] = Π(N−1)/2[n]

X(ejΩ)

=[V(ejΩ)]2

= Sd2N (Ω/2) =

sin (NΩ/2)

sin (Ω/2)

2

.

Page 25: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

62 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

FIGURE 7.45

Sampling a circle of general radius.

Using duality we have

Sd2N (t/2)

F SC←→ Vn =

1− |n|

N, −N ≤ n ≤ N

0, otherwise

and

Sd2N (t/2)

F←→ V (jω) = 2πN∑

n=−N

(1− |n| /N) δ (ω − n) .

X1

(ejΩ)

= e−jΩNSd2N (Ω/2) .

7.30 Fast Fourier Transform

The Fast Fourier Transform FFT is an efficient algorithm that reduces the computations requiredfor the evaluation of the DFT. In what follows the derivation of the FFT is developed starting witha simple example of the DFT of N = 8 points. The DFT can be written in matrix form. Thisform is chosen since it makes it easy to visualize the operations in the DFT and its conversion tothe FFT.

To express the DFT in matrix form we define an input data vector x of dimension N the elementsof which are the successive elements of the input sequence x[n]. Similarly we define a vector X ofwhich the elements are the coefficients X[k] of the Discrete Fourier Transform.

The DFT

X [k] =N−1∑

n=0

x [n]e−j2πnk/N (7.177)

can thus be written in matrix form as

X = FN x (7.178)

where FN is an N ×N matrix of which the elements are given by

[FN ]rs = wrs (7.179)

and

w = e−j 2π

N . (7.180)

The inverse relation is written

x =1

NF ∗

NX. (7.181)

Note that pre-multiplication of a square matrix A by a diagonal Matrix D producing the matrixC = D A may be obtained by multiplying the successive elements of the diagonal matrix D by thesuccessive rows of A . Conversely, post-multiplication of a square matrix A by a diagonal Matrix

Page 26: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 63

D producing the matrix C = A D may be obtained by multiplying the successive elements of thediagonal matrix D by the successive columns of A. The following example shows the factorizationof the matrix FN , which leads to the Fast Fourier Transform.

Example 7.30

FIGURE 7.46

Unit circle divided into N = 8 points.

Let N = 8. The unit circle is divided as shown in Fig. 7.46. We have

X =

w0 w0 w0 w0 w0 w0 w0 w0

w0 w1 w2 w3 w4 w5 w6 w7

w0 w2 w4 w6 w0 w2 w4 w6

w0 w3 w6 w1 w4 w7 w2 w5

w0 w4 w0 w4 w0 w4 w0 w4

w0 w5 w2 w7 w4 w1 w6 w3

w0 w6 w4 w2 w0 w6 w4 w2

w0 w7 w6 w5 w4 w3 w2 w1

x0

x1

x2

x3

x4

x5

x6

x7

=

w0 w0 w0 w0 w0 w0 w0 w0

w0 w1 w2 w3 −w0 −w1 −w2 −w3

w0 w2 −w0 −w2 w0 w2 −w0 −w2

w0 w3 −w2 w1 −w0 −w3 w2 −w1

w0 −w0 w0 −w0 w0 −w0 w0 −w0

w0 −w1 w2 −w3 −w0 w1 −w2 w3

w0 −w2 −w0 w2 w0 −w2 −w0 w2

w0 −w3 −w2 −w1 −w0 w3 w2 w1

x0

x1

x2

x3

x4

x5

x6

x7

since w4 = −w0, w5 = −w1, w6 = −w2, and w7 = −w3. We may re-write this matrix relationas the set of equations

X0 = x0 + x1 + . . . x7

X1 = (x0 − x4)w0 + (x1 − x5) w1 + (x2 − x6) w2 + (x3 − x7) w3

X2 = (x0 + x4)w0 + (x1 + x5) w2 − (x2 + x6) w0 − (x3 + x7) w2

X3 = (x0 − x4)w0 + (x1 − x5) w3 − (x2 − x6) w2 + (x3 − x7) w1

X4 = (x0 + x4)w0 − (x1 + x5) w0 + (x2 + x6) w0 − (x3 + x7) w0

X5 = (x0 − x4)w0 − (x1 − x5) w1 + (x2 − x6) w2 − (x3 − x7) w3

X6 = (x0 + x4)w0 − (x1 + x5) w2 − (x2 + x6) w0 + (x3 + x7) w2

X7 = (x0 − x4)w0 − (x1 − x5) w3 − (x2 − x6) w2 − (x3 − x7) w1.

Page 27: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

64 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

These operations can be expressed back in matrix form:

X =

w0 w0 w0 w0

w0 w1 w2 w3

w0 w2 −w0 −w2

w0 w3 −w2 w1

w0 −w0 w0 −w0

w0 −w1 w2 −w3

w0 −w2 −w0 w2

w0 −w3 −w2 −w1

x0 + x4

x1 + x5

x2 + x6

x3 + x7

x0 − x4

x1 − x5

x2 − x6

x3 − x7

︸ ︷︷ ︸g

.

Calling the vector on the right g we can re-write this equation in the form:

X =

w0 w0 w0 w0

w0 w0 w0 w0

w0 w2 −w0 −w2

w0 w2 −w0 −w2

w0 −w0 w0 −w0

w0 −w0 w0 −w0

w0 −w2 −w0 w2

w0 −w2 −w0 w2

× diag(w0, w0, w0, w0, w0, w1, w2, w3) g.

Let

h = diag(w0, w0, w0, w0, w0, w1, w2, w3) g.

A graphical representation of this last equation is shown on the left side of Fig. 7.47. We can write

X0 = (h0 + h2)w0 + (h1 + h3) w0

X1 = (h4 + h6)w0 + (h5 + h7) w0

X2 = (h0 − h2)w0 + (h1 − h3) w2

X3 = (h4 − h6)w0 + (h5 − h7) w2

X4 = (h0 + h2)w0 − (h1 + h3) w0

X5 = (h4 + h6)w0 − (h5 + h7) w0

X6 = (h0 − h2)w0 − (h1 − h3) w2

X7 = (h4 − h6)w0 − (h5 − h7) w2

which can be re-written in the form

X =

w0 w0

w0 w0

w0 w2

w0 w2

w0 −w0

w0 −w0

w0 −w2

w0 −w2

h0 + h2

h1 + h3

h0 − h2

h1 − h3

h4 + h6

h5 + h7

h4 − h6

h5 − h7

︸ ︷︷ ︸l

.

Denoting by l the vector on the right the relation between the vectors h and l can be representedgraphically as shown in the figure. We can write

Page 28: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 65

FIGURE 7.47

Steps in factorization of the DFT.

X =

w0 w0

w0 w0

w0 w0

w0 w0

w0 −w0

w0 −w0

w0 −w0

w0 −w0

× diag(w0, w0, w0, w2, w0, w0, w0, w2

)l.

Let

v = diag(w0, w0, w0, w2, w0, w0, w0, w2) l.

We haveX0 = (v0 + v1)X1 = (v4 + v5)X2 = (v2 + v3)X3 = (v6 + v7)X4 = (v0 − v1)X5 = (v4 − v5)X6 = (v2 − v3)X7 = (v6 − v7) .

These relations are represented graphically in the figure. The overall factorization diagram is shownin Fig. 7.48. We note that the output of the diagram is not the vector X in normal order. Theoutput vector is in fact a vector X ′ which is the same as X but is in “reverse bit order”. As weshall see shortly.

We now write this factorization more formally in order to obtain a factorization valid for aninput sequence of a general length of N elements. Let

T2 =

[1 11 −1

]. (7.182)

Page 29: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

66 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

FIGURE 7.48

An FFT factorization of the DFT.

The Kronecker product A×B of two matrices A and B result in a matrix having the elements bij

of B replaced by the product Abij . For example, let

A =

[a00 a01

a10 a11

](7.183)

and

B =

[b00 b01

b10 b11

]. (7.184)

The Kronecker product A×B is given by :

A×B =

[Ab00 Ab01

Ab10 Ab11

]=

a00b00 a01b00 a00b01 a01b01

a10b00 a11b00 a10b01 a11b01

a00b10 a01b10 a00b11 a01b11

a10b10 a11b10 a10b11 a11b11

(7.185)

so that we may write for example

I4 × T2 =

1 11 1

1 11 1

1 −11 −1

1 −11 −1

. (7.186)

Let

D2 = diag(w0, w0) = diag(1, 1) (7.187)

D4 = diag(w0, w0, w0, w2) (7.188)

D8 = diag(w0, w0, w0, w0, w0, w1, w2, w3). (7.189)

Page 30: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

Discrete-Time Fourier Transform 67

Using these definitions we can write the matrix relations using the Kronecker product. We have

g = (I4 × T2)x (7.190)

h = D8 g (7.191)

l = (I2 × T2 × I2)h (7.192)

v = (D4 × I2)l (7.193)

X ′ = (T2 × I4)v = col [X0, , X4, , X2, , X6, , X1, , X5, , X3, , X7] (7.194)

where ’col’ denotes a column vector. The global factorization which produces the vector X ′ iswritten :

X ′=4F ′

8x = (T2 × I4)(D4 × I2)(I2 × T2 × I2)D8(I4 × T2)x. (7.195)

Represented graphically, this factorization produces identically the same diagram as the one shownin Fig. 7.48. The factorization of the matrix F8

′ is given by

F ′8 =

1 11 − 1

1 11 − 1

1 11 − 1

1 11 − 1

11

w0

w2

11

w0

w2

1 11 1

1 − 11 − 1

1 11 1

1 − 11 − 1

11

11

w0

w1

w2

w3

1 11 1

1 11 1

1 − 11 − 1

1 − 11 − 1

(7.196)

and may be written in the closed form

F ′8 =

3∏

i=1

(D2i × I23−i) (I2i−1 × T2 × I23−i). (7.197)

This form can be generalized. For N = 2n, writing [1]

K2i = diag(w0, w2i

, w2×2i

, w3×2i

, . . .) (7.198)

andD2n−i = Quasidiag(I2n−i−1 , K2i). (7.199)

A matrixX = Quasidiag(A, B, C, . . .) (7.200)

is one which has the matrices A, B, C, . . . along its diagonal and zero elements elsewhere. Wecan write the factorization in the general form

F ′N =

n∏

i=1

(D2i × I2n−i) (I2i−1 × T2 × I2n−i) . (7.201)

As noted earlier from factorization diagram , Fig. 7.48, the coefficients X ′i of the transform are in

reverse bit order. For N = 8, the normal order (0, 1, 2, 3, 4, 5, 6, 7) in 3-bit binary is written:

(000, 001, 010, 011, 100, 101, 110, 111) . (7.202)

Page 31: 7.16 Discrete Fourier Transform - Polytechnique Montréal · Discrete-Time Fourier Transform 39 FIGURE 7.28 Unit circle divided into 16 points. We note that the DFT is periodic in

68 Signals, Systems, Transforms and Digital Signal Processing with MATLAB

The bit reverse order is written:

(000, 100, 010, 110, 001, 101, 011, 111) (7.203)

which is in decimal: (0, 4, 2, 6, 1, 5, 3, 7). The DFT coefficients X[k] in the diagram, Fig. 7.48can be seen to be in this reverse bit order.

We note that the DFT coefficients X[k] are evaluated in log2 8 = 3 iterations, each iteration in-volving 4 operations (multiplications). For a general value N = 2n the FFT factorization includeslog2 N = n iterations, each containing N/2 operations for a total of (N/2) log2 N operations. Thisfactorization is a base-2 factorization applicable if N = 2n, as mentioned above. If the numberof points N of the finite duration input sequence satisfies that N = rn where r, called the radixor base, is an integer, then the FFT reduces the number of complex multiplications needed toevaluate the DFT from N2 to (N/r) logr N . For N = 1024 and r = 2, the number of complexmultiplications is reduced from about 106 to about 500 × 10 = 5000. With r = 4 this is furtherreduced to 256 × 5 = 1280.

7.31 An Algorithm for a Wired-in Radix-2 Processor

The following is a summary description of an algorithm and a wired-in processor for radix-2 FFTimplementation (see CORINTHIOS ’A Time Series Analyzer’)

The DFT F [k] of an N-point sequence f [k], namely,

F [k] =

N−1∑

n=0

f [n] e−j2πnk/N . (7.204)

Writing fn ≡ f [n], Fk ≡ F [k] and constructing the vectors

f = col (f0, f1, . . . , fN−1) (7.205)

F = col (F0, F1, . . . , FN−1) . (7.206)

The TDF may be written in the matrix form

F = TNf. (7.207)

where the elements of the matrix TN are given by

(TN)nk = exp (−2πjnk/N) . (7.208)

Letting

w = e−j2π/N = cos (2π/N)− j sin (2π/N) (7.209)

(TN )nk = wnk (7.210)

TN =

w0 w0 w0 w0 . . . w0

w0 w1 w2 w3 . . . wN−1

w0 w2 w4 w6 . . . w2(N−1)

......

......

......

w0 wN−1 w2(N−1) w3(N−1) . . . w(N−1)2

. (7.211)

To reveal the symmetry in the matrix TN we re-arrange its rows by writing

TN = PNP−1N TN = PNT ′

N (7.212)