# Exemplos de cálculo de convoluções

Encontram-se aqui alguns exemplos de cálculo de convoluções. O cálculo pode ser direto, isto é, ser feito a partir das expressões de definição, ou indireto, isto é, feito a partir de uma transformada integral e do teorema da convolução.

## Cálculo direto
### Convolução contínua
#### Funções retangulares

Sejam f(x) = g(x) = rect(x). A convolução linear contínua de f e g será dada pela expressão (1a)
    $h(x)\;=\;\int _{-\infty }^{\infty }rect(u)\cdot rect(x\;-\;u)\;du$
Como a função retangular rect(u) é nula para |u| > ½ e igual á unidade quando |u| < ½, podemos escrever
    $h(x)\;=\;\int _{-{\frac {1}{2}}}^{\frac {1}{2}}rect(x\;-\;u)\;du$
Fazendo v = x - u, dv = - du, teremos que v = x + ½ quando u = -½ e v = x - ½ quando u = ½. Assim,
    $h(x)\;=\;\int _{x\;+\;{\frac {1}{2}}}^{x\;-\;{\frac {1}{2}}}-\;rect(v)\;dv\;=\;\int _{x\;-\;{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}rect(v)\;dv$
Para x = -1, o intervalo de integração será $\left[-{\frac {3}{2}},\;-{\frac {1}{2}}\right]$. Como rect(v) é nula para |v| > ½, a integral será nula. Coisa similar acontece para qualquer valor de x que não esteja no intervalo [-1, 1].
Para x = 0, o intervalo de integração será $\left[-{\frac {1}{2}},\;{\frac {1}{2}}\right]$. rect(v) será não-nula em todo o intervalo. Para -1 < x < 0, o limite de integração superior crescerá de $-{\frac {1}{2}}$ até chegar a ${\frac {1}{2}}$, mas rect(v) será não nula apenas para v > -½. Assim, podemos reescrever o intervalo como $\left[-{\frac {1}{2}},\;x\;+\;{\frac {1}{2}}\right]$. Similarmente, para 0 < x < 1, o limite de integração inferior crescerá de $-{\frac {1}{2}}$ até chegar a ${\frac {1}{2}}$, mas rect(v) será não nula apenas para v < ½. O intervalo de integração será $\left[x\;-\;{\frac {1}{2}},\;{\frac {1}{2}}\right]$. Por isso,
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-1\\\\\int _{-{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}dv&:&-1\;<\;x\;<\;0\\\\\int _{x\;-\;{\frac {1}{2}}}^{\frac {1}{2}}dv&:&0\;<\;x\;<\;1\\\\0&:&x\;>\;1.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-1\\\\\left.v\right|_{-{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}&:&-1\;<\;x\;<\;0\\\\\left.v\right|_{x\;-\;{\frac {1}{2}}}^{\frac {1}{2}}&:&0\;<\;x\;<\;1\\\\0&:&x\;>\;1.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-1\\\\\left.v\right|_{-{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}&:&-1\;<\;x\;<\;0\\\\\left.v\right|_{x\;-\;{\frac {1}{2}}}^{\frac {1}{2}}&:&0\;<\;x\;<\;1\\\\0&:&x\;>\;1.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-1\\x\;+\;1&:&-1\;<\;x\;<\;0\\1\;-\;x&:&0\;<\;x\;<\;1\\0&:&x\;>\;1.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&|x|\;>\;1\\1\;-\;|x|&:&|x|\;<\;1.\end{matrix}}\right.$
que é a definição da função triangular tri(x).
Esse exemplo mostra que o cálculo da convolução a partir da fórmula de definição é complicada quando as funções envolvidas são descontínuas ou nulas em partes do domínio, mesmo quando bastante simples, pois é preciso analisar cuidadosamente os limites de integração.

#### Função exponencial e função retangular

Seja f(x) = rect(x) e g(x) = e$^{-x}$·H(x), onde H(x) é a função degrau unitário. Partindo da expressão (1a) e executando as mesmas operações do exemplo acima, teremos
    $h(x)\;=\;\int _{-\infty }^{\infty }rect(u)\cdot e^{-(x\;-\;u)}\;H(x\;-\;u)\;du\;=\;\int _{x\;-\;{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}\cdot e^{-v}\cdot H(v)\;dv$
Para x = -½, o intervalo de integração será [-1, 0]. Como H(v) é nula para v < 0, a integral será nula. Coisa similar acontece para qualquer valor de x < -½.
Para x = ½, o intervalo de integração será [0, 1]. Para qualquer valor superior, H(v) é não-nula em todo o intervalo.
Para -½ < x < ½, H(v) será nula em uma parte do intervalo de integração, correspondente a v < 0. A medida que x cresce, o limite superior desse subintervalo cresce, mas o limite inferior será sempre v=0. Assim,
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-{\frac {1}{2}}\\\\\int _{0}^{x\;+\;{\frac {1}{2}}}e^{-v}\;dv&:&-{\frac {1}{2}}\;<\;x\;<\;{\frac {1}{2}}\\\\\int _{x\;-\;{\frac {1}{2}}}^{x\;+\;{\frac {1}{2}}}e^{-v}\;dv&:&x\;>\;{\frac {1}{2}}.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-{\frac {1}{2}}\\\\\left.e^{-v}\right|_{x\;+\;{\frac {1}{2}}}^{0}&:&-{\frac {1}{2}}\;<\;x\;<\;{\frac {1}{2}}\\\\\left.e^{-v}\right|_{x\;+\;{\frac {1}{2}}}^{x\;-\;{\frac {1}{2}}}&:&x\;>\;{\frac {1}{2}}.\end{matrix}}\right.$
    $h(x)\;=\;\left\{{\begin{matrix}0&:&x\;<\;-{\frac {1}{2}}\\\\\left(1\;-\;e^{-(x\;+\;{\frac {1}{2}})}\right)&:&-{\frac {1}{2}}\;<\;x\;<\;{\frac {1}{2}}\\\\\left(e^{-(x\;-\;{\frac {1}{2}})}\;-\;e^{-(x\;+\;{\frac {1}{2}})}\right)&:&x\;>\;{\frac {1}{2}}.\end{matrix}}\right.$

#### Função seno integral

Seja f(x) e g(x) a Função sinc sinc(x) = ${\frac {sin(\pi x)}{\pi x}}$. A convolução será dada por
    $h(x)\;=\;\int _{-\infty }^{\infty }{\frac {sin(\pi u)}{\pi u}}\cdot {\frac {sin(\pi (x\;-\;u))}{\pi (x\;-\;u)}}\;du$
    $h(x)\;=\;\int _{-\infty }^{\infty }{\frac {sin(\pi u)}{\pi u}}\cdot {\frac {sin(\pi x)\cdot cos(\pi u)\;-\;cos(\pi x)\cdot sin(\pi u)}{\pi (x\;-\;u)}}\;du$
    $h(x)\;=\;\int _{-\infty }^{\infty }{\frac {1}{2}}\cdot {\frac {sin(\pi x)\cdot sin(2\pi u)}{\pi u(\pi x\;-\;\pi u)}}\;du\;-\;\int _{-\infty }^{\infty }{\frac {cos(\pi x)\cdot sin^{2}(\pi u)}{\pi u(\pi x\;-\;\pi u)}}\;du$
Como a função ${\frac {sin^{2}(\pi u)}{\pi u(\pi x\;-\;\pi u)}}$ é ímpar, o valor da integral em um intervalo simétrico se anula. Assim:
    $h(x)\;=\;\int _{-\infty }^{\infty }{\frac {1}{2}}\cdot {\frac {sin(\pi x)\cdot sin(2\pi u)}{\pi u(\pi x\;-\;\pi u)}}\;du$
    $h(x)\;=\;{\frac {sin(\pi x)}{2}}\int _{-\infty }^{\infty }{\frac {sin(2\pi u)}{\pi u(\pi x\;-\;\pi u)}}\;du$
    $h(x)\;=\;{\frac {sin(\pi x)}{2}}\int _{-\infty }^{\infty }sin(2\pi u)\cdot \left[{\frac {1}{\pi u}}\;+\;{\frac {1}{\pi x\;-\;\pi u}}\right]\cdot {\frac {1}{\pi x}}\;du$
    $h(x)\;=\;{\frac {sin(\pi x)}{\pi x}}\cdot \left[\int _{-\infty }^{\infty }{\frac {sin(2\pi u)}{2\pi u}}\;du\;+\;\int _{-\infty }^{\infty }{\frac {sin(2\pi u)}{2\pi x\;-\;2\pi u}}\;du\right]$
    $h(x)\;=\;sinc(x)\cdot \left[\int _{-\infty }^{\infty }sinc(2u)\;du\;+\;\int _{-\infty }^{\infty }{\frac {sin(2\pi u)}{2\pi x\;-\;2\pi u}}\;du\right]$

### Convolução discreta
#### Funções retangulares

Sejam f(x) = g(x) = rect(x). Podemos escolher, a princípio, um período de amostragem de 0.5, um número de 5 amostras e um intervalo centrado na origem, [-1, 1]. Assim, f(k) = g(k) = {0, 1, 1, 1, 0}. Aplicamos a expressão (2a), e obtemos h(k), que será uma sequência de 9 valores, abrangendo, portanto, o intervalo de cálculo [-2, 2]: {0, 0, 1, 2, 3, 2, 1, 0, 0}. É evidente que o resultado é a função triangular, e que ele deve ser normalizado dividindo-se os valores por 3, que é o tamanho efetivo (isto é, não-nulo) da amostra, o que resulta em h(k) = {0.000, 0.000, 0.333, 0.667, 1.000, 0.667, 0.333, 0.000, 0.000}.
Esse exemplo mostra como o cálculo numérico é mais simples que os procedimentos analíticos.

#### Função exponencial e função retangular

Seja f(x) = rect(x) e g(x) = e$^{-x}$·H(x). Procedendo como no exemplo acima, escolhemos a princípio o mesmo período de amostragem e o mesmo número de amostras, e obtemos f(k) = {0, 1, 1, 1, 0}, g(k) = {0.00, 0.00, 1.00, 0.61, 0.37} e h(k) = {0.000, 0.000, 0.000, 1.000, 1.607, 1.974, 0.974, 0.368, 0.000}. Novamente, o fator de escalamento é 3, o que resulta em h(k) = {0.000, 0.000, 0.000, 0.333, 0.536, 0.658, 0.325, 0.123, 0.000}.
Mesmo com esse reduzido número de amostras, é possível identificar uma subida rápida e uma descida lenta como características da resposta.
Aumentando-se o número de amostras para 10 e reduzindo-se o período de amostragem para 0.25, o intervalo de integração passa a ser [-1, 1.25], f(k) = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0 }, g(k) = {0.00, 0.00, 0.00, 0.00, 1,00, 0.78, 0.61, 0.47, 0.37, 0.29} e h(k) = {0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 1.000, 1.779, 2.385, 2.858, 3.226, 2.512, 1.733, 1.127, 0.654, 0.287, 0.000, 0.000, 0.000}, abrangendo o intervalo [-2, 2.5]. Observe-se que o mero aumento do número de amostras afeta a amplitude dos valores não normalizados h(k).

## Cálculo indireto
### Convolução contínua
#### Funções retangulares

Sejam f(x) = g(x) = rect(x). A convolução linear contínua de f e g pode ser calculada através da transformação de Fourier e do teorema da convolução:
    $h(x)\;=\;{\mathcal {F}}^{-1}\left\{{\mathcal {F}}\{f(x)\}\cdot {\mathcal {F}}\{g(x)\}\right\}$
A transformada de Fourier de rect(x) pode ser obtida em qualquer tabela. Temos que
    ${\mathcal {F}}\left\{rect(x)\right\}\;=\;sinc\left({\frac {\omega }{2\pi }}\right)$
Assim,
    $h(x)\;=\;{\mathcal {F}}^{-1}\left\{sinc^{2}\left({\frac {\omega }{2\pi }}\right)\right\}\;=\;tri(x)$
Esse exemplo mostra que o cálculo indireto da convolução evita a necessidade de analisar os limites de integração que aparece quando se calcula a convolução diretamente. É preciso apenas alguma manipulação para colocar as expressões numa forma padrão que permita consultar tabelas prontas.

#### Função exponencial e função retangular

Seja f(x) = rect(x) e g(x) = e$^{-x}$·H(x). Procedendo como no exemplo acima, teremos
    $h(x)\;=\;{\mathcal {F}}^{-1}\left\{{\mathcal {F}}\{f(x)\}\cdot {\mathcal {F}}\{g(x)\}\right\}\;=\;{\mathcal {F}}^{-1}\left\{2\cdot {\frac {sin(\omega )}{\omega }}\cdot {\frac {1}{1\;+\;i\omega }}\right\}$
Perceba-se que aqui se escolheu, para a transformada da função retangular, uma forma diferente da adotada no exemplo de cálculo direto. Com alguma manipulação algébrica, teremos
    $h(x)\;=\;{\mathcal {F}}^{-1}\left\{2sin(\omega )\cdot {\frac {1\;-\;i\omega }{\omega (1\;+\;\omega ^{2})}}\right\}\;=\;{\mathcal {F}}^{-1}\left\{2sin(\omega )\cdot \left[{\frac {1}{\omega }}\;-\;{\frac {\omega \;+\;i}{1\;+\;\omega ^{2}}}\right]\right\}$
    $h(x)\;=\;{\mathcal {F}}^{-1}\left\{2\;{\frac {sin(\omega )}{\omega }}\right\}\;-\;{\mathcal {F}}^{-1}\left\{2\;{\frac {\omega \cdot sin(\omega )}{1\;+\;\omega ^{2}}}\right\}\;-\;{\mathcal {F}}^{-1}\left\{2i\;{\frac {sin(\omega )}{1\;+\;\omega ^{2}}}\right\}$