Anda di halaman 1dari 10

Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira


04 06 de maio de 2016

Disciplina: ECO 018


Prof. Caio Fernandes de Paula
Prof. Fernando Henrique D. Guaracy
Prof.a Rosimeire Aparecida Jernimo

Objetivo

O objetivo dessa aula apresentar os comandos do MATLAB associados resposta temporal.

Definindo Representaes em Funes de


Transferncia

No MATLAB, h trs maneiras principais de representar um sistema dinmico LIT


atravs de objetos: funo de transferncia, espao de estados e zero-polo-ganho. A
representao em espao de estados veremos futuramente, e por ora trabalharemos
com as outras duas, principalmente a funo de transferncia.
Dado um sistema representado atravs de funo de transferncia, podemos utilizar o comando tf(numerador,denominador) para definirmos um objeto no MATLAB
que a representao em funo de transferncia. Por exemplo, dado o sistema
G(s) =

s2

s+2
,
+ 4s + 3

se quisssemos definir um objeto no MATLAB que represente este sistema, podemos


utilizar o seguinte cdigo:

Universidade Federal de Itajub Campus Avanado de Itabira

>> Ns = [1 2];
>> Ds = [1 4 3];
>> Gs = tf(Ns,Ds)
Gs =
s + 2
------------s^2 + 4 s + 3
Continuous-time transfer function.

Uma outra maneira de se obter um objeto no MATLAB que represente o sistema


em funo de transferncia definir um objeto que somente o operador de Laplace,
e ento construir algebricamente a funo de transferncia a partir dele, conforme o
cdigo abaixo:

>> s = tf('s');
>> Gs = (s+2)/(s^2+4*s+3)
Gs =
s + 2
------------s^2 + 4 s + 3
Continuous-time transfer function.

O comando tf possui muitas outras sintaxes que permitem a definio de funes de transferncia com outros parmetros e/ou de outros tipos, como funes de
transferncia em tempo discreto, matriz de transferncia para sistemas multivariveis,
mudana de operador, atraso de transporte, etc.
O comando que faz o processo oposto, ou seja, extrai as informaes a partir de um
objeto tf o comando tfdata. Exemplo: se quisssemos ter acesso ao polinmio de
plos e zeros da funo de transferncia definida anteriormente, poderamos utilizar o
seguinte cdigo:
2
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira

>> [num,den] = tfdata(Gs,'v')


num =
0

den =

O primeiro parmetro passado o objeto do tipo tf, enquanto que o segundo ('v')
uma opo para que o comando retorne os coeficientes do polinmio em forma de
vetor, e no cell-arrays.
O outro tipo de objeto que podemos criar a partir da funo de transferncia o
zero-polo-ganho, com o comando zpk(zeros,polos,ganho). Neste caso, necessrio
conhecer os polos, zeros e ganho do sistema, que so passados diretamente como
parmetros para a criao do objeto. Exemplo: o sistema anterior pode ser colocado
em funo de transferncia na forma fatorada como
G(s) =

s+2
,
(s + 1)(s + 3)

logo um sistema que possui um zero em s = 2, um polo em s = 1, um polo em


s = 3 e um ganho K = 1. Logo, utilizam-se os seguintes comandos abaixo para criar
um objeto tipo zero-polo-ganho no MATLAB:

>>
>>
>>
>>

zeros = -2;
polos = [-1;-3];
ganho = 1;
Gs = zpk(zeros,polos,ganho)

Gs =
(s+2)
----------(s+1) (s+3)

3
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira

Continuous-time zero/pole/gain model.

O comando zpk, assim como o comando tf, tambm possui muitas outras sintaxes.
O comando que faz o processo oposto, ou seja, extrai as informaes a partir de
um objeto zpk o comando zpkdata. Exemplo: se quisssemos ter acesso aos zeros,
polos e ganho do sistema definido como objeto zpk anteriormente, poderamos utilizar
o seguinte cdigo:

>> [z,p,k] = zpkdata(Gs,'v')


z =
-2

p =
-1
-3

