Courses Circuits and Systems 2009 Convolution
2
Discrete time convolution in Matlab Using Matlab to compute convolution Convolution is defined 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 n2−n1+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 first non zero tap at i = 1. y[n] = i=1 n2−n1+1 x ′ [i] · h[(n − n 1 + 1) − i] We can do now yet another manipulation and obtain: y[n − n 1 ] = i=1 n2−n1+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 first non zero tap at k = 1. y[n − n 1 ] = i=1 n2−n1+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 n2−n1+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 first non zero tap at n 1 + m 1 . 1
-
Upload
bizura-saruma -
Category
Documents
-
view
219 -
download
0
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