Convolution: Figure 1 A Linear, Time-Invariant Circuit
Convolution: Figure 1 A Linear, Time-Invariant Circuit
In this section we consider the problem of determining the response of a linear, time-invariant circuit to an arbitrary input, x(t). This situation is illustrated in Figure 1 where x(t) is the input to the circuit, y(t) is the output of the circuit and h(t) is the impulse response of the circuit. We will assume that x(t) = 0 when t < 0 because t = 0 is the time at which the input is first applied to the circuit and also that h(t) = 0 when t < 0 because the impulse response cannot precede the impulse that caused it.
Figure 1 A linear, time-invariant circuit. Its important to us that the circuit is both linear and time-invariant. To see why, lets us the notation
x (t ) y (t )
to indicate that the input x(t) causes the output y(t). Let k be any constant. Because the circuit is linear
k x (t ) k y (t )
(Suppose k =2. The input 2x(t) is twice as large as the input x(t) and it causes an output twice as large as the output caused by x(t).) Next, let be any constant. Because the circuit is timeinvariant
x (t ) y (t )
(Suppose = 4 s. The input x(t4) is delayed by 4 s with respect to x(t) and causes an output that is delayed by 4 s with respect to y(t).) Since the circuit is both linear and time-invariant we have
k x (t ) k y (t )
Next, we use the fact that h(t) is the impulse response of the circuit. Consequently, when the input to the circuit is x(t) = (t) the out put is y(t) = h(t). That is
(t ) h (t )
Finally,
k (t ) k h (t )
(1)
Figure 2 The arbitrary input waveform shown in (a) can be approximated a sequence of pulses as shown in (b). Consider the arbitrary input waveform x(t) shown in Figure 2(a). This waveform can be approximated by a series of pulses as shown in Figure 2(b). The times, 1 , 2 , 3 , are uniformly spaced, that is
i +1 = i +
when the increment is chosen to be small.
for i = 1, 2,3,...
where the increment is independent of the index i. The error in the approximation is small
Figure 3 (a) A pulse from the approximation of an input waveform and (b) the corresponding impulse.
Figure 3(a) shows one of the pulses from the approximation of the input waveform Notice that the area of the pulse is x ( i ) . When the time increment is chosen to be small, this pulse can be approximated by the impulse function having the same area,
x ( i ) ( t i ) . That impulse function is illustrated in Figure 3(a).
The input waveform is represented by the sum of the impulse functions approximating the pulses in Figure 2(b)
x ( t ) = x ( i ) ( t i )
i =0
(2)
Because the circuit is linear, the response to this sum of impulse inputs is equal to the sum of the responses to the responses to the individual impulse inputs. From Eqn 4.9-1, the responses to the individual impulses inputs are given by
( x ( ) ) ( t ) ( x ( ) ) h ( t )
i i i i
(3)
In the limit as goes to zero, the summation becomes an integral and we have
y ( t ) = x ( ) h ( t ) d
0
(4)
The integral on the right side of equation 4 is called the convolution integral and is denoted as x(t)*h(t). That is y(t) = x(t)*h(t) Equation 5 indicates that the output of the linear circuit in Figure 1 can be obtained as the convolution of the input and the impulse response. MATLAB provides a function called conv which performs convolution. The next example uses this MATLAB function to obtain a plot of the output of a linear, time-invariant circuit. (5)
EXAMPLE 1 Convolution
Plot the output y(t) for the circuit shown in Figure 1 when the input x(t) is the triangular waveform shown in Figure 4 and the impulse response of the circuit is
h (t ) = 5 t ( e e 5t ) u ( t ) 4
Solution Figure 14-9.5 shows a MATLAB script that produces the required plot. The comments included in the MATLAB script indicate that the problem is solved in four steps: 1. Obtain a list of equally spaced instants of time 2. Obtain the input x(t) and the impulse response h(t) 3. Perform the convolution 4. Plot the output y(t) A couple of remarks are helpful for understanding the MATLAB script. First, using the equations of the straight lines that comprise the triangular input waveform, we can write 0 when t 2 4 t 8 when 2 t 5 x (t ) = 4 t + 42 when 5 t 7 0 when t 7 This equation is implemented by an if-then-else block in the MATLAB script. For any time,
i , this equation produces the corresponding value x ( i ) . From Eqn 2 we see that the strengths
of the impulse inputs are x i t rather than x i . It is necessary to multiply the values x i by the time increment and that is accomplished by the line x=x*dt in the MATLAB script. Next, the MATLAB plot function requires two lists of values, t and y, in our case. These lists are required to have the same number of values, but in our case y is longer than t. The MATLAB expression y(1:length(t)) truncates the list y so that truncated list is the same length as t.
( )
( )
( )