Você está na página 1de 20

Universidade da Madeira

Departamento de Matemtica e Engenharias

Clculo da correlao e convoluo de sinais discretos e contnuos

Realizado em Maro de 2010 por :

Joo Roberto Gouveia Vieira

Docente: Joaquim Amndio R. Azevedo Cadeira : Sinais e Sistemas

INDICE
1. 2.

Introduo ....................................................................................................................................... 1 Correlao ............................................................................................................................... 2 Convoluo .............................................................................................................................. 2

Introduo da Teoria ....................................................................................................................... 2 2.1. 2.2.

2.3 Clculo das funes por definio................................................................................................. 2 2.4. Propriedades e mtodos utilizados nas funes.......................................................................... 3 3. Procedimento realizado ...................................................................................................................... 4 3.1. Correlao de sinais discretos ...................................................................................................... 4 3.2 Convoluo de sinais discretos ..................................................................................................... 5 3.3 Correlao de sinais contnuos...................................................................................................... 5 3.4 Convoluo de sinais contnuos .................................................................................................... 6 4. Apresentao e anlise dos resultados ............................................................................................... 7 4.1 Correlao de sinais discretos ....................................................................................................... 7 4.2. Convoluo de sinais discretos .................................................................................................... 8 4.3. Correlao de sinais contnuos..................................................................................................... 9 4.4. Correlao de sinais discretos .................................................................................................... 11 5. Concluso .......................................................................................................................................... 15 6. Referncias ........................................................................................................................................ 15

1. Introduo
Neste trabalho, deu-se continuidade ao estudo desenvolvido no trabalho anterior, mais concretamente o uso do software MATLAB como ferramenta de clculo (sobretudo) matricial. Foram utilizados sinais de energia como objectos de estudo, podendo ser discriminados em dois grupos: discretos ou contnuos. de notar que todos os sinais usados no trabalhado eram do tipo limitado, assim sendo, todo o processo de clculo efectuado baseou-se nesse tipo de sinais. O principal objectivo do trabalho foi a comparao das funes correlao e convoluo entre dois sinais quer efectuadas atravs de clculos tericos, quer atravs da implementao de algoritmos, procedendo-se posteriormente visualizao dos resultados finais atravs de representaes grficas. Pretendeu-se tambm verificar a importncia do perodo de amostragem na exactido de amostragem do sinal. de notar que os algoritmos foram projectados para funcionar genericamente, isto , para funcionar para quaisquer sinais entrada e no para os casos particulares que foram objectos de estudos neste trabalho.

2. Introduo da Teoria
Neste captulo so apresentadas as duas funes que foram a base de estudo neste trabalho, mais concretamente a correlao e a convoluo. de notar que para haver coerncia nos resultados, o perodo utilizado na amostragem das duas funes foi o mesmo, podendo esse ser alterado mas sempre em conjunto. A funo correlao (representada por ) permite relacionar dois sinais em cada posio de atraso de um em relao ao outro. Assim sendo, o valor da correlao num ponto obtido pelo produto escalar entre esse dois sinais e o resultado representa a semelhana (rea) entre os sinais nesse mesmo ponto.

2.1.

Correlao

2.2.

Convoluo

Um sistema linear e invariante no tempo, pode ser caracterizado pela sua resposta ao impulso de Dirac. Uma vez obtida a funo de resposta do sistema ao impulso de Dirac, apenas preciso conhecer o sinal de entrada para calcular o sinal sada desse mesmo sistema. O clculo desse sinal sada efectuada pela convoluo (representada por ) entre o sinal de entrada do sistema e a resposta desse sistema a um impulso de Dirac.

2.3 Clculo das funes por definio


Nesta seco, so apresentadas as expresses para o clculo por definio da correlao e convoluo por definio, tanto para sinais contnuos como discreto: Correlao entre dois sinais contnuos uv = u(t) v(t) =
+

Correlao entre dois sinais discretos

uv = u(t n ) v(t n )= u(t n )v (t n k ) u(t)v(t) = u() v(t )d


+ n=

u(t) v*(t - )dt

(1) (2) (3)

Convoluo entre dois sinais contnuos :

Convoluo entre dois sinais discretos:

u(t n )

