Você está na página 1de 4

Primeiro trabalho: Convolução e correlação

Disciplina: Análise de sistemas lineares

Prof. Wilmer Lobato, EE., M.Sc.


Centro Universitário UNIAVAN, Balneário Camboriú-SC, Brasil

Importante:
i) Máximo dois alunos por grupo.
ii) Entregar relatório em PDF.
iii) Data de entrega: 18 de Setembro de 2019. E-mail: wilmer.malaver@avantis.edu.br

1. Convolução: Sistema LTIC


Considere o sistema LTI da Figura 1:

x(t) h(t) y(t)

Figura 1: Sistema LTI (Autor)

Solicita-se:

• Plotar ao longo do tempo, desde t = −1 segundos até t = 4 segundos, os sinais de entrada:


Função impulso unitário: d(t)
Função degrau: u(t)
Função rampa: (t/4)u(t)
Função exponencial: e−t u(t)
Função coseno: cos(ωt)u(t), onde ω = 2πf , sendo f = 1Hz
Função exponencial complexa: e−t cos(ωt)u(t), onde ω = 2πf , sendo f = 1Hz

• Plotar a resposta ao impulso do sistema para h(t) = u(t).

• Plotar o sinal de saı́da para cada entrada, considerando novamente h(t) = u(t).

Para cada figura colocar o tı́tulo e as etiquetas de cada eixo.

Preprint submitted to UNIAVAN 30 de agosto de 2019


2. Correlação: Sistema de comunicações
Considere o sistema de comunicações representado na Figura 2. Um radar emite um sinal x(t)
para um avião com velocidade de transmissão c = 3 · 108 m/s (velocidade de propagação das ondas
eletromagnêticas). O transmissor do avião retorna o sinal de volta para o radar. O radar recebe
o sinal que transmitiu, corrompido por ruido e deslocado no tempo, por causa da transmissão,
denominado y(t). A distância entre o radar e o avião é D.

Figura 2: Sistema de comunicações (Autor)

Os sinais emitidos e recebidos entrontram-se no arquivo RADAR.MAT, o qual pode ser carre-
gado mediante a função load RADAR.MAT no MATLAB. Solicita-se:

• Plotar o sinal emitido pelo radar x(t), usando um passo de dt = 0.015s.

• Plotar o sinal recebido pelo radar y(t), usando um passo de dt = 0.015s.

• Plotar a correlação entre x(t) e y(t).

• Obter a distância D entre o radar e o avião.

2
3. Tutorial de MATLAB
3.1. Limpeza de variáveis e objetos
O seguinte código inicial deve ser usado para realizar a limpeza de variáveis e objetos.

1 % Iniciamos limpando o que f o i f e i t o a n t e s


2 clear all ; % Limpar as v a r i a v e i s
3 close all ; % Fechar as j a n e l a s a b e r t a s
4 clc ; % Limpar o c o n s o l e de comandos

Figura 3: Código inicial para limpeza

3.2. Gerar o eixo temporal e o sinal dependente do tempo


Definir um passo que não seja muito pequeno, que sature o processador do seu PC; nem muito
grande, que produça a perda de amostras (aliasing). O seguinte código pode ser utilizado para
gerar o eixo temporal e a função a serem plotados.

1 % D e f i n i c a o do e i x o temporal ’ t ’
2 p a s s o = 0 . 0 0 0 1 ; % Passo para amostragem
3 t = −1: p a s s o : 4 ; % Vetor de amostras no tempo
4

5 % D e f i n i c a o da f u n c a o ’ x ’ dependente de ’ t ’
6 x = 5∗ t ;

Figura 4: Código para gerar o eixo temporal e a função

3.3. Plotar sinais


Após definir os eixos, o seguinte código pode ser utilizado para plotar.

1 % D e f i n i c a o da f i g u r a
2 figure ; % I n i c i a uma f i g u r a
3 plot ( t , x , ’b ’ , ’ linewidth ’ ,2) ; % Plotar eixos ’ t ’ e ’x ’
4 t i t l e ( ’ S i n a l rampa ’ ) ; % T i t u l o da f i g u r a
5 x l a b e l ( ’Tempo [ s e g ] ’ ) ; % E t i q u e t a do e i x o x ( ’ t ’ )
6 y l a b e l ( ’ Amplitude ’ ) ; % E t i q u e t a do e i x o y ( ’ x ’ )

Figura 5: Código para plotar sinais

Observações: O comando ’b’ define a cor da linha (blue, no caso), podendo usar ’r’ (red), ’g’
(green), ’y’ (yellow), dentre outros. Além disso, o comando ’linewidth’ define o grosso de linha (2,
no caso). Para mais informações, digite help plot no console de comando.

3
3.4. Outros sinais importantes
A seguir, apresentamos os códigos utilizados para gerar os seguintes sinais: sinal impulso
unitário, sinal degrau unitário, sinal rampa, sinal exponencial, sinal cosseno, e sinal seno. Note
que, todos os sinais começam em t = 0 segundos (tempo de referência). Importante: A operação
matemática .* (ver figura) denota a multiplicação ponto a ponto de dois vetores.

1 x1 = ( t==0) ; % Sinal impulso u n i t a r i o


2 x2 = ( t >=0) ; % Sinal degrau u n i t a r i o
3 x3 = t . ∗ ( t >=0) ; % Sinal rampa
4 x4 = exp ( t ) . ∗ ( t >=0) ; % Sinal exponencial
5 x5 = c o s (2∗ p i ∗1∗ t ) . ∗ ( t >=0) ; % Sinal c o s s e n o ( f = 1Hz )
6 x6 = s i n (2∗ p i ∗1∗ t ) . ∗ ( t >=0) ; % Sinal seno ( f = 1Hz )

Figura 6: Código para gerar outros sinais importantes

3.5. Convolução de sinais


O software MATLABR +∞ permite calcular a convolução temporal entre os sinais x(t) e h(t), obtendo
y(t) = x(t) ∗ h(t) = −∞ x(τ )h(t − τ )dτ . Importante: O número de amostras sinal obtido y(t) é
igual ao número de amostras do sinal de entrada x(t) mais o número de amostras da resposta ao
impulso do sistema h(t).

1 % D e f i n i c a o do e i x o temporal ’ t ’
2 p a s s o = 0 . 0 0 0 1 ; % Passo para amostragem
3 t = −1: p a s s o : 4 ; % Vetor de amostras no tempo
4

5 % D e f i n i c a o da f u n c a o ’ x ’ e ’ h ’ , d e p e n d e n t e s de ’ t ’
6 x = ( t / 4) . ∗ ( t >=0) ;
7 h = ( t >=0) ;
8

9 % Convolucao de ’ x ’ e ’ h ’
10 y = conv ( x , h ) ;

Figura 7: Código para obter a convolução entre dois sinais

3.6. Correlação de sinais


O software MATLAB permiteR +∞ calcular a correlação entre dois sinais x(t) e y(t), onde z(τ ) =
corr(x(t), y(t)) = rxy (τ ) = −∞ x(t)y(t − τ )dt. Importante: O número de amostras sinal obtido
z(τ ) é igual ao número de amostras do primeiro sinal x(t) mais o número de amostras do segundo
sinal y(t).

1 l o a d RADAR.MAT % C a r r e g a r a r q u i v o .MAT
2 z = xcorr (x , y) ; % Funcao de c o r r e l a c a o e n t r e ’ x ’ e ’ y ’

Figura 8: Código para obter a correlação entre dois sinais

Você também pode gostar