ECE 8443 – PatternContinuous Recognition EE 3512 – Signals: and Discrete LECTURE 14: CONVOLUTION OF DISCRETE-TIME SIGNALS • Objectives: Representation of DT Signals Response of DT LTI Systems Convolution Examples Properties • Resources: MIT 6.003: Lecture 3 Wiki: Convolution CNX: Discrete-Time Convolution JHU: Convolution ISIP: Convolution Java Applet URL: Exploiting Superposition and Time-Invariance x[n] ak xk [n] k DT LTI System y[n] bk y k [n] k • Are there sets of “basic” signals, xk[n], such that: We can represent any signal as a linear combination (e.g, weighted sum) of these building blocks? (Hint: Recall Fourier Series.) The response of an LTI system to these basic signals is easy to compute and provides significant insight. • For LTI Systems (CT or DT) there are two natural choices for these building blocks: DT Systems: n n0 (unit pulse) CT Systems: t t 0 (impulse) Later we will learn that there are many families of such functions: sinusoids, exponentials, and even data-dependent functions. The latter are extremely useful in compression and pattern recognition applications. EE 3512: Lecture 14, Slide 1 Representation of DT Signals Using Unit Pulses EE 3512: Lecture 14, Slide 2 Response of a DT LTI Systems – Convolution x[n] ak xk [n] DT LTI hn k y[n] bk y k [n] k • Define the unit pulse response, h[n], as the response of a DT LTI system to a unit pulse function, [n]. • Using the principle of time-invariance: [n] h[n] [n k ] h[n k ] convolution operator • Using the principle of linearity: x[n] x[k ] [n k ] k • Comments: y[n] x[k ] h[n k ] x[n] h[n] k convolution sum Recall that linearity implies the weighted sum of input signals will produce a similar weighted sum of output signals. Each unit pulse function, [n-k], produces a corresponding time-delayed version of the system impulse response function (h[n-k]). The summation is referred to as the convolution sum. The symbol “*” is used to denote the convolution operation. EE 3512: Lecture 14, Slide 3 LTI Systems and Impulse Response • The output of any DT LTI is a convolution of the input signal with the unit pulse response: x[n] x[n] DT LTI hn x[k ] [n k ] k y[n] y[n] x[n] * h[n] x[k ] h[n k ] x[n] h[n] k • Any DT LTI system is completely characterized by its unit pulse response. • Convolution has a simple graphical interpretation: EE 3512: Lecture 14, Slide 4 Visualizing Convolution • There are four basic steps to the calculation: • The operation has a simple graphical interpretation: EE 3512: Lecture 14, Slide 5 Calculating Successive Values • We can calculate each output point by shifting the unit pulse response one sample at a time: y[n] x[k ] h[n k ] k • y[n] = 0 for n < ??? y[-1] = y[0] = y[1] = … y[n] = 0 for n > ??? • Can we generalize this result? EE 3512: Lecture 14, Slide 6 Graphical Convolution 2 h(k ) 1 -1 x(k ) -1 1 -1 h(3 k ) h(2 k ) h(1 k ) h(0 k ) k = -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 EE 3512: Lecture 14, Slide 7 y (3) x(k )h(3 k ) 0 k y(2) x(k )h(2 k ) 0 k y(1) (1)(1) 1 y(0) (1)(0) (2)(1) 2 Graphical Convolution (Cont.) 2 h(k ) 1 -1 x(k ) -1 1 -1 h(1 k ) y(1) (1)(1) (2)(0) (1)(1) 2 h( 2 k ) y(2) (1)(0) (2)(1) (1)(0) (1)(1) 2 h(3 k ) y (3) (1)(0) (2)(0) (1)(1) (1)(0) 1 h( 4 k ) y(4) (1)(1) 1 k = -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 EE 3512: Lecture 14, Slide 8 Graphical Convolution (Cont.) • Observations: y[n] = 0 for n > 4 If we define the duration of h[n] as the difference in time from the first nonzero sample to the last nonzero sample, the duration of h[n], Lh, is 4 samples. Similarly, Lx = 3. The duration of y[n] is: Ly = Lx + Lh – 1. This is a good sanity check. • The fact that the output has a duration longer than the input indicates that convolution often acts like a low pass filter and smoothes the signal. EE 3512: Lecture 14, Slide 9 Examples of DT Convolution • Example: delayed unit-pulse • Example: unit-pulse h[n] [n n0 ] h[n] [n] y[n] x[k ] h[n k ] y[n] k x[k ] [n k ] x[n] • Example: unit step k ] x[n n0 ] h[n] a n u[n] a 1 x[k ] h[n k ] k n x[k ] u[n k ] x[k ] k k 0 x[n] u[n] x[k ] [n n • Example: integration h[n] u[n] x[k ] h[n k ] k k y[n] k y[n] x[k ] h[n k ] k u[n]a u[n] n k (1) [n] (1 a) [n 1] ... 1 1 a n 1 1 a EE 3512: Lecture 14, Slide 10 n0 n0 Properties of Convolution • Commutative: x[n] * h[n] h[n] * x[n] • Distributive: x[n] * (h1[n] h2 [n]) ( x[n] * h1[n]) ( x[n] * h2 [n]) • Associative: x[n] * h1[n] * h2 [n] ( x[n] * h1[n]) * h2 [n] ( x[n] * h2 [n]) * h1[n] EE 3512: Lecture 14, Slide 11 • Implications Useful Properties of (DT) LTI Systems • Causality: h[n] 0 • Stability: n0 h[k ] k Bounded Input ↔ Bounded Output Sufficient Condition: for x[n] x max y[n] x[k ]h[n k ] x k max h[n k ] k Necessary Condition: if h[n k ] k Let x[n] h * [n] / h[n] , then x[n] 1 (bounded) But y[0] x[k ]h[0 k ] h [k ]h[k ] / h[k ] h[k ] * k EE 3512: Lecture 14, Slide 12 k k Summary • We introduced a method for computing the output of a discrete-time (DT) linear time-invariant (LTI) system known as convolution. • We demonstrated how this operation can be performed analytically and graphically. • We discussed three important properties: commutative, associative and distributive. • Question: can we determine key properties of a system, such as causality and stability, by examining the system impulse response? • There are several interactive tools available that demonstrate graphical convolution: ISIP: Convolution Java Applet. EE 3512: Lecture 14, Slide 13