Chapter 5 Finite Length Discrete Fourier Transfomcircuit.ucsd.edu/.../161a/Lecture_Notes_files/NOTES_DFT.pdfApplications of the DFT Linear Convolution You can use an FFT in MATLAB

Post on 16-Jun-2018

259 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Chapter 5Finite Length Discrete FourierTransfom

Discrete Fourier Transform (DFT)

Usually, we do not have an infinite amount of data which is required by theDTFT. Instead, we have 1 image, a segment of speech, etc. Also, most real-world data are not of the convenient form anu[n].

Finally, on a computer, we can not calculate an uncountably infinite(continuum) of frequencies as required by the DTFT.

ACTUAL DATA ANALYSIS on a computer- Use a DFT to look at afinite segment of data.

In our development in the previous section of x[n] periodic with x0[n] thepart of the signal that was repeated, we could have assumed that our finitesegment of data came from “windowing” an infinite length sequence x[n]

x0[n] = x[n]wR[n]

where wR[n] is a rectangular window:

1

wR[n] =

1, n = 0, 1, · · · , N − 10, otherwise

x0[n] = x[n]wR[n] is just the samples of x[n] between n = 0 and n = N − 1.x0[n] is 0 everywhere else. Therefore, it is defined ∀n, and we can take itsDTFT:

X0(Ω) = DTFT(x0[n]) =∞∑

n=−∞x0[n]e−jΩn =

∞∑n=−∞

x[n]wR[n]e−jΩn =N−1∑n=0

x[n]e−jΩn

So,

X0(Ω) =N−1∑n=0

x[n]e−jΩn =N−1∑n=0

x0[n]e−jΩn

as we saw before.

Let’s say now that we want to sample X0(Ω) (which is continuous andperiodic with period 2π) so we store it on a computer.

Sample X0(Ω):Assume we want 8 points in frequency – then sample X0(Ω) at 8 uniformly

spaced points on the unit circle:

Values of frequency are 0, π/4, π/2, · · · , 7π/4 or 2πk/8, k = 0, 1, · · · , 7.

2

If we let k = N , what happens? If k = N , we get repetition of the pointswe sampled so only N samples are unique.

Define Discrete Fourier Transform (DFT) as

X[k] = X0(2πk

N)

for Ω = 2πkN

, k = 0, 1, . . . , N − 1, i.e. only look at the N distinct sampledfrequencies of X0(Ω).

Significant Observations

1. The resolution of the samples of the frequency spectrum is 2πN

since wesample the spectrum at points that are spaced 2π

Napart in frequency,

that is, ∆Ω = 2πN

.

2. If we looked at the samples of X0(Ω) for all k = −∞ to ∞ for frequen-cies 2πk

N, we would get the closely related Discrete Fourier Series (DFS)

which is of course periodic with period N since X0(Ω) is periodic.

3. If x is a periodic signal with period N , as we saw that DFS was suf-ficient to construct the DTFT of the signal. In other words, the DFTprocedure approximates a signal with a periodic approximation of itself.

Now

X[k] = X0(Ω)|Ω =2πk

N, k = 0, 1, · · · , N − 1

=N−1∑n=0

x[n]e−jΩn|Ω= 2πkN

,k=0,1,···,N−1

=N−1∑n=0

x[n]e−j 2πknN , k = 0, 1, · · · , N − 1

Shorthand Notation for the DFT:Let WN = e−j 2π

N ⇒ N th root of unity (WNN = 1) since WN

N = e−j2π = 1.You may also write WN simply as W .

Then

X[k] =N−1∑n=0

x[n]W knN , k = 0, 1, · · · , N − 1

is the DFT of your windowed sequence x0[n].

3

Ex.Find

N−1∑n=0

(e−j2πk

N )n =N−1∑n=0

W kn

This is just the DFT of x[n] = 1, n = 0, 1, · · · , 7.

4

Ex.

x[n] =

1, n = 00, n = 1, . . . , 7

Find X[k], k = 0, 1, . . . , 7.

5

Given y[n] = δ[n− 2] and N = 8, find Y [k].

6

Ex. x[n] = cW−pnN , n = 0, 1, . . . , N − 1,

p is an integer with p ∈ [0, 1, . . . , N − 1] and WN = e−j 2πN (as usual), find

its DFT.

7

Synthesis: INVERSE DFTHow can we recover x[n] from X[k]?Synthesis formula is

x[n] =1

N

N−1∑k=0

X[k]W−knN , n = 0, 1, . . . , N − 1

Prove this gives back x[n]:

x[n] =1

N

N−1∑k=0

N−1∑l=0

x[l]W klN W−kn

N

=1

N

N−1∑l=0

x[l]N−1∑k=0

Wk(l−n)N

Ex.

N−1∑k=0

Wk(l−n)N =?

8

ORTHOGONALITY OF EXPONENTIALS AGAIN!So,

N−1∑k=0

Wk(l−n)N =

N, l = n0, l 6= n

and

x[n] =1

N

N−1∑l=0

x[l]N−1∑k=0

Wk(l−n)N =

1

N

N−1∑l=0

x[l]Nδ[n− l]

=1

N(Nx[n]) = x[n]

Ex. Find the IDFT of X[k] = 1, k = 0, 1, . . . , 7.

9

Ex. Given x[n] = δ[n] + 2δ[n− 1] + 3δ[n− 2] + δ[n− 3] and N = 4, findX[k].

10

Ex. Given X[k] = 2δ[k] + 2δ[k − 2] and N = 4, find x[n].

