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 ) = r e c t ( u ) r e c t ( x u ) d u {\displaystyle 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 ) = 1 2 1 2 r e c t ( x u ) d u {\displaystyle 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 ) = x + 1 2 x 1 2 r e c t ( v ) d v = x 1 2 x + 1 2 r e c t ( v ) d v {\displaystyle 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á [ 3 2 , 1 2 ] {\displaystyle \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á [ 1 2 , 1 2 ] {\displaystyle \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 1 2 {\displaystyle -{\frac {1}{2}}} até chegar a 1 2 {\displaystyle {\frac {1}{2}}} , mas rect(v) será não nula apenas para v > -½. Assim, podemos reescrever o intervalo como [ 1 2 , x + 1 2 ] {\displaystyle \left[-{\frac {1}{2}},\;x\;+\;{\frac {1}{2}}\right]} . Similarmente, para 0 < x < 1, o limite de integração inferior crescerá de 1 2 {\displaystyle -{\frac {1}{2}}} até chegar a 1 2 {\displaystyle {\frac {1}{2}}} , mas rect(v) será não nula apenas para v < ½. O intervalo de integração será [ x 1 2 , 1 2 ] {\displaystyle \left[x\;-\;{\frac {1}{2}},\;{\frac {1}{2}}\right]} . Por isso,


h ( x ) = { 0 : x < 1 1 2 x + 1 2 d v : 1 < x < 0 x 1 2 1 2 d v : 0 < x < 1 0 : x > 1. {\displaystyle 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 ) = { 0 : x < 1 v | 1 2 x + 1 2 : 1 < x < 0 v | x 1 2 1 2 : 0 < x < 1 0 : x > 1. {\displaystyle 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 ) = { 0 : x < 1 v | 1 2 x + 1 2 : 1 < x < 0 v | x 1 2 1 2 : 0 < x < 1 0 : x > 1. {\displaystyle 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 ) = { 0 : x < 1 x + 1 : 1 < x < 0 1 x : 0 < x < 1 0 : x > 1. {\displaystyle 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 ) = { 0 : | x | > 1 1 | x | : | x | < 1. {\displaystyle 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 ) = r e c t ( u ) e ( x u ) H ( x u ) d u = x 1 2 x + 1 2 e v H ( v ) d v {\displaystyle 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 ) = { 0 : x < 1 2 0 x + 1 2 e v d v : 1 2 < x < 1 2 x 1 2 x + 1 2 e v d v : x > 1 2 . {\displaystyle 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 ) = { 0 : x < 1 2 e v | x + 1 2 0 : 1 2 < x < 1 2 e v | x + 1 2 x 1 2 : x > 1 2 . {\displaystyle 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 ) = { 0 : x < 1 2 ( 1 e ( x + 1 2 ) ) : 1 2 < x < 1 2 ( e ( x 1 2 ) e ( x + 1 2 ) ) : x > 1 2 . {\displaystyle 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) = s i n ( π x ) π x {\displaystyle {\frac {sin(\pi x)}{\pi x}}} . A convolução será dada por


h ( x ) = s i n ( π u ) π u s i n ( π ( x u ) ) π ( x u ) d u {\displaystyle h(x)\;=\;\int _{-\infty }^{\infty }{\frac {sin(\pi u)}{\pi u}}\cdot {\frac {sin(\pi (x\;-\;u))}{\pi (x\;-\;u)}}\;du}


h ( x ) = s i n ( π u ) π u s i n ( π x ) c o s ( π u ) c o s ( π x ) s i n ( π u ) π ( x u ) d u {\displaystyle 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 ) = 1 2 s i n ( π x ) s i n ( 2 π u ) π u ( π x π u ) d u c o s ( π x ) s i n 2 ( π u ) π u ( π x π u ) d u {\displaystyle 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 s i n 2 ( π u ) π u ( π x π u ) {\displaystyle {\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 ) = 1 2 s i n ( π x ) s i n ( 2 π u ) π u ( π x π u ) d u {\displaystyle 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 ) = s i n ( π x ) 2 s i n ( 2 π u ) π u ( π x π u ) d u {\displaystyle h(x)\;=\;{\frac {sin(\pi x)}{2}}\int _{-\infty }^{\infty }{\frac {sin(2\pi u)}{\pi u(\pi x\;-\;\pi u)}}\;du}


h ( x ) = s i n ( π x ) 2 s i n ( 2 π u ) [ 1 π u + 1 π x π u ] 1 π x d u {\displaystyle 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 ) = s i n ( π x ) π x [ s i n ( 2 π u ) 2 π u d u + s i n ( 2 π u ) 2 π x 2 π u d u ] {\displaystyle 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 ) = s i n c ( x ) [ s i n c ( 2 u ) d u + s i n ( 2 π u ) 2 π x 2 π u d u ] {\displaystyle 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 ) = F 1 { F { f ( x ) } F { g ( x ) } } {\displaystyle 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

F { r e c t ( x ) } = s i n c ( ω 2 π ) {\displaystyle {\mathcal {F}}\left\{rect(x)\right\}\;=\;sinc\left({\frac {\omega }{2\pi }}\right)}

Assim,

h ( x ) = F 1 { s i n c 2 ( ω 2 π ) } = t r i ( x ) {\displaystyle 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 ) = F 1 { F { f ( x ) } F { g ( x ) } } = F 1 { 2 s i n ( ω ) ω 1 1 + i ω } {\displaystyle 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 ) = F 1 { 2 s i n ( ω ) 1 i ω ω ( 1 + ω 2 ) } = F 1 { 2 s i n ( ω ) [ 1 ω ω + i 1 + ω 2 ] } {\displaystyle 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 ) = F 1 { 2 s i n ( ω ) ω } F 1 { 2 ω s i n ( ω ) 1 + ω 2 } F 1 { 2 i s i n ( ω ) 1 + ω 2 } {\displaystyle 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\}}