k =
1
Da mesma maneira, o primeiro parmetro passado o objeto do tipo zpk, enquanto
que o segundo ('v') uma opo para que o comando retorne os valores dos zeros,
polos e ganho em forma de vetor, e no cell-arrays.
Tanto o comando tf quanto o comando zpk permitem converter tambm um objeto
no outro. Exemplo: dado o sistema
G(s) =

s2

2s + 1
2(s + 0, 5)
=
.
+ 6s + 5
(s + 1)(s + 5)

>> Ns = [2 1];
>> Ds = [1 6 5];
>> G_tf = tf(Ns,Ds)
G_tf =
4
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira

2 s + 1
------------s^2 + 6 s + 5
Continuous-time transfer function.
>> G_zpk = zpk(G_tf)
G_zpk =
2 (s+0.5)
----------(s+5) (s+1)
Continuous-time zero/pole/gain model.
>> G_tf = tf(G_zpk)
G_tf =
2 s + 1
------------s^2 + 6 s + 5
Continuous-time transfer function.

Eles tambm so vlidos para converter objetos do tipo ss (espao de estados,


que veremos futuramente).

Resposta Temporal

No MATLAB, os dois principais comandos utilizados para se obter a resposta temporal so o comando impulse (para se obter a resposta ao impulso unitrio) e o comando step (para se obter a resposta ao degrau unitrio).
Os comandos impulse e step possuem diversas sintaxes, as quais podem ser
consultadas com o comando help. Entretanto, iremos focar em duas principais: dado
um sistema sys com representao em objeto tipo tf ou zpk (ou ainda ss), a sin5
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira


taxe impulse(sys,Tfinal) plota na tela o grfico da resposta ao impulso unitrio do
sistema sys para t = 0 at t = T f inal.
J a sintaxe [y,t] = impulse(sys,Tfinal) tambm obtem a resposta ao impulso
de sys para t = 0 at t = T f inal, entretanto ao invs de plotar na tela o grfico
armazena os valores da sada em um vetor y e os valores correspondentes de tempo
em um vetor t. A partir dos valores armazenados nos vetores y e t, pode-se plotar a
resposta com o comando plot.
Exemplo: obter a resposta ao impulso unitrio do sistema
G(s) =

s2

2
,
+ 3s + 2

at t = 10 [s].
Os seguintes comandos devem ser utilizados:

>>
>>
>>
>>
>>

Ns = 2;
Ds = [1 3 2];
Gs = tf(Ns,Ds);
figure
impulse(Gs,10)

Alternativamente:

>>
>>
>>
>>
>>
>>
>>
>>
>>

Ns = 2;
Ds = [1 3 2];
Gs = tf(Ns,Ds);
[y,t] = impulse(Gs,10);
figure
plot(t,y)
xlabel('Tempo [s]')
ylabel('Amplitude')
title('Resposta ao Impulso Unitrio')

O mesmo se aplica ao comando step: dado um sistema sys com representao


em objeto tipo tf ou zpk (ou ainda ss), a sintaxe step(sys,Tfinal) plota na tela o
grfico da resposta ao degrau unitrio do sistema sys para t = 0 at t = T f inal.
J a sintaxe [y,t] = degrau(sys,Tfinal) tambm obtem a resposta ao degrau de
sys para t = 0 at t = T f inal, entretanto ao invs de plotar na tela o grfico armazena
6
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira


os valores da sada em um vetor y e os valores correspondentes de tempo em um
vetor t. A partir dos valores armazenados nos vetores y e t, pode-se plotar a resposta
com o comando plot.
Exemplo: obter a resposta ao degrau unitrio do sistema
G(s) =

s2

2
,
+ 3s + 2

at t = 10 [s].
Os seguintes comandos devem ser utilizados:

>>
>>
>>
>>
>>

Ns = 2;
Ds = [1 3 2];
Gs = tf(Ns,Ds);
figure
step(Gs,10)

Alternativamente:

>>
>>
>>
>>
>>
>>
>>
>>
>>

Ns = 2;
Ds = [1 3 2];
Gs = tf(Ns,Ds);
[y,t] = step(Gs,10);
figure
plot(t,y)
xlabel('Tempo [s]')
ylabel('Amplitude')
title('Resposta ao Degrau Unitrio')