v(t n ) = + u(k )vt n k n=

(4)

2.4. Propriedades e mtodos utilizados nas funes


O uso das propriedades tm normalmente o objectivo de simplificar o clculo das funes. De seguida, so apresentadas as propriedades utilizadas neste trabalho. Derivao e integrao da convoluo: () ( ) = [ () ()]( +) u(t)v(t) = v(t)u(t)

Comutatividade da convoluo:

Para a alm do clculo por definio de funes (previamente apresentado), possvel tambm o efectuar recorrendo a matrizes. (Quando neste trabalho for preciso fazer referncia a este mtodo utiliza-se a expresso de mtodo matricial.) Para tal, criada uma matriz chamada matriz_deslocamento com a matriz revertida do segundo sinal repetida em todas as linhas mas com a particularidade de por cada linha que desce, avana uma posio nas colunas. Todos os espaos da matriz que no so ocupados pela segunda matriz revertida tm o valor nulo. Posteriormente, essa matriz ir ser multiplicada com a matriz do primeiro sinal e o resultado ser uma matriz com as amplitudes do sinal de sada (matriz_vector).

Para finalizar, de referir que a convoluo entre dois sinais pode tambm ser calculada fazendo a correlao do primeiro com o reverso do segundo.

3. Procedimento realizado

3.1. Correlao de sinais discretos


Procedeu-se ao clculo da correlao de sinais discretos Para o clculo terico da correlao entre dois sinais discretos, atrasou-se o segundo sinal perodos, em que varia a +. Para cada instante que a 2 funo coincidia com a primeira, multiplicava-se os pontos coincidentes somando-se uns ao outros para naquele instante de tempo. De seguida, implementou-se (no software MATLAB) o algoritmo que permitia a correlao de sinais contnuos (anexo A). A figura seguinte ilustra os principais passos do algoritmo do mtodo matricial para o clculo da correlao implementado no MATLAB:

Figura 1: Passos principais na implementao do mtodo matricial no MATLAB.

1 Passo - Definio das variveis. 3 Passo - criada uma matriz chamada matriz_deslocamento com linhas e + 1 colunas. Esta matriz deslocamento preenchida com a matriz 2 Passo - Reverter os coeficientes da segunda matriz entre si.

revertida do segundo sinal repetida em todas as linhas mas com a particularidade de por cada linha que desce, avana uma posio nas colunas. Os restantes valores ficam a zero. 4 Passo - A matriz do primeiro sinal ir ser multiplicada com a matriz deslocamento e o resultado ser uma matriz (de 1 linha) que cujos valores correspondem s amplitudes da correlao entre os dois sinais (armazenados na matriz_vector). Por fim criada a uma varivel que indica o incio e o final do grfico na varivel independente, para mais tarde se proceder representao grfica.

3.2 Convoluo de sinais discretos


A convoluo entre sinais discretos foi efectuada fazendo o clculo da correlao por definio com mas com o segundo sinal revertido. As equaes finais foram implementadas no MATLAB para efectuar uma comparao a nvel grfico com os resultados prticos. De seguida procedeu-se implementao do algoritmo da convoluo no software MATLAB. A convoluo foi implementada no algoritmo pelo mtodo matricial e fazendo a correlao do primeiro sinal com o segundo sinal revertido com a particularidade . Esboaram-se os resultados tericos e prticos num grfico.

3.3 Correlao de sinais contnuos


O clculo terico da correlao entre sinais contnuos foi efectuado por definio. As equaes finais foram implementadas no MATLAB para efectuar uma comparao a nvel grfico com os resultados simulados. Para implementao do algoritmo da correlao de sinais contnuos, foram seguidos os passos da figura 1 mas devido introduo duma varivel responsvel pelo perodo de amostragem, foi necessrio multiplicar todos os valores da matriz_vector pela base de tempo. Os resultados tericos e simulados foram esboados num grfico.

3.4 Convoluo de sinais contnuos


