Buscar

Sistemas e Sinais - Poli - Lista 2B - Exercícios Computacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 1 
Descrição E/S de sistemas LIT – Exercícios computacionais 
 
A elaboração dos exercícios em 2012 contou com a colaboração dos monitores: 
Amanda Paula e Leonardo Abdala Elias. 
 
Esta parte da Lista 2 visa ilustrar a utilidade do Matlab no estudo de fundamentos da 
teoria de sistemas. Com o intuito de auxiliar o aprendizado dos conceitos vistos no 
Capítulo 2 iremos conferir alguns exercícios da Lista 2A com os comandos do MatLab: 
 
• SYS = tf(num,nen) 
• [h,t] = impulse(SYS) 
• [h,t] = step(SYS) 
• [y,t] = initial(SYS,X0) 
• [R,P,K] = residue(B,A) 
• y = conv(x1,x2).*delta 
• H = freqs(num,den,w) 
• SYS = series(SYS1,SYS2) 
• SYS = parallel(SYS1,SYS2) 
 
Para facilitar o uso dos comandos, os exercícios estão organizados em 6 grupos. No 
final da lista você vai encontrar exemplos do uso de cada um dos comandos. Além 
disso, pode-se obter maiores detalhes sobre cada comando digitando help function (em 
que function designa uma das funções acima) na janela de comandos do MatLab e uma 
ajuda detalhada será exibida. 
 
(1) Na Lista 2A, há alguns exercícios envolvendo a determinação da resposta impulsiva 
do sistema a partir da equação diferencial que o descreve. Sua resposta teórica pode ser 
conferida com o MatLab com o auxilio dos comandos tf e impulse para gerar, 
respectivamente, a função de transferência e a resposta impulsiva dos sistemas. 
Adicionalmente, é possível se obter com o MatLab a resposta ao degrau de um dado 
sistema usando o comando step. 
 
Usando os comandos tf, impulse confira os resultados que você obteve nos exercícios 
10a, 10c, 11a, 14a, 14b, 14c da Lista 2A. O comando step fornece a resposta ao degrau 
unitário. Use o comando step para mostrar a relação entre as respostas ao impulso e ao 
degrau, lembrando que a derivada de 1(t) é igual a δ(t). Dica: veja o Exemplo 1. 
 
