Courses Circuits and Systems 2009 Convolution

2
Discrete time convolution in Matlab Using Matlab to compute convolution Convolution is dened as: y[n] = x[n] h[n] = i=−∞ +x[i] · h[n i] If the signal x[n] has non zero taps only in the region [n 1 , n 2 ] convolution can be rewritten as: y[n] = i=n1 n2 x[i] · h[n i] This happens because all other terms of the sum are zero. We can also do a change of variable and rewrite the sum as: y[n] = i=1 n2n1+1 x[i + n 1 1] · h[n (i + n 1 1)] Now observe that x [i] = x[i + n 1 1] is a shifted version of x[n] with the rst non zero tap at i = 1. y[n] = i=1 n2n1+1 x [i] · h[(n n 1 + 1) i] We can do now yet another manipulation and obtain: y[n n 1 ] = i=1 n2n1+1 x [i] · h[n + 1 i] Assume now that the signal h[m] is non zero in the interval [m 1 , m 2 ]. At any given n the pre- vious multiplication will use taps from [n + 1 n 2 + n 1 1, n + 1 1] = [n (n 2 n 1 ),n]. There- fore for any n<m 1 and n (n 2 n 1 ) m 2 the signal y[n + n 1 ] is equal to 0. We can further modify the formula using h [k] = h[k + m 1 1], a shifted version of h[k] that has its rst non zero tap at k = 1. y[n n 1 ] = i=1 n2n1+1 x [i] · h [n + 1 i m 1 + 1] We can further rewrite the expression as: y [n] = y[n n 1 m 1 + 1] = i=1 n2n1+1 x [i] · h [n + 1 i] Since h [n] is non zero only in the [1, m 2 m 1 + 1] we see that only for values of n 1 it can be non zero. This implies that y[n] has its rst non zero tap at n 1 + m 1 . 1

Transcript of Courses Circuits and Systems 2009 Convolution

8/9/2019 Courses Circuits and Systems 2009 Convolution

http://slidepdf.com/reader/full/courses-circuits-and-systems-2009-convolution 1/2

8/9/2019 Courses Circuits and Systems 2009 Convolution

http://slidepdf.com/reader/full/courses-circuits-and-systems-2009-convolution 2/2