Para efectuar o clculo terico da convoluo entre dois sinais contnuos, utilizou-se a propriedade da derivao e integrao (apresentada na introduo terica). Neste tipo de propriedade possvel derivar qualquer um dos sinais inmeras vezes, desde que se integre o resultado da funo tantas vezes quanto a soma das derivadas que se efectuaram nos sinais. - Derivou-se a primeira funo 1 vez e fez-se a convoluo da derivada da primeira funo pela segunda e representou-se o resultado graficamente (ateno que este resultado ainda a derivada da funo convoluo). - Fez-se um novo grfico integrando o grfico anterior. - Extraram-se as expresses das rectas que compunham a derivada funo convuluo e de seguida primitivou-se essas mesmas expresses. - Para o clculo das constantes igualou-se as primitivas imagem que tinham no ponto final do seu intervalo e substituiu-se a varivel independente (t) pelo ponto de chegada dessas expresses. Foi tambm implementado no MATLAB um algoritmo para a convoluo de sinais discretos (a partir do mtodo matricial) de maneira a comparar com os resultados tericos.

4. Apresentao e anlise dos resultados 4.1 Correlao de sinais discretos


A figura 2 ilustra o representa graficamente os sinais utilizados na correlao:

Figura 2: Sinais discretos utilizados para o clculo da correlao.

A tabela seguinte apresenta dos valores para a da funo correlao (definida por ()) para cada respectivo atraso da funo:
Tabela1 : Resultados para a funo correlao entre os sinais da figura 1. Funo correlao w(-3) w(-2) w(-1) w(0) w(1) Operaes (1x1) + (1x0) + (1x0) (1x2) + (1x1) + (1x0) (1x1) + (1x2) + (1x1) (1x0) + (1x1) + (1x2) (1x0) + (1x0) + (1x1) Resultados 1 3 4 3 1

Para comparao com os resultados tericos, apresentou-se na figura 3 o grfico correspondente aos resultados prticos:

Figura 3 Representao grfica da correlao entre dois sinais implementados no MATLAB.

Facilmente se pode verificar que os resultados da correlao para cada atraso representados na tabela 1 correspondem precisamente s amplitudes do grfico apresentado na figura 3.

4.2. Convoluo de sinais discretos


Considerou-se os sinais discretos da figura 4:

Figura 4 - Sinais discretos utilizados para o clculo da convoluo.

Procedeu-se ao clculo da convoluo dos sinais da figura 4:

1 1 11 21 2 6 () = ( ) + 2 = 2 + + 4 8 8 4 6 10 () = 1 5 2 6 () = ( ) + 2 = + 10 4 4
= +8 = 2

3 10 () = 0

+2

= 2

+2

1 1 21 55 ( ) + 2 = 2 + 4 8 8 4

Implementou-se no MATLAB o algoritmo de convoluo e esboaram-se na figura 5 os resultados tericos e prticos:

Figura 5 - Resultados tericos e prticos da convoluo. A vermelho esto os resultados tericos e a verde esto os resultados prticos.

Verifica-se que os resultados das expresses tericas e os resultados prticos correspondem na perfeio.

4.3. Correlao de sinais contnuos


A figura 6 ilustra os sinais discretos usados para o clculo da correlao:

Figura 6 : Sinais contnuos utilizados para o clculo da correlao. Tendo em conta os sinais da figura anterior (figura 6), fizeram-se os clculos tericos:

> > 1

- 5 < - 3 < - 1 < < 1

() = 0

() = 2 2 ( ) + 2 = 1
+4 1 1 1 1 1

() = 2 2 ( ) + 2 = 2 + 8 1 () = 2 2 ( ) + 2 =
2 2

2 2

+ 5 + 3 +

25 2 7 2

Implementaram-se a expresses finais no MATLAB para comparao grfica com os resultados prticos. Esboou-se o grfico dos resultados tericos e prticos com o perodo de amostragem (varivel T) definido para 0,1 segundos:

Figura 7 : Resultados tericos e prticos da correlao com o perodo definido para 0,1 segundos. A vermelho esto os resultados tericos e a verde esto os resultados prticos.

possvel visualizar um ligeiro aumento de amplitude na funo prtica (verde) relativamente funo terica (vermelha). Este aumento de amplitude devido ao perodo de amostragem ser significativamente extenso para se poder fazer a comparao dos resultados com preciso. De seguida, definiu-se o perodo de amostragem do sinal para 0,01 segundos e esboou-se o grfico:

10