11

Selected DFT Properties

1. Linearity.

ax1[n] + bx2[n] ↔ aX1[k] + bX2[k]

2. Time shift.

x[n− n0]mod N↔ W kn0

N X[k]

3. Frequency shift.

W−nk0N x[n] ↔ X[k − k0]mod N

4. Multiplication.

x1[n]x2[n] ↔ 1

NX1[k]⊗X2[k]

5. Circular convolution.

x1[n]⊗ x2[n] ↔ X1[k]X2[k]

6. Real/Even.

x[n] = xe[n] + xo[n] ↔ X[k] = A[k] + jB[k]

xe[n] ↔ A[k]

xo[n] ↔ jB[k]

If x[n] is real, thenX[−k]mod N

= X∗[k].

If x[n] is even, then X[k] is real. (For a finite length function to beeven, x[n] = x[−n]mod N

)

12

Fast Fourier Transform

The work of Cooley and Tukey showed how to calculate the DFT with com-plexity N log N (called the Fast Fourier Transform) instead of complexityN2 using the direct algorithm. The fft command that you use in MATLABimplements a Fast Fourier Transform.

Examine:

X[k] =N−1∑n=0

x[n]W kn

There are approximately N2 complex multiplications and additions re-quired to implement this (N for each value of X[k]).

If N = 210 = 1024, then N2 = 220 = 106, a very large number!

However, the FFT would only require about 5000, a substantial savingsin complexity (the actual calculation is N

2log2 N).

There are a number of different FFT algorithms that exist includingdecimation-in-time and decimation-in-frequency.

The primary idea is to split up the size-N DFT into N2

DFTs of length 2each.

You split the sum into 2 subsequences of length N2

and continue all theway down until you have N

2subsequences of length 2.

13

First break x[n] into even and odd subsequences:

X[k] =∑

neven

x[n]W kn +∑nodd

x[n]W kn

Now let n = 2m for even numbers and n = 2m + 1 for odd numbers:

X[k] =

N2−1∑

m=0

x[2m]W 2mk +

N2−1∑

m=0

x[2m + 1]W k(2m+1) =

N2−1∑

m=0

x[2m](W 2)mk + W k

N2−1∑

m=0

x[2m + 1](W 2)mk =

Xe[k] + W kXo[k]

Xe[k] and Xo[k] are both the DFT of a N2

point sequence.

W k is often referred to as the “twiddle factor.”

Now break up the size N2

subsequences in half by letting m = 2p:

Xe[k] =

N4−1∑

p=0

x[4p](W 4)kp + W 2k

N4−1∑

p=0

x[4p + 2](W 4)kp =

The first subsequence here is the terms x[0], x[4], . . . and the second isx[2], x[6], . . . .

14

Also, we have that:

WN2

N = −1

Y [k] =1∑

n=0

y[n]W kn2 = y[0] + W k

2 y[1]

W2 = e−j2π2 = e−jπ = −1

So we get,

Y [k] = y[0] + (−1)ky[1]

and:

Y [0] = y[0] + y[1]

Y [1] = y[0]− y[1]

15

Ex.This was a problem I had on a DSP final exam in 1984:Express the DFT of the 9-point sequence x[0], x[1], . . . , x[8] in terms of

the DFTs of 3-point sequences x[0], x[3], x[6], x[1], x[4], x[7], and x[2], x[5], x[8]

We start with:

X[k] =2∑

m=0

x[3m]W 3mk9 +

2∑m=0

x[3m + 1]W(3m+1)k9 +

2∑m=0

x[3m + 2]W(3m+2)k9

16

Applications of the DFT

Linear ConvolutionYou can use an FFT in MATLAB to compute linear convolution. If you

don’t use a sufficient number of points in the DFT, you will get overlap.

CIRCULAR CONVOLUTIONSince DFTs are a limited length sequence, convolution is done mod N ⇒

circular convolution.

x1[n]⊗ x2[n] =N−1∑p=0

x1[p]x2[n− p]mod N

That is, when we flip and shift the sequence x2[n], we do it mod N .

Also, note that:

x1[n]⊗ x2[n] ↔ X1[k]X2[k]

17

Ex. Find x1[n]⊗ x2[n] = z[n].

18

Ex. N = 8, find x1[n]⊗ x2[n] = y[n].

19

Ex. Find y[n] = x[n]⊗ x[n].

20

Overview of Chapters 3, 4, and 5

Fourier Analysis for Discrete-Time Signals

1. DTFT for infinite length sequences:

continuous frequency, periodic with period 2π,

X(Ω) =∑n

x[n]e−jΩn

Important: DT convolution ↔ multiplication of DTFTs.

Inverse system:

h[n] ∗ hi[n] = δ[n] ↔ H(Ω)Hi(Ω) = 1

2. DTFT of a periodic DT sequence by allowing impulses in frequency:

x[n] =∑k

akejΩkn ↔ 2π

∑k

akδ(Ω− Ωk)

where

ak = X0(2πk

N)

3. DFT for a finite length data

discrete frequency

Take DTFT of windowed infinite length sequence and then sample atdiscrete frequencies,

Ω =2πk

N, k = 0, 1, . . . , N − 1

N discrete frequencies since exponential is periodic.

X[k] =N−1∑n=0

x[n]e−j 2πknN =

N−1∑n=0

x[n]W knN

Orthogonality of Exponentials:

N−1∑n=0

W knN = Nδ[k]

21

top related