domingo, 1 de setembro de 2019

Produto convolução para sinais discretos

Produto convolução para sinais discretos

Vamos falar um pouco sobre o produto convolução de sinais discretos.

Em matemática, particularmente na área de análise funcional e processamento do sinal, convolução é um operador linear que, a partir de duas funções dadas, resulta numa terceira que mede a soma do produto dessas funções ao longo da região subentendida pela superposição delas em função do deslocamento existente entre elas. O conceito de convolução está ligado à integral de superposição na Óptica de Fourier, à integral de Duhamel na teoria das vibrações, ao Teorema de Borel no estudo de sistemas lineares invariantes no tempo, ao conceito de média móvel, às funções de correlação e de autocorrelação em estatística e em processamento de sinais, e a diversos conceitos usados em análise de imagens, como digitalização, alisamento, embaçamento e aberração cromática. Fonte: artigo na Wikipedia.


produto convolução para sinais discretos

No vídeo seguinte mostramos que um sinal qualquer pode ser escrito em função do impulso unitário $$\delta [n]=\left\{\begin{array}{rcl}1&se&n=0\\ 0&se&n\neq 0\end{array}\right.$$ a saber $$x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]$$ e definimos $$x[n]*y[n]=\sum_{k=-\infty}^{\infty}x[k]y[n-k]$$

[vídeo aqui: publicação em 02/09/2019]
https://youtu.be/Bp6oj14t2hI

Propriedades

Como vimos, dados dois sinais discretos $x[.]$ e $y[.]$ o produto convolução $x*y[.]$ entre eles pode ser definido como o sinal obtido através do seguinte $$(x*y)[n]=\sum_{k=-\infty}^{\infty}x[k].y[n-k]=\sum_{k=-\infty}^{\infty}y[k].x[n-k]$$ pois $(x*y)[.]=(y*x)[.]$

Valem as seguintes propriedades:

i) $x[n]*\delta[n]=\delta[n]*x[n]=x[n]$
ii) $x[n]*y[n]=y[n]*x[n]$
iii) $x[n]*(y[n]+z[n])=x[n]*y[n]+x[n]*z[n]$
iv) $x[n]*(y[n]*z[n])=(x[n]*y[n])*z[n]$

Há softwares como Octave, Scilab e Matlab que você entra com os vetores 'x' e 'y' e com um simples comando (geralmente conv(x,y)) eles retornam o vetor produto convolução. Entretanto, como esse cálculo pode ser feito manualmente?

Exemplo 1

