Baixe o app para aproveitar ainda mais
Prévia do material em texto
Convolução com o SciLab 2018 Convolução com o SciLab CHARLES WAY HUN FUNG Convolução com o SciLab 1 Eng. Charles Way Hun Fung MSc. 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 2 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 3 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 4 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 5 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 6 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 7 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 8 Eng. Charles Way Hun Fung MSc. A convolução entre estes dois sinais é: Convolução com o SciLab 9 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.
Compartilhar