EEE6209 Advanced Digital Signal Processing (ADSP) : DR Charith Abhayaratne (CA)
EEE6209 Advanced Digital Signal Processing (ADSP) : DR Charith Abhayaratne (CA)
EEE6209 Advanced Digital Signal Processing (ADSP) : DR Charith Abhayaratne (CA)
Course Delivery:
Lectures: 2 hours/week From Week 3 Semester 1 to Week 8 Semester 2
In Semester 1 Wednesday @ 11 am (CA) & Thursday @ 1 pm (WL)
In Semester 2 Monday @ 2pm (CA) & Thursday @ 2pm (WL)
Filter Banks
Transforms
Assessment
Final exam 70% in May/June
2 hours
Two parts (35% each)
Part A: CA lectures
Part B: WL lectures
Coursework (30%)
Two coursework exercises
from Part (A) in around Semester 1 week 12 Semester 2
week 3
from Part (B) on around Semester 2 week 4 week 8
5
Prerequisites
Basic Signal Processing Concepts
http://hercules.shef.ac.uk/eee/teach/resources/eee309/eee309.html
x(n) =
5
4
x(n)
3
2
1
0
-1
x(n+2)?
-2
-6
-4
-2
0
n
x(n)
Discrete time
system
y(n)
y(n) T[ x(n)]
The output when the input is the impulse function is called
the impulse response of a system . h(n, k ) = T [ (n k )]
11
12
y(n)=x(n)-x(n-1)
y(n)=nx(n)
y(n)=x(-n)
y(n)=x(2n)
y(n)=x(n)cos(wn)
13
14
y(n)=nx(n)
y(n)=x(n2)
y(n)=x2(n)
y(n)=x(2n)
15
16
17
Convolution
Response of a linear time invariant (LTI) system to an
arbitrary input x(n).
We know: y ( n ) = T [ x ( n )]
h ( n ) = T [ ( n )]
x(n) =
x(k) (n k)
k =
= k = x(k )T [ (n k )]
= k = x(k )h(n k )
= xh
18
Convolution
Response of a linear time invariant (LTI) system to an
arbitrary input x(n).
Steps:
1) folding: fold h(k) about k=0 to get h(-k)
2) Shifting: shift h(-k) by n0 to the right if n is positive to get
h(n0-k)
3) Multiplication: multiply x(k) by h(n0-k) to get the product
sequence
4) Summation: sum all the values of the product sequence.
Repeat the above steps 2 to 4 for all n.
19
Convolution
Computation by hand
A good way to compute h*x is to arrange it as an ordinary
multiplication. But dont carry digits from one column to
the other.
e.g., consider {x(0), x(1), x(2)} & {h(0), h(1), h(2)}
x(2)
h(2)
(2)
(3) (2)
(4) (3) (2)
y(4) y(3) y(2)
x(1)
h(1)
(1)
(1)
x(0)
h(0)
(0)
y(1) y(0)
Convolution
Convolution of x(n) by h(n) in time domain becomes
multiplication of X by H in frequency domain, where X &
H are the Fourier transform of h.
( ) = x(n)e
Xe
jn
= X ( )
H (e ) = h(n)e
j
jn
= H ( )
Y () = H () X ( )
X ( z) = x(n) z n
H ( z) = h(n) z n
Y ( z ) = H ( z) X ( z )
21
Filters
A filter is a linear time-invariant operator.
It acts on input signal x and the output signal y is the
convolution sum of x with the fixed vector h, which is the
impulse response of the system.
The values of the vector h are known as the filter
coefficients. E.g., h(0), h(1),66
Transforms
A transform of a signal is a new representation of that signal.
Consider the following system of equations:
y(0)= x(0) + x(1)
y(1)= x(0) - x(1)
y(2)= x(2) + x(3)
y(3)= x(2) - x(3)
This transforms x into y using a 4-point transform.
In other words the signal is represented in y-domain using
the linear combinations of signal components in the x
domain.
What is the inverse transform for the above transform?
23
Homework: MATLAB
Exercise 1:
Create the time axis values for 10 cycles with 512 data
points using t=linspace(0,10, 512);
Consider the signal x=3sin(5t)-6cos(9t)
Plot x
Add random noise n to obtain a noisy signal y=x+n
Consider you are using a 3 point moving average filter.
What is h for this filter?
Use convolution to find the cleaned signal z
Check the size of the output z
Plot all x, y and z in the SAME figure
Think of an alternative approach for de-noising using the
Fourier Transform and implement it using MATLAB
24