Loading web-font TeX/Math/Italic

quarta-feira, 6 de maio de 2020

Convolução: um problema exemplo.

Não tenha medo da convolução, apenas estude um pouco mais!

Um sistema linear apresenta a seguinte resposta ao impulso:
h(t) = \left(2e^{-t} - e^{-2t}\right)u(t).

Se a entrada for o sinal x(t) = \cos(3t)u(t), qual a resposta y(t)? Considere que o sistema não possui energia inicial. Lembrar que h(t) representa a resposta ao impulso \delta(t) e que u(t) é a função degrau unitário.

Solução

Sabemos que a solução pode ser calculada pela convolução: y(t) = x(t)*h(t). Então:
\begin{align*} y(t) =& \int_0^{t} x(\tau)h(t-\tau) d\tau \\      =& \int_0^{t} \cos(3\tau)\left(2e^{-t+\tau} - e^{-2t+2\tau}\right) d\tau \\    =& 2e^{-t}\int_0^{t} \cos(3\tau)e^{\tau} d\tau - e^{-2t}\int_0^{t} \cos(3\tau)e^{2\tau} d\tau \\ \end{align*}

Lembramos que:
\int \cos(bx)e^{cx} dx = \frac{e^{cx}}{c^{2}+b^{2}}(c\cos bx+b\sin bx)

Então:
\begin{align*} y(t) =& 2e^{-t}\left[\frac{e^{\tau}}{9 + 1}(\cos(3\tau) + 3\sin(3\tau)) \right]_0^t - e^{-2t}\left[\frac{e^{2\tau}}{9 + 4}(2\cos(3\tau) + 3\sin(3\tau)) \right]_0^t \\  =& 2e^{-t}\left[\frac{e^{t}}{10} (\cos(3t) + 3\sin(3t)) - \frac{1}{10} \right] - e^{-2t}\left[\frac{e^{2t}}{13}( 2\cos(3t) + 3\sin(3t)) - \frac{2}{13} \right] \\  =& \frac{1}{5}\cos(3t) + \frac{3}{5}\sin(3t) - \frac{1}{5}e^{-t} - \frac{2}{13}\cos(3t) - \frac{3}{13}\sin(3t) + \frac{2}{13}e^{-2t}\\ & \text{finalmente:}\\ y(t) =& \frac{3}{65}\cos(3t) + \frac{24}{65}\sin(3t) - \frac{1}{5}e^{-t} + \frac{2}{13}e^{-2t}, \text{para } t \geq 0. \\ \end{align*}


Gráficos:
Código Scilab:

clc; close; 
dt = 0.01;
t=0:dt:12;  // "tempo"
// Sinais "contínuos":
h = 2*exp(-t) - exp(-2*t);  // resposta ao impulso
x = cos(3*t);  // sinal de entrda
y = dt*convol(h,x);  // resposta do sistema

// resposta teórica:
yt = (3/65)*cos(3*t) + (24/65)*sin(3*t) - (1/5)*exp(-t) + (2/13)*exp(-2*t);

// Gráficos:
subplot(2,2,1); plot(t,h); title('h(t)'); 
subplot(2,2,2); plot(t,x); title('x(t)');
subplot(2,1,2); plot(t,y(1:max(size(t))),t,yt);
title('y(t) = x(t)*h(t)'); xlabel('tempo');

Nenhum comentário:

Postar um comentário