Plotar a figura com a resposta ao degrau diretamente tem a vantagem de se poder


tirar caractersticas de desempenho, como sobressinal, tempo de subida, tempo de
acomodao, tempo de pico e valor final clicando com o boto direito em qualquer
lugar no grfico, e no menu que surge selecionar characteristics e depois qual
delas desejado, que ser marcada no grfico e pode ser lida passando o mouse em
cima do ponto que ir surgir.
Exemplo: para um sistema de segunda ordem padro, com = 0, 5 e n = 1 [rad/s],
obter a resposta ao degrau unitrio e determinar o sobressinal, tempo de subida e
tempo de acomodao. Lembrando que o sistema de segunda ordem padro da
7
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira


forma
G(s) =

n 2
.
s2 + 2n s + n 2

Os seguintes comandos devem ser utilizados:

>>
>>
>>
>>
>>
>>
>>

zeta = 0.5;
wn = 2;
Ns = wn^2;
Ds = [1 2*zeta*wn wn^2];
Gs = tf(Ns,Ds);
figure
step(Gs,5)

Clicando com o boto direito no grfico e selecionando Characteristics, vemos


que o sobressinal (overshoot) 16, 3%, o tempo de subida 0, 82 [s], o tempo de
acomodao 4, 04 [s] e o valor final 1.
Ainda assim, armazenando em vetores a sada e o tempo possvel obter as caractersticas da resposta ao degrau com o comando stepinfo. Sendo y o vetor com
os valores de sada e t o vetor com os valores de tempo da resposta ao degrau de
um sistema, ento com a sintaxe S = stepinfo(y,t) armazena as caractersticas da
resposta ao degrau em uma struct S. Para acessar cada caracterstica, basta utilizar S.NomeDaCaracterstica. Tomando o exemplo anterior, utiliza-se os seguintes
comandos:

>>
>>
>>
>>
>>
>>
>>
>>

zeta = 0.5;
wn = 2;
Ns = wn^2;
Ds = [1 2*zeta*wn wn^2];
Gs = tf(Ns,Ds);
[y,t] = step(Gs,5);
S = stepinfo(y,t);
Mp = S.Overshoot

Mp =
16.0453
8
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira

>> tr = S.RiseTime
tr =
0.8218
>> ts = S.SettlingTime
ts =
4.1155
Abrindo a struct no Workspace ir mostrar todas as caractersticas.
Um outro ponto importante como obter a resposta ao degrau (ou impulso) que
no unitrio. Sabe-se que a Transformada de Laplace de um degrau de amplitude A

U (s) =

A
.
s

Como
Y (s) = G(s)U (s) ,
ento
Y (s) = G(s)

A
1
= AG(s) .
s
s

Ou seja, basta utilizar o comando step, porm multiplicando o objeto tf (ou o vetor
que contm o polinmio dos zeros) pela amplitude desejada A.

Exerccios Propostos

Exerccio 1 Obtenha grficos com a resposta ao impulso unitrio e degrau unitrio de


trs sistemas de primeira ordem, sendo que para todos eles K = 1 e 1 = 2 [s], 2 = 5
[s] e 3 = 10 [s]. Se necessrio, utilize o comando hold para plotar diversos grficos
na mesma figura.
Exerccio 2 Obtenha grficos com a resposta ao impulso unitrio e degrau unitrio de
vrios sistemas de segunda ordem padro, sendo que para todos eles K = 1, n = 5
9
Aula 8: Resposta Temporal

Universidade Federal de Itajub Campus Avanado de Itabira


[rad/s] e 1 = 0, 2 = 0, 1, 3 = 0, 4, 4 = 0, 7, 5 = 1 e 6 = 2. Se necessrio, utilize o
comando hold para plotar diversos grficos na mesma figura.

Bibliografia
1 Katsuhiko Ogata, Engenharia de Controle Moderno, Editora Pearson, 5a Edio, 2010;

10
Aula 8: Resposta Temporal

Anda mungkin juga menyukai