Discrete Time Fourier Transform Chapter 12- Lecture slides

advertisement
Chapter 12
Fourier Transforms of Discrete Signals
Sampling
• Continuous signals are digitized using digital computers
• When we sample, we calculate the value of the continuous
signal at discrete points
– How fast do we sample
– What is the value of each point
• Quantization determines the value of each samples value
Sampling Periodic Functions
- Note that wb = Bandwidth, thus if
(signal overlaps)
-To avoid aliasing
-According sampling theory:
then aliasing occurs
To hear music up to 20KHz a CD
should sample at the rate of 44.1 KHz
Discrete Time Fourier Transform
• In likely we only have access to finite amount of data
sequences (after sampling)
• Recall for continuous time Fourier transform, when the
signal is sampled:
• Assuming
• Discrete-Time Fourier Transform (DTFT):
Discrete Time Fourier Transform
• Discrete-Time Fourier Transform (DTFT):
• A few points
– DTFT is periodic in frequency with period of 2p
– X[n] is a discrete signal
– DTFT allows us to find the spectrum of the discrete signal as viewed
from a window
Example D
See map!
Example of Convolution
• Convolution
– We can write x[n] (a periodic function) as an infinite sum of the
function xo[n] (a non-periodic function) shifted N units at a time
– This will result
– Thus
See map!
Finding DTFT For periodic signals
• Starting with xo[n]
• DTFT of xo[n]
Example
Example A & B
notes
X[n]=a|n|, 0 < a < 1.
notes
DT Fourier Transforms
1.
2.
3.
W is in radian and it is between
0 and 2p in each discrete time
interval
This is different from w where it
was between – INF and + INF
Note that X(W) is periodic
Properties of DTFT
•
•
Remember:
For time scaling note that
m>1  Signal spreading
Fourier Transform of Periodic Sequences
• Check the map~~~~~
See map!
Discrete Fourier Transform
• We often do not have an infinite amount of data which is
required by DTFT
– For example in a computer we cannot calculate uncountable infinite
(continuum) of frequencies as required by DTFT
• Thus, we use DTF to look at finite segment of data
– We only observe the data through a window
– In this case the xo[n] is just a sampled data between n=0, n=N-1 (N
points)
Discrete Fourier Transform
• It turns out that DFT can be defined as
• Note that in this case the points are spaced 2pi/N; thus the
resolution of the samples of the frequency spectrum is
2pi/N.
• We can think of DFT as one period of discrete Fourier series
A short hand notation
remember:
Inverse of DFT
• We can obtain the inverse of DFT
• Note that
Using MATLAB to Calculate DFT
• Example:
–
–
–
–
or
Assume N=4
x[n]=[1,2,3,4]
n=0,…,3
Find X[k]; k=0,…,3
Example of DFT
• Find X[k]
– We know k=1,.., 7; N=8
Example of DFT
Example of DFT
Polar plot for
Time shift Property of DFT
Other DFT properties: http://cnx.org/content/m12019/latest/
Example of DFT
Example of DFT
Summation for X[k]
Using the shift property!
Example of IDFT
Remember:
Example of IDFT
Remember:
Fast Fourier Transform Algorithms
• Consider DTFT
• Basic idea is to split the sum into 2 subsequences of length
N/2 and continue all the way down until you have N/2
subsequences of length 2
Log2(8)
N
Radix-2 FFT Algorithms - Two point FFT
•
We assume N=2^m
– This is called Radix-2 FFT Algorithms
•
Let’s take a simple example where only two points are given n=0, n=1; N=2
Butterfly FFT
y0
y0
Advantage: Less
computationally
intensive: N/2.log(N)
http://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/transform/fft.html
y1
General FFT Algorithm
•
First break x[n] into even and odd
•
•
Let n=2m for even and n=2m+1 for odd
Even and odd parts are both DFT of a N/2 point
sequence
•
Break up the size N/2 subsequent in half by letting
2mm
The first subsequence here is the term x[0], x[4], …
The second subsequent is x[2], x[6], …
•
•
N / 2 1
WN / 2 x[2m] WN (
mk
k
m 0
WN
2 mk
WN / 2
 WN / 2
m N / 2
N / 2 1
WN / 2 x[2m  1])
mk
m 0
mk
 WN / 2 WN / 2
m
N /2
 WN / 2
m
WN  e  2pj  cos( 2p )  j sin( 2p )  1
N
WN
N /2
 1
Example
Let’s take a simple example where only two points are given n=0, n=1; N=2
X [k ] 
N / 2 1
WN / 2 x[2m] WN (
mk
k
N / 2 1
m 0
WN
2 mk
WN / 2
 WN / 2
m N / 2
WN / 2 x[2m  1])
mk
m 0
mk
 WN / 2 WN / 2
m
N /2
 WN / 2
m
WN  e 2pj  cos( 2p )  j sin( 2p )  1
N
WN
0
X [ k  0]   W
m 0
0
0.0
1
0
x[0] W ( W
0
1
m 0
0
0. 0
1
N /2
 1
x[1])  x[0]  x[1]
Same result
X [k  1]  W x[0] W ( W1 x[1])  x[0]  W1 x[1]  x[0]  x[1]
m 0
0.1
1
1
1
m 0
0.1
1
FFT Algorithms - Four point FFT
First find even and odd parts and then combine them:
The general form:
FFT Algorithms - 8 point FFT
Applet: http://www.falstad.com/fourier/directions.html
http://www.engineeringproductivitytools.com/stuff/T0001/PT07.HTM
A Simple Application for FFT
t = 0:0.001:0.6; % 600 points
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
Taking the 512-point fast Fourier transform (FFT): Y = fft(y,512)
The power spectrum, a measurement of the power at various
frequencies, is Pyy = Y.* conj(Y) / 512;
Graph the first 257 points (the other 255 points are redundant) on a
meaningful frequency axis: f = 1000*(0:256)/512;
plot(f,Pyy(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')
This helps us to design an effective filter!
ML Help!
Example
• Express the DFT of the 9-point {x[0], …,x[9]} 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]}.
Later
References
• Read Schaum’s Outlines: Chapter 6
• Do Chapter 12 problems: 19, 20, 26, 5, 7
Download