(2) Com a função initial do MatLab é possível obter a resposta à entrada nula do 
sistema. Basta definir a função de transferência com o comando tf, aplicar a função ss, e 
finalmente aplicar a função initial. A função ss gera, a partir da função de transferência, 
a descrição no espaço de estados do sistema. Essa forma de descrever o sistema será 
vista em detalhes no Capítulo 5. O MatLab utiliza a descrição em espaço de estados 
para, a partir do vetor de condições inicias, gerar a resposta do sistema à entrada nula. 
Quando o numerador da função de transferência é uma constante as condições iniciais 
são definidas através de um vetor. No caso de um sistema de segunda ordem o primeiro 
elemento do vetor corresponde a )0(y& e o segundo elemento corresponde a )0(y . 
 
Com os comandos tf, ss e initial confira a resposta do Item 11b da Lista 2A. Dica: veja o 
Exemplo 2. 
 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 2 
(3) Você pode utilizar o comando residue do MatLab para determinar a expansão em 
frações parciais de uma função racional. 
 
Com o comando residue, confira a expansão em frações parciais que você encontrou nos 
Exercícios 10, 11, 13, 14, 15, 20 da Lista 2A. Dica: veja o Exemplo 3 
 
(4) A operação de convolução pode ser realizada em forma discretizada com o comando 
conv do MatLab, assim como está descrito em detalhes no Capítulo 2 da apostila. 
 
Com o comando conv, confira os resultados teóricos que você encontrou nos Exercícios 
6.c, 1, 4.b, 2.a, 2.b, 7 da Lista 2A. Dica: veja o Exemplo 4 
 
(5) A resposta em frequência de um sistema linear invariante no tempo (LIT) de tempo 
contínuo pode ser determinada no MatLab usando-se a função freqs, que é útil quando 
se deseja obter a resposta em regime permanente senoidal. 
 
Com o comando freqs, confira os resultados obtidos nos exercícios 16d, 17b, 19 e 20 da 
Lista 2A. Dica: veja o Exemplo 5. 
 
(6) No MatLab, as funções series e parallel podem ser utilizadas para determinar o 
sistema resultante quando dois, ou mais, sistemas estão associados em série ou em 
paralelo, respectivamente. 
 
Utilize as funções series e parallel para conferir as respostas dos Exercícios 5, 12 e 16 
da Lista 2A. Dica: veja o Exemplo 6. 
 
 
Exemplo 1: resposta impulsiva 
 
Suponha que seja pedido para determinar a resposta impulsiva e ao degrau unitário do 
seguinte sistema: 
 
 
 
Se você resolver esse exercício analiticamente, você deve obter como resposta 
impulsiva a função: 
 
 
 
e a resposta ao degrau é a sua integral. 
 O código do Quadro 1 mostra como usar as funções impulse e step para 
verificar a resposta impulsiva que você obteve analiticamente ao resolver o Exercício 1. 
 A Figura 1 mostra a comparação entre a resposta impulsiva teórica e a resposta 
impulsiva obtida com o comando impulse do Matlab. Note a concordância entre os 
dois resultados o que mostra que a resposta analítica é, de fato, a solução correta do 
problema. Além disso, a Figura 2 mostra também a resposta ao degrau obtida com o 
comando step do Matlab (gráfico à esquerda). Nesta mesma figura (gráfico à direita) é 
possível observar a relação que existe entre a resposta ao degrau e a resposta ao impulso 
do sistema, ou seja, lembrando que a função delta de Dirac (impulso) é igual à derivada 
de 1(t) e como o sistema é linear, temos que a derivada da resposta ao impulso é igual à 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 3 
resposta ao degrau. Na figura é possível perceber um pequeno erro entre as respostas 
que é devido ao método de derivação existente no MatLab, que é apenas uma 
aproximação da derivada do sinal. 
 
Quadro 1 
%Coeficientes do numerador da funcao de transferencia 
N=[1]; 
 
%Coeficientes do denominador da funcao de transferencia 
D=[1 3 2]; 
 
%Gerar funcao de transferencia 
sys=tf(N,D); 
 
%Gerar resposta impulsiva 
[h,t1]=impulse(sys); 
 
%Gerar a resposta ao degrau 
[y,t2]=step(sys); 
 
%Gerar grafico da resposta impulsiva 
figure(1) 
plot(t1,h,'linewidth',3); 
 
%Gerar o grafico da resposta ao degrau 
figure(2) 
plot(t2,y,'linewidth',3); 
 
%Resposta impulsiva teorica 
h_teo=-exp(-2*t1)+exp(-t1); 
 
%Comparar resposta teorica com resposta impulsiva gerada no matlab 
figure(1) 
hold on 
plot(t1,h_teo,'r:','linewidth',3); 
 
%Legenda 
legend('Simulada','Teórica') 
 
grid 
xlabel('t'); 
ylabel('h(t)'); 
 
%Comparar a derivada da resposta ao degrau do sistema com a resposta 
%impulsiva 
dydt = diff(y)./diff(t2); 
 
figure(3) 
plot(t1,h,'b',t2(2:end),dydt,'r:','linewidth',3); 
 
%Legenda 
legend('Resposta impulsiva','Derivada da resposta ao degrau') 
 
grid 
xlabel('t'); 
ylabel('h(t)'); 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 4 
 
Figura 1 - Resposta Impulsiva 
 
Figura 2 - Resposta ao Degrau do Sistema (curva a esquerda) e sua relação com a 
resposta ao impulso (curva à direita). 
 
Exemplo 2: resposta a entrada nula 
 
 Vamos encontrar a resposta a entrada nula considerando as condições iniciais 
 e para o Exemplo 1, descrito pela Equação Diferencial (1). A 
solução desse problema é dada por 
 
 
 
 O código do Quadro 2 compara essa solução analítica com a gerada pelo 
comando initial. 
 
 O gráfico da Figura 2 mostra a concordância entre a resposta obtida 
analiticamente e a resposta simulada pelo Matlab. 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 5 
 
Quadro 2 
 
%Coeficientes do numerador da funcao transferencia 
N=[1]; 
 
%Coeficientes do denominador da funcao transferencia 
D=[1 3 2]; 
 
%Gerar funcao transferencia 
sys=tf(N,D); 
 
sys=ss(sys); 
 
%Condicoes inicial 
y0=[0 1]; 
%Gerar a resposta a entrada nula 
[y,t]=initial(sys,y0); 
 
%Gerar grafico da resposta a entrada nula 
figure 
plot(t,y,'linewidth',3); 
 
%Respostaa entrada nula teórica 
y_teo=2*exp(-t)-exp(-2*t); 
 
%Comparar resposta teorica com resposta impulsiva gerada no MatLab 
hold on 
plot(t,y_teo,'r:','linewidth',3); 
 
%Legenda 
legend('Simulada','Teórica') 
 
grid 
xlabel('t'); 
ylabel('y(t)') 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 6 
0 1 2 3 4 5 6 7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
t
y(t
)
 
 
Simulada
Teórica
 
Figura 3 - Resposta à entrada nula 
 
 
 
Exemplo 3: Expansão em frações parciais utilizando o MatLab 
 
A função transferência sistema descrito no Exemplo 1 é dada por: 
 
 
 
A expansão em frações parciais pode ser encontrada com a função residue, cuja 
sintaxe é a seguinte: [R,P,K] = residue(B,A), em que os vetores A, B, R, P e K 
se relacionam da seguinte forma: 
 
 
 
Para testar, você pode digitar o comando [R,P,K] = residue(N,D) na janela de comandos 
do MatLab com N=[1] e D=[1 3 2]. Compare o resultado obtido com a expansão em 
frações parciais da função transferência. 
 
Exemplo 4: Operação de convolução no MatLab. 
 
A operação de convolução na sua forma discretizada também pode ser realizada com o 
auxílio do MatLab. Como exemplo, realizaremos a convolução dos seguintes sinais: 
 
 
 
 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 7 
Resolvendo essa operação analiticamente, você encontrará o seguinte resultado: 
 
 
 
O trecho de código no Quadro 3, realiza a operação de convolução com o MatLab. 
 
Para conferir o resultado da convolução teórica, podemos exibir o gráfico da 
convolução obtida analiticamente na mesma figura do gráfico da convolução calculada 
com o MatLab, assim como mostrado no trecho de código no Quadro 4. 
 
A concordância entre os dois métodos de cálculo da convolução está indicada na Figura 
3. 
 
Quadro 3 
 
 
 
 
 
 
 
%Convolucao 
 
%Passo de discretizacao 
delta=.001; 
 
%%%%%Definicao dos sinais%%%%%% 
%Tempo inicial 
tih=0; 
%Tempo final 
tfh=4; 
 
th=tih:delta:tfh; 
h=exp(-th); 
 
%Tempo inicial 
tix=2; 
%Tempo final 
tfx=5; 
 
tx=tix:delta:tfx; 
x=t2; 
 
%%%%%Convulacao MatLab%%%%%% 
ty=tih+tix:delta:tfh+tfx; 
y=conv(x,h)*delta; 
 
figure 
plot(ty,y,'linewidth',3) 
hold on 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 3 4 5 6 7 8 9
0
0.5
1
1.5
2
2.5
3
3.5
4
t
y(t
)
 
 
Matlab
Calculada
 
Figura 3 - Operação discretizada da convolução 
 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 9 
Quadro 4 
Exemplo 5: Determinação da resposta em frequência do sistema 
 
Seja um sistema descrito pela seguinte função de transferência no domínio de Laplace: 
 
 
 
Deseja-se a resposta em regime permanente senoidal quando a entrada é 
 
 
 
A rotina do Quadro 5 mostra como obter a resposta em frequência do sistema H(s), 
cujas curvas são dadas nas figuras que seguem. 
 
Quadro 5 
%Convolucao 
 
%Passo de discretizacao 
delta=.001; 
 
%Definicao dos sinais 
t1=0:delta:4; 
h=exp(-t1); 
 
t2=2:delta:5; 
x=t2; 
 
%Convulacao MatLab 
y=conv(x1,x2)*delta; 
 
figure 
plot(2:delta:9,y,'linewidth',3) 
hold on 
 
%Convolucao Calculada 
ty1=2:delta:5; 
y1=ty1-1-exp(2-ty1); 
ty2=5:delta:6; 
y2=exp(-ty2).*(4*exp(5)-exp(2)); 
ty3=(6:delta:9); 
y3=exp(-ty3).*(4*exp(5)+exp(ty3-4).*(5-ty3)); 
 
plot(ty1,y1,'r:','linewidth',3) 
plot(ty2,y2,'r:','linewidth',3) 
plot(ty3,y3,'r:','linewidth',3) 
 
legend('MatLab','Calculada') 
 
grid 
xlabel('t') 
ylabel('y(t)') 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 10 
 
 
 
Figura 4 - Resposta em Frequência (Módulo e Fase) 
 
Note que, analisando a resposta em frequência indicada na Figura 4, para ω = 9rad/s 
(frequência fundamental do sinal de entrada) o módulo da função de transferência é -
10.46dB (equivalente a 0.3) e a fase tem um valor de -2.498 rad. Com isso, temos que a 
saída do sistema quando a entrada é o sinal u(t) é dada por: 
 
 
 
ou seja, a amplitude da saída é igual a amplitude da entrada multiplicada pelo módulo 
da função de transferência na frequência fundamental do sinal e a fase da saída é a fase 
da entrada acrescida da defasagem imposta pelo sistema. 
 
Exemplo 6: Associação em série e paralelo de sistemas 
 
num=[27]; %Numerador de H(s) 
den=[1 6 9]; %Denominador de H(s) 
 
w=0:0.01:10; %Vetor de frequenciasem rad/s 
 
H=freqs(Num,Den,w); 
 
figure(1) 
axes('fontsize',12) 
subplot(2,1,1), plot(w,20.*log10(abs(H)),'k','LineWidth',3) 
grid 
xlabel('Frequencia (rad/s)','fontsize',14,'fontweight','d'), ylabel('Ganho 
(dB)','fontsize',14,'fontweight','d') 
title('Modulo do sistema H(s)','fontsize',14,'fontweight','b') 
subplot(2,1,2), plot(w,angle(H),'k','LineWidth',3) 
grid 
xlabel('Frequencia (rad/s)','fontsize',14,'fontweight','d'), ylabel('Fase 
(rad)','fontsize',14,'fontweight','d') 
title('Fase do sistema H(s)','fontsize',14,'fontweight','b') 
 
PTC2307 - Sistemas e Sinais - Lista 2B - Março de 2013 
 11 
 A rotina abaixo (Quadro 6) é usada para determinar a associação em série e em 
paralelo de dois sistemas descritos pelas seguintes funções de transferência: 
 
e 
 
 
Quadro 6

Outros materiais