Anda di halaman 1dari 96

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE

CENTRO DE CINCIAS E TECNOLOGIA


DEPARTAMENTO DE ENGENHARIA ELTRICA

LABORATRIO DE CONTROLE DIGITAL


Experimento 1: INTRODUO AO MATLAB

OBJETIVO
Apresentar funes bsicas do MATLAB utilizadas para anlise de sistemas de
controle.

APRESENTAO
Neste material considera-se que o usurio est familiarizado com os princpios de
funcionamento do MATLAB no que diz respeito a utilizao da janela de comando e
gerao de arquivos.m para colecionar sequncias de comando. Tambm ser
considerado que os detalhes relacionados com o uso das funes devem ser obtidos
atravs de consulta ao MATLAB atravs do comando help.
O contedo deste experimento prope-se a servir de material didtico sobre Anlise e
Projeto de Sistemas de Controle utilizando o MATLAB. Este material foi elaborado
baseado no livro Linear Feedback Control Analysis and Design with Matlab dos
autores Dingy Xue (Northeastern University), YangQuan Chen (Utah State
University) e Derek P. Atherton (University of Sussex).

16

Modelos Matemticos de Sistemas de


Controle com Realimentao

A maioria (mas no todos) os projetos de processos para um sistema de controla faz uso de
modelos matemticos. Portanto, importante tentar obter modelos matemticos precisos para
os sistemas componentes. O sistema pode ento ser analisado e projetado de modo sistemtico e suas propriedades podem ser avaliadas usando modelos matemticos de seu verdadeiro
comportamento.
Se o modelo do sistema conhecido, dois mtodos podem ser utilizados para a tarefa de
construo do modelo do sistemas para anlise e projeto. O primeiro mtodo deduzir o modelo
do sistema usando leis e princpios fsicos. O segundo mtodo, que mais comumente usado,
encontrar um modelo matemtico aproximado baseado nos dados da resposta observada no
sistema. O primeiro mtodo remete modelagem fsica e o segundo identificao de sistema.
Neste captulo, o problema de modelagem fsica ilustrado atravs de um exemplo na
seo 1.1. Na seo 1.2, o conceito de transformada de Laplace apresentado com solues em
MATLAB. A representao da funo de transferncia de sistemas lineares descrita na seo
1.3. Sero apresentadas tambm diversas descries em MATLAB de funes de transferncia
padro. Outras descries de sistemas comumente usadas, tal como a representao em espao
de estados e a representao zero-polo-ganho so apresentadas na seo 1.4. Os princpios
de modelagem para encontrar modelos globais de sistemas a partir da conexo de submodelos
so mostrados nas sees 1.5 e 1.6. Na seo 1.6 tambm descrita a converso equivalente
entre diferentes tipos de modelos para o mesmo sistema. Por exemplo, uma representao em
funo de transferncia pode ser convertido para uma representao em espao de estados. Uma
introduo aos sistemas de identificao mostrada na seo ??, com nfase em identificao
de modelos em tempo discreto e seleo de sinais de identificao.

17

1.1 Exemplo de Modelagem Fsica

1.1

Exemplo de Modelagem Fsica

Considere o circuito mostrado na figura, onde um resistor R, um indutor L e um capacitor


C so conectados em srie. Para esse sistema dinmico, o sinal de entrada u(t) e o sinal de
sada uc (t).

Figura 1.1: Circuito RLC srie

A corrente i(t) dada por


i(t) = C

duc (t)
dt

(1.1)

e a equao da tenso pode ser escrita como


u(t) = Ri(t) + L

di(t)
+ uc (t)
dt

(1.2)

Substituindo 1.1 em 1.2, tem-se que


LC

d2 uc (t)
duc (t)
+ uc (t) = u(t)
+ RC
2
dt
dt

(1.3)

A equao diferencial ordinria (EDO) de segunda ordem mostrada em 1.3 chamada de modelo matemtico do circuito eltrico.
Em geral, o modelo matemtico de um sistemas dinmico em tempo contnuo pode ser
representado por uma EDO.

1.2

A Transformada de Laplace

Na equao 1.3, a tenso uc (t) sobre o capacitor C pode ser representada por uma EDO
linear de segunda ordem. Um mtodo usado para resolver equaes diferenciais lineares
utilizando a transformada de Laplace, como visto abaixo.
Definio 1.1. A transformada de Laplace de uma funo no tempo f(t) definida por

L [ f (t)] =

Z
0

f (t)est dt = F(s),

(1.4)

18

1.2 A Transformada de Laplace

onde L [ f (t)] a notao abreviada para a transformada de Laplace.


O resultado da transformada de Laplace uma funo de s, uma varivel complexa, geralmente denotada por F(s). A unidade de s segundo 1.
Para uma dada funo f (t), possvel encontrar sua transformada de Laplace tanto atravs
de tabela de transformao como atravs de funes do MATLAB.
Teorema 1.1. Algumas propriedades importantes da transformada de Laplace esto listadas
abaixo (sem as demonstraes).
1. Linearidade: se a e b so escalares, ento
L [a f (t) bg(t)] = aL [ f (t)] bL [g(t)].
2. Deslocamento no tempo: L [ f (t a)] = eas F(s).
3. Deslocamento em frequncia (s): L [eat f (t)] = F(s + a).
4. Diferenciao: L [d f (t)/dt)] = sF(s) f (0+ ). A derivada de n-sima ordem dada por
 n

+
d
dn1 f (0+ )
n
n1
+
n2 d f (0 )
L

f
(t)
=
s
F(s)

s
f
(0
)

s
.
dt n
d
dt n1
Rt

5. Integrao: assumindo condio inicial nula, L [

f ()d] = F(s)/s. A integral de n-

sima ordem da funo f(t)


t

Z

Z t

...

f ()(d)

F(s)
.
sn

6. Tempo inicial e tempo final:


lim f (t) = lim sF(s), lim f (t) = lim sF(s).
s

t0

s0

7. Convoluo: L [ f (t)g(t)] = L [ f (t)]L [g(t)], onde o operador de convoluo definido


como
f (t) g(t) =

Z t

f ()g(t )d =

Z t

f (t )g()d.

8. Outras:
nd

L [t f (t)] = (1)
n

n F(s)

dsn

 Z Z
f (t)
F(s)dsn .
=
...
n
t
s
s

19

1.3 Modelos de Funo de Transferncia

A funo do MATLAB laplace() pode ser utilizada para obter a transformada de Laplace
de uma funo f (t). A sintaxe da funo F=laplace(f). Note que apenas uma limitada
classe de sinais f (t) pode ser usada em laplace(f).
Exemplo 1.1. possvel utilizar os seguintes comandos no MATLAB para encontrar a transformada de Laplace da funo ebt cos (at + b):
syms s t a b c; F=laplace(exp(b*t)*cos(a*t+c)).
A forma de Laplace da funo
F(s) =

cos (c)(s b)
sin (c)a

(s b)2 + a2 (s b)2 + a2

Definio 1.2. A transformada inversa de Laplace de uma dada funo F(s) definida por
f (t) = L

1
[F(s)] =
2j

Z +j

F(s)est ds,

onde maior que a parte real das singularidades de F(s).


Dada uma funo F(s), sua transformada inversa de Laplace pode ser obtida usando uma
tabela ou alguma outra ferramenta. Com uso da Symbolic Toolbox do MATLAB, possvel
obter a transformada inversa de Laplace com o comando f=ilaplace(F). Note novamente que
apenas uma classe limitada de funes F(s) pode ser usada com ilaplace(F).

1.3
1.3.1

Modelos de Funo de Transferncia


Funes de Transferncia de Sistemas de Controle

Aplicando-se a propriedade de diferenciao da transformada de Laplacade, a equao 1.3


transformada para sua forma algbrica, como se segue:
LCUc (s)s2 + RCUc (s)s +Uc (s) = U(s),
onde Uc (s) = L [uc (t), U(s) = L [u(t)], se for assumido que as condies iniciais para uc (t) e
suas derivadas so nulas.
Dividindo-se ambos os lados da equao por Uc (s) obtm-se:
1
Uc (s)
=
2
U(s)
LCs + RCs + 1
de modo que

Uc (s)
U(s)

chamado de funo de transferncia para um sinal de entrada u(t) e um

sinal de sada uc (t).

20

1.3 Modelos de Funo de Transferncia

A funo de transferncia de um sistema linear contnuo pode ser generalizado por uma
funo racional de s na forma
b1 sm + b2 sm1 + + bm s + bm+1
G(s) = n
s + a1 sn1 + a2 sn2 + + an1 s + an

(1.5)

Se os coeficientes bi , (i = 1, . . . , m + 1) e ai , (i = 1, . . . , n) so constantes, o sistema chamado de linear invariante no tempo (LIT). O denominador chamado de polinmio caracterstico do sistema. O valor de n chamado de ordem do sistema. Para um sistema fisicamente
realizvel, frequente que m n. Nesse caso, o sistema chamado de prprio. Se m < n, o
sistema chamado de estritamente prprio. O valor de n m , algumas vezes, chamado de
ordem relativa do sistema.

1.3.2

Representaes em MATLAB de Funees de Transferncia

Uma funo de transferncia pode ser facilmente colocada no MATLAB utilizando os seguintes comandos:
num=[b1 , b2 , ..., bm , bm+1 ]; den=[1, a1 , a2 , ..., an1 , an ];
G=tf(num, den)
Ou seja, necessrio representar os coeficientes do numerador e do denominador em dois
vetores diferentes num e den. A varivel G recebe o retorno da funo tf() com a funo de
transferncia.
Exemplo 1.2. A funo de transferncia
G(s) =

s+5
s4 + 2s3 + 3s2 + 4s + 5

pode ser representada em MATLAB como


num=[1,5]; den=[1,2,3,4,5]; G=tf(num, den)
Exemplo 1.3. A funo de transferncia
G(s) =

6(s + 5)
(s2 + 3s + 1)2 (s + 6)(s3 + 6s2 + 5s + 3)

pode ser representada em MATLAB como


den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]); num=6*[1,5]; G=tf(num,

21

1.3 Modelos de Funo de Transferncia

den) obtendo-se a funo de transferncia


G(s) =

6s + 30
s8 + 18s7 + 124s6 + 417s5 + 740s4 + 729s3 + 437s2 + 141s + 18

A funo conv() que foi utilizada realiza a convoluo entre dois vetores. Os coeficientes do
produto entre dois polinmios pode ser obtido pela convoluo dos vetores de seus coeficientes,
por isso a funo conv() foi utilizada. Essa funo pode ser aninhada quantas vezes forem
necessrias.
Outra maneira de se obter a funo de transferncia no MATLAB escrevendo-a em sua
forma fatorada, da seguinte maneira:
s=tf(s);
G=6*(s+5)/(s^2+3*s+1)^2/(s+6)/(s^3+6*s^2+5*s+3)
Alm das variveis essencias do numerador e denominador, outros campos tambm so
definidos no objeto funo de transferncia. possvel listar todos os possveis campos usando
o comando set(tf). Outros campos teis no objeto funo de transferncia incluem, por
exemplo, ioDelay e Ts, que correspondem, respectivamente, ao atraso de entrada e sada e o
intervalo de amostragem; este ltimo aplicvel somente a sistemas discretos no tempo. O
campo Variable definido como o smbolo operador usando na funo de transferncia, com
s e p para sistemas em tempo contnuo e z, z1 e q para sistemas em tempo discreto, onde q a
forma abreviada de z1 .
Caso seja necessrio mudar o smbolo operador na representao da funo de transferncia
para p e atribuir um atraso de transporte de 0,5 segundos, um dos comandos MATLAB a seguir
podem ser utilizados:
G.Variable=p; G.ioDelay=0.5;
B=[4, 6; 2, 4; 2, 2; 0, 2]; C=[0, 0, 0, 1; 0, 2, 0, 2];
set(G,Variable,p,ioDelay,0.5);
O modelo G ento mostrado como

e0.5p

6p + 30
p8 + 18p7 + 124p6 + 417p5 + 740p4 + 729p3 + 437p2 + 141p + 18

22

1.3 Modelos de Funo de Transferncia

1.3.3

Matrizes de Funo de Transferncia para Sistemas de Multivariveis

Sistemas com um entrada e uma sada so chamados de entrada nica-sada nica (SISO, do
ingls single input-single output), enquanto sistemas com mais de uma entrada e mais de uma
sada so chamados de mltiplas entradas-mltiplas sadas (MIMO). Para um sistemas MIMO, a
representao em funo de transferncia denotada por uma matriz de funes de transferncia
que chamada de matriz de funo de transferncia. O objeto funo de transferncia tf
tambm pode ser utilizado para representar matrizes de funo de transferncia MIMO.
Exemplo 1.4. Assuma que a matriz de funo de transferncia de um sistema MIMO dada
por
"
G(s) =

0.1134e0.72s
1.78s2 +4.48s.1
0.3378e0.3s
0.361s2 +1.09s+1

0.924
2.07s+1
0.318e1.29s
2.93s+1

Esse modelo pode ser colocado no MATLAB utilizando os seguintes comandos:


g11=tf(0.1134,[1.78 4.48 1],ioDelay,0.72);
g12=tf(0.924,[2.07 1]);
g21=tf(0.3378,[0.361 1.09 1],ioDelay,0.3);
g22=tf(-0.318,[2.93 1],ioDelay,1.29);
G=[g11,g12; g21,g22];
Os numeradores e denominadores do sistema podem ser recuperados com a funo
[num, den]=tfdata(G,v)

1.3.4

Funes de Transferncia de Sistemas em Tempo Discreto

A funo de transferncia em tempo discreto


H(z) =

b0 zm + b1 zm1 + + bm1 z + bm d
z
a1 zn + a2 zn1 + + an z + an+1

1.4 Outras Representaes de Modelos Matemticos

23

que pode ser obtida atravs da transformada-Z para equaes de diferena, pode ser tambm
inserido no MATLAB com as seguintes declaraes
num=[b0 , b1 ,..., bm1 , bm ];
den=[a1 , a2 ,..., an , an+a ];
H=tf(num, den, Ts, T, ioDelay, d);
onde T o perodo de amostragem e m o atraso de transporte. Alternativamente, a varivel z
pode ser declarada como z=tf(z,T) antes de especificar a funo de transferncia matematicamente.
Exemplo 1.5. Assuma que um modelo em tempo discreto de um sistema seja dado por
H(z) =

6z2 0.6z 0.12


z5 ,
z4 z3 + 0.25z2 + 0.25z 0.125

onde T=0.1s. A seguinte declarao pode ser usada:


num=[6 -0.6 -0.12];
den=[1 -1 0.25 0.25 -0.125];
H=tf(num,den,Ts,0.1,ioDelay,5)
Alternativamente, o sistema pode ser especificamente por
z=tf(z,0.1);
H=(6*z^2-0.6*z-0.12)/(z^4-z^3+0.25*z^2+0.25*z-0.125;
H.ioDelay=5

1.4
1.4.1

Outras Representaes de Modelos Matemticos


Modelagem em Espao de Estados

Representaes em espao de estados de modelos de sistemas de controle so largamente


utilizados em teoria de controle desde os anos 1960, quando a chamada "teoria de controle moderno"foi introduzida. O espao de estados outra maneira de descrever um modelo dinmico
de um sistema e pode ser utilizado para representar no apenas sistemas lineares, mas tambm
no-lineares. A representao em espao de estados de um sistema sempre referida como um
modelo de descrio interna, uma vez que as variveis internas, assim como os estados, esto
completamente descritos neste tipo de representao. De forma contrria, a representao em

24

1.4 Outras Representaes de Modelos Matemticos

funo de transferncia frequentemente chamada de modelo externo ou modelo de entrada e


sada, uma vez que somente a relao entrada-sada do sistema descrita.
Considere novamente o circuito RLC dado em (1.3). Assumindo x1 = uC e x2 = duC /dt, a
equao diferencial ordinria de segunda ordem pode ser reescrita na seguinte forma:
(

dx1
dt
dx2
dt

= x2
1
1
= LC
x1 RL x2 + LC
u

Em teoria de controle, dxi /dt frequentemente denotado como xi e a equao acima pode
ser escrita na forma de matriz como
"

x1

"
=

x2

#"

1/(LC) R/L

x1

"

u,

1/(LC)

x2

(1.6)

onde x1 e x2 so chamados de variveis de estado, u chamado de sinal de entrada e (1.6)


chamada de equao de estado do sistema. Note que a escolha das variveis de estado no
nica. Portanto, a equao de estado tambm no nica. Se as variveis de estado escolhidas
forem a tenso uC e a corrente i, denotadas por x1 e x2 , respectivamente, a equao de estado
pode ser escrita como
"

x1

"
=

x2

1/C

1/L R/L

#"

x1

"
+

x2

#
u.

1/L

Suponha que existem p entradas ui (t), (i = 1, . . . , p), q sadas yi (t), (i = 1, . . . , q) e n estados


formando o vetor de estados x = [x1 , x2 , . . . , xn ]T . A equao de espao de estados de um sistema
dinmico geral dada por
(
xi = fi (x1 , x2 , . . . , xn , u1 , . . . , u p ), i = 1, . . . , n,
yi = gi (x1 , x2 , . . . , xn , u1 , . . . , u p ), i = 1, . . . , q,
onde fi e gi podem ser funes no-lineares. Para sistemas LIT, a equao de espao de
estado pode ser simplificada por
(

x (t) = Ax(t) + Bu(t),


y(t) = Cx(t) + Du(t),


T
onde u = [u1 , . . . , u p ]T e y = y1 , . . . , yq so vetores de entrada e sada, respectivamente.
As matrizes A, B, C e D so compatveis. O termo "compatveis" indica que as matrizes pos-

25

1.4 Outras Representaes de Modelos Matemticos

suem as dimenses corretas, ou seja, A uma matriz n n, B uma matriz n p, C uma


matriz q n e D uma matriz q p.
A representao de uma equao de estado em MATLAB bastante simples. Basta definir
as matrizes de coeficientes A, B, C e D e, em seguida, utilizar o comando G=ss(A,B,C,D).
Exemplo 1.6. Um sistema com duas entradas e duas sadas dado pela seguinte forma em espao
de estados

2.25 5 1.25 0.5

2.25 4.25 1.25 0.25

x =
0.25 0.5 1.25 1

1.25 1.75 0.25 0.75

4 6

"
#

2 4
0 0 0 1

x
x+
u, y =

2 2
0
2
0
2

0 2

pode ser descrito em MATLAB utilizando os seguintes comandos:

A=[2.25 -5 -1.25 -0.5; 2.25 -4.25 -1.25 -0.25;


0.25 -0.5 -1.25 -1; 1.25 -1.75 -0.25 -0.75];
B=[4 6; 2 4; 2 2; 0 2];
C=[0 0 0 1; 0 2 0 2];
D=zeros(2,2);
G=ss(A,B,C,D)
Caso as matrizes no sejam compatveis, a mensagem de erro ser mostrada automaticamente pela funo ss().
Para modelos em espao de estados em tempo discreto
(
x[(k + 1)T ] = Fx(kT ) + Gu(kT ),
y(t) = Cx(t) + Du(t),
com perodo de amostragem T , o comando G=ss(A,B,C,D,Ts,T) pode ser utilizado.

1.4.2

Descrio Zero-Polo-Ganho

A representao zero-polo-ganho outra maneira de descrever a funo de transferncia


de um sistema LIT SISO. O modelo zero-polo-ganho de uma dada funo de transferncia
usualmente representada como
G(s) = K

(s + z1 )(s + z2 ) . . . (s + zm )
,
(s + p1 )(s + p2 ) . . . (s + pn )

(1.7)

1.5 Modelagem com Diagramas de Blocos Interconecatdos

26

onde K chamado de ganho do sistema. Note que K no o ganho DC (ou ganho de


frequncia zero G(0)). Em (1.7), zi (i = 1, . . . , m) so chamados de zeros e pi (i = 1, . . . , n)
so os polos do sistema. Nota-se que para funes de transferncia com coeficientes reais, os
polos e os zeros sero reais ou complexos conjugados em pares.
Para obter-se a representao zero-polo-ganho em MATLAB, basta utilizar os seguintes
comandos:
z=-[z1 ; z2 ; ...; zm ];
p=-[p1 ; p2 ; ...; pn ];
G=zpk(z,p,K)
Alternativamente, o modelo zero-polo-ganho pode ser declarado antes por
s=zpk(s)

Exemplo 1.7. O modelo zero-polo-ganho


G(s) = 6

(s + 1.9294)(s + 0.0353 0.9287j)


(s + 0.9567 1.2272j)(s 0.0433 0.6412j)

pode ser facilmente representado em MATLAB atravs dos seguintes comandos:

z=-[1.9294; 0.0353+0.9287j; 0.0353-0.9287j];


p=-[0.9567+1.2272j; 0.9567-1.2272j; -0.0433+0.6412j; -0.0433-0.6412j];
G=zpk(z,p,6)
e ser mostrado como
G(s) =

1.5

6(s + 1.929)(s2 + 0.0706s + 0.8637)


(s2 0.0866s + 0.413)(s2 + 1.913s + 2.421)

Modelagem com Diagramas de Blocos Interconecatdos

Os modelos apresentados at agora so utilizados para sistemas com apenas um bloco. Em


sistemas prticos, o modelo com vrios blocos interconectados mais vivel. As sees a seguir
mostraro mtodos para obteno desse tipo de modelo.

1.5 Modelagem com Diagramas de Blocos Interconecatdos

1.5.1

27

Conexo Srie

Considere a conexo srie dos dois blocos como mostrado na figura 1.2(a). possvel ver
que o sinal u(t) entrada apenas do bloco G1 (s) e a sua sada ser a entrada do bloco G2 (s) que,
por sua vez, gera o sinal y(t), que a sada do sistema. Este tipo de conexo chama de conexo
srie ou conexo em cascata.
A funo de transferncia de uma conexo srie dada por G(s) = G2 (s)G1 (s). Para sistemas
SISO, os bloco G1 (s) e G2 (s) so intercambiveis, ou seja, G1 G2 = G2 G1 . Para sistemas MIMO,
entretanto, os dois blocos so geralmente no intercambiveis.
Assuma que a descrio MATLAB do modelo G1 (s) representada por um objeto LIT G1 ,
que pode ser tf, ss ou zpk e que G2 (s) representado por G2 . O comando que ir gerar o
sistema completo ser G = G2 G1 .
A operao acima vlida mesmo que G1 e G2 sejam variveis simblicas.

1.5.2

Conexo Paralela

Uma conexo paralela tpica de dois blocos G1 (s) e G2 (s) so mostrados na figura 1.2(b),
onde os dois blocos possuem a mesma entrada u(t). As sadas dos dois blocos so somadas para
formar o sinal de sada do sistema y(t). Ento, a funo de transferncia da conexo paralela
G(s)=G1 (s)+G2 (s).
A representao LIT da conexo paralela pode ser obtida utilizando o MATLAB atravs
do comando G = G1 + G2 , onde G1 e G2 so objetos LIT (tf, ss ou zpk) de G1 (s) e G2 (s),
respectivamente.

Figura 1.2: Interconexes de blocos


Exemplo 1.8. possvel notar que se G1 (s) e G2 (s) contm os mesmos polos, ento o resultado
da manipulao paralela pode ser simplificada mais a frente. Considere os blocos G1 (s) =
1/(s + 1)2 e G2 (s) = 1/(s + 1). O resultado das chamadas de funes MATLAB apropriadas

1.5 Modelagem com Diagramas de Blocos Interconecatdos

28

mostrado atravs dos seguintes comandos:


G1=zpk([],[-1,-1],1); G2=zpk([],[-1],1); G=G1+G2
Como resultado, a FT do sistema obtida G = (s + 2)(s + 1)/(s + 1)3 . Essa FT pode ser
simplificada para G = (s + 2)/(s + 1)2 .

1.5.3

Conexo de Realimentao

Duas conexes de realimentao entre dois blocos so mostradas nas figuras 1.3(a) e 1.3(b),
de modo que a primeira chama de realimentao positiva e a segunda de realimentao negativa. A FT do sistema com realimentao positiva G(s) = G1 (s)[I G2 (s)G1 (s)]1 e a do
sistema com realimentao negativa G(s) = G1 (s)[I + G2 (s)G1 (s)]1 .

Figura 1.3: Conexes de realimentao


A funo feedback() do MATLAB pode ser utilizada para obter a FT do modelo com
realimentao, utilizando a sintaxe
G=feedback(G1 ,G2 ,Sign)
onde Sign utilizado para identificar se a realimentao positiva ou negativa. Se Sign=1,
a realimentao ser positiva. A varivel Sign pode ser omitida caso a realimentao seja
negativa. Os objetos LIT do caminho direto e do caminho de realimentao so dados por G1 e
G2 , respectivamente.
A funo feedback() escrita da seguinte maneira na biblioteca:
function H=feedback(G1,G2,key)
if nargin==2; key=-1; end
H=G1/(sym(1)-key*G1*G2); H=simple(H);
Exemplo 1.9. Considere novamente os modelos apresentados no exemplo 1.8. Se for considerada uma realimentao negativa, possvel encontrar a FT utilizando os seguintes comandos

29

1.6 Converso entre Diversos Modelos

MATLAB:
G1=tf(1,[1 2 1]); G2=tf(1,[1 1]); G=feedback(G1,G2)
para encontrar que
G(s) =

s+1
s3 + 3s2 + 3s + 2

Para uma conexo com realimentao positiva, o modelo pode ser obtido com
G=feedback(G1,G2,+1)
onde
G(s) =

1.6

s+1
s3 + 3s2 + 3s

Converso entre Diversos Modelos

Nas sees anteriores, foram discutidos trs modelos LIT. Do ponto de vista numrico, o
espao de estados o mais adequado, especialmente para sistemas de ordem alta. De fato, cada
um dos modelos podem ser convertidos em outros, desde que sejam equivalentes. Nesta seo,
algumas converses tpicas de modelos sero discutidas.

1.6.1

Converso para Funes de Transferncia

Dado o espao de estados (A, B,C, D)


(

x = Ax + Bu
y = Cx + Du

com condies iniciais iguais a zero, a transformada de Laplace dada


(
sIX(s) = AX(s) + BU(s)
Y (s) = CX(s) + DU(s)
onde I a matriz identidade com mesma dimenso que A. Ento, para a primeira linhda da
equao acima, temos que
X(s) = (sI A)1 BU(s).
A funo de transferncia equivalente pode ser obtida com
G(s) = Y (s)U 1 (s) = C(sI A)1 B + D

(1.8)

30

1.6 Converso entre Diversos Modelos

Em geral, para sistemas MIMO, a matriz G(s) pode ser obtidade de 1.8. Se for dado o modelo
zero-polo-ganho, basta expandir os polinmios do numerador e denominador e multiplicar pelo
ganho para obter a funo de transferncia.
Exemplo 1.10. Suponha que um sistema seja descrito pelo espao de estados

0 1 0 0

0 0 1 0

x(t)
=
x(t) +
0 0 0 1

0 0 5 0

u(t), y(t) [1, 0, 0, 0] x(t).


0

Utilizando os comandos MATLAB

A=[0,1,0,0; 0,0,-1,0; 0,0,0,1; 0,0,5,0];


B=[0;1;0;-2]; C=[1,0,0,0]; D=0; G=ss(A,B,C,D); G1=tf(G)
pode-se obter a funo de transferncia

G1 (s) =

s2 + 1.303 1013 3
s4 5s2

Exemplo 1.11. Para o sistema dado na forma de zero-polo-ganho


G(s) = 6.8

(s + 3)(s + 7)
,
s(s + 1.8 j1.63)(s + 1)2

possvel obter a funo de transferncia utilizando os comandos MATLAB


z=[-3; -7]; p=[0; -1.8+1.63j; -1.8-1.63j; -1; 1];
K=6.8; G=zpk(z,p,K); G1=tf(G)
Isto resulta em
G(s) =

1.6.2

6.8s2 + 68s + 142.8


.
s5 + 5.6s4 + 14.1s3 + 15.39s2 + 5.897s

Converso para Modelos Zero-Polo-Ganho

Tendo obtido a funo de transferncia, no uma tarefa difcil obter o modelo zero-pologanho equivalente. Para isto, basta representar numerador e denominador na forma fatorada.
Exemplo 1.12. O espao de estados mostrado no exemplo 1.10 pode ser convertido em um

31

1.6 Converso entre Diversos Modelos

modelo zero-polo-ganho utilizando os seguintes comandos MATLAB:


A=[0,1,0,0; 0,0,-1,0; 0,0,0,1; 0,0,5,0];
B=[0;1;0;-2]; C=[1,0,0,0]; D=0; G=ss(A,B,C,D); G1=zpk(G)
onde
G(s) =

(s 1.732)(s + 1.732)
s2 (s 2.236)(s + 2.236)

Exemplo 1.13. O espao de estados mostrado no exemplo 1.11 pode ser convertido em um
modelo zero-polo-ganho utilizando os seguintes comandos MATLAB:
z=[-3; -7]; p=[0; -1.8+1.63j; -1.8-1.63j; -1; 1];
K=6.8; G=zpk(z,p,K); G1=tf(G)
onde
G2 (s) =

1.6.3

6.8(s + 7)(s + 3)
.
s(s + 1)2 (s2 + 3.6s + 5.897)

Realizaes em Espao de Estados

Embora, para um dado modelo em espao de estados, a funo de transferncia nica possa
ser obtida, a transformao inversa, isto , encontrar uma espao de estados ou realizao para
uma dada funo de transferncia, no nica. Isso pode ser mostrado atravs do exemplo
do circuito RLC do incio do captulo, em queo espao de estados pode ser diferente se as
variveis de estado so selecionadas de maneira diferente. A transformao de uma dada funo
de transferncia para um espao de estados chamada de realizao do espao de estados da
funo de transferncia.
Exemplo 1.14. Considere a funo de transferncia SISO
G(s) =

s3 + 7s2 + 24s + 24
s4 + 10s3 + 35s2 + 50s + 24

Utilizando os comandos MATLAB


num=[1,7,24,24]; den=[1,10,35,30,50,24]; G=tf(num, den); G1=ss(G)

32

1.6 Converso entre Diversos Modelos

o seguinte espao de estados pode ser obtido:

10 4.375 3.125 1.5

0
0
0

8
x(t)
=
0
2
0
0

0
0
1
0

y(t) = [0.5, 0.4375, 0.75, 0.75] x(t),


x(t) + u(t),

Exemplo 1.15. Uma funo de transferncia MIMO pode ser convertida em um espao de
estados utilizando a mesma funo ss(). Considere a funo de transferncia MIMO
"
#
1/(s + 1)
0
(s 1)/[(s + 1)(s + 2)]
G(s) =
.
1/(s 1) 1/(s + 2)
1/(s + 2)
Utilizando comandos MATLAB
s=tf(s); h11=tf(1,[1,1]); h12=0; h13=(s-1)/(s+1)/(s+2);
h21=tf(-1,[1,-1]); h22=tf(1,[1,2]); h23=tf(1,[1,2]);
H=[h11,h12,h13; h21,h22,h23]; G=ss(H)
obtem-se o espao de estados

x(t)

"

y(t) =

1 0
0

0 1

2 0
0
0
x(t) +

0 3 2 0

0
1
0
0

0
0
0 2
#
0 0.5 0.5 0
x(t).
1 0
0
1
0

1 0 0

1 0 0

0 1 0
u(t),

0 0 2

0 0 0

0 0 1

Forma cannica controlvel


Suponha que a funo de transferncia dada como em (1.5). A forma cannica controlvel

33

1.6 Converso entre Diversos Modelos

pode ser escrita como

x = AC x + BC u

y = CC x + Du

x =

0
..
.

..
.

0
..
.

0
..
.

0
0
1

a1 a2 an

y = [b1 , b2 , . . . , bn ] x.

x+

u,

1
0
..
.

Forma cannica observvel


A forma cannica observvel de (1.5)

0 0

1 0

x = 0 1
x = AO x + BO u

=
.. .. . .

. .
.
y = CO x + Du

0 0

y = [0, 0, . . . , 1] x.

0 a1

0 a2

x
+
0 a3

..
..

.
.

1 an

b1

b2

b3
u,
..
.

bn

possvel ver que as formas cannicas controlvel e observvel so duais. Isto ,


AC = AT0 , BC = COT , CC = BTO ,
onde (AC , BC ,CC , D) denota a realizao do espao de estados da forma cannica controlvel e (AC , BC ,CC , D) denota a realizao da forma cannica observvel.
Forma cannica de Jordan
Assuma que os autovalores da matriz A sejam 1 , 2 , . . . , n e seu i-simo autovetor correspondente ao i-simo autovalor i denotado por i de modo que
Ai = i i , i = 1, 2, . . . , n.
A matriz modal de A definida como

1
= T AT =

J1

J2
..

.
Jk

34

1.6 Converso entre Diversos Modelos

onde os Ji s so chamadas de matrizes de Jordan. Suponha que exista uma transformao


TC de modo que um dado espao de estados pode ser transformado para uma forma cannica
controlvel; ento, a matriz de transformao T pode ser construda como T = UTC de modo
que a realizao modal pode ser obtida, onde U = [U1 ,U2 , . . . ,Uk ]. Os dois casos a seguir so
considerados como formas cannicas de Jordan.
1. Se i,i+1 um par complexo conjugado, de modo que i,i+1 = ji , a matriz de
Jordan tem a forma

"
Ji =

i i

, Ui =

i
..
.

i
..
.

]
] Im[n1
Re[n1
i
i

2. Se i um autovalor real com multiplicidade mi , a matriz de Jordan

i 1 0 0

0 i 1 0

Ji = . . . .

.
.
.
.
.
.
. . .
. .

0 0 0 i
e a matriz de transformao Ui

1
0

i
1

2i
Ui =
i
..
..
.
.

d
n1
n1
i
di (i

1
..
.

..
.

0
..
.

n1
1 d2
)
2! d2i (i

n1
1
dmi 1
)
(mi 1)! dmi 1 (i

A funo canon() do MATLAB utiliza a sintaxe [G1 ,T ]=canon(G,type), onde G o


espao de estados do sistema original e G1 o espao de estados aps a converso. O argumento
type pode ser companion ou modal. T a matriz transformao.
Exemplo 1.16. Considere o sistema dado por
G(s) =

3s2 + 21s + 36
.
s4 + 5s3 + 10s2 + 10s + 4

Utilizando os comandos MATLAB


G=tf([3 21 36],[1 5 10 10 4]); G1=canon(G,modal)

35

1.6 Converso entre Diversos Modelos

a realizao de Jordan pode ser obtida:

2 0
0
0

0
1
1
0

x(t)
=
x(t) +
0 1 1 0

0
0
0
1

y = [0.061, 0.392, 0.411, 0.456] x(t).

1.6.4

48.66

18.19

u(t),
19.09

39.40

Converso entre Modelos em Tempo Contnuo e Discreto

Se um modelo descrito como um objeto contnuo LIT G, sua verso discreta sob um intervalo de amostragem T pode ser facilmente obtida com a sintaxe Gd =c2d(G,T ). O mtodo
de discretizao padro utilizado o segurador de ordem zero (zero-order-hold ou, simplesmente, ZOH). Outro mtodo de discretizao o de Tustin, que pode ser utilizado com a sintaxe
Gd =c2d(G,T ,Tustin). Se, por outro lado, um objeito em tempo discreto Gd conhecido,
sua verso contnua pode ser obtida com G=d2c(Gd ), onde o perodo de amostragem T no
necessrio, uma vez que esta informao j est contida em Gd .

Exemplo 1.17. Considere o sistema MIMO

2.25 5 1.25 0.5

2.25 4.25 1.25 0.25

x =
0.25 0.5 1.25 1

1.25 1.75 0.25 0.75

4 6

"
#

2 4
0 0 0 1

x .
x+
u, y =

2 2
0 2 0 2

0 2

Para amostr-lo com perodo de amostragem T = 0.1 segundos, utilizam-se os comandos


A=[2.25, -5, -1.25, -0.5; 2.25, -4.25, -1.25, -0.25;
0.25, -0.5, -1.25,-1; 1.25, -1.75, -0.25, -0.75];
B=[4, 6; 2, 4; 2, 2; 0, 2]; C=[0, 0, 0, 1; 0, 2, 0, 2];
D=zeros(2,2); G=ss(A,B,C,D); Gd=c2d(G,0.1)

36

1.6 Converso entre Diversos Modelos

dos quais obtm-se as matrizes em tempo discreto:

1.1915 0.4455 0.1013 0.04215

0.2008
0.6124
0.1058 0.01884

F =
0.01526 0.03499 0.8849 0.09054

0.1147 0.1622 0.01973 0.9279

0.383253

0.1906

, G =

0.1879

0.004833

0.5527

0.3694

0.1764

0.1927

Exemplo 1.18. Se o modelo contnuo dado por


G(s) =

1
e2s ,
(s + 2)3

e o perodo de amostragem T = 0.1 segundos, os seguintes comandos podem ser utilizados


para discretizar o sistema:
s=tf(s); G=1/(s+2)^3; G.ioDelay=2
Se forem utilizados os algoritmos ZOH e Tustin, os comandos sero
G1=c2d(G,0.1) % mtodo ZOH
G2=c2d(G,0.1,Tustin) % algoritmo de Tustin
encontrando
GZOH (z) =

GTustin (z) =

0.0001436z2 + 0.0004946z + 0.0001064 20


z ,
z3 2.45z2 + 2.011z 0.5488

9.391 105 z3 + 0.0002817z2 + 0.0002817z + 9.391 105 20


z .
z3 2.455z2 0.5477

Se a converso inversa for utilizada, isto ,


G1c=d2c(G1), G2c=d2c(G2)
possvel encontrar
G1c (s) =

6.303 1016 s2 3.41 1015 s + 1


,
s3 + 6s2 + 12s + 8

9.391 105 s3 + 0.003096s2 + 0.04542s + 1.01


G2c (s) =
.
s3 + 6.02s2 + 12.08s + 8.081

37

Anlise de Sistemas de Controle


Lineares

A mais importante propriedade de um sistema linear o conhecido princpio da superposio. Assuma que a resposta de um sistema ao sinal u1 (t) seja y1 (t) e a resposta ao sinal u2 (t)
seja y2 (t). Ento, o sistema linear se, para quaisquer constantes a e b, a resposta para o sinal
au1 (t) + bu2 (t) possa ser representada por ay1 (t) + by2 (t).
Os modelos discutidos no captulo anterior (funo de transferncia, zero-polo-ganho, espao de estados etc.) so todos lineares invariantes no tempo (LIT). Dado um modelo matemtico que descreve um sistema, iremos discutir nesse captulo outras propriedades que podem
ser obtidas com relao a esse sistema linear. Primeiro, a estabilidade de sistemas LIT so
discutidas na seo 2.1. Tambm sero discutidas estabilidade de sistemas com realimentao,
propriedades de controlabilidade, observabilidade, decomposio de Kalman e norma de sistemas. So apresentadas as formas cannicas de sistemas lineares de controle e a definio e
desenvolvimento dos parmetros de Markov.
Utilizando as propriedades da seo 2.1, sero apresentadas a anlise no domnio do tempo
de sistemas lineares na seo 2.2 e solues numricas na seo 2.3. Isso nos permite obter e
esboar a resposta ao degrau, resposta ao impulso e a resposta transitria para qualquer sinal de
entrada. Esses so modos eficientes e objetivos de descrever o comportamento de sistemas. Na
seo 2.4, o local das razes mostrado de modo a ilustrar no plano-s o comportamento esperado
do sistema para seus polos. Na seo 2.5 realizada a anlise no domnio da frequncia de um
sistema linear com diferentes anlises grficas, como os diagramas de Bode, Nyquist e Nichols.
Finalmente, a seo 2.6 uma introduo a vrias tcnicas de reduo de modelo para sistemas
lineares.

2.1 Propriedades de Sistemas de Controle Lineares

2.1
2.1.1

38

Propriedades de Sistemas de Controle Lineares


Anlise de Estabilidade

Avaliao direta de estabilidade


Quando realimentao utilizada, um sistema pode ser estvel ou instvel. Isto , um
sistema em malha aberta pode se tornar instvel aps a implementao do controle com realimentao, o que indesejvel. De modo oposto, um sistema instvel em malha aberta pode
se tornar estvel aps a realimentao, o que desejvel. Portanto, estabilidade fundamental
para qualquer sistema de controle.
Existem diversas noes de estabilidade. Aqui, discutiremos inicialmente a noo de estabilidade limitada em entrada-limitada em sada (BIBO, do ingls bounded input-bounded output).
Estabilidade BIBO de um sistema assegura que a sada ser limitada se a entrada tambm for.
O modo mais fcil de verificar a estabilidade de um sistema contnuo linear analisando
a locakizao de seus polos no plano complexo. Se existir um polo com parte real positiva, o
sistema dito instvel. Em outras palavras, se existir um ou mais polos no semiplano direito
do plano complexo, o sistema instvel. O sistema estvel apenas se todos os polos tiverem
parte real negativa, ou seja, todos os polos esto no semiplano esquerdo.
Para polos no eixo imaginrio, existem dois casos. Se um polo especfico simples, ou
seja, possuir multiplicidade 1, este polo marginalmente estvel. Se um polo especfico possuir
multiplicidade maior que 1, ento este polo instvel. Perceba que noo de estabilidade BIBO
muito forte. Por exemplo, um integrador estvel mas no BIBO, uma vez que para uma
entrada em degrau (limitada) a sada ser t (no limitada).
Os polos de um dado modelo LIT G pode ser obtido no MATLAB diretamente com eig(G)
ou pole(G). O sistema ser estvel se a parte real dos valores forem negativas. Entretanto, se G
um sistema discreto, o sistema ser instvel se abs(eig(G)) ou abs(pole(G)) forem menor
que 1, ou seja, se os polos estiverem localizados no crculo unitrio.
Os zeros do sistema G podem ser obtidos com a funo zero(G) e polos e zeros podem ser
impressos com a funo pzmap(G).
Exemplo 2.1. Suponha que a funo de transferncia de um sistema dada por

G(s) =
.

s3 + 7s2 + 24s + 24
s4 + 103 + 35s2 + 50s + 24

39

2.1 Propriedades de Sistemas de Controle Lineares

Como ilustrado abaixo, os polos podem ser calculados e impressos com os seguintes comandos
G=tf([1,7,24,24],[1,10,35,50,24]); eig(G), pzmap(G)
com os quais sero encontrados polos localizados em 1, 2, 3, 4, todos no semiplano
esquero do plano-s, o que significa que G estvel. Isso tambm pode ser verificado atravs da
figura 2.1.

Figura 2.1: Exemplo 2.1

Exemplo 2.2. Suponha que em um sistema com realimentao discreto no tempo o modelo da
planta seja dado por
6z2 0.6z 0.12
,
z4 z3 + 0.25z2 + 0.25z 0.125
com intervalo de amostragem T = 0.1 e o controlador seja
H(z) =

Gc (z) = 0.3

z 0.6
.
z + 0.8

A estabilidade de malha fechada pode ser obtida atravs dos seguintes comandos:
num=[6 -0.6 -0.12]; den=[1 -1 0.25 0.25 -0.125];
H=tf(num,den,Ts,0.1); % Modelo da planta
z=tf(z,Ts,0.1); Gc=0.3*(z-0.6)/(z+0.8); % Modelo do controlador
GG=feedback(H*Gc,1); abs(eig(GG)), pzmap(GG)
As magnitudes dos polos so 1.1644, 1.1644, 0.5536, 0.3232 e 0.3232. Uma vez que a
magnitude dos dois primeiros polos so maiores que 1, ou seja, esto fora do crculo unitrio,
ento o sistema em malha fechada instvel. Esse resultado tambm pode ser visto atravs da
figura 2.2.
Bem-posto e estabilidade interna Com relao a um bom comportamento em controle em

2.1 Propriedades de Sistemas de Controle Lineares

40

Figura 2.2: Exemplo 2.2


um sistema realimentado, os critrios de estabilidade nas sees anteriores no so suficientes,
uma vez que somente a estabilidade de entrada-sada do sistema considerado. Em outras
palavras, os critrios de estabilidade asseguram que se a entrada for limitada, a sada tambm
ser limitada. Se os sinais internos do sistema no forem limitados, sua estrutura fsica pode ser
comprometida.
Considere o sistema com realimentao genrico mostrado na figura 2.3 que uma extenso imediata da estrutura de um tpico sistema com realimentao. Na figura 2.3, o sinal d
frequentemente chamado de perturbao externa e o sinal n de rudo de medio.
Antes de introduzir o conceito de estabilidade interna, a definio de bem-posto ser apresentada.

Figura 2.3: Estrutura de um sistema linear realimentado com perturbaes


Definio 2.1. O sistema realimentado mostrado na Figura 2.3 chamado de bem-posto se
todas as nove funes de transferncia de malha fechada de sinais de entrada (r, d, n) para sinais
de sada (u, y, v) existem.
Um sistema bem-posto pode ser determinado pelo teorema a seguir.
Teorema 2.1. O sistema bem-posto se, e somente se, a matriz 3 3

41

2.1 Propriedades de Sistemas de Controle Lineares

Gc (s)
1

0
G(s)

H(s)

no-singular, isto , o determinante 1 + G(s)Gc (s)H(s) no igual a zero.


Definio 2.2. O sistema mostrado na Figura 2.3 dito internamente estvel se todas as nove
funes de transferncia de malha fechada de sinais de entrada (r, d, n) para sadas (x1 , x2 , x3 )
so estveis.
As nove funes de transferncia podem ser descritas por

x1

G(s)H(s)

1
x2 =

1 + G(s)Gc (s)H(s) Gc (s)


x3
G(s)Gc (s)

1
G(s)

H(s)



Gc (s)H(s)
d .
1
n

Teorema 2.2. O sistema internamente estvel se, e somente se, as duas condies a seguir
forem satisfeitas:
1. A funo de transferncia 1 + H(s)G(s)Gc (s) no possui zeros em Re[s] 0.
2. H(s)G(s)Gc (s) no possui cancelamento polo-zero em Re[s] 0.
A primeira condio equivalente a dizer que o sistema em malha-fechada estvel em
entrada-sada. Ento, basta concentrar-se na segunda condio, a qual pode ser facilmente
checada utilizando a funo MATLAB intstalbe():

42

2.1 Propriedades de Sistemas de Controle Lineares

function [V,c]=intstalbe(G,Gc,H)
GG=minreal(feedback(G*Gc,H)); Go=H*G*Gc; Go1=minreal(Go); p=eig(GG);
z0=eig(Go); z1=eig(Go1); zz=setdiff(z0,z1); % encontra os cancelamentos
if (G.Ts>1), % sistema discreto no tempo
V=any(abs(p)>1);
if V==0, V=2*any(abs(zz)>1); if V==2, c=zz(abs(zz)>1); end
else c=p(abs(p)>1); end
else % sistema contnuo
V=any(real(p)>0);
if V==0, V=2*any(real(zz)>0); if V==2, c=zz(real(zz)>0); end
else c=p(real(p)>0); end
end
Sua sintaxe [V, c]=intstable(G, Gc, H). Na chamada da funo, as variveis retornadas
so definidas como:
1. Se o sistema internamente estvel, retornado V = 0 e c vazio.
2. Se V = 1, o sistema instvel em entrada-sada e os polos de malha fechada instveis so
retornados no vetor c,
3. Se V = 2, o sistema estvel em entrada-sada, mas no internamente estvel, e os polos
instveis internamente cancelados so retornados em c.
Exemplo 2.3. Considere o tpico sistema com realimentao

G(s) =

5(s1)(s+2)
,
s3 +4s2 +3s+4

Gc (s) =

s2 +3s+4
,
(s1)(s2 +3s+2)

H(s) = 1.

A estabilidade do sistema pode ser testada com os seguintes comandos MATLAB:

s=tf(s); G=5*(s-1)*(s+2)/(s^3+4*s^2+3*s+4);
Gc=(s^2+3*s+4)/((s-1)*(s^2+3*s+2)); H=1;
G_a=minreal(ss(feedback(Gc*G,H))); eig(G_a)
Os polos de malha fechada do sistema, depois do cancelamento dos dois pares polo-zero,
so localizados em 0.2328 j2.0546, 2.2672 j0.6879, que esto todos no semiplano esquerdo do plano s. possvel ver que o sistema em malha fechada estvel. Entretanto,

43

2.1 Propriedades de Sistemas de Controle Lineares

checando a estabilidade interna com

[V,cc]=intstable(G,Gc,H)
conclumos que o sistema no internamente estvel com pares polo-zero cancelados tendo
parte real positiva zi = p j = 1 retornado em cc.

2.1.2

Anlise de Controlabilidade e Observabilidade

Controlabilidade de sistemas lineares


Controlabilidade uma importante propriedade de um sistema de controle e tem um papel
crucial em muitos problemas de controle, tal como a estabilizao de sistemas instveis por
controle realimentado.
Definio 2.3. O estado xi (s) dito controlvel se h uma entrada que, em um tempo finito,
alcana um valor xi (t f ) a partir de um valor inicial xi (0). O sistema dito totalmente controlvel
se todos os seus estados so controlveis.
Uma vez que a total controlabilidade de um sistema depende somente das matrizes A e B
do modelo de espao de estados, basta afirmar que (A, B) controlvel.
Construa a matriz de transformao Tc na forma



Tc = B, AB, . . . , An1 B ,
onde n a ordem do sistema ou o nmero de estados. A matriz Tc chamada de matriz
de controlabilidade e pode ser gerada utilizando a funo ctrb() do MATLAB, com a sintaxe
Tc =ctrb(A, B).
Sob uma matriz de transformao Tbc adequada, o espao de estados pode ser transformado
na seguinte forma cannica, atravs da transformao para a forma escada:
"
Ac =

bc 0
A
b21 A
bc
A

"
, Bc =

0
Bbc

#
, Cc =

Cbc , Cbc

A representao acima conhecida como forma escada de controlabilidade. Os autovalores


bc so chamados de modos no-controlveis. Se o sistema controlvel, o subespao node A
bc ser vazio. A funo de transferncia simplificada do sistema pode ser obtida do
controlvel A

44

2.1 Propriedades de Sistemas de Controle Lineares

subespao controlvel

bc )1 Bbc + D.
G(s) = Cbc (sI A
A funo ctrbf() pode ser utilizada para realizar a transformao para a forma escada
controlvel. A sintaxe desta funo [Ac , Bc ,Cc , Tc ]=ctrbf(A, B,C), onde (A, B,C) o espao
de estados dado e o espao de estados retornado tem uma forma escada que separa os subespaos
controlveis e no-controlveis. A matrix retornada Tc a matriz de transformao.
Exemplo 2.4. Considere o espao de estados dado por

0 1

0 0 1 0
1

x =
x+
u, y = [1, 0, 0, 0]] x .
0 0 0 1
0

0 0 5 0
2
possvel utilizar os seguintes comandos para checar a controlabilidade do sistema:

A=[0,1,0,0; 0,0,-1,0; 0,0,0,1; 0,0,5,0]; B=[0; 1; 0; -2];


C=[1,0,0,0]; D=0; Tc=[B, A*B, A^2*B, A^3*B]; rank(Tc)
Como rank(Tc) retorna 4, que a ordem do sistema, ento o sistema totalmente controlvel.
Exemplo 2.5. Vamos considerar outro sistema dado por

0 0


3 0 0 2
1


x =
x
+

u, y = [1, 0, 0, 0]] x .
0 0 0 1
0


0 2 0 0
0
A controlabilidade pode ser analisada utilizando os seguintes comandos:
A=[0,1,0,0; 3,0,0,2; 0,0,0,1; 0,-2,0,0]; B=[0; 1; 0; 0];
C=[1,0,0,0]; Tc=[B, A*B, A^2*B, A^3*B]; rank(Tc)
[Ac,Bc,Cc,T]=ctrbf(A,B,C)
A forma escada controlvel pode ser escrita, na forma particionada, como

45

2.1 Propriedades de Sistemas de Controle Lineares


0.4472 0 0.8944
0
h
i
0


Ac =
, Bc = , Cc = 0.8944 0 0.4472 0

0
0
0
0
2.236


3.5777 0 0.4472
0
1
e pode ser observado que o modo no controlvel est em s = 0, que o autovalor da matriz
bc .
A
Observabilidade de sistemas lineares Observabilidade uma medio do quo bem os
estados internos de um sistema pode ser inferido a partir do conhecimento de suas entradas e
sadas. A observabilidade e controlabilidade de um sistema pode so matematicamente duais.
Definio 2.4. Um estado xi (t) dito observvel se, para qualquer t f > 0, o estado inicial xi (0)


pode ser determinado a partir dos valores da entrada u(t) e da sada y(t) no intervalo 0,t f . O
sistema dito totalmente observvel se todos os estados do sistema so observveis.
Uma vez que a observabilidade do sistema depende somente das matrizes A e C do modelo
de espao de estados, basta afirmar que (A,C) observvel.
Construa uma matriz de transformao To na seguinte forma:

To =

CA
..
.

CAn1

onde n a ordem do sistema. To chamada de matriz de observabilidade, que pode ser


gerada utilizando a funo obsv() do MATLAB, com a sintaxe To =obsv(A,C).
Sob uma matriz de transformao Tbo adequada, o espao de estados pode ser transformado
na seguinte forma cannica:
"
Ao =

bo A
b12
A
bo
0 A

"
, Bo =

Bbo
Bbo

#
, Co =

0, Cbo

bo so chamados modos
conhecida como a forma escada observvel. Os autovalores de A
bo ser
no-observveis. Se o sistema totalmente observvel, o subespao no-observvel A
vazio. A funo de transferncia do sistema pode ser expressado por

46

2.1 Propriedades de Sistemas de Controle Lineares

b o (sI A
b o )1 B
b o + D.
G(s) = C
Comparando-se os problemas de controlabilidade e observabilidade, no difcil observar
que eles so duais. Isto , o problema de observabilidade do sistema (AT ,BT ,CT ,DT ) exatamente o mesmo que o problema de controlabilidade do sistema (A, B, C, D).
A funo obsvf() pode ser utilizada para realizar transformao para a forma escada. A
sintaxe

[Ao ,Bo ,Co ,Do ]=obsvf(A,B,C)


e os argumentos so similares aos daqueles da funo ctrbf().
Exemplo 2.6. Considere novamente o sistema no-controlvel mostrado no exemplo anterior.
A observabilidade e a forma da escada podem ser obtidas por

rank([C; C*A; C*A^2; C*A^3]) % ou rank(obsv(A,C))


[Ao,Bo,Co,T,K]=obsvf(A,B,C); Ao,Bo,Co
Na forma de matriz particionada, a forma da escada pode ser escrita como

0 1


0 0 2 0
0
h
i


Ao =
,
B
=
,
C
=


0 0 0 1 .
o
o
0 2 0 3
1


0 0 1 0
0
O modo no-observvel est em s = 0. De fato, no difcil verificar que h dois autovalores
em s = 0, sendo um no-controlvel e o outro no-observvel.

2.1.3

Decomposio de Kalman de Sistemas Lineares

As duas propriedades, controlabilidade e observabilidade, discutidas anteriormente, implicam que existem quatro possveis modos de um sistema linear: controlvel e observvel,
no-controlvel e observvel, controlvel e no-observvel e no-controlvel e no-observvel.
Dado um sistema linear, como podemos fazer sua decomposio nesses quatro modos o tpico principal dessa seo. Essa decomposio chamada de Decomposio de Kalman. til
entender a estrutura de herana interna de sistemas lineares.

47

2.1 Propriedades de Sistemas de Controle Lineares

Decomposio de Kalan Kalman demonstrou que qualquer espao de estados pode ser
decomposto na seguinte forma cannica:

b
b

A
0
0
A

c,o
1,2

0
A
0
0
c,o

z(t) =

z(t) +
A

b
b
b
b
3,1 A3,2 Ac,o A3,4

b4,2 0 A
b

0 A

i c,o
h

y(t) = 0 Cbc,o 0 Cbc,o z(t),

0
0
Bbc,o

u(t),

(2.1)

bc,o
A

bc,o , 0, 0) no-controlvel/no-observvel, (A
bc,o , 0, Cbc,o ) controlvel/noonde o subspao (A
bc,o , Bbc,o , 0) observvel/no-controlvel e (A
bc,o , Bbc,o , Cbc,o ) controlvel/observobservvel, (A
vel. Essa chamada de decomposio de Kalan e est ilustrada na Figura 2.4.

Figura 2.4: Ilustrao da decomposio de Kalman

Teorema 2.3. Propriedades tais como controlabilidade e observabilidade no podem ser alteradas atravs de qualquer transformao.
Uma funo MATLAB kalmdec() pode ser utilizada para realizar a decomposio de Kalman de um dado sistema:

A sintaxe da funo [Gk ,Tk ,k]=kalmdec(G). A varivel retornada Gk a decomposio de Kalman do sistema G. A varivel Tk a matriz de transformao, enquanto k retorna

2.1 Propriedades de Sistemas de Controle Lineares

48

um vetor que armazena as flags para os modos de cada estado. Se a flag zero, o estado correspondente no-controlvel/no-observvel. Os valores 1, 2, 3 de flag correspondem a nocontrolvel/observvel, controlvel/no-observvel e controlvel/observvel, respectivamente.
Exemplo 2.7. Considere o sistema linear

Sua decomposio de Kalman pode ser realizada atravs dos seguintes comandos MATLAB:

que gera o familiar formato matemtico a seguir:

Problemas de mnima realizao


Se todos os estados iniciais so zero, o sinal de sada y(t) de um espao de estados linear
contnuo pode ser simplificado por

que exatamente a soluo do subspao controlvel/observvel. Portanto, na forma da debc,o ,Bbc,o ,Cbc,o ) chamado de mnima realizao do sistema
composio de Kalman, o subspao (A

2.1 Propriedades de Sistemas de Controle Lineares

49

original. Isto , a mnima realizao sempre totalmente controlvel e observvel. Para funes
de transferncia, o "mnimo modelo realizvel" aquele em que todos os pares plo-zero teve
os mesmos valores cancelados.
O procedimento para obter a mnima realizao de um sistema linear est resumido a seguir:
1. Encontre a matriz de transformao Tc1 para separar as partes controlvel e observvel:

2.1 Propriedades de Sistemas de Controle Lineares

50

bc ,Bbc ,Cbc )
2. Encontre a matriz de transformao Tbo de modo que o subsistema controlvel (A
possa ser decomposto para encontrar a parte observvel:

3. Construa a matriz

Ento, defina a matriz de transformao T 1 = Teo1 Tc1 para transformar o sistema oribc,o ,Bbc,o ,Cbc,o ). Sob a matriz de transginal em um sistema na forma mnima realizada (A
formao T , todo o sistema pode ser transformado na forma cannica

Exemplo 2.8. Considere o seguinte espao de estados:

Os trs passos acima podem ser implementados utilizando os seguintes comandos MATLAB para encontrar o modelo de mnima realizao

O modelo mnimo realizado obtido Gm (s) = 10(s 2.6)/[(s 2)(s + 1)].

2.1 Propriedades de Sistemas de Controle Lineares

2.1.4

51

Instante de Tempo e Parmetros de Markov

Assuma que a funo de transferncia G(s) descrita por

onde, por questo de simplicidade, assume-se que an+1 = 1.


Considere as propriedades do valor inicial e final da transformada de Laplace. visto que
as sries de Taylor, em particular a expanso em torno de s = 0 e s = , so teis para descrever
o comportamento em regime transitrio e em regime estacionrio.
Expanso em torno de s = 0: os instantes de tempo
A expanso em srie de Taylor de G(s) em torno de s = 0, ou srie de Maclaurin, pode ser
escrita como

Se est expandido em torno de s = 0 na transformada de Laplace de uma reposta ao


impulso g(t), G(s) pode ser escrita como

onde Mi =

R i
0 t g(t)dt chamado de i-simo momento de tempo do resposta ao impulso da

funo g(t). Ento,

Assuma que o espao de estados dado por (A,B,C,D). A funo de transferncia de um


sistema pode ser obtido de forma equivalente de

2.1 Propriedades de Sistemas de Controle Lineares

52

Os momentos de tempo ci de um sistema pode ento ser calculado de

A funo timmomt() do MATLAB pode ser utilizada para calcular os momentos de tempo
de um dado modelo LIT;

A sintaxe da funo c=timmomt(G,k), onde G um modelo LIT e k o nmero de momentos a serem calculados, e o valor retornado c um vetor contendo os primeiros k momentos
de tempo.
Exemplo 2.9. Considere o modelo de quarta ordem

Os primeiros sete momentos de tempo do sistema podem ser obtidos dos seguintes comandos MATLAB:

o que indica que G(s) pode ser aproximado pela expanso em srie de Taylor

2.1 Propriedades de Sistemas de Controle Lineares

53

Expanso em torno de s = : os parmetros de Markov


O G(s) mostrado no incio desta seo pode ser expandido como uma srie de potncias de
1/s, i.e.,

onde os coeficientes i so chamados de parmetros de Markov. Alternativamente, equivalente a realizar a expanso em srie de Taylor de G(s) em torno de s = . Para o espao de
estados (A,B,C,D), os parmetros de Markov i pode ser calculado de

Relembre as propriedades da transformada de Laplace. fcil perceber que os momentos


de tempo determinam a resposta em regime estacionrio do sistema, enquanto os parmetros de
Markov determinam a resposta transitria. Em termos de resposta em frequncia, os momentos
de tempo determinam a resposta sobre baixas e mdias frequncias, enquanto os parmetros de
Markov determinam a resposta sobre mdias e altas frequncias.
A funo markovp() pode ser utilizada para calcular os parmetros de Markov de uma
dada funo de transferncia G(s):

A sintaxe da funo m=markovp(G,k), onde G um sistema LIT e k o nmero de


parmetros de Markov a serem calculados. A varivel retornada m um vetor contendo os
primeiros k parmetros de Markov.
Exemplo 2.10. Para o sistema no exemplo anterior, os primeiros sete parmetros de Markov
podem ser obtidos utilizando os seguintes comandos MATLAB:
M=Markovp(G,7)
de modo que a srie de Taylor em s = pode ser obtida como

2.1 Propriedades de Sistemas de Controle Lineares

54

 
3 19 111 571 2703 12139
1
G(s) = 1 + 2 3 + 4 5 + 6 + o 7 .
s s
s
s
s
s
s

2.1.5

Norma de Sinais e Sistemas

A robustez de um sistema com realimentao muito importante na prtica de engenharia


de controle. Em problemas de controle atuais, sempre existem perturbaes devido ao ambiente
e incertezas do modelo usado no desenvolvimento do controlador. Claramente, desejvel para
os sistemas controlados tem certa robustez contra essas perturbaes e incertezas. Para avaliar a
robustez, primeiro de tudo, necessrio uma maneira apropriada de medio. Norma de sinais
e sistemas sero mostrados, a qual pode ser considerada a base do controle robusto.
Norma de sinais
O tamanho de um sinal u(t) normalmente medido em sua norma, definida como

onde p um inteiro positivo. As seguintes normas so comumente utilizadas:


1. A norma L1 : ||u(t)||1 =

2. A norma L2 : ||u(t)||2 =

qR

|u(t)|dt.

2
u(t) dt.

3. A norma L : ||u(t)|| = supt |u(t)|.


Norma de sistemas
O tamanho de um sistema na forma de funo de transferncia pode ser medido pelas normas H2 e H .
1. A norma H2 definida por

2.2 Anlise no Domnio do Tempo de Sistemas Lineares

55

A norma H2 de fato uma medida da raiz quadrada da integral do quadrado do valor da


sada quando a entrada um impulso. Na terminologia de sistemas estocsticos, a norma

H2 a raiz quadrada do sinal de sada quando a entrada um rudo branco.


2. A norma H definida por

onde u(t) e y(t) so a entrada e sada do sistema, respectivamente. Para sistemas estveis,
a norma H de um sistema pode ser calculada a partir de

fcil perceber que a norma H de fato o valor de pico da magnitude da resposta em


frequncia.

2.2

Anlise no Domnio do Tempo de Sistemas Lineares

Destacamos que a soluo analtica no domnio do tempo para um sistema linear sempre
possvel dado um tpico sinal de entrada. Para sinais de entrada genricos, entretanto, a anlise
no domnio do tempo deve ser realizada numericamente.

2.2.1

Solues Analticas para Respostas em Tempo Contnuo

Mtodo do espao de estados


Considere um sistema LIT com seu modelo em espao de estados n-dimensional

Foi mostrado no captulo anterior que a soluo no domnio do tempo desta equao

56

2.2 Anlise no Domnio do Tempo de Sistemas Lineares

onde eAt chamado de matriz de transio de estado.


Pode ser visto nesta soluo que a parte mais difcil o clculo da integral. Se uma certa
transformao for introduzida para remover o termo B, a soluo para o problema original pode
ser significativamente simplificado.
n+1 = u(t)
Assuma que o sinal de entrada um degrau unitrio; ento um estado extra (x)
pode ser introduzido. Claramente, xn+1 (t) = 0. Assim, a equao do espao de estados pode
ser reescrita como

Ento, o espao de estados original pode ser convertido em um sistema autnomo

onde xT (t) = [xT (t), xn+1 (t)] e xT (0) = [xT (0), 1]. A soluo analtica pode ser facilmente
encontrada como


x(t)
= eAt x(0).

Uma classe de sinais de entrada comumente usadas, que pode ser convertida em um sistema
autnomo, definida como
m

u(t) = u1 (t) + u2 (t) = cit i + ed1t [d2 cos(d4t) + d3 sin(d4t)].

(2.2)

i=0

possvel introduzir alguns estados extras, chamados de estados aumentados, de modo que
(m1)

xn+1 = ed1t cos(d4t), xn+3 = u1 (t), . . . , xn+m+3 = u1

(t). Pode ser mostrado que as equaes

do espao de estados aumentado sob um dado sinal de entrada pode ser escrito como

2.2 Anlise no Domnio do Tempo de Sistemas Lineares

57

cuja soluo analtica

x(t)
= eAt x(0).

A funo MATLAB ss_augment() escrita para gerar o espao de estados aumentado


para um tpico sinal de entrada:

b xb0 ]=ss_augment(G,c,d,x0 ), onde os vetores c = [c0 , c1 , . . . , cm ]


A sintaxe da funo [G,
e d = [d1 , d2 , d3 , d4 ] so utilizados para descrever a funo de entrada u(t) em (2.2). Os argumentos G e x0 so o objeto e o vetor de estado inicial, respectivamente, onde as variveis
b e xb0 so, respectivamente, o espao de estados aumentado e seu vetor inicial. Uma
retornadas G
vez que o sistema aumentado estabelecido, as solues analticas para o sistema podem ser
facilmente obtidas usando a Symbolic Toolbox.
Exemplo 2.11. Assuma que o espao de estados dado por

2.2 Anlise no Domnio do Tempo de Sistemas Lineares

58

com os estados iniciais xT (0) = [0, 1, 1, 2]. Se o sinal de entrada definido como u(t) =
2+2e3t sin(2t), a funo ss_argument() pode ser utilizada para construir o espao de estados
aumentado:

O modelo aumentado

Os seguintes comandos podem ser utilizados para encontrar a soluo analtica do sistema:

O sinal de sada do sistema obtido como

Mtodo da transformada de Laplace


Consideremos a seguinte funo de trasnferncia:

2.2 Anlise no Domnio do Tempo de Sistemas Lineares

59

Para qualquer sinal de entrada u(t) com U(s) como sua transformada de Laplace, o sinal
de sada pode ser obtido de Y (s) = G(s)U(s). Assim, a fim de encontrar y(t), a transformada
inversa de Laplace necessria, uma vez que y(t) = L 1 [Y (s)]. A Symbolic Toolbox do MATLAB pode ser utilizado para realizar a transformada de Laplace de dados sinais de entrada e a
transformada inversa pode ser utilizada para realizar a soluo analtica do sistema.
Exemplo 2.12. Assuma que

a funo de transferncia a ser analisada e que o sinal de entrada dado por u(t) = 2 +
2e3t sin 2t. A soluo analtica para o sinal de sada pode ser realizada utilizando os comandos

e a soluo analtica pode ser escrita como

2.2.2

Solues Analticas para Respostas em Tempo Discreto

Similar a abordagem do domnio s para soluo analtica de sistemas contnuos, a transformada Z pode ser utilizada para sistemas discretos para calcular a resposta a um sinal de entrada
U(z). Ento, a soluo analtica o sistema H(z) pode ser obtida pela resoluo da transformada
Z inversa, uma vez que y(n) = Z 1 [H(z)U(z)].

2.3 Simulao Numrica de Sistemas Lineares

60

Exemplo 2.13. Assuma que


a funo de transferncia discreta no tempo do sistema. Assuma tambm que o sinal de
entrada o degrau unitrio. A soluo analtica pode ser obtida usando os comandos

e a soluo analtica pode ser escrita como

Se o perodo de amostragem T dado, a soluo analtica pode ser reescrita como

2.3

Simulao Numrica de Sistemas Lineares

As solues analiticas de sistemas lineares foram estudadas nas sees anteriores. Em


aplicaes reais, prefervel ter solues numricas e, baseado nos resultados, as respostas
no domnio do tempo podem ser plotadas. Visualizao grfica das respostas do sistema
usualmente mais simples e informativa para engenheiros de controle.
Nesta seo, as tcnicas de soluo numrica para sistemas lineares sero apresentadas
com foco em algumas respostas comuns, tais como resposta ao degrau, resposta ao impulso e
resposta no domnio do tempo para sinais de entrada arbitrrios.

2.3.1

Resposta ao Degrau de Sistemas Lineares

Sinais de entrada em degrau e suas respostas so comumente utilizadas em anlise e desenvolvimento de sistemas de controle. A resposta tpica ao degrau em um sistema de segunda

61

2.3 Simulao Numrica de Sistemas Lineares

ordem so estudadas e especificaes so dadas. Ento, o clculo baseado em MATLAB de


respostas ao degrau possvel.
Anlise de sistemas de segunda ordem
Em disciplinas de controle clssico, sistemas de segunda ordem so frequentemente utilizados como exemplo, onde a maioria das propriedades de sistemas de controle linear so
ilustradas.
Teorema 2.4. A resposta ao degrau em malha fechada de um sistema de segunda ordem

pode ser obtida facilmente considerando os quatro casos a seguir:


1. Quando = 0, a resposta ao degrau y(t) = 1 cos(nt).
2. Quando 0 < < 1, a resposta ao degrau
1
y(t) = 1 ent p
sin(d t + ),
1 2
p
p
onde = tan1 1 2 / e n 1 2 .
3. Quando = 1, a resposta ao degrau y(t) = 1 (1 + nt)ent .
4. Quando > 1, a resposta ao degrau
n
y(t) = 1 p
2 2 1
onde 1 =

e1t e1t

1
1

!
,

p
p
2 1, 2 = + 2 1.

Exemplo 2.14. Com o uso da poderosa Symbolic Toolbox, as solues analticas para um sistema de segunda ordem podem ser facilmente obtidas:
Com algumas simplificaes bvias, segue o resultado

n t

y(t) = 1 n e


cosh(d t) sinh(d t)
+
,
n
d

(2.3)

2.3 Simulao Numrica de Sistemas Lineares

62

Figura 2.5: Respostas ao degrau de sistemas de segunda ordem

onde d =

p
2 1n . possvel perceber que o formato dos novos resultados so muito

mais concisos que aqueles dados no Teorema (2.4) se variveis complexas so permitidas. A
nica restrio em (2.3) que 6= 1; caso contrrio, zero pode ser utilizado no denominador.
possvel evitar esse caso particular definindo = 1 + , onde um nmero muito pequeno.
A resosta ao degrau do sistema pode ser calculada facilmente como mostrado na Figura
2.5(a). A verso tridimensional mostrada na Figura 2.5(b).
Os seguintes comandos MATLAB mostram as respostas ao degrau:

Pode ser visto que quando = 0, a sada uma oscilao no-amortecida. Quando
menor que 1, existe uma oscilao amortecida e, com o incremento no valor de , a oscilao
e o overshoot tendem a ser menores. Quando o valor de maior que ou igual a 1, no existe
oscilao no sinal de sada. O comportamento do sinal de sada versus as mudanas no valor de
podem ser melhor observadas na superfcie tridimensional na Figura 2.5(b).
Especificaes quantitativas em respostas ao degrau
Para curvas tpicas de resposta do degrau, vrias especificaes quantitativas teis so de-

2.3 Simulao Numrica de Sistemas Lineares

63

Figura 2.6: Especificaes de resposta ao degrau tpica


finidas e mostradas na Figura 2.6. Detalhes dessas especificaes comumente utilizadas esto
resumidas abaixo:
1. O valor estacionrio y(): O valor estacionrio do sistema sob a resposta ao degrau a
sada quando t . Para a funo de transferncia, utilizando o teorema do valor final
da transformada de Laplace, o valor estacionrio do sistema pode ser facilmente obtido
de

Se o sistema dado com o espao de estados (A,B,C,D), o valor estacionrio do sistema


pode ser obtido de

O valor estacionrio do sistema G pode ser calculado utilizado a funo

fornecido pela Control Systems Toolbox.


2. O tempo de subida tr : O tempo de subida definido como tr = t2 t1 com t2 e t1 , respectivamente, o tempo quando y(t) alcana 90% e 10% do valor estacionrio
3. O tempo de acomodao ts : Quando o sinal de sada y(t) mantido dentro de um intervalo
de [y() y, y() + y], o instante em que y(t) entra no intervalo chamado de tempo
de acomodao. De acordo com diferentes definies, y pode ser definido como 2% ou
5% do valor estacionrio y().

64

2.3 Simulao Numrica de Sistemas Lineares

4. O overshoot M p e o valor de pico yM : M p tambm conhecido como o percentual de


overshoot e definido como

Mp =

yM y()
100%
y()

Figura 2.7: Resposta ao degrau com especificaes


Em projeto de sistemas de controle, esperado projetar um sistema com baixo tempo de
subida e baixo tempo de acomodao e uma pequena porcentagem ou nenhum overshoot.

2.3 Simulao Numrica de Sistemas Lineares

65

Exemplo 2.15. Considere o sistema de segunda ordem com = 0.5 e n = 1 rad/s. A funo step(), que ser descrita posteriormente, provida em Control Systems Toolbox, pode ser
utilizada diretamente para desenhar a curva de resposta ao degrau

Clique com o boto direito na janela que aparece para ver o menu pop-up mostrado na
Figura 2.7(a). possvel selecionar diferentes especificaes a partir do menu e as correspondentes especificaes sero sobrepostas na curva de resposta ao degrau, como mostrado na
Figura 2.7(b).
Clculo de resposta ao degrau com MATLAB
A resposta ao degrau de sistemas lineares pode ser calculado e plotado utilizando a funo
step(), que pode ser chamada com uma variedade de sintaxes:

Na chamada da funo, G um modelo LIT, que pode ser uma funo de transferncia, um
espao de estados ou um modelo polo-zero-ganho. Esta funo aplica-se a sistemas contnuos
e sistemas discretos. Ela pode ser tambm utilizada para sistemas SISO e MIMO e sistemas
com e sem atraso. Assim, a funo fornece um modo unificado de encontrar a resposta ao
degrau de sistemas lineares. Se nenhum argumento retornado na chamada da funo, ento
a resposta ao degrau plotada automaticamente. Se algo retornado, no haver plotagem da
resposta. Os dados pode ser plotados posteriormente utilizando a funo plot(). Entretanto, as
curvas planas de plot() podem perder propriedades teis, tais como o menu pop-up mostrado
na Figura 2.7(a).

2.3 Simulao Numrica de Sistemas Lineares

66

Figura 2.8: Resposta ao degrau de um sistema contnuo com atraso


Exemplo 2.16. Se o modelo contnuo

uma funo de transferncia que contm um atraso no tempo, os seguintes comandos


podem ser utilizados para plotar a resposta no tempo como mostrado na Figura 2.8(a).

Na plotagem da resposta ao degrau, se for clicado em algum ponto na curva, sua magnitude
e tempo sero mostrados, como mostra a Figura 2.8(b). O overshoot, tempo de acomodao e
outras especificaes poem ser facilmente mostradas na curva, utilizando os mtodos mostrados
anteriormente.
Exemplo 2.17. Se um sistema dado por
com perodo de amostragem T = 0.01, 0.1, 0.5, 1.2 segundos, respectivamente, os seguintes comandos podem ser utilizados para obter os modelos de tempo discreto para diferentes
intervalos de amostragem. As respostas ao degrau so mostradas na Figura 2.9. possvel
mostrar que as informaes do sistema original podem ser perdidas se o intervalo de amostragem selecionado for grande demais.

2.3 Simulao Numrica de Sistemas Lineares

67

Figura 2.9: Comparaes de respostas ao degrau de sistemas discretizados


Os modelos em tempo discreto obtidos so, respectivamente,
Deve-se notar que a curva de resposta ao degrau do sistema em tempo discreto automaticamente plotado no formato escada.

2.3.2

Resposta ao Impulso de Sistemas Lineares

A resposta ao impulso de um sistema pode ser plotada facilmente utilizando a funo


impulse() fornecida na Control Systems Toolbox. A sintaxe da funo exatamente a mesma
da funo step() mostrada anteriormente.

Exemplo 2.18. Considere novamente o sistema estudado no Exemplo 2.16. A resposta ao


impulso do sistema pode ser obtido como mostrado na Figura 2.11:

2.3.3

Respostas no Tempo a Entradas Arbitrrias

Nas discusses anteriores, dois tipos de sinais de entrada foram estudados. Aqui, dois
outros tipos de sinais sero estudados.
Se a transformada de Laplace R(s) do sinal de entrada pode ser escrito como uma funo
racional, a sada do sistema pode ser expressa como Y (s) = G(s)R(s), que tambm racional. Assim, o tempo de resposta sob R(s) pode ser equivalentemente calculado com a funo

2.3 Simulao Numrica de Sistemas Lineares

Figura 2.10: Resposta ao degrau de um sistema multivarivel

Figura 2.11: Resposta ao impulso do sistema

impulse() se Y (s) assumido como a funo de transferncia do sistema.

Exemplo 2.19. Considere novamente

68

2.4 Local das Razes de Sistemas Lineares

69

Figura 2.12: Resposta rampa

A resposta rampa do sistema pode ser obtida com a ajuda da funo impulse().
Sabe-se que a transformada de Laplace de uma rampa a funo 1/s2 ; ento, a resposta
rampa do sistema pode ser calculada como a resposta ao degrau do sistema G(s)/s ou a resposta
ao impulso do sistema G(s)/s2 . Os seguintes comandos podem ser ento utilizados para calcular
a resposta rampa do sistema, como mostrado na Figura 2.12.

Se o sinal de entrada no pode ser expresso por equaes matemticas ou a transformada


de Laplace no pode ser a uma funo racional, os mtodos acima no pode ser utilizados.
Nesse caso, a funo lsim() pode ser utilizada para calcular a resposta no domnio do tempo
do sistema. A sintaxe da funo lsim() similar a da funo step(). A diferena que o
vetor de entrada u deve ser utilizado da seguinte maneira: lsim(G,u,t).

2.4

Local das Razes de Sistemas Lineares

Assuma que o sistema de controle realimentado estabelecido por uma realimentao negativa, um ganho K e um modelo G(s) de malha aberta. Para cada valor de K, um conjunto de
polos de malha fechada podem ser encontrados pela resoluo da equao 1 + KG(s) = 0. Com
contnuas mudanas no ganho K, as trajetrias dos polos do sistema em malha fechada podem
ser construdas. As trajetrias dos polos do sistema em malha fechada so chamadas de local
das razes do sistema. Deve-se notar que o modelo em malha aberta G(s) deve ser utilizado para

2.4 Local das Razes de Sistemas Lineares

70

plotar o local das razes e o local das razes pode ser utilizado para descreber as posies dos
polos do sistema em malha fechada.
A funo MATLAB rlocus() fornecida na Control Systems Toolbox para plotar o local
das razes de um dado sistema. A funo pode ser chamada em um dos seguintes modos:

Deve-se notar que esta funo aplica-se em ambas os tipos de sistemas, contnuo e discreto.
Somente modelos SISO LIT pode ser processados nesta funo. Ela tambm pode ser utilizada
para plotagem do local das razes de funes de transferncia discretas no tempo.
No local das razes do sistema, possvel clicar com o boto esquero em qualquer ponto
para mostrar o ganho, a posio do polo, a taxa de amortecimento e o overshoot do sistema
para aquele valor de K. possvel facilmente encontrar os valores do ganho de malha aberta K
para as quais o sistema em malha fechada estvel. O comando grid pode ser utilizado para
sobrepor as linhas de iso-amortecimento e isofrequncia do sistema. Estas linhas fornecem
informaes teis em projeto de sistemas de controle.
Exemplo 2.20. Seja

o modelo em malha aberta do sistema sob investigao. Utilizando os seguintes comandos


MATLAB, o local das razes do sistema pode ser facilmente e precisamente plotado, como
mostra a Figura 2.13(a).

Ao clicar com o boto esquerdo no ponto de interseco com

o eixo imaginrio, a informao sobre o ponto crtico mostrado como na Figura 2.13(b), do
qual imediatamente visto que o ganho crtico 772. Conclui-se que quando o ganho K > 772,
ento o sistema em malha fechada instvel.

2.4 Local das Razes de Sistemas Lineares

71

Figura 2.13: Anlise do local das razes do sistema e sua inversa

Figura 2.14: Local das razes de um sistema discreto no tempo


Exemplo 2.21. Se um modelo em malha aberta discreto no tempo dado por

com perodo de amostragem de T = 0.1s, os seguintes comandos podem ser utilizados


para plotar o local das razes do sistema, como mostrado na Figura 2.14(a). Clicando em pontos
relevantes, possvel ver que o ganho crtico K = 2.83.
Se existe um termo de atraso z6 no sistema original, o local das razes do sistema com

2.4 Local das Razes de Sistemas Lineares

72

atraso pode ser replotado, como mostrado na Figura 2.14(b):

possvel encontrar que o ganho crtico reduzido para 1.16. Sendo assim, um termo de
atraso em um modelo em tempo discreto reduz o ganho crtico do sistema.

Figura 2.15: Local das razes de acordo com a varvel a

2.4 Local das Razes de Sistemas Lineares

73

Exemplo 2.22. Para o modelo em malha aberta

se desejvel encontrar o local das razes de acordo com a varivel a, a equao caracterstica 1 + G(s) = 0 pode ser reescrita como

de onde pode ser visto que

Seja

b = 0. O local das razes de acordo


A equao caracterstica pode ser escrita como 1 + aG(s)
b
com a varivel a pode ser plotado para o modelo G(s).
Os comandos abaixo podem ser realizados para se obter o local das razes como mostrado na Figura 2.15(a). A Figura 2.15(b) a
verso com zoom da primeira.

O local das razes pode ser utilizado em projeto de controle para selecionar um valor apropriado para o ganho K. Se existe um par de polos complexos dominantes no local das razes,
o qual tem relativamente baixo amortecimento para um valor especfico de K, ento, selecionar
este valor de K deve ser o mais apropriado. Assume-se que se os polos complexos dominantes e
os efeitos de quaisquer zeros so ignorados, ento a resposta em malha fechada resultante ser
aproximadamente a mesma de um sistema de segunda ordem com esses mesmos polos.

2.5 Anlise em Domnio da Frequncia de Sistemas Lineares

2.5

74

Anlise em Domnio da Frequncia de Sistemas Lineares

Mtodos de anlise no domnio da frquncia compem uma classe de mtodos extremamente importantes em anlise e projeto de sistemas de controle. Em 1932, Nyquist apresentou
um mtodo grfico que pode ser utilizado para avaliar a estabilidade de um sistema de controle.
Em poucos anos, a anlise e projeto utilizando domnio no frequncia j havia se popularizado.
Esta se revelou como uma abordagem muito til.

2.5.1

Grficos em Domnio da Frequncia em MATLAB

Para uma funo de transferncia linear G(s), se a varivel no domnio da frequncia j


utilizada para substituir a varivel complexa s, ento G(j) pode ser considerado como o
"ganho complexo"do sistema. H muitos modos diferentes de descrever a quantidade complexa
G(j). Baseado nessas descries, diferentes mtodos no domnio da frequncia podem ser
estabelecidos, como a seguir.
1. Representao das partes real e imaginria: O ganho complexo pode ser representado
como parte real e parte imaginria, tal como
G(j) = P() + jQ().
possvel ver que P() e Q() so funes da frequncia . Se o eixo horizontal
utilizado para representar a parte real e o eixo verticial para a parte imaginria, a trajetria
do ganho complexo G(j) chamada de Diagrama de Nyquist.
A funo MATLAB nyquist() fornecida na Control Systems Toolbox pode ser utilizada
para plotar o Diagrama de Nyquist do modelo LIT G. As sintaxes da funo so

Um

clique em algum ponto do Diagrama mostra informaes sobre a frequncia juntamente


com o valor do ganho complexo. Esta facilidade fornece uma ferramente extremamente
til em anlise e projeto de sistemas lineares. O comando grid pode ser utilizado para
sobrepor os circulos iso-M no topo da curva de Nyquist.

2.5 Anlise em Domnio da Frequncia de Sistemas Lineares

75

2. Representao de magnitude e fase: A quantidade complexa G(j) pode ser expressa na


forma de magnitude e fase, isto , Assim, a frequncia pode ser utilizada como o eixo

horizontal e magnitude A() e fase () podem ser, separadamente, o eixo vertical. Um


novo conjunto de diagramas pode ser construdo. Se a frequncia for plotada em escala
logartmica, a magnitude M for plotada em decibis (dB), isto , M() = 20 log[A()] e
a fase for plotada em graus, o diagrama chamado de Diagrama de Bode.
A funo bode() fornecida na Control Systems Toolbox e pode ser utilizada para plotar
o Diagrama de Bode do sistema linear G. As sintaxes da funo so

3. Representao em nica plotagemde magnitude e fase: A representao de magnitude


e fase do ganho complexo novamente utilizada. Selecionando magnitude e fase como
eixos vertical e horizontal, respectivamente, encontraremos o Diagrama de Nichols.
A funo nichols() fornecida na Control Systems Toolbox pode ser utilizada para plotar
o Diagrama de Nichols para o dado sistema G. O comando grid pode ser utilizado para
sobrepor as constantes M e N e contornar o grfico.
Para sistemas discretos H(z), possvel substituir z = ejT na funo de transferncia,
b
de modo que a relao entre a magnitude complexa H(j)
e a frequncia possa ser estabelecida. As funes mencionadas acima nyquist(), bode() e nichols podem ser
utilizadas em modelos discretos no tempo diretamente.

2.5.2

Anlise de Estabilidade usando Mtodos em Domnio da Frequncia

O Diagrama de Nyquist, frequentemente desenhado para modelos em malha aberta, pode


ser utilizado para inferir o comportamento em malha fechada em termos de estabilidade e, inclusive, resposta no domnio do tempo. A estabilidade pode ser concluda utilizando o conhecido
Teorema de Nyquist.

2.5 Anlise em Domnio da Frequncia de Sistemas Lineares

76

Teorema 2.5. Para sistemas em malha fechada com funo de malha aberta G(s) serem estveis,
o Diagrama de Nyquist de G(s) deve circular o ponto (1, j0) no sentido anti-horrio tantas
vezes quanto o nmero de polos de G(s) que esto localizados no semiplano direito do plano s.
O Teorema de Nyquist pode ser interpretado nos dois casos a seguir:
1. Para um modelo em malha aberta estvel G(s), o sistema em malha fechada estvel se, e
somente se, o Diagrama de Nyquist de G(s) no circular o ponto (1, j0). Se o Diagrama
de Nyquist circula o ponto (1, j0) p vezes no sentido horrio, ento existem p polos de
malha fechada instveis.
2. Para um modelo em malha aberta instvel de G(s) com p modos instveis, o sistema
em malha fechada estvel se, e somente se, o Diagrama de Nyquist de G(s) circula o
ponto (1, j0) p vezes no sentido anti-horrio. Se o ponto (1, j0) circulado q vezes no
sentido anti-horrio, ento existem q p polos instveis de malha fechada.

Exemplo 2.23. Considere o modelo em malha aberta

O modelo pode ser facilmente colocado

Figura 2.16: Anlise do sistema


no MATLAB atravs dos seguintes comandos. O Diagrama de Nyquist do sistema pode ser
plotado como mostrado na Figura 2.16(a):

Pode ser visto que, embora a trajetria seja

bastante complicada, o ponto (1, j0) no circulado nenhuma vez. J que no existem polos
instveis, possvel mostrar, por meio do uso do Teorema de Nyquist, o sistema em malha

2.5 Anlise em Domnio da Frequncia de Sistemas Lineares

77

fechada estvel. A resposta ao degrau do sistema em malha fechada obtida como mostrado
na Figura >FIGURA(b).
Embora o sistema em malha fechada seja estvel, a resposta ao degrau possui uma oscilao
forte, ento o desempenho do sistema provavelmente no ser satisfatrio. Neste caso, um
controlador ser necessrio para melhorar o desempenho.

2.5.3

Margens de Ganho e Fase de um Sistema

possvel ver atravs dos exemplos anteriores que, embora a estabilidade do sistema seja
extremamente importante, no o nico fator importante na descrio do comportamento de
sistemas. Margens de resposta em frequncia so indicadores efetivos no endereamento de
estabilidade relativa e problemas de desempenho.
Nas Figuras 2.17(a) e (b), os esboos das margens de ganho e fase so ilustrados, respectivamente, nos Diagramas de Nyquist e Nichols. As margens de ganho e fase podem ser tambm
ilustradas em Diagrama de Bode.
Se para um sistema com uma funo de transferncia de malha aberta estvel o Diagrama de
Nyquist intercepta o eixo real negativo na frequncia cg , a margem de ganho definida como
o inverno do ganho, isto , Gm = 1/A(cg ), frequentemente expressa em dBs. Se o Diagrama
de Nyquist intercepta o crculo unitrio na frequncia cp , a margem de fase definida como
= (cp ) 180 .

Pode ser visto que, normalmente, quanto maior o valor da margem

de ganho Gm , mais rpida a resposta ao degrau. Se Gm < 1, o sistema em malha fechada


instvel. De maneira similar, se a resposta em frequncia em malha aberta relativamente suave
na regio das margens de ganho e fase, quando maior a margem de fase, menor ser o overshoot
na resposta ao degrau em malha fechada. Entretanto, se < 0, o sistema em malha fechada
instvel. Os seguites casos especiais devem ser tambm considerados.
1. Se no existe insteco entre a curva no Diagrama de Nyquist com o semi-eixo real negativo, a margem de ganho infinita
2. Se a curva no Diagrama de Nyquist intercepta muitas vezes o semi-eixo real negativo
entre (1, j0) e (0, j0), o ponto mais prximo de (1, j0) pode ser considerado como o

2.5 Anlise em Domnio da Frequncia de Sistemas Lineares

78

Figura 2.17: Representaes grficas das margens de ganho e fase


ponto da margem de ganho.
3. Se no existe interseco entre a curva no Diagrama de Nyquist com o cculo unitrio, a
margem de fase infinita.
4. Se a curva no Diagrama de Nyquist intercepta muitas vezes o crculo unitrio no terceiro
quadrante, o ponto mais prximo do semi-eixo real negativo pode ser considerado como
o ponto da margem de fase.
A funo margin() fornecida na Control Systems Toolbox para calcular as margens de
ganho e fase. A sintaxe da funao

Como resultado, se uma margem infinita, o valor

retornado ser Inf, enquanto a frequncia correspondente ser NaN.


Exemplo 2.24. Considere novamente o modelo em malha aberta no exemplo anterior. Os seguintes comandos podem ser utilizados para analisar as margens de fanho e fase do sistema:

A margem de ganho 1.105 na frequncia 0.9621 rad/s e a margem de fase 2.0985 , na


frequncia 0.9261 rad/s. J que ambas so muito pequenas, ento o sistema em malha fechada
ter uma oscilao muito forte, embora seja estvel.

2.6 Introduo s Tcnicas de Reduo de Modelo

2.6

79

Introduo s Tcnicas de Reduo de Modelo

Uma tcnica de reduo de modelo foi introduzida pela primeira vez por Davison em 1966.
O mtodo introduzido era reduzir a dimenso da matriz de coeficientes do sistema enquanto preservava alguns autovalores dominantes ou estados mais influentes do sistema original. Tcnicas
de reduo de funes de transferncia so algumas vezes chamdas de "simplificao". Aqui, o
termo "reduo"ser utilizado, uma vez que esta terminologia aparece mais frequentemente na
literatura. Nesta seo, tcnicas de reduo de modelo para funes de transferncia e espaos
de estados sero mostradas.
O modelo reduzido denotado por

onde k < n com n sendo a ordem do sistema original.

Novamente, por simplificao, assume-se que k+1 = 1.

2.6.1

Aproximaes de Pad e Aproximaes de Routh

Suponha que a srie de Taylor do sistema original G(s) seja escrita como

onde os instantes de tempo ci podem ser calculados. Uma funo de transferncia de


baixa ordem pode ser construda para aproximar o modelo original. Se desejvel preservar
os primeiros r + m + 1 instantes de tempo ci (i = 0, . . . , r + k) do modelo original, as seguintes
frmulas podem ser estabelecidas:

2.6 Introduo s Tcnicas de Reduo de Modelo

80

Para as primeiras m frmulas, as seguintes equaes algbricas podem ser obtidas:

a partir das quais os coeficientes i do denominador podem ser facilmente calculados atravs da soluo de equaes algbricas lineares. Para as primeiras r + 1 frmulas, os coeficientes
i do numerador pode ser calculados.

O algoritmo acima chamado de aproximao de Pad. A funo MATLAB pademod()


escrita baseado nesta tcnica de reduo:

A funo tambm chama a funo de mais baixo nvel pade_app(), onde

A sintaxe de pademod() Gr =pademod(G,r,k), onde G a funo de transferncia do


modelo original e r e k so as ordens desejadas do numerador e do denominador, respectivamente. As variveis retornadas Gr so o modelo reduzido.
Exemplo 2.25. Considere a funo de transferncia de quarta ordem

2.6 Introduo s Tcnicas de Reduo de Modelo

81

Os instantes de tempo ci e o modelo reduzido de segunda ordem podem ser obtidos utilizandos os seguintes comandos MATLAB:

O modelo de segunda ordem aproximado

As comparaes doss diagramas de Bode e respostas ao degrau so obtidas como mostrado nas Figuras 2.18(a) e (b), respectivamente. possvel ver que o modelo reduzido pode
aproximar o modelo original de quarta ordem satisfatoriamente.

Figura 2.18: Comparaes do Diagrama de Bode e da resposta ao degrau

Exemplo 2.26. Assuma que o modelo original dado por

Os polos de G(s) so encontrados:

2.6 Introduo s Tcnicas de Reduo de Modelo

82

O formato zero-polo-ganho do modelo original

possvel ver que o sistema original estvel. A aproximao de Pad de terceira ordem
do sistema original pode ser obtida por

O modelo reduzido obtido

Obviamente o sistema reduzido instvel. Isso significa que a aproximao de Pad pode
no preservar a estabilidade do sistema original.
Uma vez que a abordagem de Pad pode falhar em preservar a estabilidade do sistema original, a aproximao de Routh utilizda. O mtodo de aproximao de Routh proposto por
Hutton era encontrar um modelo estvel de ordem reduzida para o sistema original assintoticamente estvel.
A funo MATLAB routhmod() escrita de acordo com o algoritmo da aproximao de
Routh:

e pode ser utilizada para encontrar a aproximao de Routh e um dado sistema. A sintaxe
desta funo Gr =routhmod(G,k), onde G e Gr so os modelos original e reduzido, respectivamente, e k a ordem esperada da aproximao de Routh. Note que, no modelo reduzido, a
ordem do numerador uma unidade menor que a do denominador.

2.6 Introduo s Tcnicas de Reduo de Modelo

2.6.2

83

Reduo de Modelo de Espao de Estados

Mtodo da realizao balanceada


Suponha que a realizao balanceada do sistema original pode ser particionada como

e assuma que os estados no subvetor x2 sero cortados. Ento, o modelo reduzido escrito
como a seguir:

A funo modred() implementa o algoritmo acima fornecida na Control Systems Toolbox


com a sintaxe Gr =modred(G,elim), onde G o espao de estados realizado balanceadao e
elim contm os estados a serem cortados. O modelo reduzido Gr ento retornado.
Mtodo do truncamento da realizao balanceada de Schur
A funo de truncamento da realizao balanceada de Schur schmr(), fornecida na Robust
Control Toolbox, pode ser utilizada para realizar uma realizao de modelo de maneira similar
modred(). A diferena entre estas duas tcnicas que um sistema instvel pode ser manipulado
em schmr(). A sintaxe de schmr() Gr =schmr(G,1,nr , onde G o modelo original no
formato de espaos de estados, nr a ordem esperada do modelo retornado e Gr retorna o
modelo reduzido, tambm na forma de espao de estados.
Exemplo 2.27. Considere o modelo abaixo

Para aplicar o algoritmo de reduo de Schur, o modelo em espao de estados deve ser
obtido primeiramente. Isto pode ser feito utilizando os seguintes comandos MATLAB:

2.6 Introduo s Tcnicas de Reduo de Modelo

84

Trs estados so removidos e o modelo de terceira ordem reduzido utilizando o mtodo de


Schur pode ser escrito como

85

Simulao de Anlise de Sistemas


No-Lineares

Nos captulos anteriores, apresentamos mtodos de modelagem e anlise de sistemas lineares. No mundo real, entretanto, sistemas de controle sempre contm efeitos no-lineares,
que podem ser inerentes e inevitveis ou podem ser introduzidos intencionalmente para fornecer melhor desempenho tecnicamente ou economicamente. Um bom exemplo o uso de rels
para controle on-off de temperatura. De fato, possvel imaginar que um sistema de controle
que no opera sob a saturao do atuador em algum momento um projeto ruim do ponto de
vista econmico. O MATLAB inclui a linguagem de simulao Simulink e, embora a anlise
de sistemas no-lineares seja mais difcil que a de sistemas lineares, esta simulao simples.
No a inteno aqui apresentar mtodos tericos para o estudo de sistemas no-lineares, mas
apresentar o Simulink e suas facilidades na simulao de sistemas no-lineares. Isto realizado
atravs da discusso de alguns exemplos. Alm disso, uma vez que projetos iniciais para diferentes sistemas no-lineares envolvem consideraes de modelos linearizados, este importante
tpico tambm ser coberto.
Na seo 3.1, um breve panorama sobre o Simulink e, em particular, as bibliotecas de modelos. Os procedimentos para modelagem e simulao em Simulink tambm sero mostrados.
Modelagem de sistemas no-lineares apresentada atravs de exemplos na seo 3.2, onde a
modelagem em Simulink de equaes diferenciais no-lineares, sistemas multivariveis, sistemas de controle computadorizados e sistemas variantes no tempo so ilustrados. Na seo 3.3,
um modo sistemtico de modelagem por partes lineares e problemas de ciclo limite sero explorados atravs de uma abordagem de simulao. Na seo 3.4, a linearizao de sistemas no
lineares apresentada.

3.1 Introduo ao Simulink

3.1

86

Introduo ao Simulink

Simulink foi desenvolvida pela MathWorks em 1990. Seu nome original era SimuLAB,
que foi alterado para o nome atual em 1992. Dois significados esto implcitos neste nome,
"simu"e "link". A palavra "link"significa que o diagrama de bloco pode ser connstrudo pela
"ligao"(do ingls, linkage) entre blocos. A palavra "simu"mostra sua caracterstica de simulao. Com o uso das ferramentas poderas fornecidas no Simulink, diferentes sistemas podem
ser simulados facilmente e de maneira simples.

3.1.1

Blocos Comumente Utilizados no Simulink

Os algoritmos de modelagem apresentados nos captulos anteriores no podem ser diretamente aplicados em sistemas no-lineares. Neste caso, o sofisticado ambiente do Simulink pode
ser utilizado para representar tais sistemas no-lineares.
Para modelar um sistema no-linear, a biblioteca de blocos do Simulink deve ser aberta
primeiramente. Isto pode ser feito de duas maneiras. Iremos utilizar a primeira maneira ao
longo deste captulo.
1. Escreva open_system(simulink) no prompt de comando do MATLAB. Ento, a janela principal do Simulink ser mostrada, como na Figura 3.1.
2. Clique no cone Simulink na barra de ferramentas na janela do MATLAB, como na Figura
3.2.
possvel ver que um grande nmero de blocos fornecido no Simulink. Aqui, os blocos
mais comumente utilizados em sistemas de controle so:
1. Blocos de sistemas lineares: A funo de transferncia contnua, o espao de estados e o
modelo zero-polo-ganho so fornecidos no grupo Continuous
2. Blocos no lineares: As no-linearidades comumente utilizadas so fornecidas no grupo
Discontinuity, como mostrado na Figura 3.4, onde no-linearidades tais como saturao,

zona-morta e outras pode ser utilizadas diretamente.


3. Blocos de entrada e sada: Os sinais de entrada e sada podem ser modelados utilizando
os blocos do grupo Sources, mostrado na Figura 3.5. Degrau, pulso e outros sinais de

3.1 Introduo ao Simulink

87

entrada podem ser representados por blocos deste grupo. Em particular, o bloco Inport
pode ser utilizado para modelar a porta de entrada do sistema.
A sada do sistema pode ser mostrada com os blocos do grupo Sink, mostrado na Figura
3.6. possvel utilizar o bloco Scope para mostrar as curves dos sinais selecionados
durante a simulao. O bloco outport deste grupo pode ser utilizado para indicar a porta
de sada do sistema.
4. Blocos matemticos: Os sinais no sistema devem ser calculados utilizando os sinais
+, , , , entre outros. Os blocos do grupo Math mostrados na Figura 3.7 podem ser
utilizados para modelar estas operaes.
Para construir uma simulao mais facilmente, o usurio deve familiarizar-se com os blocos
fornecidos no ambiente Simulink. Nas sees a seguir, a modelagem utilizando Simulink ser
ilustrada atravs de exemplos.

Figura 3.1: Biblioteca de blocos do Simulink

88

3.1 Introduo ao Simulink

Figura 3.2: Browser da biblioteca de blocos do Simulink

Figura 3.3: Blocos contnuos lineares

Figura 3.4: Blocos no-lineares

3.1.2

Modelagem em Simulink

Aqui tem temos um breve passo-a-passo para modelagem em Simulink:


1. Preparao inicial: Para introduzir um modelo no formato Simulink, necessrio primeiramente iniciar o ambiente Simulink. Ento, abre-se uma janela em branco para o

89

3.1 Introduo ao Simulink

Figura 3.5: Blocos de entrada (fontes)

Figura 3.6: Blocos de sada

Figura 3.7: Blocos matemticos


novo sistema clicando em File | New.
2. Adicione os blocos do sistema: Abra as bibliotecas de blocos relevantes para que os
componentes do sistema possam ser copiados para ele. Por exemplo, o cone nomeado
como Continuous na Figura 3.3 contm os blocos mostrados na Figura 3.4, enquanto o
cone Discontinuities contm os mostrados na Figura 3.4. possvel selecionar os blocos
nestes grupos e, ento, arrast-los para dentro da nova janela.
3. Especifique os parmetros: Deve-se notar que as bibliotecas mostradas na Figura 3.3

3.1 Introduo ao Simulink

90

contm somente modelos padres de certos tipos. Por exemplo, a funo de transferncia
linear est contida na Figura 3.3, mas somente com o modelo padro 1/(s + 1). Para
especificar os parmetros de tal modelo, deve-se dar um duplo clique na caixa de dilogo,
como mostrado na Figura ?? e, ento, preencher os parmetros requisitados. Deve-se
notar tambm que os numeradores e denominadores requisitados na caixa de dilogo so
coeficientes em ordem descendente de s.
4. Desenhe as conexes: Uma vez que todos os blocos necessrios so colocados na janela,
necessrio desenhar as conexes entre os blocos para que se possa concluir o sistema.
As conexes entre os blocos podem ser desenhadas clicando na porta de sada de um
bloco e arrastando o mouse at a porta de entrada de outro. Uma conexo entre os dois
blocos ser internamente estabelecida pelo Simulink.
5. Especficaes de Entrada e Sada: Usa-se o cone Inport do grupo Sources para se obter
o sinal de entrada entrada do sistema e o cone Outport do grupo Sinks para conectar
sada do sistema.

Figura 3.8: Caixa de dilogo dos parmetros da funo de transferncia

Exemplo 3.1. Considere o sistema no-linear mostrado na Figura 3.9. possvel ver que existem dois elementos no-lineares no sistema. Utilizando o Simulink, possivel facilmente desenhar o diagrama de blocos do sistema, como mostrado na Figura 3.10.
Utilizando o Simulink o usurio pode, em teoria, desenhar o diagrama de bloco de um sistema de controle de qualquer complexidade. O Simulink tambm permite ao usurio realizar a

91

3.1 Introduo ao Simulink

simulao atravs de itens de menu e chamadas de funo relevantes. Os resultados da simulao podem ser mostrados nos escopos fornecidos dentro do Simulink ou retornado ao ambiente
de trabalho do MATLAB para que possam ser realizadas as operaes de plotagem.

3.1.3

Algoritmos de Simulao e Parmetros de Controle

Figura 3.9: Um exemplo de sistema no-linear

Figura 3.10: O modelo Simulink

Figura 3.11: Menu simualao


Quando o menu Simulation na janela do Simulink selecionado, aparecer o menu semelhante ao da Figura ??, onde o menu Configuration Parameters pode ser selecionado para espe-

3.1 Introduo ao Simulink

92

cificar os algoritmos de simulao e os parmetros de controle. A caixa de dilogo mostrada


na Figura 3.12. Os seguintes parmetros pode ser configurados a partir da caixa de dilogo.
1. As caixa de edio Start time e Stop time pode especificar os tempos de incio e parada
do processo de simulao.
2. A lista Type na coluna Solver options tem duas opes, onde os algoritmos de degrau
varivel e degrau fixo podem ser selecionados. Com o fim de manter a alta preciso na
simulao, sugerido selecionar os algoritmos de degrau varivel. Frequentemente os
algoritmos ode45 (Dormand-Prince) e ode15s (stiff/NDF) so adequados para problemas
de controle.
3. A preciso dos resultados da simulao pode ser controlada pelas opes Relative Tolerance e Absolute Tolerance. A tolerncia padro 1e-3, o que significa que o erro relativo

pode chegar a um milsimo. O valor padro usualmente muito grande e sugere-se diminuir para 1e-6 ou 1e-7. Deve-se notar que, embora a tolerncia relativa seja reduzia
significativamente, o esforo computacional no muito aumentado, devido ao uso de
algoritmos de degrau varivel.
4. Os degraus mximos e mnimos permitidos podem ser configurados pelo preenchimento
das caixas Min step e Max step. Se o real valor do degrau for alm do intervalo especificado, uma mensagem de erro ser mostrada.
5. As mensagem de aviso e erro podem ser configuradas na coluna Diagnostics.
Depois de completar as especificaes dos parmetros de controle, o item Simulation/Start
pode ser selecionado para iniciar o processo de simulao. A varivel tout ser retornada automaticamente e a matriz yout pode ser gerada quando a sada utilizada no modelo Simulink.
A funo plot(tout,yout) pode ser utilizada para mostrar os resultados da simulao.
A funo sim() pode ser utilizada para iniciar o processo de simulao. A sintaxe da
funo

onde "model_name" o nome do arquivo do modelo Simulink, com o sufixo .mdl omitido. O argumento t f o tempo de parada da simulao. As variveis retornadas t, x e y so,
respectivamente, o vetor tempo, a matriz de estados e a matriz de sada do sistema.

3.2 Modelagem de Sistemas No-Lineares

93

Figura 3.12: Caixa de dilogo dos parmetros de controle

Os parmetros de controle options pode ser especificado pela funo simset(), cuja sintaxe

onde property o nome do parmetro, enquanto parameter o valor associado a ele.


As propriedades relevantes podem ser listada com o comando help simset. Por exemplo,
se for desejvel mudar o valor da tolerncia relativa para 107 , pode-se fazer pelo comando
options=simset(RelTol,1e-7) ou simplesmente por options.RelTol=1e-7.
Quando a varivel options modificada, ela pode ser utilizada no processo de simulao
pelo preenchimento da funo sim().

3.2

Modelagem de Sistemas No-Lineares

Uma srie de exemplos relacionados com sistemas de controle ser utilizados para ilustrar o uso do Simulink. Uma equao diferencial ordinria (EDO) no-linear utilizada primeiramente como exemplo, seguida de um sistema multivarivel, um sistema controlado por
computador e um sistema variante no tempo. Ser visto nesses exemplos que sistemas com
complexidades significantes podem ser simulados utilizando o Simulink.
Exemplo 3.2. Considere a equao catica de Rssler, cuja forma matemtica

3.2 Modelagem de Sistemas No-Lineares

94

Selecionando a = b = 0.2, c = 5.7 e x(0) = y(0) = z(0) = 0, o modelo em Simulink pode


ser construdo e a simulao pode ser aplicada para o dado sistema.
Um truque simples para simular EDOs assumir que cada integrador para um varivel de
estado representa a sada deste estado xi (t); ento, a entrada do integrador xi (t). O modelo
em Simulink na Figura 3.13 pode ser facilmente construdo. Os parmetros de controle para
a simulao podem ento ser configuradas adequadamente. Se o processo de simulao for
iniciado, duas variveis sero retornada, tout e yout. O tempo de resposta dos trs estados so
obtidas com o comando plot(tout,yout), como mostrado na Figura 3.14(a).
Se os estados x1 (t), x2 (t) e x3 (t) so utilizados como os trs eixos, a trajetria no espao de
fases pode ser plotado como mostrado na Figura 3.14(b). A funo comet3() pode ser utilizada
para plotar dinamicamente as trajetrias da curva no espao de fases:

Muitos blocos no Simulink suportam operaes com vetores, isto , o bloco pode facilmente processar o caso em que vrias entradas so colocadas em um sinal de vetor utilizando o
bloco Mux. Se tal sinal colocado em um bloco integrador, o sinal de sada tambm um vetor,
cujos canais so integrais dos canais de entrada. Assim, os blocos na Figura 3.15(a) podem ser
utilizado para reescrever os blocos no modelo Simulink.

Figura 3.13: Modelo Simulink das equaes de Rssler

No modelo, o bloco Fcn utilizado para definir a operao matemtica nos sinais de
entrada. A entrada do bloco o estado do sistema e a entrada do bloco Fcn denotado por u.

3.2 Modelagem de Sistemas No-Lineares

95

Figura 3.14: Resultados da simulao das equaes de Rssler

Figura 3.15: Outra descrio para as equaes de Rssler


Se u um vetor, u[i] pode ser utilizado para denotar os componentes dos seus i-simos canais.
Assim, o modelo construdo muito mais fcil que aquele mostrado na Figura 3.13 e muito
mais facilmente mantido.

Figura 3.16: Melhorias nos vetores


Os vetores podem ser visualmente aprimorados em Simulink. Por exemplo, o menu Format/Wide nonscalar lines na janela permite expresses com linhas mais grossas para vetores,

como mostrado na Figura 3.15(b). Se o usurio selecionar o menu Format/Signal dimensions,


as dimenses do sinal sero mostradas sobre os vetores. Por exemplo, uma vez que a varivel de

3.2 Modelagem de Sistemas No-Lineares

96

estados tridimensional, um "3" mostrado, como mostrado na Figura 3.18(a). O menu Format
fornece o item Format/Port data types, que permite mostrar os tipos de dados, como mostrado
na Figura 3.18(b).
Exemplo 3.3. Considere o sistema multivarivel

Uma vez que existem atrasos no tempo na funo de transferncia do sistema em malha
aberta, a funo de malha fechada no pode ser expressada com a funo feedback(). Aproximaes de Pad podem ser utilizadas para aproximar os termos de atraso. Este o nico modo
de verificar a preciso da simulao. Com o uso do Simulink, o modelo preciso pode ser construdo como mostrado na Figura 3.19. No modelo de simulao, as duas entradas so atribudas
s variveis u1 e u2.
Utilizamos a funo step() para encontrar os resultados aproximados da simulao para o
sistema multivarivel acima quando cada entrada atua individualmente:

Atravs da simulao do sistema com o Simulink, obtemos a resposta ao degrau do sistema


com duas entradas. Elas podem ser plotadas juntas com os resultados aproximados, como
mostrado na Figura ??:
Pode ser visto de ?? que os resultados aproximados da simulao esto muito prximos
dos resultados exatos.
Exemplo 3.4.

3.2 Modelagem de Sistemas No-Lineares

97

Figura 3.17: Modelo Simulink do sistema multivarivel

Figura 3.18: Comparaes das simulaes dos sistemas multivariveis

Figura 3.19: Diagrama de blocos de um sistema controlado por computador


Considere o clssico sistema controlado por computador mostrado na Figura 3.19, onde o
controlador discreto com perodo de amostragem T segundos. O ZOH o segurador de ordem
zero e a planta dada por um modelo contnuo. Assuma que a planta e o controlador so dados,
respectivamente, por

3.2 Modelagem de Sistemas No-Lineares

98

Figura 3.20: Modelo Simulink para um sistema controlado por computador

onde a = 0.1. No possvel escrever a equao diferencial correspondente para este


sistema, uma vez que ambos os elementos, contnuo e discreto, existem no sistema.
Simulink possui a vantagem de poder resolver este tipo de problema hibrido. Do dado diagrama de bloco do sistema, o modelo Simulink pode ser facilmente construdo, como mostrado
na Figura 3.20. No modelo do sistema, as variveis a, T, z1 , p1 , K so utilizadas, onde os dois
primeiros devem ser especificados pelo usurio, enquanto as trs ltimas podem ser calculadas.
No primeiro bloco ZOH, o intervalo de amostragem configurado para T e, por simplicidade,
ao resot dos blocos so atribuidos -1, indicando que eles herdam o perodo de amostragem dos
sinais de entrada. No necessrio colocar o valor de T em cada bloco discreto.
Se a = 0.1 e o perodo de amostragem dado por T = 0.2 segundos, a resposta ao degrau
do sistema em malha fechada pode ser obtida como mostrado na Figura 3.21(a):

Se o perodo de amostragem aumentado para T = 1 segundo, a resposta ao degrau do sistema em malha fechada pode ser obtido como visto na Figura 3.21(b). Pode-se ver que quando
o perodo de amostragem aumenta, a diferena entre os sinais contnuo e discreto tambm aumenta:

De fato, com o algoritmo de converso dado no primeiro captulo, a verso discreta da


planta pode ser encontrado sob um intervalo de amostrado T . Assim, o sistema discreto em malha fechada pode ser obtido. A resposta ao degrau do sistema pode ser obtida com os seguintes
comandos:

3.2 Modelagem de Sistemas No-Lineares

99

Figura 3.21: Respostas ao degrau para diferentes perodos de amostragem

Figura 3.22: Sistema de controlado por computador simplificado


O controlador pode ser obtido como

Os comandos podem ser utilizados para obter os mesmo resultados do modelo Simulink,
de maneira mais simples, por sinal. Entretanto, este mtodo possui suas limitaes.
Uma investigao posterior do modelo Simulink mostra que o ZOH depois do controlador
D(z) redundante, uma vez que a sada de D(z) j um sinal discreto e permanece a mesma
aps o intervalo de amostragem. Sendo assim, ele pode ser removido. O ZOH no sinal de sada
tambm pode ser removido. A modelo de simulao final pode finalmente ser reduzido para
aquele mostrado na Figura 3.22 sem nenhum problema.
Claro que o sistema pode ser simplificado no modelo Simulink, uma vez que todos os ZOHs
podem ser removidos, como mostrado na Figura 3.23. Embora este no seja um mtodo oficial,
a aproximao correta no Simulink.

3.2 Modelagem de Sistemas No-Lineares

100

Figura 3.23: Modelo Simulink simplificado

Figura 3.24: Diagrama de blocos do sistema variante no tempo

Figura 3.25: Modelo Simulink

Exemplo 3.5. Assuma que o modelo dado por y(t)


+ e0.2t y(t)
+ e5t sin(2t + 6)y(t) = u(t).
Agora considere um sistema de controle PI, mostrado na Figura 3.24, onde K p = 200 e Ki = 10.
A largura do elemento de saturao = 2.
possvel ver que, exceto o bloco variante no tempo, a modelagem do resto do sistema
muito simples. Na parte variante no tempo, assuma que as equaes diferenciais explcitas de
podem ser utilizadas para estabelecer que
primeira ordem x1 (t) = y(t), x2 (t) = y(t)

Utilizando um mtodo similar ao do Exemplo 3.2, um integrador deve ser atribuido para

3.2 Modelagem de Sistemas No-Lineares

101

cada varivel de estado. O modelo Simulink na Figura 3.25 pode ser construdo, onde a funo
variante no tempo pode ser configurada com blocos.
Uma vez que o modelo de simulao foi construdo, os seguintes comandos MATLAB
podem ser utilizados para simular o sistema. A resposta ao degrau do sistema variante no
tempo pode ser obtida como mostrado na Figura 3.26.

Figura 3.26: Resposta ao degrau do sistema variante no tempo

Figura 3.27: Resposta ao impulso de um sistema variante no tempo

Exemplo 3.6. Considere novamente o modelo variante no tempo do Exemplo 3.5. Assuma que
o sinal de entrada um impulso. Simulink utilizado para encontrar a resposta ao impulso do
sistema.

3.3 Modelagem de Elementos No-Lineares

102

Uma vez que no existe um bloco de impulso no Simulink, o bloco de degrau pode ser
utilizado para aproxim-lo. Se o tempo do degrau a, onde a um valor extremamente pequeno,
o valor inicial do degrau pode ser configurado para 1/a e o valor final para 0. O modelo de
simulao mostrado na Figura 3.27 pode ser utilizado para modelar o sistema inteiro.
Teoricamente, quando a 0, o impulso pode ser aproximado. Na simulao real, a pode
ser configurado para valores relativamente pequenos, por exemplo, a = 0.001. A resposta ao
impulso do sistema pode ser obtida com os seguintes comandos MATLAB, como mostrado na
Figura 3.28:

De fato, mesmo a sendo um valor grande, por exemplo a = 0.1, uma aproximao muito
boa pode ser obtida.
Em aplicaes reais, as entradas com sinais peridicos arbitrrios podem ser obtidas com o
uso do bloco Repeating Sequence. Sinais e sistemas com comportamento ainda mais complicados podem ser modelados com o uso das funes-S.

Figura 3.28: Resposta ao impulso de um sistema variante no tempo

3.3

Modelagem de Elementos No-Lineares

Uma tcnica para tentar predizer o ciclo limite em sistemas no-lineares descrever o mtodo da funo. Uma vez que este um mtodo aproximado, muito til para propsitos de
comparao quando determina-se solues por simulao. Nesta seo, modelagem de nolinearidades ser discutida em mais detalhes e, ento, um sistema simples que possui um ciclo
limite simulado.

3.3 Modelagem de Elementos No-Lineares

3.3.1

103

Modelagem de No-Linearidades por Partes Lineares

No-linearidades estticas de qualquer complexidade podem ser construdas utilizando os


blocos Simulink existentes. Nesta seo, apresentada a modelagem em Simulink de no
linearidades de valor nico e valor duplo.
A no-linearidade de valor nico esttica pode ser facilmente construda com o bloco de
look-up table unidimensional. Por exemplo, considere a no-linearidade mostrada na Figura
3.29(a), para os pontos de inflexo (x1 , y1 ), (x2 , y2 ), . . . , (xN1 , yN1 ), (xN , yN ). possvel selecionar um ponto x0 de tal modo que x0 < x1 . O valor y0 pode ser facilmente calculado a partir
do comportamente no-linear. Para outro ponto xN+1 de tal modo que xN+1 > xN , o valor de
yN+1 pode ser obtido. Assim, os dois vetores x e y pode ser estabelecidos como

Um duplo clique no bloco Look-Up Table unidimensional abrir a caixa de dilogo mostrada na Figura 3.29(b). Pode-se especificar nas caixas Vector of input values e Vector of output
values os vetores x e y, respectivamente, e ento a no-linearidade de valor nico pode ser

configurada com sucesso.


A construo de uma no-linearidade de valor duplo genrica no to simples quando
a do caso de valor nico. Para sinais de entrada especficos, possvel definidir estas nolinearidades em termos da entrada e suas derivadas, j que um caminho em torno do elemento
no-linear ser obtido quando a entrada est aumentando e outro quando est diminuindo. Assim, a abordagem ser vlida para uma entrada senoidal mas no para uma entrada aleatria ou
para uma entrada cuja derivada muda a regio de valor duplo. Uma abordagem que pode ser
utilizada para estas situaes mostrada abaixo.

Figura 3.29: Construo das no-linearidades de valor nico

3.3 Modelagem de Elementos No-Lineares

104

Figura 3.30: Expresso da funo peridica

Exemplo 3.7. Quando existem ciclos na no-linearidade, alm de alguns blocos existentes na
biblioteca do Simulink, uma no-linearidade genrica no pode ser facilmente construda. O
bloco Switch pode ser utilizado para lidar com este problema.
Agora, considere as duas no-linearidades de valor duplo mostradas nas Figuras 3.30(a) e
(b). Primeiro, considere a no-linearidade cclica mostrada na Figura 3.30(a). possvel ver
que a funo peridica pode ser expressada por uma no-linearidade de valor nico quando
o sinal de entrada est aumentando e por outra no-linearidade de valor nico quando est
diminuindo. Isto significa que a no-linearidade de valor nico condicional. Por exemplo,
as duas no-linearidades de valor nico na Figura 3.31 podem ser utilizadas para expressar a
no-linearidade cclica na Figura 3.29(a).
O bloco Memory pode ser utilizado para extrair o sinal de entrada na instncia de tempo
anterior. Assim, o modelo Simulink mostrado na Figura 3.32 pode ser utilizado para expressar
a no-linearidade cclica de valor duplo. Um bloco comparador utilizado para checar se o
sinal de entrada est aumentando ou no, isto , se o valor atual maior que o valor anterior ou
no. Um bloco de chaveamento pode ser utilizado para controlar o bloco de valor nico, com o
Threshold configurado para 0.5.

As duas no-linearidades de valor nico podem ser expressadas por dois blocos table-lookup dados por

onde pode ser configurado para um valor muito pequeno. Por exemplo, pode ser configurado para a constante reservada do MATLAB eps.

3.3 Modelagem de Elementos No-Lineares

105

Figura 3.31: A funo peridica pode ser expressada como funo de valor simples

Figura 3.32: No-linearidade de valor duplo


Considere agora a no-linearidade mostrada na Figura 3.30(b). O modelo Simulink construdo anteriormente pode ainda ser utilizado para modelar a no-linearidade. Os novos conjuntos de dados podem ser utilizados para modificar os blocos table-look-up

O modelo Simulink para a nova no-linearidade pode ser expressada como mostrado na
Figura ??.
possvel ver, portanto, que as no-linearidades estticas de valor nico e valor duplo de
qualquer complexidade podem ser facilmente modeladas em Simulink. A no-linearidade pode
ser utilizada diretamente na simulao.

3.3.2

Ciclo Limite de Sistemas No-Lineares

Sistemas no-lineares podem ter comportamentos que no esto presentes em sistemas lineares. Uma dada situao a existncia de um ciclo limite, ou oscilao auto-excitada, que
pode ser atingido quando o sistema partido de diferentes condies iniciais.

3.3 Modelagem de Elementos No-Lineares

106

Figura 3.33: Diagrama de bloco do sistema no-linear

Figura 3.34: Modelo Simulink

Figura 3.35: Resultado da simulao do sistema no-linear

Exemplo 3.8. Considere o tpico sistema no-linear realimentado mostrado na Figura 3.33,
com o elemento no-linear mostrado na Figura 3.30(a), cujo modelo Simulink construdo na
Figura 3.32. Para tal sistema, o modelo Simulink pode ser construdo como mostrado na Figura
3.34. No modelo de simulao, o valor inicial do integrador configurado para um.
Configure o tempo de trmino da simulao para 40 segundos e mantenha a tolerncia
relativa precisa configurando a Relative tolerance para 108 ou um valor menor. Com o seguinte
cdigo MATLAB, o tempo de resposta do sistema, quando no existe um sinal de entrada
externo, pode ser obtido como mostrado na Figura 3.35(a).
possvel ver que os sinais x1 (t) e x2 (t) alcanam oscilaes estacionrias depois do

3.4 Linearizao de Modelos No-Lineares

107

perodo transitrio. Com a funo grfica plot(y(:,1),y(:,2)) fornecida no MATLAB, a


trajetria do plano de fase aparece como mostrado na Figura 3.35(b). possvel ver que a trajetria uma curva fechada, que chamada de ciclo limite. Um ciclo limite uma caracterstica
interessante que pode ocorrer em um sistema no-linear.

3.4

Linearizao de Modelos No-Lineares

Sistemas lineares so muito mais fceis de analisar e projetar que os no-lineares. Infelizmente, sistemas que devem ser tratados na prtica raramente so lineares. Neste caso, uma
aproximao linear do sistema frequentemente necessria para simplificar os procedimentos
de anlise e projeto.
Linearizao de sistemas tem como objetivo encontrar um modelo linear aproximado, isto
, um modelo linear na vizinhana do ponto de operao.
Considere o sistema dinmico no-linear

xi (t) = fi (x1 , x2 , . . . , xn , u,t), i = 1, 2, . . . , n.

(3.1)

Ponto de operao definido como os valores de estado e variveis de entrada cujas derivadas das variveis de estados se aproximam de zero. Isso pode ser obtido pela soluo de
equaes no-lineares definidas em (3.1), tal que

que pode ser resolvida numericamente. Denote por x0 o ponto de operao comum sinal
de entrada u0 . O sistema no-linear pode ser aproximado por

Utilizando as novas variveis de estado z(t) = x(t) para o sistema, o modelo linearizado
pode ser obtido como:

onde v(t) = u(t) e

3.4 Linearizao de Modelos No-Lineares

108

Funes teis para a realizao da linearizao de sistemas no-lineares so fornecidas


no Simulink. O usurio pode utilizar a funo trim() para encontrar o ponto de operao. A
sintaxe da funo trim()

onde model_name o nome do modelo Simulink. As variveis x0 , u0 so o chute inicial


para os estados e a entrada no ponto de operao. Uma tcnica de otimizao utilizada para
obter o ponto de operao. Para sistemas sem elementos no-lineares, o chute inicial de x0 , u0
pode ser omitido. O ponto de operao real retornado em x, u, y e os valores das derivadas das
variveis de estado so retornadas em z. Teoricamente, as derivadas das variveis de estado no
ponto de operao devem ser iguais a 0.

Figura 3.36: Modelo Simulink MIMO

Exemplo 3.9. Considere o sistema multivarivel do Exemplo 3.3. Se um modelo linearizado


esperado, a aproximao de Pad deve ser utilizada na linearizao dos termos de atraso.
Deve-se configurar a caixa Pade order (for linearization) para 2 nos blocos de atraso, onde a
aproximao de Pad de segunda ordem pode ser utilizada. O modelo Simulink para o sistema
multivarivel pode ser ento construdo como mostrado na Figura 3.36.
Quando o modelo Simulink construdo, os seguintes comandos podem ser utilizados no
processo de linearizao para obter-se o espao de estados linear. Os resultados exatos da
simulao podem ser obtidos, juntamente com o modelo linearizado, como mostrado na Figura
3.37. Pode-se ver que os resultados da simulao do modelo linearizado so muito precisos.

3.4 Linearizao de Modelos No-Lineares

O espao de estados pode ser obtido do sistema

Figura 3.37: Comparao entre os resultados exato e aproximado

109

3.4 Linearizao de Modelos No-Lineares

Figura 3.38: Outro modelo Simulink

110

Anda mungkin juga menyukai