Considere o sinal definido por
$$x[n]=\left\{\begin{array}{rcl}
3 &\text{se}&n=-2\\
-1 &\text{se}&n=0\\
2 &\text{se}&n=1\\
0&&\mbox{caso contrário}
\end{array} \right.$$
e
$$y[n]=\left\{\begin{array}{rcl}
2 &\text{se}&n=0\\
3 &\text{se}&n=1\\
-1 &\text{se}&n=3\\
-2&\text{se}& n=3\\
0&&\mbox{caso contrário} \end{array} \right.$$

[Vídeo aqui: publicação em 03/09/2019]
https://youtu.be/Pb_Szu3J238
===============

Exemplo 2

Considere agora o sinal definido como
$$x[n]=\left\{\begin{array}{rcl}
3 &\text{se}&n=-3\\
2 &\text{se}&n=-1\\
1 &\text{se}&n=1\\
0&&\mbox{caso contrário}
\end{array} \right.$$
e
$$y[n]=\left\{\begin{array}{rcl}
1 &\text{se}&n=-2\\
2 &\text{se}&n=-1\\
3 &\text{se}&n=1\\
4&\text{se}& n=2\\
0&&\mbox{caso contrário} \end{array} \right.$$

Como encontrar o produto convolução desses dois sinais discretos?

1º Modo

Como $$(x*y)[n]=\sum_{k=-\infty}^{\infty}x[k].y[n-k]$$ fazendo $k$ assumir os valores inteiros ficaremos com $$(x*y)[n]=\cdots +x[-3]\cdot y[n+3]+x[-2]\cdot y[n+2]+\cdots +x[2]\cdot y[n-2]+x[3]\cdot y[n-3]+\cdots$$ ou seja, temos o sinal $y[.]$ sendo transladado horizontalmente  e multiplicado por um número $x[k]$. Para um sinal de poucos valores não nulo é possível desenhar o gráfico dessas diversas parcelas e depois adicionar, como fazemos no vídeo anterior.

[vídeo aqui...]

2º Modo

Esse é um processo simples, mas que se você reparar bem, entenderá. Podemos explicá-lo com mais detalhes em um outro momento. Consiste em multiplicar dois pseudo-polinômios em que "n" é o expoente e "x[n]" são os coeficientes. Assim, $$x[n]=3x^{-3}+2x^{-1}+x^{1}\,\,\,\mbox{e}\,\,\,y[n]=1x^{-2}+2x^{-1}+3x^1+4x^{2}$$ e se multiplicar esses 'polinômios' encontrará $$3x^{-5}+6x^{-4}+2x^{-3}+13x^{-2}+13x{-1}+8x^0+8 x^1+3 {{x}^{2}}+4 {{x}^{3}}.$$ Com isso podemos dizer que $$(x*y)[n]=\left\{\begin{array}{rcl}
3 &\text{se}&n=-5\\
6 &\text{se}&n=-4\\
2 &\text{se}&n=-3\\
13&\text{se}& n=2\\
13&\text{se}& n=-1\\
8&\text{se}& n=0\\
8&\text{se}& n=1\\
3&\text{se}& n=2\\
4&\text{se}& n=3\\
0&&\mbox{caso contrário}
\end{array} \right.$$

Veja no vídeo seguinte o cálculo desse produto convolução usando uma tabela.




3º Modo

O terceiro modo é escrever esse "produto de 'polinômios'" como uma tabela e proceder como se aprende no 8º ano (antiga 7ª série). Ficaria assim
$$ \begin{array}{ccccccccc} 1 & 2 & 0 & 3 & 4 & & & & \\ 3 & 0 & 2 & 0 & 1 & & & & \\ \hline 3 & 6 & 0 & 9 & 12 & & & & \\ & 0 & 0 & 0 & 0 & 0 & & & \\ & & 2 & 4 & 0 & 6 & 8 & & \\ & & & 0 & 0 & 0 & 0 & 0 & \\ & & & & 1 & 2 & 0 & 3 & 4 \\ \hline 3 & 6 & 2 & 13 & 13 & 8 & 8 & 3 & 4 \\ \end{array} $$ O que está acima é algo simplificado do que vem a seguir:
\begin{array}{ccccccccc} 1x^{-3} & 2x^{-2} & 0x^{-1} & 3x^{0} & 4x^{1} & & & & \\ 3x^{-2} & 0x^{-1} & 2x^{0} & 0x^{1} & 1x^{2} & & & & \\ \hline 3x^{-5} & 6x^{-4} & 0x^{-3} & 9x^{-2} & 12x^{-1} & & & & \\ & 0x^{-4} & 0x^{-3} & 0x^{-2} & 0x^{-1} & 0x^{0} & & & \\ & & 2x^{-3} & 4x^{-2} & 0x^{-1} & 6x^{0} & 8x^{1} & & \\ & & & 0x^{-2} & 0x^{-1} & 0x^{0} & 0x^{1} & 0x^{2} & \\ & & & & 1x^{-1} & 2x^{0} & 0x^{1} & 3x^{2} & 4x^{3} \\ \hline 3x^{-5} & 6x^{-4} & 2x^{-3} & 13x^{-2} & 13x^{-1} & 8x^{0} & 8x^{1} & 3x^{2} & 4x^{3} \\ \end{array}


[Aguarde mais vídeos...]






Compartilhe:


Algum link quebrado? Por favor, entre em contato para reportar esse erro.

Postar um comentário

Whatsapp Button works on Mobile Device only

Digite no campo abaixo e tecle ENTER para pesquisar.