Figura 8 : Resultados tericos e prticos da correlao com o perodo definido para 0,01 segundos. A vermelho esto os resultados tericos e a verde esto os resultados prticos.

Verifica-se que para um perodo de amostragem de 0,01 segundos, o grfico terico sobrepe-se ao grfico prtico. Como era de esperar, os resultados aproximam-se com o esperado, pois para um perodo de amostragem menor obtmse resultados com um maior nvel de preciso.

4.4. Correlao de sinais discretos


A figura 9 ilustra os sinais discretos usados para o clculo da convoluo:

Figura 9: Sinais contnuos utilizados para o clculo da convoluo.

Utilizou-se a propriedade da derivao e integrao para o clculo da convoluo. Sendo assim derivou-se o primeiro sinal 1 vez e efectuou-se a convoluo com o reverso do segundo sinal. A figura 10 ilustra o resultado da convoluo da derivada do primeiro sinal com o reverso do segundo:

11

Figura 10 : Ilustrao grfica da derivada da convoluo de dois sinais representados na figura 9.

Integrou-se o resultado obtido e ilustrou-se manualmente o grfico na figura11 (esta representao no exacta, foi apenas desenhada para visualizao de alguns pontos da funo):

Figura 11 : Ilustrao manual da convoluo de dois sinais representados na figura 8.

Extraram-se as expresses das rectas que compunham a funo representada na figura 10, primitivou-se-as e fez-se tambm o clculo das constantes para posteriormente implementarmos as expresses no MATLAB para comparao com os resultados prticos. A figura 12 ilustra os passos atrs mencionados para o clculo das constantes para as 3 primeiras expresses:

Figura 12: Exemplo do clculo das constantes.

Obtidas todas as constantes, somou-se-lhas s respectivas equaes para efectuar a implementao no MATLAB. (Para visualizao de todas as constantes ver anexo B.)

12

A figura 13 ilustra os grficos terico e prtico implementados no MATLAB com o perodo amostral de 0,5 segundos para comparao de resultados:

Figura 13: Resultados tericos e prticos da convoluo com o perodo definido para 0,5 segundos. A vermelho esto os resultados tericos e a verde esto os resultados prticos.

semelhana do grfico da correlao para sinais contnuos com a base definida a 0,1 segundos, o grfico prtico (verde) representado pela figura 13 no se distancia-se um pouco do grfico terico. A figura 14 ilustra os grficos terico e prtico implementados no MATLAB com o perodo amostral de 0,5 segundos para comparao de resultados:

Figura 14: Resultados tericos e prticos da convoluo com o perodo definido para 0,05 segundos. A vermelho esto os resultados tericos e a verde esto os resultados prticos.

13

Como era de esperar, para um perodo de amostragem menor, os grficos assemelham-se muito. Generalizando para todos os grficos contnuos calculados, verifica-se que medida que se aumenta o perodo de amostragem os grficos comeam a se diferenciar e a amplitude do grfico prtico a aumentar. Provavelmente devido a uma implementao ineficiente do algoritmo que certamente se relacionar na forma defeituosa de como o perodo de amostragem afecta a forma do sinal e a sua amplitude.

14

5. Concluso
Com o finalizar do 2 trabalho laboral traduziram-se conceitos tericos a nvel prtico, nomeadamente manipulao matricial no software MATLAB e clculo das funes estudadas (correlao e convoluo). Foi visualizada a importncia do perodo na amostragem de sinais contnuos e verificou-se que quanto menor for mais ser a exactido dos resultados. Concluse ento que no limite (quando T tende para 0), a funo prtica toma a mesma forma que a funo terica. Fez-se a visualizao a nvel grfico dos resultados tericos e prticos obtidos que se encontraram conforme o esperado. A respeito das funes contnuas, elas diferiam conforme o aumento do perodo de amostragem (T) mas para uma comparao mais exacta dos resultados utiliza-se perodos de amostragens tanto menores quanto possvel.

6. Referncias
[1] F. C. Velez Grilo, Antnio, M. E. S. Casimiro, J. A. C. Lopes e J. A. R. Azevedo, Teoria do Sinal e suas aplicaes, Escolar Editora, 2010. [2] Azevedo, J. A. R, "Apontamentos de Sinais e Sistemas", Universidade da Madeira, 2010.

