Você está na página 1de 10

2018

Convolução com o SciLab

Convolução com o SciLab


CHARLES WAY HUN FUNG
Sumário
Conceito de convolução .................................................................................................................. 2
Exemplo: Convolução discreta em sistema linear....................................................................... 3
Convolução Contínua ..................................................................................................................... 5
Convolução de sinais diferentes: ................................................................................................ 7
Referências..................................................................................................................................... 9

Convolução com o SciLab 1 Eng. Charles Way Hun Fung MSc.


Conceito de convolução
Considere um sistema linear invariante no tempo, como mostrado na figura a seguir:

Figura 1 – Sistema linear.

Fonte: (Oppenheim, 2010).

O sinal x[n] é a entrada do sistema, por este sinal ser linear pode ser considerado uma
combinação linear de diversos sinais mais simples x[k]. Podemos definir que

𝑥[𝑛] = 𝑥[𝑘]𝛿[𝑛 − 𝑘]

No Scilab, por exemplo podemos escrever um sinal da seguinte forma:

Sinal:

𝑥[𝑛] = 𝛿[𝑛 − 1] + 2𝛿[𝑛] + 𝛿[𝑛 + 1]

A saída deste sistema é y[n], que corresponde a resposta do sistema a entrada x[n].

Chamamos de h[n] a resposta do sistema ao impulso, ou resposta ao impulso. É a resposta


do sistema quando x[n] é um impulso unitário δ[n]. Então podemos afirmar que:

𝛿[𝑛] → ℎ[𝑛]

No caso de um impulso deslocado:

𝛿[𝑛 − 𝑘] → ℎ[𝑛 − 𝑘]

Logo, para calcular a saída y[n] deve-se calcular a convolução de x[n] por h[n].

𝑦[𝑛] = 𝑥[𝑛] ∗ ℎ[𝑛]

Convolução com o SciLab 2 Eng. Charles Way Hun Fung MSc.


𝑦[𝑛] = 𝑥[𝑘]ℎ[𝑛 − 𝑘]

Esta é a equação da convolução, que consiste em diversas somas de multiplicações


geradas através do deslocamento de h[n] por x[n].

Exemplo: Convolução discreta em sistema linear

Vamos considerar um sinal de entrada x[n]:

𝑥[𝑛] = 𝛿[𝑛] + 2𝛿[𝑛 − 1] + 𝛿[𝑛 − 3]

O sistema possui uma resposta ao impulso h[n]:

ℎ[𝑛] = 𝛿[𝑛 + 1] + 2𝛿[𝑛 − 1]

Inserindo estes dois sinais no SciLab:

A representação gráfica destes sinais:

Convolução com o SciLab 3 Eng. Charles Way Hun Fung MSc.


Observação:

O comando subplot receberá como parâmetro:

<Quantidade de linha><quantidade de colunas><posição na janela>

Exemplo:121 -> uma linha, duas colunas, 1ª posição.

Vamos realizar a convolução x[n]*h[n] usando o SciLab, para isto usamos o comando conv.

Sintaxe do comando:

y = conv(<sinal1>,<sinal2>)

Então, para o problema que estamos resolvendo teremos:

Perceba que a quantidade de pontos é praticamente o dobro, na verdade a quantidade de


pontos positivos e negativos dobrou mais o zero. Por isso devemos criar ‘n2’, que diferente de ‘n’
que varia de -5 a 5, esse irá variar de -10 a 10:

Em seguida realizaremos a plotagem do sinal y[n]:

Convolução com o SciLab 4 Eng. Charles Way Hun Fung MSc.


Convolução Contínua
Outro exemplo de convolução que pode ser realizada é a contínua, neste caso utilizaremos
dois sinais semelhantes que chamaremos de pulso retangular. Que podemos descrever como uma
diferença entre uma função degrau e outra degrau deslocado:

𝑟𝑒𝑡𝑎𝑛𝑔𝑢𝑙𝑜[𝑛 ] = 𝑢[𝑛] − 𝑢[𝑛 − 𝑛 ]

Logo, com um exemplo numérico no Scilab:

O resultado desta operação pode ser plotado no gráfico a seguir:

Convolução com o SciLab 5 Eng. Charles Way Hun Fung MSc.


Observação:

Para plotar o gráfico de forma a não ficar nos limites da representação dos eixos, deve-se
fazer o plot e depois configurar os limites do eixo x e y. Para isto utilize o comando:

a = gca();

a.data_bounds=[X0,Y0;Xn,Yn];

Onde:

X0: Limite inferior do eixo X;

Xn: Limite superior do eixo X;

Y0: Limite inferior do eixo Y;

Yn: Limite superior do eixo Y;

Exemplo:

a.data_bounds=[-10,0;10,5];

Neste exemplo o eixo X varia de -10 a 10 e o eixo Y varia de 0 a 5.

Utilizaremos o pulso retangular que acabamos de definir, para executar a operação de


convolução, da seguinte forma:

𝑦[𝑛] = 𝑟𝑒𝑡[𝑛] ∗ 𝑟𝑒𝑡[𝑛]

O cálculo da convolução é realizado no Scilab da seguinte forma:

Em seguida iremos plotar o gráfico:

Convolução com o SciLab 6 Eng. Charles Way Hun Fung MSc.


Convolução de sinais diferentes:

Iremos realizar a convolução entre os sinais:

1, 0<𝑡<𝑇
𝑥(𝑡) =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
𝑡, 0 < 𝑡 < 2𝑇
ℎ(𝑡) =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
Para simplificar o problema faremos T=5, então:

1, 0<𝑡<5
𝑥(𝑡) =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜
𝑡, 0 < 𝑡 < 10
ℎ(𝑡) =
0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜

No Scilab:

Convolução com o SciLab 7 Eng. Charles Way Hun Fung MSc.


A convolução entre estes dois sinais é:

Convolução com o SciLab 8 Eng. Charles Way Hun Fung MSc.


Referências

[1] F. Frederico F. Campos, Fundamentos de SCILAB, Belo Horizonte: UFMG, 2010.

[2] A. S. W. Alan V. Oppenheim, Sinais e sistemas, São Paulo: Pearson, 2010.

Convolução com o SciLab 9 Eng. Charles Way Hun Fung MSc.

Você também pode gostar