unit 1 electro-physiology and bio potential … materials/5/me/unit1.pdfeng – electroneurogram eeg...
TRANSCRIPT
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 then aliasing occurs
(signal overlaps)
-To avoid aliasing
-According sampling theory: 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 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!
DT Fourier Transforms
1. W is in radian and it is between
0 and 2p in each discrete time
interval
2. This is different from w where it
was between – INF and + INF
3. Note that X(W) is periodic
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
Using MATLAB to Calculate DFT
• Example:
– Assume N=4
– x[n]=[1,2,3,4]
– n=0,…,3
– Find X[k]; k=0,…,3
or
Example of DFT
Time shift Property of DFT
Other DFT properties: http://cnx.org/content/m12019/latest/
Polar plot for
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
http://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/transform/fft.html
y0
y1
y0
Butterfly FFT
Advantage: Less
computationally
intensive: N/2.log(N)
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
2mm
• The first subsequence here is the term x[0], x[4], …
• The second subsequent is x[2], x[6], …
1
1)2sin()2cos(
)]12[(]2[
2/
2
2/
2/
2/2/
2/
2/
2/
2
12/
0
2/
12/
0
2/
N
N
jN
N
m
N
N
N
m
N
Nm
N
mk
N
mk
N
N
m
mk
N
k
N
N
m
mk
N
W
jeW
WWWW
WW
mxWWmxW
ppp
Example
1
1)2sin()2cos(
)]12[(]2[][
2/
2
2/
2/
2/2/
2/
2/
2/
2
12/
0
2/
12/
0
2/
N
N
jN
N
m
N
N
N
m
N
Nm
N
mk
N
mk
N
N
m
mk
N
k
N
N
m
mk
N
W
jeW
WWWW
WW
mxWWmxWkX
ppp
Let’s take a simple example where only two points are given n=0, n=1; N=2
]1[]0[]1[]0[)]1[(]0[]1[
]1[]0[)]1[(]0[]0[
1
1
0
0
1.0
1
1
1
0
0
1.0
1
0
0
0.0
1
0
1
0
0
0.0
1
xxxWxxWWxWkX
xxxWWxWkX
mm
mm
Same result
FFT Algorithms - Four point FFT
First find even and odd parts and then combine them:
The general form:
FFT Algorithms - 8 point FFT
http://www.engineeringproductivitytools.com/stuff/T0001/PT07.HTM
Applet: http://www.falstad.com/fourier/directions.html
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!