15

Anexo A
clear; convolucao = false; % define a operao a efectuar % declarao de variaveis if (convolucao) x = [1 1 1 1 1 ]; w = 0 : 1 : 8; y = -(1/4)*w + 2; pxi = -2; pyi = 0; ly = length(y); lx = length(x); else x = [1 2 1 ]; y = [1 1 1 ]; pxi = -1; pyi = 0; ly = length(y); lx = length(x); end y=fliplr(y); if (convolucao) pyi = -pyi - ly +1; y = fliplr(y);; end if (convolucao) novotempo = -2 : 1 : 9; funcao1 = (-1/8)*(novotempo.^2) + (11/8)*(novotempo)+ 21/4; funcao2 = -(5/4)*(novotempo)+10; funcao3 = (1/8)*(novotempo.*novotempo) - 21/8*(novotempo)+ 55/4; funcaoteorica= [funcao1(1,1:5) funcao2(1,6:9) funcao3(1,10:12)]; end m = lx+ly-1; % n de colunas do vector de correlao y_deslocamento = zeros(lx , m); for k= 1:lx y_deslocamento(k, k:k+ly-1)=y; end matriz_vector = x*y_deslocamento; %representao grfica beg_graf = -(ly+pyi-pxi-1); end_graf = beg_graf + m -1; n = beg_graf : 1 : end_graf; stem (n,matriz_vector,'g*') if (convolucao) hold on stem (novotempo,funcaoteorica,'r')

16

end grid

Anexo B
clear; correlacao = true; %definio da funo a efectuar convolucao = false; T = 0.1; % definio do perodo entre cada amostra %definio de variaveis if (convolucao) piu = 1; pfu= 6; t_u = piu : T : pfu; u = [3*ones(1,1/T) ones(1,4/T+1) ]; piv = -1; pfv = 1; t_v = piv : T : pfv; v = 1- abs(t_v) ; else piu = -1; pfu= 1; t_u = piu : T : pfu; u = [2*ones(1,length(t_u))]; piv = 0; pfv = 4; t_v = piv : T : pfv; v = -(1/2).*t_v + 2 ; end

compri_u = length(t_u); compri_v = length (t_v); m3 = compri_u + compri_v - 1; % n de colunas do vector de correlao

v=fliplr(v); if (convolucao) piv = -piv - length(t_v)*T +T; v = fliplr(v); % reverte mais uma vez o k kmo no reverte-se k vlido para a covoluo end %funes tericas if (correlacao) novotempo = -5 : T : 1; funcao1 = (1/2)*(novotempo.^2) + 5*(novotempo)+ 25/2; funcao2 = 2*(novotempo)+8 ; funcao3 = (-1/2)*(novotempo.^2) - 3*(novotempo)+ 7/2; funcaoteorica= [funcao1(1,1:2/T) funcao2(1,2/T+1:4/T) funcao3(1,4/T+1:6/T+1)]; else novotempo = 0 : T : 7;

17

funcao1 = (3/2)*(novotempo.^2); funcao2 = (-5/2)*(novotempo.^2) + 8*(novotempo)-4 ; funcao3 = (novotempo.^2) - 6*(novotempo)+10; funcao4 = 0*(novotempo)+1; funcao5 = (-1/2)*(novotempo.^2) + 5*(novotempo)-11.5 ; funcao6 = (1/2)*(novotempo.^2) - 7*(novotempo)+24.5; funcaoteorica= [funcao1(1,1:1/T) funcao2(1,1/T+1:(2/T)) funcao3(1,2/T+1:3/T) funcao4(1,3/T+1:5/T) funcao5(1,5/T+1:6/T) funcao6(1,6/T+1:7/T+1)]; end v_deslocamento = zeros(compri_u , m3); for k= 1:compri_u v_deslocamento(k, k:k+compri_v-1)=v; end matriz_vector = T.*u*v_deslocamento; %representao grfica beg_graf = fix(-(compri_v*T-T +piv-piu)); end_graf = fix(beg_graf + fix(m3*T -T)); n = beg_graf : T : end_graf; plot(n,matriz_vector,'g') hold on plot(novotempo,funcaoteorica, 'r') grid

18

Você também pode gostar