Вы находитесь на странице: 1из 118

Universidade Federal de Minas Gerais – UFMG

Escola de Engenharia
Departamento de Mecânica - DEMEC

EMA166 – Sistema de Controle em Tempo


Discreto

Notas de Aula

Introdução ao Controle de Sistemas em Tempo


Discreto

Autor: Prof. Dr. Lázaro Valentim Donadon

Fevereiro de 2008
Prefácio

Ementa:
Amostragem de Sinais contínuos; Transformada Z; Modelos Discretos; Espaço de
Estados discreto; Análise de Sistemas Discretos; Controladores PID digital; Métodos de
projeto de controladores em tempo discreto.

Programa:
Semana: Data: Assunto:
1 27/02 Introdução ao controle de sistemas em tempo discreto
2 05/03 Transformada Z
3 12/03 Função de Transferência em Tempo Discreto – Parte I
4 19/03 Função de Transferência em Tempo Discreto – Parte II
5 26/03 Aula de Exercícios
6 02/04 1ª Prova
7 09/04 Projeto de Controladores por Métodos Clássicos
8 16/04 Exercícios
9 23/04 Formulação por Matrizes de Estado
10 07/05 Controlabilidade e Observabilidade
11 14/05 Projeto de controladores via Alocação de Pólos – Parte I
12 21/05 Projeto de controladores via Alocação de Pólos – Parte II
13 28/05 Projeto de controladores via Alocação de Pólos – Parte III
14 04/06 Exercícios – Matlab
15 11/06 Exercícios - Matlab
16 18/06 2ª Prova
17 25/06 Apresentação dos projetos

Critérios de Avaliação:
1ª Prova 35%, 2ª Prova 35%, projeto 20%, listas de exercício 10%

Bibliografia:
K. Ogata. Discrete-Time Control Systems. Prentice Hall, 2nd Edition. 1994.

G.F. Franklin, J.D. Powell, and M.L. Workman. Digital Control of Dynamic Systems.
Addison-Wesley, 3rd Edition. 1998.

ii
Sumário

1 INTRODUÇÃO AO CONTROLE DE SISTEMAS EM TEMPO DISCRETO1


1.1 INTRODUÇÃO .............................................................................................................................1
1.2 SISTEMAS DE CONTROLE EM TEMPO DISCRETO ...........................................................................1
1.3 TIPOS DE SINAIS .........................................................................................................................5
1.4 AMOSTRAGEM DE SINAIS CONTÍNUOS ........................................................................................6
1.4.1 Teoria da Amostragem – Tratamento empírico....................................................................6
1.4.2 Não unicidade de sinais amostrados ....................................................................................8
1.5 EXERCÍCIOS PROPOSTOS ............................................................................................................8
2 TRANSFORMADA Z .......................................................................................... 10
2.1 MÉTODO DA TRANSFORMADA Z ..............................................................................................10
2.1.1 Transformada Z ..................................................................................................................10
2.1.2 Transformada Z de funções elementares ............................................................................10
2.1.3 Propriedades da Transformada Z ......................................................................................12
2.2 TRANSFORMADA Z INVERSA ....................................................................................................14
2.2.1 Método de expansão em frações parciais...........................................................................15
2.2.2 Método computacional - Matlab ........................................................................................17
2.3 EXERCÍCIOS RESOLVIDOS ........................................................................................................18
2.4 EXERCÍCIOS PROPOSTOS ..........................................................................................................19
3 FUNÇÃO DE TRANSFERÊNCIA EM TEMPO DISCRETO ........................ 21
3.1 AMOSTRAGEM IMPULSIVA .......................................................................................................21
3.2 CIRCUITO DATA-HOLD ............................................................................................................22
3.2.1 Segurador de Ordem Zero - ZOH.......................................................................................22
3.2.2 Segurador de primeira ordem ............................................................................................23
3.2.3 Funções de Transferência em Tempo Discreto com ZOH..................................................25
3.2.4 Resposta em Freqüência do ZOH.......................................................................................26
3.3 FUNÇÃO DE TRANSFERÊNCIA PULSADA ...................................................................................27
3.3.1 Transformada de Z de FTs incluindo o amostrador...........................................................28
3.3.2 Função de Transferência em Cascata ................................................................................28
3.3.3 Função de transferência em malha fechada.......................................................................29
3.3.4 Função de transferência em malha fechada de controladores digitais ..............................30
3.3.5 Função de transferência pulsada de um controlador PID digital......................................31
3.3.6 Simulação de sistemas em tempo discreto ..........................................................................34
3.3.7 Realização de Controladores digitais e filtros digitais ......................................................36
3.3.8 Resposta ao Impulso Finita e Infinita.................................................................................38
3.4 EXERCÍCIOS RESOLVIDOS ........................................................................................................39
3.5 EXERCÍCIOS PROPOSTOS ..........................................................................................................41
4 PROJETO DE CONTROLADORES POR MÉTODOS CLÁSSICOS .......... 43
4.1 MAPEAMENTO ENTRE PLANO Z E PLANO S...............................................................................43
4.2 ANÁLISE DE ESTABILIDADE DE SISTEMAS NO PLANO Z............................................................47
4.3 RESPOSTA TRANSIENTE ...........................................................................................................48
4.4 MÉTODO DE PROJETO BASEADO NO LUGAR DAS RAÍZES ...........................................................49
4.5 CONTROLADOR TIPO “DEAD BEAT”.........................................................................................56
4.6 PROJETO DE CONTROLADORES PID .........................................................................................57
4.6.1 Ziegler-Nichols malha fechada...........................................................................................57
4.6.2 Ziegler-Nichols Malha Aberta............................................................................................58
4.7 EXERCÍCIOS RESOLVIDOS ........................................................................................................59
4.8 EXERCÍCIOS PROPOSTOS ..........................................................................................................59
5 FORMULAÇÃO POR MATRIZES DE ESTADO........................................... 61

iii
5.1 INTRODUÇÃO À FORMULAÇÃO DE ESTADO ...............................................................................61
5.2 NOMENCLATURA DE ESPAÇO DE ESTADOS ..............................................................................62
5.3 REPRESENTAÇÃO DE ESPAÇO DE ESTADOS DISCRETOS ............................................................62
5.3.1 Forma Canônica Controlável.............................................................................................62
5.3.2 Forma Canônica Observável..............................................................................................63
5.3.3 Forma Canônica Diagonal.................................................................................................63
5.3.4 Forma Canônica de Jordan................................................................................................64
5.3.5 Não unicidade das matrizes de estado................................................................................64
5.4 SIMULANDO UM SISTEMA NA FORMA DE ESTADO DISCRETO .....................................................65
5.5 PASSANDO DE MATRIZES DE ESTADO PARA FT........................................................................65
5.6 DISCRETIZAÇÃO DE MATRIZES DE ESTADO CONTÍNUAS ..........................................................66
5.7 EXERCÍCIOS RESOLVIDOS ........................................................................................................69
5.8 EXERCÍCIOS PROPOSTOS ..........................................................................................................72
6 CONTROLABILIDADE E OBSERVABILIDADE ......................................... 73
6.1 INTRODUÇÃO ...........................................................................................................................73
6.2 CONTROLABILIDADE ................................................................................................................73
6.3 CONTROLABILIDADE DE SAÍDA ................................................................................................75
6.4 OBSERVABILIDADE ..................................................................................................................76
6.5 COMENTÁRIOS GERAIS SOBRE CONTROLABILIDADE E OBSERVABILIDADE................................78
6.5.1 Condições de controlabilidade e observabilidade em termos de Funções de Transferência
78
6.5.2 Efeito da discretização .......................................................................................................80
6.5.3 Princípio da dualidade .......................................................................................................80
6.6 EXERCÍCIOS RESOLVIDOS ........................................................................................................81
6.7 EXERCÍCIOS PROPOSTOS ..........................................................................................................82
7 PROJETO DE CONTROLADORES VIA ALOCAÇÃO DE PÓLOS ........... 84
7.1 INTRODUÇÃO ...........................................................................................................................84
7.2 FÓRMULA DE ACKERMANN ......................................................................................................85
7.3 FORMAS ALTERNATIVAS PARA O GANHO K ..............................................................................86
7.4 CONTROLE POR REALIMENTAÇÃO DE ESTADO .........................................................................88
7.5 OBSERVADORES DE ESTADO ....................................................................................................90
7.5.1 Observadores de Estado de Ordem Completa....................................................................91
7.5.2 Comentários sobre estimador de estado.............................................................................94
7.5.3 Estimadores de Ordem Reduzida........................................................................................97
7.6 EXERCÍCIOS RESOLVIDOS ......................................................................................................103
7.7 EXERCÍCIOS PROPOSTOS ........................................................................................................107
8 PROJETOS ......................................................................................................... 109
8.1 PÊNDULO INVERTIDO .............................................................................................................110
8.2 SUSPENSÃO ATIVA PARA ¼ DE VEÍCULO ................................................................................111
8.3 CONTROLE NÃO COLOCADO ...................................................................................................112
8.4 PROJETO DE FILTROS DIGIAIS ................................................................................................113
9 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................. 114

iv
Capítulo 1

1 Introdução ao Controle de Sistemas em Tempo


Discreto
Neste item, será apresentado os equipamentos utilizados em sistemas de
controle.

1.1 Introdução

Aqui, serão tratados sistemas lineares e invariantes no tempo em que o


controle de sistemas em tempo discreto é entendido como a implementação de sistemas
de controle utilizando placas de aquisição de dados capazes de medir uma determinada
quantidade de sinais analógicos, processá-los e devolvê-los ao meio ambiente.

1.2 Sistemas de controle em tempo discreto

Um sistema de controle em tempo contínuo em realimentação pode ser


apresentado como na Figura 1.1, neste caso, todos os sinais envolvidos são sinais
contínuos e o sistema de controle e a planta podem ser escrito no domínio de Laplace.

Figura 1.1: Exemplo de um sistema de controle em tempo contínuo

Já os sistemas de controle em tempo discreto envolvem a discretização de uma


ou mais variáveis do processo de controle. Normalmente, a implementação de um
sistema de controle em tempo discreto envolve a utilização de um computador em
conjunto com uma placa de aquisição de dados para a implementação do controlador.
Sendo assim, está implícito no método que ocorra pelo menos uma passagem do tempo
contínuo para o tempo discreto, denominada discretização ou amostragem do sinal, e
uma passagem do tempo discreto para o tempo contínuo, chamada de reconstrução.

A implementação em tempo real de controle para um sistema de controle em


tempo discreto em realimentação onde o controlador é implementado em tempo discreto
pode ser observado na Figura 1.2.

1
Figura 1.2: Exemplo de um sistema de controle em tempo discreto

Ambiente Físico é o ambiente no qual será implementado o sistema de controle,


é o ambiente real onde o processo físico ocorre.

Ambiente Computacional é o ambiente onde o sistema de controle é


implementado, isto é, onde ocorre o processo de síntese do controlador e é calculada a
lei de controle. Este ambiente representa o hardware e software onde o sistema de
controle é implementado, como por exemplo no Matlab/Simulink.

Variável Física é a quantidade física que se deseja medir para ser usada no
sistema de controle, por exemplo, deslocamento, velocidade, aceleração, temperatura,
pressão, etc.

Transdutor é o dispositivo capaz de transformar uma quantidade de entrada em


outra quantidade de saída, normalmente voltagem, isto é, é o dispositivo que tem a
capacidade de medir a variável física e transformá-la em voltagem para ser utilizado
como informação pelo sistema de controle, em outras palavras, é simplesmente o
sensor, como acelerômetros, vibrômetros laser, células de carga, sensores de posição,
tacômetros, microfones, etc.

Condicionador de sinais é o dispositivo que alimenta o transdutor, pois


normalmente o transdutor precisa de uma fonte de alimentação específica para ele. De
maneira geral, os transdutores geram uma quantidade de voltagem insuficiente para
serem utilizados em sistemas de medida e controle, necessitando assim de um sistema
de amplificação. Os condicionadores de sinais podem incluir um amplificador
operacional como fonte de alimentação básica, um sistema de amplificação e filtros
analógicos, integradores, etc.

Filtros Analógicos são dispositivos que modificam o sinal de entrada, isto é,


eles eliminam determinadas faixas de freqüência do sinal de entrada. São classificados
como filtros passa-baixo, onde apenas freqüências abaixo de um determinado valor
estão presentes no sinal de saída, filtros passa-alto onde apenas freqüências acima de um
determinado valor estão presentes no sinal de saída, passa-banda onde apenas uma
determinada faixa de freqüências está no sinal de saída e rejeita-banda onde uma banda
de freqüências é retirada do sinal de saída. Alguns filtros podem incluir um sistema de
amplificação, mas em geral não substituem o sistema de condicionamento de sinal.

2
Figura 1.3: Exemplo de curva em freqüência de um filtros ideais. Passa-baixo. Passa-
alta, Rejeita-banda ou Notch e Passa-banda

Multiplexador Analógico normalmente é parte integrante da placa de aquisição


de sinais e é o dispositivo que conecta os canais de entrada da placa de aquisição de
dados ao circuito “Sample and hold”. Normalmente uma placa de aquisição de sinais
contém vários canais de entrada e apenas um multiplexador analógico.

Circuito Sample-and-Hold é dispositivo que faz a amostragem, sample, e


mantém o sinal amostrado por um determinado período de tempo, hold. Este dispositivo
é aquele que o usuário tem a escolha do tempo de discretização.

Conversor Analógico Digital é o dispositivo que realmente realiza o processo


de amostragem e quantificação do sinal analógico, isto é, a saída do conversor A/D é
um sinal binário, normalmente o multiplexador analógico e circuito sample-and-hold
são partes integrantes do conversor A/D.

Figura 1.4: Componentes básicos de um sistema de medida

Demultiplexador é dispositivo que conecta a saída de dados da placa de


aquisição de sinais com os respectivos canais de saída. Esta conexão é sincronizada com
o respectivo tempo de amostragem.

Conversor Digital Analógico é o dispositivo que transforma uma entrada


digital, neste caso um número binário, em uma saída analógica.

Hold é um dispositivo que mantém o sinal de saída do conversor D/A seguindo


uma determinada função, isto é, o hold mais comum é o Zero-Order Hold (ZOH),
segurador de ordem zero, ele mantém o sinal constante como apresentado abaixo. Este
dispositivo é parte integrante do conversor D/A, Figura 1.5.

3
Figura 1.5: sinal contínuo e sinal contínuo com segurador de ordem zero

Filtro de reconstrução é um filtro analógico adicionado na saída do conversor


D/A com o intuito de eliminar as “escadas” feitas pelo hold. Este filtro pode ser
eliminado do processo se necessário.

Sistema de condicionamento do atuador é um dispositivo parecido com o


condicionador apresentado anteriormente e serve para alimentar, filtrar e amplificar o
atuador.

Atuador é o dispositivo responsável por implementar a lei de controle no


sistema físico, isto é, é o dispositivo que implementa fisicamente a lei de controle.

Figura 1.6: Componentes básicos de um sistema de atuação

Exemplo 1.1: Controle de temperatura de uma autoclave

Figura 1.7: Sistema de monitoramento de temperatura em uma autoclave

Exemplo 1.2: Montagem experimental de um sistema de controle

4
Figura 1.8: Sistema de controle detalhado

1.3 Tipos de sinais

Sinais em analógico em tempo contínuos são sinais contínuos definidos em


qualquer instante de tempo cuja amplitude varia continuamente neste intervalo. Figura
1.9(a).

Sinal em tempo contínuo quantizado é um sinal cuja amplitude só pode


assumir valores pré-determinados. Figura 1.9(b).

Sinais discretizados são sinais que só podem assumir valores em determinados


instantes de tempo. Figura 1.9(c).

Sinais discretizados e quantizados são sinais discretizados que só podem


assumir determinados valores de amplitude. Figura 1.9(d).

(a) Sinal contínuo (b) Sinal contínuo quantizado

(c) Sinal discretizado (d) Sinal discretizado quantizado


Figura 1.9: Tipos de sinais

5
A Figura 1.9(a) representa um sinal analógico qualquer, enquanto que a Figura
1.9(d) representa um sinal visto por um sistema de aquisição de dados, isso significa
que existirão erros entre a passagem de um sinal contínuo para um sinal discreto. Aqui o
termo sinal contínuo ser referirá sempre ao sinal da Figura 1.9(a) enquanto que um sinal
discreto ou em tempo discreto a um sinal igual ao da Figura 1.9(d).

Controle de sistemas em tempo discreto envolverá uma ou mais variáveis que só


podem ser acessadas ou lidas em determinados instantes de tempo através de um
processo de amostragem.

1.4 Amostragem de sinais contínuos

Este item será explicado como a amostragem de um sinal contínuo deve ser feito
sem que haja perda de informação ou se cometa erros durante este processo.

O Processo de Amostragem de sinais contínuos substitui o sinal em tempo


contínuo por uma seqüência de valores em tempo discreto. Este processo normalmente é
seguido por um processo de quantização do sinal discreto.

1.4.1 Teoria da Amostragem – Tratamento empírico

A amostragem ou discretização de um sinal analógico é feita seguindo um


determinado tempo de amostragem T, em segundos, ou freqüência de amostragem fa,
dada em Hz. Sendo que,
1
T=
fa
Então, a amostragem é dada pela seguinte relação,
+∞
x (kT ) = x ( t ) ∑ δ(t − kT ) k=0, 1, 2 ...
k = −∞
onde o delta de dirac extrai o valor da função no instante em que t = kT.

(a) sinal contínuo (b) Sinal amostrado


Figura 1.10: Sinal contínuo e sinal amostrado

6
Para que um sinal contínuo possa ser corretamente discretizado, ele deve
obedecer as regras imposta por Fourier, isto é, a maior freqüência contida no sinal a ser
amostrado deverá obrigatoriamente ser menor que metade da freqüência de amostragem
fa que é conhecida como freqüência de Nyquist fN. De modo geral, para uma boa
aplicação de sistemas de controle, deve ser considerado pelo menos de 4 a 6 pontos por
período da maior freqüência a ser amostrada para que o sistema de controle possa
funcionar adequadamente.

Exemplo 1.3: Supor um sinal analógico com apenas uma freqüência igual a 400 Hz. Se
a amostragem for feita com uma freqüência de amostragem fa = 1600 Hz. Pede-se:

a) Qual o tempo de amostragem?


Solução:
O tempo de amostragem T é dados por,
1 1
T= = = 0.625 ms
fa 1600

b) Quantos pontos por período?


Solução:
Como o sinal contínuo tem f = 400 Hz e a amostragem foi feita em 1600
Hz, então o número de pontos por período é dado por,
Número de pontos por período n = 1600/400 = 4.

c) Gráfico do sinal correto vs sinal amostrado

Figura 1.11: Sinal correto e sinal amostrado

Exemplo 1.4: Supondo um sistema massa-mola com m=0.5 kg e k = 100.000 N/m que
será simulado em tempo discreto por uma senóide com freqüências de 65 e 85 Hz. Qual
deverá ser o tempo de amostragem mínimo supondo 6 pontos por período?
Solução:
Para 6 pontos por período,
1 1
F = 65 Hz, então, T = = 2.57 ms
6 65
1 1
F = 85 Hz, então, T = = 1.96 ms
6 85

7
k 447.21
ωn = = 447.21 rad / s significando que f n = = 71.18 Hz , então
m 2π
1 1
T= = 2.35 ms
6 71.18
Desta forma, terá de ser amostrado com o menor T, então, 1.96 ms.

1.4.2 Não unicidade de sinais amostrados

Supondo a Figura 1.12, observe que se a senoide de 400 Hz for amostrada com T
= 2 ms isso representa uma freqüência de amostragem fa = 500 Hz e uma freqüência de
Nyquist fN = 250 Hz. O sinal original de 400 Hz se rebate em Nyquist, representando
uma freqüência aparente de 100 Hz.

Figura 1.12: Sinal contínuo e sinal amostrado incorretamente

Desta forma, não se pode amostrar um sinal cuja freqüência seja maior que a
freqüência de Nyquist, para evitar este problema, os sinais devem ser filtrados por um
filtro passa baixo para eliminar todas as freqüências do sinal acima de Nyquist.

Além disso, significa que uma vez o sinal tenha sido amostrado, não é mais
possível recupera-lo completamente devido ao problema de amostragem. Por isso, a
discretização do sinal deve ser feita com muito cuidado para obter o resultado final
desejado.
Em geral, o tempo de discretização será limitado pela capacidade da placa de
aquisição de sinais, isto é, as placas possuem uma capacidade limitada em velocidade de
processamento, isso na prática irá limitar a velocidade de aquisição.

1.5 Exercícios Propostos

8
Exercício 1.1: (Prova de 2007) Calcular o tempo de amostragem m´nimo para simular o
sistema de 2ª ordem dado abaixo para uma entrada senoidal com freqüência ω = 50
radl/s, supondo 6 pontos por período.
100
G (s) = 2
s + 20s + 10000

9
Capítulo 2

2 Transformada Z
Neste capítulo, será abordada a transformada e a transformada inversa de Z.

2.1 Método da Transformada Z

O método da Transformada Z, transforma equações diferenciais temporais em


equações algébricas no domínio discreto. Aqui, serão tratados sinais e sistemas lineares
e com parâmetros invariantes no tempo, e será assumido que o tempo de amostragem T
será escolhido tal que será possível a reconstrução do sinal temporal original,
significando que não será levado em conta erros de processamento de sinais. Para
iniciar, deve-se considerar que a discretização de um sinal temporal contínuo é dada
por,
+∞
x (kT ) = x ( t ) ∑ δ(t − kT ) k=0, 1, 2 ...
k = −∞

2.1.1 Transformada Z

A transformada Z de uma função temporal contínua x(t), onde t representa


apenas o eixo positivo de tempo, para um tempo de amostragem T será definida por,

X(z ) = Z[x (t )] = Z[x (kT )] = ∑ x (kT )z − k
k =0

2.1.2 Transformada Z de funções elementares

⎧1 0 ≤ t
Função Degrau Unitário definido como x (t ) = ⎨
⎩0 t < 0
Solução: Aplicando a definição,

X(z ) = Z[x (t )] = Z[1] = ∑ z − k = 1 + z −1 + z − 2 + z −3 + L
k =0
Fazendo,
G
G = 1 + z −1 + z − 2 + z −3 + L ⇒ = z −1 + z − 2 + z −3 + z − 4 L = G − 1
z
Portanto,
G z 1
= G − 1 ⇒ G = zG − z ⇒ G (z − 1) = z ⇒ G = =
z z − 1 1 − z −1
Então,

10

1 z
X(z ) = Z[x (t )] = Z[1] = ∑ z − k = 1 + z −1 + z − 2 + z −3 + L = −1
=
k =0 1− z z −1

Note que esta série convergirá se |z| >1.

⎧t 0 ≤ t
Função Rampa Unitária definida por: x (t ) = ⎨
⎩0 t < 0
Solução: Aplicando a definição,
( )

X(z ) = Z[t ] = Z[kT ] = ∑ kTz − k = T z −1 + 2z − 2 + 3z −3 + L
k =0
Fazendo,
G = z −1 + 2z −2 + 3z −3 + L
(1 − z −1 )G = z −1 + 2z − 2 + 3z −3 + L − z − 2 − 2z −3 − 3z − 4 − L
z −1
G = z −1 + z − 2 + z −3 + z − 4 + L
z
Comparando com o exemplo do degrau unitário, então,
z z −1 z 1
−1 = G⇒G= =
z −1 z 2
(
(z − 1) 1 − z −1 2 )
Portanto,
Tz −1
( )

Tz
X(z ) = Z[t ] = Z[kT ] = ∑ kTz − k = T 1z −1 + 2z − 2 + 3z −3 + L = =
k =0 (
1 − z −1 )
2
(z − 1)2

⎧a k 0≤t
Função Polinomial na forma x (t ) = ⎨ com a constante.
⎩0 t<0
Solução: Aplicando a definição,
[ ]

1 z
X(z ) = Z a k = ∑ a k z − k = 1 + az −1 + a 2 z − 2 + a 3 z −3 + L = −1
=
k =0 1 − az z−a
Utilizando o mesmo princípio do exemplo anterior,
G = 1 + az −1 + a 2 z −2 + a 3 z −3 + L
Portanto,
(1 − az −1 )G = 1 + az −1 + a 2 z −2 + a 3 z −3 + L − az −1 − a 2 z −2 − a 3 z −3 − L = 1
Então,
1 z
(1 − az −1 )G = 1 ⇒ G = −1
=
1 − az z−a
Finalmente,
[ ]

1 z
X(z ) = Z a k = ∑ a k z − k = 1 + az −1 + a 2 z − 2 + a 3 z −3 + L = −1
=
k =0 1 − az z−a

⎧e − at 0≤t
Função Exponencial na forma: x (t ) = ⎨
⎩ 0 t<0
Solução: Aplicando a definição,
[ ] [ ]

X(z ) = Z e −at = Z e −akT = ∑ e akT z − k = 1 + e −aT z −1 + e − 2aT z − 2 + e −3aT z −3 + L
k =0

11
Comparando com a solução do exemplo anterior, é fácil notar que a = e-aT, então,
[ ] [ ]

1 z
X(z ) = Z e at = Z e akT = ∑ e akT z − k = − aT −1
=
k =0 1− e z z − e −aT

⎧sin ωt 0 ≤ t
Função Senoidal definida como: x (t ) = ⎨
⎩ 0 t<0
Solução: Sabendo-se que,
sin ωt =
1 j ωt
2j
(
e − e − j ωt )
Aplicando a definição,
⎡1
( ⎤ 1
X(z ) = Z[sin ωt ] = Z ⎢ e jωt − e − jωt ⎥ =
2 j 2 j
) ([ ] [
Z e j ωt − Z e − j ωt ])
⎣ ⎦
Observe que aqui se aplicou duas propriedades da transformada Z, que foi a
multiplicação por uma constante e a propriedade da soma.
Então, pela transformada Z da exponencial,
⎡1 ⎤ 1⎛
(
Z[x (t )] = Z[sin ωt ] = Z ⎢ e jωt − e − jωt ⎥ = ⎜) 1
jωT −1

1
− jωT −1 ⎟

⎣2j ⎦ 2j ⎝1− e z 1− e z ⎠

=
1 (
e jωT − e − jωT z −1 )=
z −1 sin ωT
= 2
z sin ωT
(
jωT
2j1− e + e − jωT −1
z +z) −2 −1
1 − 2z cos ωT + z −2
z − 2z cos ωT + 1

2.1.3 Propriedades da Transformada Z

Multiplicação por uma constante: Z[ax ( t )] = aZ[x ( t )] = aX(z)

Linearidade: x (kT) = αf (kT) + βg(kT) então X(z) = αF(z) + βG (z)

Multiplicação por ak: [ ]


Z a k x (kT) = X(a −1 z)
Prova:
[ ] ( )
∞ ∞
Z a k x (kT) = ∑ a k x (kT)z − k = ∑ x (kT) a −1 z
−k
= X(a −1 z)
k =0 k =0

Translação no tempo ou translação real,


Z[x ( t − nT)] = z − n X(z)
Prova:

Z[x ( t − nT)] = ∑ x (kT − nT)z − k
k =0

= z − n ∑ x (kT − nT)z −(k − n )
k =0

Definindo m = k-n, então,



Z[x ( t − nT)] = z − n ∑ x(mT)z −m

m=− n
Como x(mT) para m<0 por definição é igual a zero,

12

Z[x ( t − nT )] = z − n ∑ x (mT)z − m = z − n X(z)
m =0
Além disso,
⎡ n −1

Z[x ( t + nT )] = z n ⎢X(z) − ∑ x (kT)z − k ⎥
⎣ k =0 ⎦
Prova

Z[x ( t + nT)] = ∑ x (kT + nT )z − k
k =0

= z n ∑ x (kT + nT )z − (k + n )
k =0
∞ ∞ n −1
= z n ∑ x (mT)z − m = z n ∑ x (mT)z − m − z n ∑ x (mT)z − m
m=n m =0 m=0
n −1
= z n X(z) − z n ∑ x (mT)z − m
m =0

⎡ n −1

= z n ⎢X(z) − ∑ x (kT)z − k ⎥
⎣ k =0 ⎦

Exemplo 2.1: Achar a transformada Z do degrau unitário quando o degrau é


aplicado 4 períodos de amostragem, isto é, para k = 4.
Solução: como a transformada Z do degrau unitário começando em k = 0 é dada
por,
z
X(z ) = Z[x (t )] = Z[1] =
z −1
O problema pede,
X(z ) = Z[x (t − 4T )]
Utilizando o teorema da translação no tempo,

z −4
Z[x ( t − 4T )] = z − 4 ∑ x (mT)z − m = z − 4 X(z) =
m =0 z −1
-4
Neste caso, deve ser notado que z significa um atraso de tempo de 4 sem
considerar qual foi o atraso de tempo utilizado.

Translação complexa,
[ ] ( ) ( )
∞ ∞
Z e −at x ( t ) = ∑ x (kT)e −akT z − k = ∑ x (kT ) e aT z
−k
= X ze aT
k =0 k =0

Exemplo 2.2: Encontrar a transformada Z de te − at


Solução: como a transformada de t, rampa unitária é dada por,
Tz −1 Tz
X(z ) = Z[t ] = = = X(z)
1 − z −1
2
( (z − 1)2 )
Então, pelo teorema da translação complexa,
T(ze aT )
−1

X(z ) = Z te −at =[ ] =
Tze aT
(1 − (ze ) ) aT −1
2
(ze aT
− 1)
2

13
Teorema do valor inicial: Se x(t) possui uma transformada X(z) e se lim X(z)
z →∞
existe, então o valor inicial x(0) é dado por,
x (0) = lim X(z)
z →∞
Prova: Como a transformada z de uma seqüência de números é dada por,

X(z ) = Z[x (kT)] = ∑ x (kT)z − k = x (0) + x (T)z −1 + x (2T)z − 2 + x (3T)z −3 + L
k =0
Fazendo z tender ao infinito, sobra apenas x(0).

Teorema do valor final: Supondo que x(kT) onde x(0) = 0 para todo k<0, tenha
a transformada X(z) e todos os pólos de X(z) estejam dentro do circulo de raio unitário
com exceção de um pólo simples em z = 1, isto é a condição de estabilidade que será
apresentada mais à frente. Então, o valor final de x(kT) pode ser expresso por,
lim x (kT) = lim 1 − z −1 X(z)
k →∞ z →1
[( ) ]
Prova: Sabendo-se que pela definição da transformada Z,

Z[x (kT )] = X(z ) = ∑ x (kT )z − k
k =0
Então,

Z[x (kT − T )] = z −1 X(z ) = ∑ x (kT − T )z − k
k =0
Subtraindo um do outro,
∞ ∞

∑ x(kT )z −k − ∑ x(kT − T )z −k = X(z) − z −1X(z)


k =0 k =0
Aplicando o limite quando z tende à unidade,
⎡∞ ⎤
lim ⎢∑ x (kT )z − k − ∑ x (kT − T )z − k ⎥ = lim (1 − z −1 )X(z) [ ]

z →1
⎣ k =0 k =0 ⎦ z →1
Como foi assumido que x(k) = 0 para k < 0 então, o lado esquerdo da equação
acima torna-se,
⎡∞ ⎤ ∞
[ ]

lim ⎢∑ x (kT )z − k − ∑ x (kT − T )z − k ⎥ = ∑ x (kT )(1) − x (kT − T)(1)
−k −k
z →1
⎣ k =0 k =0 ⎦ k =0

= ∑ [x (kT ) − x (kT − T)]
k =0
Expandindo o somatório,

∑ [x (kT ) − x (kT − T)] = [x (0) − x (−1)] + [x (1) − x (0)] + [x (2) − x (1)] + L =


k =0

= x (∞) = lim x (k )
k →∞
Então,
[(
lim x (k ) = lim 1 − z −1 X(z)
k →∞ z →1
) ]

2.2 Transformada Z inversa

Como apresentado anteriormente, quando sinais contínuos são amostrados, a sua


reconstrução não é única, isto é, parte do sinal pode ter sido perdida devido ao teorema

14
da amostragem. Por exemplo, o sinal apresentado na Figura 2.1, como o sinal amostrado
gera apenas os pontos discretos, qual o sinal real?

1.5

0.5

-0.5

-1

-1.5

-2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Figura 2.1: Sinal amostrado e suas possíveis reconstruções

Assim, a transformada Z de x(kT) ou x(t) gera um único X(z), desde que


especificado o tempo de amostragem T. Por sua vez, a transformada inversa de X(z)
gera um único x(kT), mas resta saber se este x(kT) representa a resposta esperada para
x(t), assim pode-se dizer que a transformada inversa de X(z) pode não gerar um único
x(t).

2.2.1 Método de expansão em frações parciais

Alguns métodos podem ser utilizados para encontrar a transformada z inversa,


nesta parte será abordado o método de expansão em frações parciais que consiste em
expandir X(z) em frações na forma mais simples possível e utilizar a tabela de
transformada Z para encontrar a sua representação em tempo contínuo.

z −1
Exemplo 2.3: Encontrar a transformada z inversa de X(z) =
1 − az −1
Solução: Nas tabelas de transformada Z não se encontra a função acima, porém,
fazendo,
1
X(z) = z −1 Y(z) =
1 − az −1
Utilizando a tabela de transformada z, tem-se que,
⎡ 1 ⎤
Z −1 [Y(z)] = Z −1 ⎢ −1 ⎥
= ak
⎣1 − az ⎦
Porém, o desejado é,
[ ]
Z −1 [X(z)] = Z −1 z −1 Y(z) = y(kT − T) = a ( k −1) T
Assim,
⎧ y(kT − T) = a ( k −1) T k = 1,2,3, L
y(kT ) = ⎨
⎩ 0 k≤0

15
Para encontrar a transformada z inversa de X(z), deve-se notar que X(z) é dada
da seguinte forma,
b 0 z m + b1 z m −1 + L + b m −1 z + b m
X(z) = com m ≤ n
z n + a 1 z n −1 + L + a n −1 z + a n
Ou ainda,
b z − ( n − m ) + b1 z − ( n − m +1) + L + b m z − n
X(z) = 0
1 + a 1 z −1 + L + a n z − n
Colocando na forma de pólos e zeros,
b (z − z 1 )(z − z 2 )L (z − z m )
X(z) = 0
(z − p1 )(z − p 2 )L (z − p n )
Supondo que todos os pólos são pólos não repetidos e tenha pelo menos 1 zero
na origem, bm = 0, então, a melhor expansão será na forma,
X(z) a1 a2 an
= + +L+
z z − p1 z − p 2 z − pn
Se houver pólos repetidos, supondo um pólo duplo e nenhum outro pólo, a
expansão poderá ser na forma,
X(z) c1 c
= + 2
z (z − p1 ) z − p1
2

Exemplo 2.4: Supondo que a transformada z seja na forma


z2 + z + 2
X(z) = 3
z − 2z 2 + 2z − 1
As raízes do denominador, que são os pólos, são dadas por, 1,
1
2
1± j 3 , ( )
portanto, um pólo real e um par de pólos complexos conjugados, sendo assim, fazendo,
z2 + z + 2 a a z + a3
X(z) = = 1 + 22 =
(z − 1)(z − z + 1) z − 1 z − z + 1
2

(a 1 + a 2 )z 2 + (− a 1 − a 2 + a 3 )z + (a 1 − a 3 )
=
(z − 1)(z 2 − z + 1)
Portanto, montando o sistema matricial para a solução,
−1
⎡1 1 0 ⎤ ⎧ a 1 ⎫ ⎧1⎫ ⎧ a 1 ⎫ ⎡ 1 1 0 ⎤ ⎧1 ⎫ ⎧ 4 ⎫
⎢− 1 − 1 1 ⎥ ⎪a ⎪ = ⎪1⎪ ⇒ ⎪a ⎪ = ⎢− 1 − 1 1 ⎥ ⎪1 ⎪ = ⎪− 3⎪
⎢ ⎥⎨ 2 ⎬ ⎨ ⎬ ⎨ 2 ⎬ ⎢ ⎥ ⎨ ⎬ ⎨ ⎬
⎢⎣ 1 ⎪ ⎪ ⎪ ⎪ ⎪
0 − 1⎥⎦ ⎩a 3 ⎭ ⎩2⎭ ⎩a 3 ⎭ ⎢⎣ 1⎪ 0 − 1⎥⎦ ⎪⎩2⎪⎭ ⎪⎩ 2 ⎪⎭
Então,
z2 + z + 2 4 − 3z + 2 4 − 3z 2
X(z) = = + 2 = + 2 + 2
(z − 1)(z − z + 1) z − 1 z − z + 1 z − 1 z − z + 1 z − z + 1
2

4z −1 3z −1 2z − 2
= − +
1 − z −1 1 − z −1 + z − 2 1 − z −1 + z − 2
Para o primeiro termo,
⎧4 k = 1,2,3,L
z −1 X(z) = Y(z) =
4
1 − z −1
⇒ y ( kT ) = 4(1 ) ⇒ x ( kT ) = 4 1( )
k −1
= ⎨
k≤0
⎩0
Para o segundo termo, deve-se notar que,

16
z −1 sin ωT
Z[sin ωt ] =
1 − 2z −1 cos ωT + z − 2
Aplicando o teorema da translação complexa,
[ ]
Z e −akT sin ωkT =
e − aT z −1 sin ωT
1 − 2e −aT z −1 cos ωT + e − 2 aT z − 2
Então, comparando o segundo membro de X(z) com a equação acima, nota-se
que se e −2aT = 1 , significando que e − aT = 1 e cos ωT = 1 2 , significando que ωT = π 3
e consequentemente, sin ωT = 3 2 . Então,
⎡ k π ⎤ e − aT z −1 sin ωT 3 z −1
Z⎢(1) sin k ⎥ = =
⎣ 3 ⎦ 1 − 2e −aT z −1 cos ωT + e − 2aT z − 2 2 1 − z −1 + z − 2
Significando que,
π
⎪2 3 (1k )sin k k = 1,2,3,L
π ⎤ 3z −1 ⎧
X(z) = Z⎢2 3 (1k )sin k ⎥ =

⇒ x ( kT ) = ⎨ 3
⎣ 3 ⎦ 1 − z −1 + z − 2 ⎪⎩ 0 k≤0
Para a terceira parte, utilizando a resposta anterior,
⎡4 3 k π ⎤ 4z −1
z −1 X(z) = Y(z) = Z ⎢ (
1 )sin k ⎥ = −1 −2

⎣ 3 3 ⎦ 1 − z + z
⎧4 3 k π
x (kT) = ⎨ 3 (1 )sin 3 (k − 1) k = 1,2,3,L

⎪⎩ 0 k≤0
Portanto, a solução final fica,
⎧ π 4 3 π
x (kT) = ⎨4 − 2 3 sin 3 k + 3 sin 3 (k − 1) k = 1,2,3,L

⎪⎩ 0 k≤0

2.2.2 Método computacional - Matlab

O método apresentado aqui pode ser implementado em qualquer software, ele


consiste em calcular a resposta do sistema ao delta de Kronecker, neste caso, a resposta
será numérica, e em alguns casos a reconstrução pode ser retirada facilmente.

Exemplo 2.5: Calcular a transformada Z inversa de,


z(z + 2) z 2 + 2z
X(z) = =
(z − 1)2 z 2 − 2z + 1
No Matlab digitar:
num=[1 2 0]; % numerador
den=[1 -2 1]; % denominador
u=[1 zeros(1,30)]; % delta de Kronecker
x=filter(num,den,u) % resposta ao delta de Kronecker

Solução encontrada.
x =

17
Columns 1 through 12

1 4 7 10 13 16 19 22 25 28 31 34

Columns 13 through 24

37 40 43 46 49 52 55 58 61 64 67 70

Columns 25 through 31

73 76 79 82 85 88 91

Neste caso, a seqüência de valores é dada por x (k ) = 3k + 1 k=0, 1, 2, .....

2.3 Exercícios Resolvidos

Exemplo 2.6: Encontrar a transformada Z de,


⎧cos ωt t ≥ 0
x(t) = ⎨
⎩ 0 t<0
e jωt + e − jωt
Solução: Sabendo-se que cos ωt = e que,
2
[ ]
Z e jωt =
1− e z
1
ωt −1
[ ]
e Z e − jωt =
1
1 − e −ωt z −1
Então,
1⎛ 1 1 ⎞ z 2 − z cos ωT
Z[cos ωt ] = ⎜ + ⎟ =
2 ⎝ 1 − e ωt z −1 1 − e −ωt z −1 ⎠ z 2 − 2z cos ωT + 1

Exemplo 2.7: Encontrar a transformada Z do sinal que tem a seguinte representação em


Laplace,
1
X(s) =
s(s + 1)
Neste caso, das tabelas de transformada de laplace inversa, tem-se que,
L−1 [X(s)] = 1 − e − t t ≥ 0
Então a transformada Z fica,
[ ]
Z[X(s)] = Z 1 − e − t =
1

1
=
(1 − e − T )z −1
1 − z −1 1 − e −T z −1 (z − 1)(z − e −T )

Exemplo 2.8: Encontrar a transformada Z da função definida na assumindo tempo de


amostragem T = 1 segundo.

18
1

0.8

x(t)
0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8
t
Figura 2.2: sinal a ser discretizado

Observe que há algumas possíveis soluções, pois x(t) pode ser escrita como 3
impulsos devidamente defasados e o degrau unitário defasado de 4 instantes de tempo,
x (kT) = 0.25δ(kT − 1) + 0.5δ(kT − 2) + 0.75δ(kT − 3) + 1(kT − 4)
Aplicando a transformada Z em cada termo,
z −1 z −2 3z −3 z −4 z −1 − z −5
Z[x (kT)] = + + + =
4 2 4 1 − z −1 4(1 − z −1 )2
Ou então, como uma reta iniciando em 0 menos uma reta negativa iniciando em
4,
1 1
x (kT) =
kT − (kT − 4)
4 4
Aplicando a transformada Z em cada termo,
1 z −1 1 z −5 z −1 − z −5
Z[x (kT)] = − =
4 (1 − z −1 )2 4 (1 − z −1 )2 4(1 − z −1 )2

2.4 Exercícios Propostos

Exercício 2.1: Obter a transformada Z de,


1
a) x ( t ) = 1 − e −at
a
( )
b) x ( t ) = t 2 e − at
1

0.8

0.6
x(t)

0.4

0.2

0
0 1 2 3 4 5 6 7 8

c) t

Exercício 2.2: Considerando a seguinte função de transferência discreta,


z −1
X(z) =
(
1 − z −1 1 + 1.3z −1 + 0.4z − 2 )( )
Determinar:
a) Valor inicial x(0);

19
b) Valor final x(∞);
c) A transformada Inversa;

Exercício 2.3: (Prova 2007) Calcular a Transformada Z do sinal apresentado abaixo,

20
Capítulo 3

3 Função de transferência em tempo discreto

3.1 Amostragem impulsiva

Considerando um sinal x(t) que será amostrado por um amostrador, conhecido


como sampler, de tal modo que a intervalos de tempo T, conhecido como tempo de
amostragem ou tempo de discretização, ocorra uma leitura, este sinal é dado pela Figura
3.1, e pode ser representado por,

x * ( t ) = ∑ x (kT )δ( t − kT)
k =0

Figura 3.1: Amostrador impulsivo

Supondo que não são medidos tempos negativos, devido a causalidade, então a
equação acima pode ser expandida como,
x * ( t ) = x (0)δ( t ) + x (T)δ( t − T) + L + x (kT)δ( t − kT) + L
Observe que o δ representa um trem de impulsos e, uma das formas de entender
o fenômeno da amostragem é que o sinal x(t) modula o trem de impulsos para formar o
sinal amostrado conforme apresentado pela Figura 3.2.

Figura 3.2 : Amostrador impulsivo como um modulador

21
Agora aplicando a Transformada de Laplace no sinal amostrado,
[ ]
X * (s) = L x * ( t ) = x (0)L[δ( t )] + x (T)L[δ( t − T)] + x (2T )L[δ( t − 2T)] + L
= x (0) + x (T)e −Ts + x (2T)e − 2 Ts + L

= ∑ x (kT)e − kTs
k =0
Sabendo-se que a Transformada de laplace de um impulso defasado de a é,
L[δ( t − a )] = e − as
Então,

X * (s) = x (0) + x (T)e −Ts + x (2T)e − 2 Ts + L = ∑ x (kT)e − kTs
k =0
Definindo,
1
e Ts = z ⇒ s= ln z
T
Então,

X * (s) 1 = ∑ x (kT )z − k
s = ln z
T k =0
O lado direito desta equação é a definição de transformada Z da seqüência x(t),
então,
X * (s) 1 = X(z)
s = ln z
T
Desta forma,
⎛1 ⎞
X * ⎜ ln z ⎟ = X(z)
⎝T ⎠

3.2 Circuito Data-Hold

A saída de um amostrador é um trem de impulsos, mas em alguns casos isso não


é desejável, e o necessário seria um sinal contínuo, a transformação de um sinal na
forma de trem de impulsos em um sinal contínuo pode ser feito por um circuito tipo
Data-Hold, que nada mais é do que o processo de se obter um sinal contínuo x(t) de
uma seqüência discreta x(kT).
O circuito Data-Hold nada mais é do que um interpolador, isto é, ele gera ou
mantém um sinal entre dois impulsos seguindo uma interpolação polinomial na forma,
h (kT + τ) = a n τ n + a n −1 τ n −1 + L + a 1 τ + a 0
onde h(kT+τ) é a saída do circuito data-hold. Assumindo x(kT) como o sinal que
passará pelo circuito, neste caso, h(kT) deve ser igual a x(kT) para que os sinais sejam
os mesmos, então,
h (kT + τ) = a n τ n + a n −1 τ n −1 + L + a 1 τ + x (kT)

3.2.1 Segurador de Ordem Zero - ZOH

A forma mais simples de interpolação é fazendo n=0, que representa um circuito


de ordem zero dado por,

22
h (kT + τ) = x (kT)
Na Figura 3.3:, observa-se o resultado de um segurador de ordem zero.

Figura 3.3: Exemplo de sinal amostrado com uma reconstrução utilizando o ZOH

O ZOH mantém o sinal anterior até que um novo sinal apareça, então,
h (kT + t ) = x (kT)
Significando que a saída do circuito será igual à entrada até que ocorra outro
sinal de entrada, então,
k = 0 ⇒ h ( t ) = x (0)[1( t ) − 1( t − T)]
k = 1 ⇒ h (T + t ) = x (T)[1( t − T ) − 1( t − 2T )]
k = 2 ⇒ h (2T + t ) = x (2T)[1( t − 2T) − 1( t − 3T)]
Então a resposta temporal do ZOH será definida como,
h ( t ) = x (0)[1( t ) − 1( t − T)] + x (T)[1( t − T) − 1( t − 2T)] + L

= ∑ x (kT)[1( t − kT) − 1( t − (k + 1)T)]
k =0
Como a Transformada de Laplace do degrau unitário atrasada de kT é dada por,
e − kTs
L[1( t − kT)] =
s
Então a Transformada de Laplace da resposta do ZOH torna-se,

⎡ e − kTs e − (k +1)Ts ⎤ 1 − e − Ts ∞
H(s) = ∑ x (kT) ⎢ − ⎥= ∑ x (kT)e − kTs
k =0 ⎣ s s ⎦ s k =0

Como,

X * (s) = ∑ x (kT)e − kTs
k =0
Então,
1 − e − Ts *
H(s) = X (s)
s
Consequentemente, a função de transferência o ZOH é dada por,
H(s) 1 − e − Ts
G ZOH (s) = * =
X (s) s

3.2.2 Segurador de primeira ordem

Fazendo n=1, que representa um circuito de primeira ordem dado por,

23
h (kT + τ) = a 1 τ + x (kT)
Aplicando a condição que,
h ((k − 1)T ) = x ((k − 1)T)
Então,
h ((k − 1)T) = a 1T + x (kT) = x ((k − 1)T)
Portanto,
x (kT) − x ((k − 1)T)
a1 =
T
Consequentemente, a equação do segurador de primeira ordem fica,
x (kT) − x ((k − 1)T)
h (kT + τ) = τ + x (kT)
T
Como o FOH utiliza uma extrapolação linear utilizando o valor anterior e o atual
para predizer o valor do próximo e, além disso, o valor h(kT) deve ser igual a x(kT).
então,
x (0) − x (−T) ⎛ τ⎞
k = 0 ⇒ h (τ) = τ + x (0) = ⎜1 + ⎟ x (0)
T ⎝ T⎠
x (T ) − x (0) ⎛ τ⎞ τ
k = 1 ⇒ h (T + τ) = τ + x (T) = ⎜1 + ⎟ x (T ) − x (0)
T ⎝ T⎠ T
x (2T) − x (T) ⎛ τ⎞ τ
k = 2 ⇒ h (2T + τ) = τ + x (2T) = ⎜1 + ⎟ x (2T) − x (T)
T ⎝ T⎠ T
Que pode ser expressa convenientemente como,
⎛ τ⎞ τ
h (kT + τ) = ⎜1 + ⎟ x (T) − x ((k − 1)T)
⎝ T⎠ T
Fica difícil escrever a equação sem assumir uma entrada conhecida, utilizando
uma entrada degrau para x(t),
⎛ t⎞ t
h ( t ) = ⎜1 + ⎟1( t ) − 1( t − T)
⎝ T⎠ T
Somando e subtraindo 1(t-T),
⎛ t⎞ t−T
h ( t ) = ⎜1 + ⎟1( t ) − 1( t − T) − 1( t − T )
⎝ T⎠ T
Aplicando a transformada de Laplace a cada um dos termos da equação acima,
Ts + 1
⎛1 1 ⎞ 1
(
1
H(s) = ⎜ + 2 ⎟ − 2 e −Ts − e −Ts = 1 − e −Ts )
⎝ s Ts ⎠ Ts s Ts 2
*
Agora, a transformada de Laplace da entrada x (t) do FOH é,

1
X (s) = ∑1(kT)e − kTs =
*

k =0 1 − e −Ts
Então a função de transferência do segurador de primeira ordem FOH fica,
2 Ts + 1
G FOH (s) = * (H(s)
)
= 1 − e −Ts
X (s) Ts 2
Um exemplo do FOH é dado na Figura 3.4:.

24
Figura 3.4: FOH de um sinal qualquer

3.2.3 Funções de Transferência em Tempo Discreto com ZOH

Supondo que antes da função G(s) há um ZOH, então a convolução de G(s) com
o ZOH é dada por,
1 − e − Ts
X(s) = G (s)
s
Fazendo,
1 − e − Ts
X(s) =
s
(
G (s) = 1 − e −Ts
G (s)
s
) ( )
= 1 − e −Ts G 1 (s) = G 1 (s) − e −Ts G 1 (s)
Pegando apenas o último termo,
X 1 (s) = e − Ts G 1 (s)
Aplicando o teorema da convolução,
t
x 1 ( t ) = ∫ g 0 ( t − τ)g 1 (τ)dτ
0

onde,
[ ]
g 0 ( t ) = L−1 e − Ts = δ(t − T )
g 1 ( t ) = L−1 [G 1 (s)]
Então,
t
x 1 ( t ) = ∫ δ( t − T − τ)g 1 (τ)dτ
0

Como o delta extrai o valor da função,


x 1 ( t ) = g1 ( t − T)
Além disso, Z[g1(t)]=G1(Z), então, por definição,
Z[x 1 ( t )] = Z[g 1 ( t − T)] = z −1G 1 (z)
Porém, o desejado é,
[ ]
X(z) = Z G 1 (s) − e − Ts G 1 (s) = Z[g 1 ( t )] − Z[x 1 ( t )]

G (z) = (1 − z )G (z) = (1 − z )Z⎢


⎡ G (s) ⎤
= G 1 (z) − z −1 −1 −1

s ⎥
1 1
⎣ ⎦
No caso do FOH preceder a função G(s), tem-se
2 Ts + 1
X(s) = 1 − e −Ts ( G (s) )
Ts 2
Utilizando o mesmo resultado do ZOH,

25
Ts + 1

X(z) = Z⎢ 1 − e −Ts( )
2
2

G (s)⎥
⎣ Ts ⎦
2 ⎡ Ts + 1
(
= 1 − z −1 Z⎢ 2
) ⎤
G (s)⎥
⎣ Ts ⎦

Exemplo 3.1: Obter a transformada Z de,


1 − e − Ts 1
X(s) =
s s +1
Solução: Como representa um ZOH,
⎡1 − e − Ts 1 ⎤
X(z) = Z⎢ −1
⎥ = 1 − z Z⎢
s + 1⎦
(
⎡1 1 ⎤
⎥=)
⎣ s ⎣ s s + 1⎦

( ) ⎡1
= 1 − z −1 Z⎢ −
1 ⎤
= 1 − z −1 ⎡ 1
( −
1
) ⎤ 1− e z
=
−T −1
( )
⎥ ⎢1 − z −1 1 − e −T z −1 ⎥ 1 − e −T z −1
⎣ s s + 1⎦ ⎣ ⎦

3.2.4 Resposta em Freqüência do ZOH

A função de transferência do ZOH é dada por,


1 − e − Ts
G ZOH =
s
A resposta em freqüência, que é o diagrama de bode, pode ser encontrada
substituindo s por jω,
G ZOH ( jω) =
1 − e − Tjω 2 1 − e − Tjω
=
( =
) (
2e − (1 / 2 )Tjω e (1 / 2 )Tjω − e − (1 / 2 )Tjω )
jω 2 jω 2 jω

=
(
2e −(1 / 2 )Tjω e (1 / 2 )Tjω − e −(1 / 2 )Tjω )
= Te −1 / 2Tjω
sin (ωT / 2)
2 jω ωT / 2

Nas figuras abaixo, ωs representa a freqüência de Nyquist, isto é a máxima


freqüência que o sinal ainda pode ser reconstruído adequadamente. Caso o sinal
amostrado apresente freqüências acima da freqüência de Nyquist o sinal discretizado
apresentará erro de aliasing.

(a) (FRF) (b) diagrama de Bode

26
Figura 3.5: Resposta em freqüência do ZOH

O ZOH pode ser entendido como um filtro de reconstrução do sinal amostrado e


ele não é um filtro passa-baixo ideal. Como a magnitude muda com a freqüência,
atenuando o sinal a medida que a freqüência aumenta, o ZOH distorce o sinal, isto é, ele
muda a amplitude e a fase do sinal de saída.

3.3 Função de Transferência Pulsada

A função de transferência, FT, pulsada é a função de transferência em Laplace


envolvendo o amostrador. Supondo que um sistema cuja resposta ao impulso seja h(t)
tenha a entrada x(t) e a saída seja y(t), cujas transformadas de Laplace são H(s), X(s) e
Y(s) respectivamente. Pelo teorema da convolução tem-se,
t t
y(t ) = h ( t ) * x ( t ) = ∫ h (t − τ )x (τ)dτ = ∫ x (t − τ )h (τ)dτ
0 0

Que no domínio de Laplace é dada por,


Y(s) = H(s)X(s)
Adicionando um amostrador em x(t), este é dado por,
∞ ∞
x * ( t ) = ∑ x ( t )δ(t − kT ) = ∑ x (kT )δ(t − kT )
k =0 k =0
Aplicando esta entrada no sistema, tem-se que a resposta y(t) será a combinação
de cada impulso gerado por x*(t) em h(t), sendo assim,
y( t ) = h ( t ) x (0) + h ( t − T ) x (T ) + h ( t − 2T) x (2T ) + L + h ( t − kT) x (kT ) =
k
= ∑ h ( t − nT) x (nT) 0 ≤ t ≤ kT
n =0
Amostrando também a saída do sistema, tem-se a Soma de Convolução dada
por,
∞ ∞
y(kT ) = ∑ h (kT − nT) x (nT) = ∑ x (kT − nT)h (nT) = h (kT) * x (kT)
n =0 n =0
O procedimento feito até aqui é exatamente o que ocorre na Figura 3.6. Deve-se
notar que H(z) é a resposta do sistema ao delta de Kronecker, pois se,
⎧1 k = 0
x (kT) = δ(kT) = ⎨
⎩0 k ≠ 0
Então,

27

X(z) = Z[δ(kT)] = ∑ x (kT)z −k = 1
k =0
Significando que Y(z) = H(z) se a entrada for um impulso.

Figura 3.6 : Sistema em tempo contínuo com amostradores

3.3.1 Transformada de Z de FTs incluindo o amostrador

Em sistemas em tempo discreto, alguns sinais do sistema são amostrados


enquanto outros continuam representados em tempo contínuo, que é exatamente o que
ocorre na Figura 3.6. Sendo assim, será útil calcular a função de transferência pulsada
contendo amostradores em várias posições.
Note que na Figura 3.6, a função de transferência Y(s) é dada por,
Y(s) = H(s)X * (s)
A Transformada de Laplace Inversa de Y(s) é dada por,

[ ]
t
y( t ) = L−1 H(s)X * (s) = ∫ h ( t − τ) x * (τ)dτ
0
t ∞ ∞
= ∫ h ( t − τ)∑ x (τ)δ(τ − kT)dτ = ∑ h (kT) x (kT)
0 k =0 k =0

Aplicando a transformada Z,

⎡∞ ⎤
Y(z) = ∑ ⎢∑ h (kT) x (kT)⎥ z −n
n =0 ⎣ k =0 ⎦
Fazendo m = n - k,
∞ ∞
Y(z) = ∑∑ h (mT) x (kT)z −(k +m )
m = 0 k =0
∞ ∞
= ∑ h (mT)z −m ∑ x (kT)z −k
m =0 k =0

= H(z)X(z)
Significando que,
[ ]*
Y * (s) = H(s)X * (s) = H * (s)X * (s)
Aplicando transformada Z, torna-se,
Y(z)
Y(z) = H(z)X(z) ⇒ = H (z)
X(z)

3.3.2 Função de Transferência em Cascata

28
Considerando o sistema apresentado na Figura 3.7(a), supondo que os
amostradores estão sincronizados. Neste caso, observa-se que,
U(s) = G (s)X * (s)
Y(s) = H(s) U * (s)
Como mostrado no item anterior, encontra-se,
U * (s) = G * (s)X * (s)
⇒ Y * (s) = H * (s)G * (s)X * (s)
Y (s) = H (s) U (s)
* * *

Aplicando a Transformada Z, obtém-se a função de transferência,


Y(z)
Y ( z ) = H ( z )G ( z ) X ( z ) ⇒ = H(z)G ( Z)
X(z)
Porém, aplicando o mesmo método na Figura 3.7(b), neste caso tem-se que,
Y(s) = H(s)G (s)X * (s) = HG (s)X * (s)
Que resulta em,
Y * (s) = [HG (s)] X * (s)
*

Cuja transformada Z é dada por,


Y(z)
= HG (z)
X(z)
Nota-se claramente que,
HG (z) ≠ H(z)G ( Z)

Figura 3.7 :Sistemas em cascata

Exemplo 3.2: Encontrar a função de transferência discreta em cascata do


sistema apresentado na Figura 3.7 supondo,
1 1
G (s) = e H(s) =
s+a s+b
Para a Figura 3.7(a) tem-se,
Y(z) ⎡ 1 ⎤ ⎡ 1 ⎤ 1 1
= H(z)G ( Z) = Z⎢ Z =
⎣ s + a ⎥⎦ ⎢⎣ s + b ⎥⎦ 1 − e z 1 − e z
− aT −1 − bT −1
X(z)
Para a Figura 3.7(b) tem-se,
Y(z) ⎡ 1
= HG ( Z) = Z⎢
1 ⎤ ⎡ 1
= Z⎢
b−a ⎤ 1 ( )
e − aT − e − bT z −1
⎥= ( )( )
⎣ s + a s + b ⎥⎦ ⎣ b − a (s + a )(s + b ) ⎦ b − a 1 − e z 1 − e z
− aT −1 − bT −1
X(z)
Este exemplo mostra claramente que ambos são diferentes.

3.3.3 Função de transferência em malha fechada

29
Como mencionado anteriormente, a amostragem pode ocorrer em qualquer etapa
do processo de controle. Supondo um sistema em malha fechada como o descrito na
Figura 3.8.

Figura 3.8: sistema em malha fechada envolvendo amostador

Consequentemente,
E(s) = R (s) − H(s)G (s)E * (s) = R (s) − HG (s)E * (s)
Que pode ser reescrito utilizando FT pulsada para todos os termos como,
R * (s)
E * (s) = R * (s) − [HG (s)] E * (s) ⇒ E * (s) =
*

1 + GH * (s)
Como,
C * (s) = G * (s)E * (s)
Então, a função de transferência pulsada de malha fechada é dada por,
R * (s) C * (s) G * (s)
C * (s) = G * (s)E * (s) = G * (s) ⇒ =
1 + GH * (s) R * (s) 1 + GH * (s)
Aplicando a transformada Z, encontra-se a função de transferência discreta em
malha fechada,
C( z ) G (z)
=
R (z) 1 + GH(z)

3.3.4 Função de transferência em malha fechada de controladores


digitais

Na prática, o controlador será um controlador digital e a planta será em tempo


contínuo. Neste caso haverá um amostrador que discretiza o sinal através do conversor
A/D quando o sinal entra em uma placa controladora ou no sistema que realiza o
controlador, como um controlador lógico programável – CLP, que normalmente é
implementado em tempo discreto. Após a realização do controlador, o sinal de controle
gerado é enviado para o conversor D/A que normalmente possui um ZOH para
implementar a lei de controle em tempo contínuo. Um caso como o apresentado aqui
sem levar em conta as funções de transferência dos conversores A/D e D/A é dado na
Figura 3.9.

30
Figura 3.9: sistema em malha fechada envolvendo amostador

No caso, a função de transferência em malha fechada é dada por,


C(s) = G (s)G *D (s)E * (s) ⇒ C * (s) = G * (s)G *D (s)E * (s)
Aplicando a transformada Z,
C( z ) = G ( z ) G D ( z ) E ( z )
Como,
E(z) = R (z) − C(z) ⇒ C(z) = G (z)G D (z)[R (z) − C(z)]
Chegando a,
C( z ) G D ( z )G ( z )
=
R ( z ) 1 + G D ( z )G ( z )

3.3.5 Função de transferência pulsada de um controlador PID digital

A resposta de um controlador PID no domínio do tempo é dada por,


⎡ 1
t
d ⎤
m( t ) = K ⎢e( t ) + ∫ e( t )dt + Td e( t )⎥
⎣ Ti 0 dt ⎦
onde e(t) é a entrada do controlador dada pela diferença da resposta da planta e pela
referência a ser seguida, K é o ganho proporcional, Ti é a constante de tempo do
controle integral e Td a constante de tempo do controle proporcional.
Para se obter a função de transferência pulsada do controlador PID, é necessário
realizar a discretização da resposta temporal. A integral será aproximada pela soma
trapezoidal e a derivada será aproximada pela derivada da interpolação utilizando 2
pontos. Assim,
⎡ T ⎡ e ( 0) + e ( T ) e ( T ) + e ( 2T ) e((k − 1)T ) + e(kT) ⎤
m(kT ) = K ⎢e(kT) + ⎢ + +L+ ⎥+
⎣ Ti ⎣ 2 2 2 ⎦
e(kT) − e((k − 1)T )⎤
+ Td ⎥
T ⎦
Ou então,
⎧ T k e((h − 1)T ) + e(hT) Td ⎫
m(kT ) = K ⎨e(kT) + ∑ + [e(kT) − e((k − 1)T )]⎬
⎩ Ti h =1 2 T ⎭
Para resolver o problema, deve-se primeiro notar que,
⎡k ⎤ 1 ⎡ i −1

Z ⎢∑ x ( h )⎥ = −1 ⎢
X ( z ) − ∑ x (h )z − h ⎥
⎣ h =i ⎦ 1− z ⎣ h =0 ⎦
Prova: esta transformada é comprovada fazendo,
k
~y(k ) = x (h ) = x (i) + x (i + 1) + L + x (k )
∑h =i

31
A transformada Z de cada um dos termos utilizando a propriedade da translação
real,
~
Y(z) = x (i)z − i + x (i + 1)z − ( i +1) + L + x (k )z − k
Porém, observe que, definindo,
~
X(z) = x (i)z − i + x (i + 1)z − (i +1) + L + x (k )z − k + L
E da definição de transformada Z,

X(z) = Z[ x (k )] = ∑ x (k )z − k = x (0) + x (1)z −1 + x (2)z − 2 + L
k =0
Então, obtêm-se,
i −1
~
X(z) = X(z) − ∑ x (h )z − h
h =0
Por outro lado,
~
~y(k ) − ~y(k − 1) = x (k ) ⇒ Y ~ ~ ~ 1 ~
(z) − z −1 Y(z) = X(z) ⇒ Y(z) = X(z)
1 − z −1
~
Pois a transformada Z de x(k) que começa em k = i é X(z) , finalmente,
⎡k ⎤ ~ 1 ~ 1 ⎡ i −1

Z ⎢∑ x ( h ) ⎥ = Y ( z ) = −1
X ( z ) = −1 ⎢
X ( z ) − ∑ x (h )z − h ⎥
⎣ h =i ⎦ 1− z 1− z ⎣ h =0 ⎦
Voltando ao problema original utilizando o resultado acima e assumindo a
causalidade, isto é, que para o tempo t = 0 não há resposta do erro,
⎡k ⎤ 1
Z ⎢∑ e(hT)⎥ = −1
[E(z) − E(0)] = 1 −1 E(z)
⎣ h =1 ⎦ 1− z 1− z
⎡k ⎤ ⎧ 1 ⎫ z −1
Z⎢∑ e((h − 1)T)⎥ = z −1 ⎨ −1
[E ( z ) − E ( 0) ]⎬ = −1
E(z)
⎣ h =1 ⎦ ⎩1 − z ⎭ 1− z
Agora, para
Z[e(kT)] = E(z)
Z[e((k − 1)T)] = z −1 E(z)
Então, a transformada Z do controlador PID é dada por,
⎧ T 1⎡ 1 z −1 ⎤ Td ⎫
M ( z ) = K ⎨E ( z ) + ⎢ + ⎥
Ti 2 ⎣1 − z −1 1 − z −1 ⎦ T
+ E ( z ) − z [
−1
E ( z ) ⎬ ]
⎩ ⎭
Resultando em,
⎛ T 1 + z −1 Td ⎞
M(z)

= K ⎜1 + −1
+ (
1 − z −1 ⎟⎟ )
E(z) ⎝ 2Ti 1 − z T ⎠
Rearranjando os termos,

M(z)
= K⎜⎜1 −
T
+
T 1
−1
T
+ d 1 − z −1 ( )⎞⎟⎟
E(z) ⎝ 2Ti Ti 1 − z T ⎠

= ⎢K P +
KI
1− z −1
( ⎤
+ K D 1 − z −1 ⎥ )
⎣ ⎦
Onde
KT K
Kp = K − =K− I = ganho proporcional
2Ti 2

32
KT
KI = = ganho integral
Ti
KTD
KD = = ganho derivativo
T

A equação acima é referenciada como sendo a forma em posição.

Exemplo 3.3: Comparar a resposta ao degrau do sistema abaixo considerando o sistema


com e sem o controlador PID digital na forma como apresentado na Figura 3.10.

R(z)
KP +
KI
(
+ K D 1 − z −1 ) 0.3679z −1 + 0.2642z −2
+ - 1 − z −1 ( )( )
1 − 0.3679z −1 1 − z −1

Figura 3.10 : sistema em malha fechada envolvendo amostador

Assumindo que o tempo de amostragem T é de 1 segundo, os ganhos do


controlador sejam KP = 1, KI=0.2, KD = 0.2 e que a planta seja dada por,
1
Gp =
s(s + 1)
Solução: Primeiro deve-se calcular a função de transferência pulsada entre o
ZOH e a planta. A convolução da planta e o ZOH é dada por,
1 − e −s 1
G ZOH G p =
s s(s + 1)
Aplicando a transformada de Z,
⎡1 − e − s 1 ⎤ ⎡ 1 ⎤
[ ]
Z G ZOH G p = Z⎢ ⎥ = (1 − z −1 )Z⎢ 2 ⎥=
⎣ s s(s + 1)⎦ ⎣ s (s + 1) ⎦
⎡ 1 ⎤
= (1 − z −1 )Z⎢ 2 = (
1 − z −1 (T − 1 + e
) [
−T
]
) + (1 − e −T − Te −T )z −1 z −1

⎣ s (s + 1) ⎦ (1 − z −1 )2 (1 − e −T z −1 )
Esta transformada foi obtida através de tabela de transformação. Item 13 fazendo
a = 1. Para comparar com o resultado do Exemplo 2.7, deve-se lembrar que naquele
ponto estava-se trabalhando com sinais, que são as respostas, e não as Funções de
Transferência como tratadas aqui. No Exemplo 2.7, a resposta é convolução da FT com
entrada. Agora substituindo os valores de T = 1 e simplificando, obtêm-se,
0.3679z −1 + 0.2642z −2
[ ]
Z G ZOH G p = G (z) =
(1 − z −1 )(1 − 0.3679z −1 )
A função de transferência do controlador PID é dada por
+ K D (1 − z −1 ) =
M(z) KI
= G D (z) = K P +
E(z) 1 − z −1
K P + K I + K D − (K P + 2K D )z −1 + K D z − 2 1.4 − 1.4z −1 + 0.2z − 2
= =
1 − z −1 1 − z −1
Agora a função de transferência em malha fechada é dada por,

33
1.4 − 1.4z −1 + 0.2z −2 0.3679z −1 + 0.2642z −2
C( z )
=
G D ( z )G ( z )
=
1 − z −1 ( )( )
1 − z −1 1 − 0.3679z −1
=
R ( z ) 1 + G D ( z )G ( z ) 1.4 − 1.4z −1 + 0.2z − 2 0.3679z −1 + 0.2642z − 2
1+
1 − z −1 ( )(
1 − z −1 1 − 0.3679z −1)
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
= 1 − 2.3679z −1 + 1.7358z − 2 − 0.3679z −3
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
1+
1 − 2.3679z −1 + 1.7358z − 2 − 0.3679z −3
0.5151z −1 − 0.1452z − 2 − 0.2963z −3 + 0.0528z − 4
=
1 − 1.8528z −1 + 1.5906z − 2 − 0.6642z −3 + 0.0528z − 4

Programa em Matlab

clear all;close all;clc

% planta sem o sistema de controle discreto


% significando que a simulação é tempo contínuo
num=[1]; % numerador contínuo
den=[1 1 0]; % denominador contínuo

figure('Color',[1 1 1])
step(num,den) % resposta ao degrau

% Planta controlada com PID digital


numd=[0 0.5151 -0.1452 -0.2963 0.0528];
dend=[1 -1.8528 1.5906 -0.6642 0.0528];
kT=[0:1:40]; % vetor de tempo discreto com T=1
r=ones(1,41); % criação do degrau unitário
c=filter(numd,dend,r); % simulação do sistema

figure('Color',[1 1 1]);plot(kT,c,'ko',kT,c,'k-')
title('Unit-Step Response');xlabel('kT [s]');ylabel('Output C')

(a) sem controle (b) controlado


Figura 3.11: Resposta do sistema

3.3.6 Simulação de sistemas em tempo discreto

Uma função de transferência em tempo discreto pode ser representada por,

34
Y(z) b 0 z − (n − m ) + b1 z − (n − m +1) + L + b m z − n b 0 z n − m + b1 z n − m −1 + L + b m
= = n≥m
X ( z) 1 + a 1 z −1 + L + a n z − n z n + a 1 z n −1 + L + a n
Que também pode ser expressa na forma de pólos e zeros,
Y(z) b 0 (z − z 1 )(z − z 2 )L (z − z m )
= n≥m
X(z) (z − p1 )(z − p 2 )L (z − p n )
Observe que,
Y(z) b 0 + b1 z −1 + L + b m z − m
=
X(z) 1 + a 1 z −1 + L + a n z − n
Que pode ser reescrita como,
(1 + a 1z −1 + L + a n z − n )Y(z) = (b 0 + b1z −1 + L + b m z − m )X(z)
Aplicando a transformada inversa de Z, obtém-se,
y(kT) + a 1 y(kT − T) + a 2 y(kT − 2T) + L + a n y(kT − nT)
= b 0 x (kT) + b1 x (kT − T) + L + b m x (kT − mT)
Significando que a resposta atual y(kT) é obtida fazendo,
y(kT) = −a 1 y(kT − T) − a 2 y(kT − 2T) − L − a n y(kT − nT) +
+ b 0 x (kT) + b1 x (kT − T) + L + b m x (kT − mT)
Deve ser lembrado que para kT < 0 a resposta do sistema será zero, isto é y(-T)
= 0 devido à condição de causalidade.

Exemplo 3.4: Calcular a resposta ao degrau unitário em tempo discreto com T = 0.5
para o sistema dado em tempo contínuo,
s
G (s) =
(s + 1)2
Solução: Das tabelas de transformada Z,
⎡ s ⎤ 1 − (1 + T)e − T z −1 1 − 0.9098z −1
Z⎢ 2⎥
= =
⎣ (s + 1) ⎦ (
1 − e −T z −1
2
)1 − 1.2131z −1 + 0.3679z −2
Y(z) z 2 − 0.9098z
= 2
U(z) z − 1.2131z + 0.3679
Então, o sistema a ser simulado é,
(1 – 1.2131z-1 + 0.3679z-2)Y(z) = (1 – 0.9098z-1)U(z)
Aplicando a Transformada Z inversa,
y(kT) – 1.2131y((k-1)T) + 0.3679y((k-2)T) = u(kT) – 0.9098u((k-1)T)
Rearranjando,
y(kT) = 1.2131y((k − 1)T) − 0.3679 y((k − 2)T) + u (kT) − 0.9098u ((k − 1)T)
Como x(kT)=1(kT), então, começando o processo de iteração,

Para k = 0 u(kT) = u(0) = 1


y(kT) = y(0) = u(0) = 1

Para k = 1 u(kT) = u(0.5) = 1; u(0)=1


y(kT) = y(0.5) = 1.2131y(0) + u(0.5) - 0.9098u(0)
= 1.2131 +1 - 0.9098 = 1.3033

Para k=2 u(kT) = u(1) = 1; u(0.5) = 1;


y(kT) = y(1) = 1.2131y(0.5) - 0.3679y(0) + u(1) - 0.9098u(0.5)

35
= 1.2131*1.3033 - 0.3679 + 1 - 0.9098 = 1.3033

Para k=3 u(kT) = u(1.5) = 1; u(1) = 1;


y(kT) = y(1.5) = 1.2131y(1.5) - 0.3679y(1) + u(1.5) - 0.9098u(1)
= 1.2131*1.3033 - 0.3679*1.3033 + 1 - 0.9098 = 1.1917

Para k=4 x(kT) = u(2) = 1; u(1.5) = 1; u(1) = 1


y(kT) = y(2)=1.2131y(1.5)-0.3679y(1)+u(2)-0.9098u(1.5)
= 1.2131*1.191-0.3679*1.3033+1 - 0.9098 = 1.0564

E assim por diante.

3.3.7 Realização de Controladores digitais e filtros digitais

Considerando o sistema abaixo,


Y(z) b 0 + b1 z −1 + L + b m z − m
=
X(z) 1 + a 1 z −1 + L + a n z − n
A sua representação em diagramas de bloco, ou utilizando o Simulink do
Matlab, é dada na Figura 3.12, esta realização é conhecida como padrão, pois o sistema
pode ser alterado para se obter outras realizações.

Figura 3.12 : Função de transferência

Exemplo 3.5: Implementar em Simulink o exemplo da Figura 3.10. Utilizando funções


de transferência para o controlador e para a planta e finalmente a função de
transferência de malha fechada.
Solução: a função de transferência da planta é dada por,
0.3679z −1 + 0.2642z −2
G (z) =
1 − 1.3679z −1 + 0.3679z − 2
Função de transferência do controlador PID digital,
1.4 − 1.4z −1 + 0.2z −2
G PID (z)
1 − z −1

36
Para implementar esta função de transferência da planta e do controlador utiliza-
se o bloco denominado “Discrete Filter”, mas poderia ser utilizado os blocos “Discrete
Transfer Fcn” ou “Discrete Zero-Pole”. A implementação do sistema está apresentada
na Figura 3.13:.

Figura 3.13: Diagrama de blocos implementado em Simulink utilizando funções de


transferência

Para a implementação da função de transferência de malha fechada, optou-se


pela expansão em blocos ao invés de se utilizar função de transferência, para tanto,
deve-se observar que a função de transferência de malha fechada é dada por,
C( z ) 0.5151z −1 − 0.1452z −2 − 0.2963z −3 + 0.0528z −4
=
R (z) 1 − 1.8528z −1 + 1.5906z − 2 − 0.6642z −3 + 0.0528z − 4
Observe que neste caso, observa-se que o termo b0 é zero, pois sua
representação é,
b + b1z −1 + b 2 z −2 + b 3 z −3 + b 3 z −4
G MF (z) = 0
1 + a 1z −1 + a 2 z −2 + a 3 z −3 + a 4 z −4
Para este caso, a solução se encontra na Figura 3.14.

Figura 3.14 : Diagrama de blocos implementado em Simulink utilizando atrasadores

37
3.3.8 Resposta ao Impulso Finita e Infinita

Observe que filtros ou funções de transferência na forma digital podem ser


classificados de acordo com a duração da resposta ao impulso, isto é, tem-se os
chamados filtros IIR, Infinite Impulse Response, e FIR, Finite Impulse Response.
Como apresentado anteriormente, considera-se uma função de transferência na forma,
Y(z) b 0 + b1 z −1 + L + b m z − m
=
X(z) 1 + a 1 z −1 + L + a n z − n
Que pode ser representada em termos de equação de diferenças na forma,
y(kT) = −a 1 y((k − 1)T) − a 2 y((k − 2)T) − L − a n y((k − n )T) +
+ b 0 x (kT) + b1 x ((k − 1)T) + L + b m x ((k − m)T)
A forma acima é conhecida como Filtro IIR, cuja resposta é composta dos
atrasos na entrada e na saída da função de transferência. Supondo que os termos ai
sejam todos iguais a zeros, neste caso tem-se,
y(kT) = b 0 x (kT) + b1 x ((k − 1)T) + L + b m x ((k − m)T)
Significando que a resposta da planta é composta apenas dos atrasos da entrada,
este tipo de resposta é conhecida como filtro FIR. Que em termos da transformada Z é
dada por,
Y ( z ) = b 0 + b 1 z −1 + L + b m z − m
Este tipo de resposta é interessante, pois não apresenta pólos. FIR provém do
fato que a resposta será composta por um número finito de atrasos de tempo da entrada.

Exemplo 3.6: Transformar a função de transferência abaixo que está na forma IIR para a
forma FIR e calcular a resposta ao degrau unitário.
2 − 0.6z −1
G (z) =
1 + 0.5z −1
Para transformar a resposta acima para forma FIR, deve-se dividir o numerador
pelo denominador, ou então, calcular a resposta ao impulso.

clear all;close all;clc

% denifindo os dados da planta


num=[2 -0.6];
den=[1 0.5];
x=[1 zeros(1,10)];
y=filter(num,den,x)

Uma alternativa para ao “x=[1 zeros(1,10)];” e “y=filter(num,den,x)” seria utilizar


direto a resposta ao impulso discreto “y=dimpulse(num,den)”

Y=

Columns 1 through 8

2.0000 -1.6000 0.8000 -0.4000 0.2000 -0.1000 0.0500 -0.0250

Columns 9 through 11

0.0125 -0.0063 0.0031

38
Tomando apenas os valores abaixo de z-7, então, a forma FIR fica,
Y(z) 2 − 0.6z −1
= G (z) =
X(z) 1 + 0.5z −1
≅ 2 − 1.6z −1 + 0.8z − 2 − 0.4z −3 + 0.2z − 4 − 0.1z −5 + 0.05z −6 − 0.025z −7
Cuja equação de diferenças fica,
y FIR (kT) = 2x (kT) − 1.6 x ((k − 1)T) + 0.8x ((k − 2)T) − 0.4x ((k − 3)T) +
+ 0.2x ((k − 4)T) − 0.1x ((k − 5)T) + 0.05x ((k − 6)T ) − 0.025x ((k − 7)T)
Enquanto que a forma IIR é dada por,
y IIR (kT) = −0.5 y((k − 1)T) + 2 x ((k )T) − 0.6 x ((k − 1)T)

Resposta ao degrau unitário – FIR Resposta ao degrau unitário – IIR


k=0 y(0) = 2x(0) = 2*1 = 2.0 y(0) = 2x(0)= 2.0
k=1 y(1) = 2x(1)-1.6x(0) = 2*1-1.6*1 = 0.4 y(1) = -0.5y(0)+2x(1)-0.6x(0) 0.4
k=2 y(2) = 2-1.6+0.8 = 1.2 y(2) = -0.5y(1)+2x(2)-0.6x(1) 1.2
k=3 y(3) = 2-1.6+0.8-0.4 = 0.8 y(3) = -0.5y(2)+2x(3)-0.6x(2) 1.0
k=4 y(3) = 2-1.6+0.8-0.4+0.2 = 1.0 y(4) = -0.5y(3)+2x(4)-0.6x(3) 0.9
k=5 y(3) = 2-1.6+0.8-0.4+0.2-0.1 = 0.9 y(5) = -0.5y(4)+2x(5)-0.6x(4) 0.95
k=6 y(3) = 2-1.6+0.8-0.4+0.2-0.1+0.05 = 0.95 y(6) = -0.5y(5)+2x(6)-0.6x(5) 0.925
k=7 y(3) = 2-1.6+0.8-0.4+0.2-0.1+0.05-0.025 = 0.925 y(7) = -0.5y(6)+2x(7)-0.6x(6) 0.9375
k=8 y(3) = 2-1.6+0.8-0.4+0.2-0.1+0.05-0.025 = 0.925 y(8) = -0.5y(7)+2x(8)-0.6x(7) 0.9312
k=9 y(3) = 2-1.6+0.8-0.4+0.2-0.1+0.05-0.025 = 0.925 y(9) = -0.5y(8)+2x(9)-0.6x(8) 0.9328
k=10 y(3) = 2-1.6+0.8-0.4+0.2-0.1+0.05-0.025 = 0.925 y(10) = -0.5y(9)+2x(10)-0.6x(9) 0.9336

3.4 Exercícios Resolvidos

Exemplo 3.7: Calcular a resposta de sin ωt na forma discreta para uma freqüência de 1
Hz utilizando 8 pontos por período. Utilizar a equação na forma recursiva.

Solução: Para a senóide na forma, y( t ) = sin 2πt , com T = 1/(8*1) = 0.125 s.


Calculando a Transformada Z,
z sin ωT
Z[y( t )] = Z[y(kT)] = 2
z − 2z cos ωT + 1
Como ω = 2π, então
sin 2πT = sin(2π0.125) = 0.7071
cos 2πT = cos(2π0.125) = 0.7071
Assim, tem-se,
Y(z) 0.7071z −1
=
U(z) 1 − 1.4142z −1 + z − 2
Aplicando a Transformada Z inversa,
(1 − 1.4142z −1 + z −2 )Y(z) = 0.7071z −1 U(z)
y(kT) − 1.4142 y((k − 1)T + y((k − 2)T) = 0.7071u ((k − 1)T)
Para gerar a senóide, deve-se aplicar a resposta ao impulso, isto é u(0) = 1 e
u(kT) = 0 para k ≥ 1, então

Para k=0 y(0) = 0


K=1 y(0.125) = 0.7071u(0) = 0.7071
K=2 y(0.250) = 1.4142y(0.125) = 1

39
K=3 y(0.375) = 1.4142y(0.250) - y(0.125) = 0.7071
K=4 y(0.500) = 1.4142y(0.375) - y(0.250) = 0
Impulse Response
1

0.8

0.6

0.4
Amplitude
0.2

-0.2

-0.4

-0.6

-0.8

-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Tempo [s] (sec)

Exemplo 3.8: Encontrar a FT de malha fechada em tempo discreto para o


seguinte sistema,

Solução: Montando as seguintes equações,


E(s) = R(s) – H(s)C(s) (I)
C(s) = P(s)X*(s) (II)
X(s)=G(s)E*(s) (III)
A primeira equação não está na forma satisfatória para aplicar a transformação
para FT pulsada, pois não contém nenhum sinal amostrado. O ideal é deixar do lado
direito somente sinais amortrados, então, combinando a 1ª equação com a 2ª equação,
E(s) = R(s) – H(s)P(s)X*(s) (IV)
Aplicando a transformação para FT pulsada em (III),
[X(s)]*=[G(s)E*(s)]* ⇒ X*(s)=G*(s)E*(s) (V)
Para (IV)
[E(s)]* = [R(s)]* – [H(s)P(s)X*(s)]*
E*(s) = R*(s) – HP*(s)X*(s) (VI)
Combinando (V) e (VI), encontra-se a função de transferência pulsada em malha
fechada,
C * (s) G * (s)P * (s)
=
R * (s) 1 + G * (s)HP * (s)
Aplicando a Transformada Z, encontra-se a função de transferência discreta em
malha fechada,
C( z ) G ( z) P( z)
=
R (z) 1 + G (z)HP(z)

40
3.5 Exercícios Propostos

Exercício 3.1: Obter a transformada Z das seguintes funções de transferência, e


comparar os resultados com os valores obtidos no Matlab com T = 1 e a = 3.
s+3
a) G (s) =
(s + 1)(s + 2)
1 − e − Ts 1
b) G (s) =
s (s + a )2
Dica:
clear all;close all;clc

% denifindo os dados da planta


T=0.2;
num=[1 3];
den=conv([1 1 ],[1 2]);
Gs=tf(num,den) % planta contínua
Gz=c2d(Gs,T) % planta discreta

Exercício 3.2: (Prova de 2007) Calcular a Transformada Z do seguinte sinal,


1 − e − st
G (s) =
(s + 2)2
Exercício 3.3: (Exame de 2007) Calcular a Transformada Z da seguinte função de
transferência,
1
G (s) = 2
s + 3s + 2

Exercício 3.4: (Prova de 2007) Calcular a resposta c(kT) para k = 0,1,2,3,4,5, rupondo
que a entrada r(kT) seja um impulso e o tempo de amostragem T = 1 segundo,
C( z ) 1 + 2 z −1
=
(
R (z) 1 − 0.5z −1 2 )
Exercício 3.5: Obter a função de transferência discreta em malha fechada dos seguintes
diagramas de bloco,

(a)

41
(b)

Exercício 3.6: (Prova de 2007) Calcular a função de transferência em malha fechada do


seguinte diagrama de blocos,

Exercício 3.7: (Exame de 2007) Calcular a função de transferência em malha fechada


do seguinte diagrama de blocos,

42
Capítulo 4

4 Projeto de controladores por métodos clássicos

4.1 Mapeamento entre plano Z e plano S

A estabilidade absoluta e relativa de sistemas lineares com parâmetros


invariantes no tempo em se tratando de sistemas de controle em malha fechada em
tempo contínuo são determinados pelos pólos de malha fechada no plano S. Sabendo-se
que os pólos complexos estão em pares conjugados conforme,
s1, 2 = −ζωn ± jω d = −ζωn ± jω n 1 − ζ 2

Figura 4.1: Pólo complexo no plano complexo S

Quando a amostragem é incorporada no processo, a relação que rege a


transformação do plano complexo S para o plano discreto Z é dada por,
1
e Ts = z ⇒ s = ln z
T
onde T é o tempo de amostragem e s a raiz complexa.
Como a raiz s possui uma parte real e uma parte imaginária,
s = σ + jω
Então,
z = e Ts = e T (σ+ jω ) = e σT e jωT
Como a exponencial complexa é dada por,
e ± jωT = cos ωT ± j sin ωT

43
Significando que esta parte é repetida a cada 2πk, significando que freqüências
que são múltiplas inteiras da freqüência de amostragem 2π/T são mapeadas na mesma
região no plano Z, de acordo com a Figura 4.2, pois,
z = e Ts = e T (σ+ jω ) = e σT e jωT = e σT e j(ωT 2 πk )

Figura 4.2: Faixas periódicas no plano complexo e a correspondente região no plano


discreto, onde ωs corresponde à freqüência de amostragem.

Além disso, o lado esquerdo do plano S possui parte real negativa, significando
que,
z = eσT < 1
Então todo o lado esquerdo do plano complexo é localizado no plano Z dentro
de um círculo de raio unitário, o eixo jω é mapeado exatamente em cima do circulo e o
lado direito do plano S é mapeado fora do circulo de raio unitário.
Além disso, quanto menor o tempo de discretização mais próximo do círculo de
raio unitário encontra-se a raiz. Isto ocorre porque se T tende para zero então eσT tende
para 1.
Observa-se pela equação de transformação que raízes com a mesma parte real
mas com parte imaginária diferente localizam-se em forma de círculo no plano
complexo, de acordo com a Figura 4.3. Isto também significa que a parte real dá a
distância da origem no plano z, isto é, o raio.

44
Figura 4.3: Localização das raízes complexas com a mesma parte real no plano discreto.

No caso de raízes complexas com a mesma parte imaginária, elas encontram-se


na forma de retas inclinadas de ω de acordo com a Figura 4.4.

Figura 4.4: Localização das raízes complexas com a mesma parte imaginária no plano
discreto.

Para traçar as curvas de fator de amortecimento constante, basta lembrar que um


pólo complexo pode ser dado por,
s = −ζωn + jωn 1 − ζ 2 = −ζωn + jωd
Aplicando a transformação,
⎛ ⎞
⎜ − 2 πζ ω d + j 2 π ω d ⎟
⎜ ⎟
1− ζ 2 ω s ωs
z = eTs = e(− ζω n + jωd ) = e ⎝ ⎠

Consequentemente,
⎛ ⎞
⎜ − 2 πζ ω d ⎟
⎜ 2 ωs ⎟ ωd
e angle(z ) = 2π
1− ζ
z =e ⎝ ⎠
ωs
Assim, a magnitude de z decresce e o ângulo aumenta quando ωd, que é a
freqüência natural amortecida, aumenta, caracterizando assim uma espiral logarítmica.
Note que para uma dada relação ωd/ωs, a magnitude de z torna-se apenas uma função do
fator de amortecimento ζ. A representação da curva com fator de amortecimento
constante é dada na Figura 4.5.

45
Figura 4.5: Representação das curvas de fator de amortecimento constante.

Note que se a espiral de fator de amortecimento constante está no segundo ou


terceiro quadrante do plano S, lado real negativo, então a espiral decai para dentro do
circulo no plano Z. Se ela estiver no primeiro ou quarto quadrante, lado real positivo,
que neste caso corresponderia a um caso com fator de amortecimento negativo,
corresponderia a uma espiral crescendo para fora do circulo de raio unitário.
Além disso, deve- se notar que a medida que a freqüência aumenta, ela passa de
uma banda para outra, sendo assim, só é necessário representar a primeira parte, que
corresponde a 0 ≤ ω ≤ 1/2ωs, Figura 4.6, a parte correspondente de -1/2ωs ≤ ω ≤ 0 é
uma imagem espelho para a parte de baixo.
A curva para freqüência ωn constante, são círculos no plano S que são
perpendiculares às curvas de fator de amortecimento constante, assim, a sua
representação é dada na Figura 4.6, onde π/T é ωs/2.

1
0.5π/T
0.6π/T 0.4π/T
0.8 0.10.3 /T
0.7π/T π
0.2
0.6 0.3
0.8π/T 0.4 0.2π/T
0.5
0.4 0.6
0.7
0.9π/T 0.8 0.1π/T
0.2 0.9

0
π/T
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Figura 4.6: Representação das curvas de freqüência natural constante e fator de


amortecimento constante.

Esta abordagem anterior foi feita para determinar qual a região dos pólos e zeros
desejados para as funções de transferência em tempo discreto. Então a partir dos
gráficos anteriores pode-se determinar a região desejada dos pólos e zeros discretos de
acordo com a Figura 4.7.

46
Figura 4.7: Localização das raízes complexas desejadas no plano discreto.

Aqui deve ser mencionado que se um sistema em tempo contínuo possui um par
de pólos na forma s = - σ ± jω1 no plano s, e for feita uma amostragem tal que ω1 >
1/2ωs em que ωs = 2π/T, sendo T o tempo de amostragem, significando que este par de
pólos complexo possui freqüência natural maior que a freqüência de Nyquist, ele cairá
fora da primeira faixa de valores, mas como mencionado anteriormente, ele será
transportado para dentro do circulo de raio unitário do plano Z como se estivesse
posicionado no plano S em s = - σ ± j(ω1 - ωs).

4.2 Análise de Estabilidade de Sistemas no plano Z

Como mencionado anteriormente, para que um sistema seja assintoticamente


estável no plano complexo S, os pólos deverão obrigatoriamente possuir a parte real
negativa, que significa no plano Z estar localizado dentro do circulo de raio unitário,
sendo assim,
• Assintoticamente estável, todos os pólos deverão apresentar z < 1 .
• Para que um sistema seja marginalmente estável no plano complexo S, o
sistema deverá possuir pelo menos 1 pólo com a parte real nula e os demais
possuírem parte real negativa, assim, marginalmente estável, pelo menos 1 pólo
em z = 1 e os demais com z < 1 ;
• Para que o sistema seja instável no plano complexo S, ele deve possuir pelo
menos 1 pólo com parte real positiva, que no plano Z corresponde à parte
localizada fora do circulo de raio unitário, assim ,instável, pelo menos 1 pólo
apresentando z > 1 .

Exemplo 4.1: Considerando o sistema em malha fechada apresentado abaixo,


determinar a estabilidade para K = 1 e um tempo de amostragem T = 1s.

47
Solução: Calculando a convolução do ZOH com a planta,
⎡1 − e − s 1 ⎤ ⎡ 1 ⎤
[ ]
Z G ZOH G p = Z⎢ ⎥ = (1 − z −1 )Z⎢ 2 ⎥=
⎣ s s(s + 1)⎦ ⎣ s (s + 1) ⎦
⎡ 1 ⎤
= (1 − z −1 )Z⎢ 2 = (
1 − z ) [
−1 (T − 1 + e
−T
]
) + (1 − e −T − Te −T )z −1 z −1

⎣ s (s + 1) ⎦ (1 − z −1 )2 (1 − e −T z −1 )
Esta transformada foi obtida através de tabela de transformação. Item 13.
fazendo a = 1. Agora substituindo os valores de T = 1 e simplificando, obtêm-se,
0.3679z −1 + 0.2642z −2
[ ]
Z G ZOH G p = G (z) =
(1 − z −1 )(1 − 0.3679z −1 )
Como a função de transferência em malha fechada é dada por,
0.3679z −1 + 0.2642z −2
1
C( z )
=
KG (z)
=
(1 − z −1 )(1 − 0.3679z −1 )
=
0.3679z −1 + 0.2642z − 2
R (z) 1 + KG (z) 0.3679z −1 + 0.2642z − 2 1 − z −1 + 0.6321z − 2
1+1
(1 − z −1 )(1 − 0.3679z −1 )
Então, calculando as raízes do denominador, que são os pólos, encontra-se,
z 1, 2 = 0.5 ± j0.6181
Pegando o valor absoluto,
z 1, 2 = (0.5)2 + (0.6181)2 = 0.7950
Como o valor é menor que 1, significa que o sistema é assintoticamente estável.

4.3 Resposta Transiente

Algumas aplicações de controle envolvem a melhora da resposta transitória do


sistema segundo alguns critérios. A resposta transitória aparece na resposta do sistema
quando ocorre alguma mudança de excitação, esta mudança pode ser do regime
permanente para um outro regime permanente ou simplesmente quando o sistema sai do
repouso.
As especificações para a resposta transiente envolvem normalmente os seguintes
parâmetros apresentados na Figura 4.8,
1. Tempo de atraso td (Delay time) é o tempo requerido para que a resposta do
sistema alcance metade da resposta em regime permanente. Este parâmetro
está relacionado com a velocidade de resposta do sistema.

2. Tempo de subida tr (Rise Time) é o tempo requerido para que a resposta do


sistema suba de 10% para 90% ou de 5% para 95% da resposta em regime
permanente. Observe que se um sistema possui uma constante de tempo
baixa, isto é, ele demore bastante para responder a uma mudança de

48
excitação, mas ocorre uma subida rápida, o tr será pequeno ao passo que o td
será grande.

3. Tempo de pico tp (Peak Time) é o tempo requerido para que a resposta do


sistema atinja o primeiro pico de sobresinal.

4. Máximo sobresinal Mp (Maximun Overshoot) é o pico máximo de sinal


acima da referência a ser atingida, isto é, se a referência for a resposta ao
degrau, é o pico acima da amplitude 1. Por ser um fator que depende da
excitação, costuma-se utilizar um percentual de sobresinal definido como,
c( t ) − c(∞ )
porcentagem de sobre sin al = × 100%
c(∞ )
5. Tempo de estabilização ts (Settling Time) é o tempo necessário para a
resposta do sistema alcance e permaneça dentro de uma porcentagem da
resposta em regime permanente, usualmente 2%.

Figura 4.8: Resposta ao degrau de um sistema com os parâmetros de projeto.

Observe que nem todas as especificações são aplicadas a todos os sistemas, isto
é, se um sistema for superamortecido ou se for um sistema de primeira ordem ou se
todas as raízes forem puramente reais negativas, não ocorrerá o sobre sinal e nem o
tempo de pico.

4.4 Método de Projeto baseado no lugar das raízes

O método de projeto de controladores baseado no lugar das raízes é baseado no


fato que a resposta do sistema é baseada nos pólos dominantes do sistema em malha
fechada. O modo mais simples de alocá-los é utilizar um controlador proporcional na
forma apresentada na Figura 4.9.

49
Figura 4.9: Sistema de malha fechada com controlador proporcional.

O sistema em malha fechada possui a resposta dada por,


C( z ) KG (z)
=
R (z) 1 + KG (z)
onde K representa o ganho do controlador proporcional.
O denominador ou equação característica é dado por,
1 + KG (z) = 0
Que pode ser reescrita como,
(z − z1 )(z − z 2 )L (z − z m )
1+ K =0
(z − p1 )(z − p 2 )L (z − p n )
O método do lugar das raízes é baseado em dar valores para K na equação cima
e encontrar os pólos correspondentes desejados. Interessante notar que,
(z − z1 )(z − z 2 )L (z − z m ) 1
=
(z − p1 )(z − p 2 )L (z − p n ) K
Exemplo 4.2: Supondo que o sistema seja dado por,
⎡1 − e − s 1 ⎤ 1 − e − T
[ ]
Z G ZOH G p = Z⎢ ⎥= −T
⎣ s s + 1⎦ z − e
E o controlador seja na forma integral dada por,
K z
G D (z) = −1
=K
1− z z −1
Investigar a influencia do ganho K e do tempo de amostragem T para a
estabilidade do sistema. Supondo que T = 0.5s, 1s e 2s.
Solução: A função de transferência em malha fechada é dada por,
z 1 − e −T
G (z) = G D (z) Z[G ZOH G P ] = K
z − 1 z − e −T
Então,
C( z )
=
G (z)
= 2
( )
K 1 − e −T z
[ ( ) ]
R (z) 1 + G (z) z + K 1 − e −T − 1 − e −T z + e −T
Substituindo o valor de T = 0.5s,

Programa feito em Matlab

clear all;close all;clc

% tempo de amostragem
T = 0.5;

% Definição da planta
num=[(1-exp(-T)) 0];
den=conv([1 -1],[1 -exp(-T)]);

50
% Empacotando
sys=tf(num,den,T)

% aplicação do método do lugar das raízes


rlocus(sys);zgrid

Transfer function: Transfer function: Transfer function:


0.3935 z 0.6321 z 0.8647 z
---------------------- ---------------------- ----------------------
z^2 - 1.607 z + 0.6065 z^2 - 1.368 z + 0.3679 z^2 - 1.135 z + 0.1353

Sampling time: 0.5 Sampling time: 1 Sampling time: 2

Figura 4.10: Lugar das raízes para T = 0.5s

51
Figura 4.11: Lugar das raízes para T = 1s

Figura 4.12: Lugar das raízes para T = 2s

Exemplo 4.3: Observar a influência da variação dos parâmetros do controlador


PID para o seguinte sistema,
1
G p (s) =
(s + 1)(s + 5)
Aplicando a transformada na convolução da planta com o ZOH,

52
⎡1 − e − s ⎤ ⎡ ⎤
[
Z G ZOH G p ] = Z⎢
1
⎥ = 1 − z −1 Z⎢
1
⎥= ( )
⎣ s s(s + 1)(s + 5) ⎦ ⎣ s(s + 1)(s + 5) ⎦
⎡1 ⎤
(
= 1 − z −1 Z ⎢ −) 1
+
1
⎥=
⎣ 5s 4(s + 1) 20(s + 5) ⎦
⎡ ⎤
(
= 1 − z −1 ⎢ ) (
1
−1

1
− T −1
) (+
1
20 1 − e −5T z −1 ) ( ) ⎥
⎣5 1 − z 4 1− e z ⎦

=
( )(
4 1 − e −5T z −1 1 − e −T z −1 − 5 1 − z −1 1 − e −5T z −1 +) ( )( ) ( )(
1 − z −1 1 − e −T z −1 )
20 1 − e −T z −1 1 − e −5T z −1 ( )( )
=
(4 − 5e −T
) (
+ e −5T z −1 + 4e −6 T − 5e −5T + e −T z − 2 )
(
20 1 − e −T z −1 1 − e −5T z −1 )( )
O primeiro passo é calcular

clear all;close all;clc

% Planta contínua
num=1; % numerador
den=[conv([1 1],[1 5])]; % denominador
Gp=tf(num,den) % empacotando
% Planta discreta
T=0.1; % tempo de amostragem
b1=(4-5*exp(-T)+exp(-5*T));
b2=(4*exp(-6*T)-5*exp(-5*T)+exp(-T));
numd=[0 b1 b2]/20; % numerador
a1=-exp(-T)-exp(-5*T);
a2=exp(-6*T);
dend=[1 a1 a2]; % denominador
Gz=tf(numd,dend,T) % empacotando
figure('Color',[1 1 1])
step(Gp,Gz)
legend('Contínuo','Discreto')

% diagrama de bode para escolher Kp


figure;rlocus(Gz);zgrid;set(gcf,'Color',[1 1 1])

Step Response Root Locus


0.2
1
0.5π/T
0.18 0.6π/T 0.4π/T
0.8 0.10.3 /T System: Gz
0.7π/T π
0.2 Gain: 10
0.16 0.3
0.6 System: Gz Pole: 0.734 + 0.206i
0.8π/T 0.4 0.2π/T
Damping: 0.705
0.14 0.5 Gain: 0
0.4 0.6 0.607
Pole: Overshoot (%): 4.38
Imaginary Axis

0.7
Damping: 1 Frequency (rad/sec): 3.
0.9π/T 0.8 0.1π/T
0.12
Amplitude

0.2 Overshoot
0.9 (%): 0
Frequency (rad/sec): 5
Contínuo π/T
0.1 0
Discreto π/T

0.08 -0.2
0.9π/T 0.1π/T
-0.4
0.06
0.8π/T 0.2π/T
-0.6
0.04 System: Gz
0.7π/T 0.3π/T Gain: 50
-0.8
0.02 Pole: 0.648 - 0.538i
0.6π/T 0.4π/T Damping: 0.241
0.5π/T
-1 Overshoot (%): 45.8
0 Frequency (rad/sec): 7.14
0 1 2 3 4 5 6 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

Time (sec) Real Axis

53
Figura 4.13: Resposta do sistema considerando tempo contínuo e discreto e lugar das
raízes

Calculando a resposta do sistema com o controlador proporcional,

% fechando a malha - Controle porporcional Kp


Sys1=feedback(2*Gz,1) % ganho Kp = 2
Sys2=feedback(10*Gz,1) % ganho Kp = 10
Sys3=feedback(50*Gz,1) % ganho Kp = 50
figure('Color',[1 1 1]);step(Sys1,Sys2,Sys3)
legend('K_P = 2','K_P = 10','K_P = 50')

Figura 4.14: Respostadas do sistema controlado para vários valores de Kp

54
% Controle PD % Controle PID
% Kp = 50 , Kd = 0 % Kp = 50 , Kd = 50 , Ki = 0
Kp=50;Kd=0;Ki=0; Kp=50;Kd=50;Ki=0;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
GPIDz=tf(num,den,T) GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz sysMA=GPIDz*Gz
sysMF1=feedback(sysMA,1) sysMF4=feedback(sysMA,1)

% Kp = 50 , Kd = 10 % Kp = 50 , Kd = 50 , Ki = 2
Kp=50;Kd=10;Ki=0; Kp=50;Kd=50;Ki=2;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
GPIDz=tf(num,den,T) GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz sysMA= GPIDz*Gz
sysMF2=feedback(sysMA,1) sysMF5=feedback(sysMA,1)

% Kp = 50 , Kd = 50 % Kp = 50 , Kd = 50 , Ki = 10
Kp=50;Kd=50;Ki=0; Kp=50;Kd=50;Ki=10;
num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd]; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0];
den=[1 -1 0]; GPIDz=tf(num,den,T)
GPIDz=tf(num,den,T) sysMA=GPIDz*Gz
sysMA=GPIDz*Gz sysMF6=feedback(sysMA,1)
sysMF3=feedback(sysMA,1)
% Kp = 50 , Kd = 50 , Ki = 40
figure('Color',[1 1 1]) Kp=50;Kd=50;Ki=40;
step(sysMF1, sysMF2, sysMF3,3) num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];
legend('K_D = 0','K_D = 10','K_D = 50') den=[1 -1 0];
GPIDz=tf(num,den,T)
sysMA=GPIDz*Gz
sysMF7=feedback(sysMA,1)

figure('Color',[1 1 1])
step(sysMF4,sysMF5,sysMF6,sysMF7,5)
legend('K_I = 0','K_I = 2','K_I = 10','K_I = 40')

Figura 4.15: Respostadas do sistema controlado para vários valores de Kd, mantendo o
valor de Kp = 50.

55
Figura 4.16: Respostadas do sistema controlado para vários valores de Ki, mantendo os
valores de Kp = 50 e Kd = 50.

4.5 Controlador Tipo “Dead Beat”

Uma resposta tipo “Dead Beat ” é aquela em que o sistema apresenta o menor
tempo de estabilização possível, sem erro estacionário e sem apresentar oscilações
durante o transiente. Então se um sistema de controle em malha fechada for projetado
para que a resposta do sistema de malha fechada apresente uma resposta dead beat, o
controlador que gerou esta resposta recebe o nome de controlador dead beat.

Figura 4.17: Diagrama de blocos de um sistema de controle utilizando controlador Dead


Beat

Supondo o sistema de controle em malha fechada com o apresentado na Figura


4.17, cuja malha fechada é dada por,
C( z ) G D ( z )G ( z )
=
R ( z ) 1 + G D ( z )G ( z )
Para que o sistema em malha fechada tenha uma resposta dead beat,
necessariamente a malha fechada deve ser na forma,
C( z ) a z N + a 1 z N −1 + L a N
= F(z) = a 0 + a 1 z −1 + L a N z − N = 0
R (z) zN
onde N deve ser maior ou igual a ordem do sistema G(z). Observe que F(z) não deve
conter potencias positivas de z, pois significaria que o sistema seria não causal.

56
4.6 Projeto de Controladores PID

Os controladores PIDs são os controladores mais utilizados na prática devido a


sua fácil implementação e ajuste. Aqui são apresentados os métodos Ziegler-Nichols de
ajuste de controladores PID.
Deve ser lembrado que o PID Contínuo é dado por,
K K ds 2 + K ps + K I
PID(s) = K p + K d s + I =
s s
⎛ 1 ⎞ K c Td Ti s 2 + K c Ti s + K c
= K c ⎜⎜1 + Td s + ⎟=
⎝ Ti s ⎟⎠ Tis
Enquanto que o PID discreto é dado por,
⎛ T 1 + z −1 Td ⎞
PID(z) = K c ⎜⎜1 + −1
(
+ )
1 − z −1 ⎟⎟ = K P +
KI
(−1
)
+ K D 1 − z −1
⎝ 2 Ti 1− z T ⎠ 1− z

4.6.1 Ziegler-Nichols malha fechada

Supondo um controlador PID na forma,

Figura 4.18: Controlador PID

Para aplicar o método Ziegler-Nichols de malha fechada deve-se primeiro


encontrar qual o ganho proporcional Kp, com o ganho integral Ki e o ganho Kd iguais a
zero, que torna o sistema de malha fechada marginalmente estável, isto é, pelo menos
um dos pólos do sistema de malha fechada deve ser puramente imaginário no plano
complexo S, que no plano discreto Z significa tem módulo 1 ou estar em cima do
círculo de raio unitário. Este ganho Kp passa a ser chamado de ganho crítico Kcr.
O sistema apresentado na Figura 4.18, fazendo o PID somente Kp, o sistema de
malha fechada é dado por,
Y (z) G (z)Kp
=
R (z) 1 + G (z)Kp

Para o calculo do ganho crítico, pelo menos um dos pólos da equação acima
deve possuir parte real igual a zero.

57
System: Gz
Root Locus Root Locus Gain: 3.35
1
5 0.5π/T Pole: 0.807 + 0.59i
0.6π/T 0.4π/T
Damping: 0.000454
0.8 0.7π/T 0.1 0.3 /T
4 Overshoot π(%): 99.9
0.2 (rad/sec): 3.15
Frequency
0.6 0.3
3 System: Gs 0.8π/T 0.4 0.2π/T
Gain: 4.5 0.5
Pole: 0.00145 + 3.63i 0.4 0.6
2
0.7

Imaginary Axis
Imaginary Axis

Damping: -0.0004 0.9π/T 0.8 0.1π/T


Overshoot (%): 100 0.2 0.9
1
Frequency (rad/sec): 3.63 π/T
0 0
π/T
System: Gs
-1 -0.2
Gain: 4.47 0.9π/T 0.1π/T
Pole: -0.00302 - 3.63i
-2 -0.4
Damping: 0.000832
Overshoot (%): 99.7 0.8π/T 0.2π/T
-3 -0.6
Frequency (rad/sec): 3.63
System: Gz
-0.8 0.7π/T 0.3πGain:
/T 3.35
-4
Pole: 0.807 - 0.59i
0.6π/T 0.4π/T
0.5π/T Damping: 0.000454
-5 -1
-3 -2 -1 0 1 2 3 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 Overshoot
0.4 (%):
0.6 99.9 0.8 1
Frequency (rad/sec): 3.15
Real Axis Real Axis

Figura 4.19: Lugar das Raízes no plano complexo S e no plano discreto Z

O segundo passo consiste em traçar a resposta ao degrau do sistema


realimentado pelo ganho crítico Kcr. Desta resposta é retirado o tempo de oscilação Tu.
Step Response Step Response
1.5 1.5

1 1
Amplitude

Amplitude

0.5 0.5

Tempo de
Oscilação Tu Tempo de
oscilação Tu
0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time (sec) Time (sec)

Figura 4.20: Resposta ao degrau do sistema realimentado com Kcr

Agora os parâmetros do controlador podem ser ajustados de acordo com a tabela


abaixo.

Tabela 4-1: Ajustes do controlador PID para o método Ziegler-Nichols malha fechada.
Tipo do controlador Kc Ti Td
P 0,5 Kcr -- --
PI 0,45.Kcr Tu/1,2 ---
PID 0,6.Kcr 0,5Tu 0,125Tu

4.6.2 Ziegler-Nichols Malha Aberta

O método Ziegler-Nichols em malha aberta pode ser aplicado quando a curva de


resposta ao degrau unitário de entrada apresentar o aspecto de um S. Essa curva de
resposta ao degrau unitário pode ser gerada experimentalmente ou a partir de uma
simulação dinâmica da planta.

58
Figura 4.21: Resposta ao degrau unitário

A curva com o formato em S pode ser caracterizada por duas constantes, o atraso
L e a constante de tempo T. O atraso e a constante de tempo são determinados
desenhando-se uma linha tangente no ponto de inflexão da curva com o formato de S e
determinando-se a interseção da linha tangente com o eixo do tempo. O ajuste do
controlador PID, segundo este método, introduz no sistema dois zeros em -1/L se o
projeto for feito em tempo contínuo.

Tabela 4-2: Ajustes do controlador PID para o método Ziegler-Nichols malha aberta.
Tipo de controlador Kc Ti Td
P T/L ∞ 0
PI 0,9T/L L/0,3 0
PID 1,2T/L 2L 0,5L

4.7 Exercícios Resolvidos

4.8 Exercícios Propostos

Exercício 4.1: Para o sistema abaixo, quais seriam os pólos em tempo discreto?
100
G (s) = 2
s + 10s + 100

Exercício 4.2: Para o Exemplo 4.1, encontrar quais os valores que K que
tornam o sistema em malha fechada um sistema assintoticamente estável,
marginalmente estável e instável.

Exercício 4.3: Para o sistema em tempo contínuo abaixo, encontrar um ajuste


para o controlador PID para o sistema em tempo discreto utilizando os métodos Ziegle-
Nichols de malha aberta e malha fechada e fazer ajustes finos para,

59
2 1
G (s) = e H(s) =
(s + 1)(s + 2)(s + 3) 30s + 1
Para resolver este problema deve-se assumir que há um amostrador em X(s) e
um ZOH em U(s).

60
Capítulo 5

5 Formulação por Matrizes de Estado


A representação em forma de Matrizes de Estado é um das principais
ferramentas de simulação de sistemas, e elas são formuladas diretamente no domínio em
tempo contínuo ou discreto e não envolvem transformações para Laplace ou
transformada Z.

5.1 Introdução à formulação de estado

Considerando um sistema massa-mola-amortecedor na forma,


m&y&( t ) + cy& ( t ) + ky( t ) = u ( t )
Que pode ser reescrito como,
u(t)
&y&( t ) + 2ζω n y& ( t ) + ω 2n y( t ) =
m
Definindo uma variável como,
x 1 ( t ) = y( t ) ⇒ x& 1 ( t ) = y& ( t )
Definindo uma outra variável como,
x 2 ( t ) = y& ( t ) = x& 1 ( t ) ⇒ x& 2 ( t ) = &y&( t )
Substituindo na equação original e deixando somente uma variável com a
derivada temporal, então,
u(t)
x& 2 ( t ) + 2ζω n x 2 ( t ) + ω 2n x 1 ( t ) =
m
Agora, escrevendo um sistema na seguinte forma,
⎧ x& 1 ( t ) ⎫ ⎡ 1 0 ⎤⎧ x 1 (t) ⎫ ⎧ 0 ⎫
⎨ ⎬=⎢ 2 ⎥⎨ ⎬+⎨ ⎬u ( t )
⎩x& 2 ( t )⎭ ⎣− ω n − 2ζω n ⎦ ⎩x 2 ( t )⎭ ⎩1 / m ⎭
Ainda está faltando a resposta y(t) do sistema, que é dada por,
⎧ x (t) ⎫
y( t ) = [1 0]⎨ 1 ⎬ + {0}u ( t )
⎩x 2 ( t )⎭
Que pode ser escrito da seguinte maneira,
x& ( t ) = Ax( t ) + Bu ( t )
y( t ) = Cx ( t ) + Du ( t )
A forma acima é conhecida como forma de estado. Como observado, a
transformação para a formulação de espaço de estados consistiu em transformar uma
equação de segunda ordem em duas equações de primeira ordem. Generalizando, a
transformação de espaço de estados consiste em transformar um sistema de equações de
ordem n para um sistema de primeira ordem de 2n equações, tornando assim, mais
simples a sua solução.

61
5.2 Nomenclatura de Espaço de Estados

Vetor de estado x(t) é o vetor de ordem n que contém todos os estados.


Vetor de saída y(t) é o vetor de ordem m que contém todas as respostas.
Vetor de entrada u(t) é o vetor de ordem r que contém todas as entradas.
Matriz de estado A é a matriz de ordem n×n que contém os autovalores e os
autovetores do sistema.
Matriz de entrada B é a matriz de ordem n×r da entrada.
Matriz de saída C é a matriz de ordem m×n da saída.
Matriz de transmissão direta D é matriz de ordem m×r que correlaciona
diretamente a entrada com a saída.
Então,
{x& ( t )}n×1 = [A]n×n {x ( t )}n×1 + [B]n×r {u ( t )}r×1
{y( t )}m×1 = [C]m×n {x ( t )}n×1 + [D]m×r {u ( t )}r×1
A representação em diagramas de bloco do sistema acima é dada por,

Figura 5.1: Representação em diagrama de blocos para tempo contínuo.

5.3 Representação de Espaço de Estados discretos

A formulação de espaço de estados discretos é dado por,


x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Nota-se que as matrizes C e D não mudaram, significando que são as mesmas
matrizes para sistemas em tempo contínuo.
Agora, supondo um sistema discreto cuja função de transferência é dada por,
Y(z) b 0 + b1 z −1 + L + b n z − n
=
U(z) 1 + a 1 z −1 + L + a n z − n
Esta FT pode ser representada de várias maneiras em espaço de estados, pois a
formulação de estado não é única.

5.3.1 Forma Canônica Controlável

62
A forma canônica controlável é dada por,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 0 L 0 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0⎤
⎪ x (k + 1) ⎪ ⎢ 0 0 1 L 0 ⎥⎥ ⎪⎪ x 2 (k ) ⎪⎪ ⎢0⎥
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪ ⎢ ⎥
⎨ M ⎬=⎢ M M M O M ⎥ ⎨ M ⎬ + ⎢0⎥ u ( k )
⎪x (k + 1)⎪ ⎢ 0 0 0

L 1 ⎥ ⎪x n −1 (k )⎪ ⎢ M ⎥
⎢ ⎥
⎪ n −1 ⎪ ⎢ ⎪ ⎪
⎪⎩ x n (k + 1) ⎪⎭ ⎢⎣− a n − a n −1 − a n − 2 L − a 1 ⎥⎦ ⎪⎩ x n (k ) ⎪⎭ ⎢⎣1⎥⎦
⎧ x 1 (k ) ⎫
⎪x (k ) ⎪
⎪ ⎪
y(k ) = [b n − a n b 0 b n −1 − a n −1 b 0 L b1 − a 1 b 0 ]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
Se a matriz G for uma matriz de posto cheio, isto é, o determinante é diferente
de zero, o sistema é controlável, caso contrário, significa que pelo menos 1 dos estados
não é controlável. A controlabilidade significa que o sistema pode ser alterado de
qualquer estado para qualquer estado em um período de tempo finito.

5.3.2 Forma Canônica Observável

A forma canônica observável é dada por,


⎧ x 1 (k + 1) ⎫ ⎡0 0 0 L − a n ⎤ ⎧ x 1 (k ) ⎫ ⎡ b n − a n b 0 ⎤
⎪ x (k + 1) ⎪ ⎢1 0 0 L − a ⎥ ⎪ x (k ) ⎪ ⎢b − a b ⎥
⎪⎪ 2 ⎪⎪ ⎢ n −1 ⎥ ⎪

2 ⎪⎪ ⎢ n −1 n −1 0 ⎥

⎨ M ⎬ = ⎢M M M O M ⎥⎨ M ⎬ + ⎢ M ⎥ u (k )
⎪x (k + 1)⎪ ⎢0 0 L 0 − a ⎥ ⎪x (k )⎪ ⎢ b − a b ⎥
⎪ n −1 ⎪ ⎢ 2 ⎥
⎪ n −1 ⎪ ⎢ 2 2 0 ⎥

⎪⎩ x n (k + 1) ⎪⎭ ⎢⎣0 0 L 1 − a 1 ⎥⎦ ⎪⎩ x n (k ) ⎪⎭ ⎢⎣ b1 − a 1 b 0 ⎥⎦
⎧ x 1 (k ) ⎫
⎪ x (k ) ⎪
⎪ ⎪
y(k ) = [0 0 L 1]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
Para o sistema ser completamente observável, a matriz G deve ser uma matriz de
posto cheio. A observabilidade significa que todos os estados do sistema podem ser
observados ou medidos.

5.3.3 Forma Canônica Diagonal

Expandindo a FT em frações parciais tal que,


Y(z) c c2 c
= b0 + 1 + +L n
U(z) z − p1 z − p 2 z − pn
Então, a forma canônica diagonal é dada por,

63
⎧ x 1 (k + 1) ⎫ ⎡p1 0 L 0 ⎤ ⎧ x 1 (k ) ⎫ ⎡1⎤
⎪ x (k + 1) ⎪ ⎢ 0 p 2 L 0 ⎥⎥ ⎪⎪ x 2 (k ) ⎪⎪ ⎢1⎥
⎪ 2 ⎪ ⎢
⎨ ⎬= ⎨ ⎬ + ⎢ ⎥ u (k )
⎪ M ⎪ ⎢0 M O M ⎥ ⎪ M ⎪ ⎢M⎥
⎪⎩x n (k + 1)⎪⎭ ⎢⎣ 0 ⎥
0 L p n ⎦ ⎪⎩x n (k )⎪⎭ ⎣1⎦
⎢⎥

⎧ x 1 (k ) ⎫
⎪ x (k ) ⎪
⎪ ⎪
y(k ) = [c1 c 2 L c n ]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭
onde pi representa os pólos do sistema.

5.3.4 Forma Canônica de Jordan

A forma canônica de jordan é usada quando se deseja representar o sistema na


forma diagonal mas existem pólos repetidos. Supondo que o pólo p1 é repetido m vezes,
então,
⎧ x 1 (k + 1) ⎫ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎪ x (k + 1) ⎪ ⎪ ⎪ ⎢ ⎥
⎪ 2 ⎪ ⎡p1 1 0 L 0 ⎤ ⎪ x 2 ( k ) ⎪ ⎢0 ⎥
⎪ M ⎪ ⎢ 0 p1 1 L 0 ⎥⎪ M ⎪ ⎢M ⎥
⎪ ⎪ ⎢ [ 0] ⎥⎪ ⎪ ⎢ ⎥
⎪x m (k + 1) ⎪ ⎢ M M M O M ⎥ ⎪ x m ( k ) ⎪ ⎢1 ⎥
⎪ ⎪ ⎢ ⎥ ⎪ _______ ⎪ + ⎢ __ ⎥ u (k )
⎨ _______ ⎬ = ⎢ 0 0 0 L p1 ⎥⎨ ⎬
⎢ ⎥
⎪x (k + 1)⎪ ⎢ p m +1 L 0 ⎥ x m +1 (k ) ⎪ ⎢1 ⎥

⎪ m +1
⎪ ⎢ ⎪ ⎪
⎪ M ⎪ ⎢ [ 0] M O M ⎥⎪ M ⎪ ⎢M ⎥
⎥ ⎢ ⎥
⎪ x (k + 1) ⎪ ⎢
⎣ 0 L p n ⎦⎥ ⎪ x n (k ) ⎪ ⎢1 ⎥
⎪ n ⎪ ⎪ ⎪
⎪⎩ ⎪⎭ ⎪⎩ ⎪⎭ ⎢⎣ ⎥⎦
⎧ x 1 (k ) ⎫
⎪ x (k ) ⎪
⎪ ⎪
y(k ) = [c1 c2 L c n ]⎨ 2 ⎬ + b 0 u (k )
⎪ M ⎪
⎪⎩x n (k )⎪⎭

5.3.5 Não unicidade das matrizes de estado

A representação de estado não é única, isto é, para um mesmo sistema na forma


de função de transferência pode haver várias representações de estado. Por exemplo,
supondo que um sistema seja observável e controlável, definições que serão apresentada
mais à frente, então haverá uma representação na forma canônica controlável e
observável.
Para exemplificar, supondo o sistema na seguinte forma de estado,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Supondo uma transformação tal que,

64
x (k ) = Px̂ (k )
onde a matriz P é de ordem n×n, mesma ordem da matriz G. Então,
Px̂ (k + 1) = GPx̂ (k ) + Hu (k )
y(k ) = CPx̂ (k ) + Du (k )
Que pode ser reescrito como,
x̂ (k + 1) = P −1GPx̂ (k ) + P −1 Hu (k )
y(k ) = CPx̂ (k ) + Du (k )
Agora definindo,
Ĝ = P −1GP , Ĉ = CP e Ĥ = P −1 H
Então,
x̂ (k + 1) = Ĝx̂ (k ) + Ĥu (k )
y(k ) = Ĉx̂ (k ) + Du (k )
Que é exatamente da mesma forma que o sistema original. Se a matriz P for a
matriz dos autovetores da matriz G, então o sistema será diagonalizado, caso isso não
seja possível, a matriz resultante será a matriz de Jordan.

5.4 Simulando um sistema na forma de estado discreto

Nesta parte, supõe-se que o sistema seja linear e invariante no tempo na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Pegando apenas os estados do sistema, para o instante inicial têm-se,
x (1) = Gx (0) + Hu (0)
Para o instante seguinte,
x (2) = Gx (1) + Hu (1) = G (Gx (0) + Hu (0) ) + Hu (1) = G 2 x (0) + GHu (0) + Hu (1)
Para o instante seguinte,
x (3) = Gx (2) + Hu (2) = G (G 2 x (0) + GHu (0) + Hu (1) ) + Hu (2) =
= G 3 x (0) + G 2 Hu (0) + GHu (1) + Hu (2)
Fazendo isso para k instantes,
k −1
x (k ) = G x (0) + ∑ G k − j−1 Hu ( j)
k
k = 1, 2, 3 ...
j= 0

Substituindo este resultado em y(k),


⎛ k −1 ⎞
y(k ) = C⎜⎜ G k x (0) + ∑ G k − j−1 Hu ( j) ⎟⎟ + Du (k ) k = 1, 2, 3 ...
⎝ j= 0 ⎠

5.5 Passando de Matrizes de Estado para FT

Supõe-se o sistema na forma,


x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Aplicando transformada Z, obtém-se,

65
zX(z) − zx (0) = GX(z) + HU(z)
Y(z) = CX(z) + DU(z)
Supondo condições iniciais nulas,
zX(z) = GX(z) + HU(z) ⇒ (zI − G )X(z) = HU(z) ⇒ X(z) = (zI − G ) HU(z)
−1

Substituindo em Y(z),
[
Y(z) = C(zI − G ) HU(z) + DU(z) = C(zI − G ) H + D U(z)
−1 −1
]
Como a função de transferência pulsada é a relação dada por Y(z)/U(z),
Y(z)
= C(zI − G ) H + D
−1

U(z)
Observe que se Y(z)/U(z) é uma matriz m×r.

5.6 Discretização de Matrizes de Estado Contínuas

Em se tratando de sistemas em tempo discreto, pode-se converter diretamente de


matrizes de estado contínuas para matrizes de estado discretas. Porem é necessário fazer
uma revisão de matrizes antes de mostrar o processo de discretização.
Em se tratando de matrizes há alguns cuidados a serem tomados e algumas
definições a serem compreendidas. Começando com,
1 1 ∞
Aktk
e At = I + At + A 2 t 2 + L + A k t k + L = ∑
2! k! k =0 k!
Diferenciando esta solução em relação ao tempo, para isso a derivada é feita
termo a termo, encontra-se,
d At
e = Ae At = e At A
dt
Agora, três relações importantes,
e At e − At = I
e (A + B )t = e At e Bt se AB = BA
e (A + B )t ≠ e At e Bt se AB ≠ BA
Agora, obtendo a resposta para matrizes de estado contínuas, isto é,
x& ( t ) = Ax( t ) + Bu ( t )
Que pode ser reescrita como,
x& ( t ) − Ax( t ) = Bu ( t )
Agora pré-multiplicando por e-At,
e − At [x& ( t ) − Ax( t )] =
dt
(
d − At
)
e x ( t ) = e − At Bu ( t )
Integrando1 de 0 a t,
t
e − At
x ( t ) − x (0) = ∫ e − Aτ Bu (τ)dτ
0

Que pode ser rearranjada como,


t
x ( t ) = e x (0) + ∫ e A ( t − τ ) Bu (τ)dτ
At

A equação acima representa a solução para um sistema na forma de estado


contínuo. Para a solução completa, basta substituir os estados x(t) em,

1
Deve ser lembrado que a integral da derivada é a própria função aplicada os limites de integração.

66
y( t ) = Cx ( t ) + Du ( t )
Para fazer o mesmo para um sistema discreto, tem-se que,
x& ( t ) = Ax( t ) + Bu ( t ) ⇒ x ((k + 1)T) = Gx (kT) + Hu (kT)
Para que possa ser utilizada a solução de um sistema contínuo para encontrar a
solução de um sistema discreto, assume-se que a entrada u(t) entre um período e outro
de amostragem é constante, isto é, que há um ZOH, então,
u ( t ) = u (kT) kT ≤ t < kT+T
Então, a solução,
t
x ( t ) = e At x (0) + ∫ e A ( t − τ ) Bu (τ)dτ
0

Para o tempo kT,


kT
x (kT) = e AkT x (0) + e AkT ∫ e −Aτ Bu (τ)dτ
0

Para o tempo (k+1)T,


( k +1)T
A ( k +1)T A (( k +1)T )
∫e
− Aτ
x ((k + 1)T) = e x ( 0) + e Bu (τ)dτ
0

Agora fazendo,
( k +1)T
⎡ AkT kT

x ((k + 1)T) − e AT x (kT) = e A (k +1)T x (0) + ∫0 e A (( k +1)T − τ )
Bu ( τ) dτ − e AT
⎢ e x ( 0) + ∫ e A (kT −τ )Bu (τ)dτ⎥
⎣ 0 ⎦

Simplificando2,
(k +1)T kT
( )
x ((k + 1)T ) = e AT x (kT ) + e A (k +1)T − e AT e AkT x (0) + e A (k +1)T ∫ e Bu(τ)dτ − e e ∫ e Bu(τ)dτ
− Aτ AT AkT − Aτ

0 0
(k +1)T
= e AT x (kT ) + e A (k +1)T ∫e
− Aτ
Bu (τ)dτ
kT

Supondo agora o ZOH, então, o tempo entre kT e (k+1)T pode ser substituído
por 0 e T dentro da integral, pois o que vai variar é apenas u(τ) que é considerado
constante. Então,
T
x ((k + 1)T) = e AT x (kT ) + e AT ∫ e −Aτ Bu (τ)dτ
0

Aplicando a transformação de variável onde λ = T-τ,


T
x ((k + 1)T ) = e AT x (kT ) + ∫ e Aλ Bu (λ )dλ
0

Que representa a solução da equação de estado discreta na forma,


x ((k + 1)T) = Gx (kT) + Hu (kT)
Que neste caso, tem-se que para encontrar estas matrizes discretas,
necessariamente,
⎛T ⎞
G = e AT e H = ⎜⎜ ∫ e Aλ dλ ⎟⎟B
⎝0 ⎠
Pelas equações acima, verifica-se claramente que as matrizes discretas são
dependentes do tempo de amostragem.

2
Deve ser lembrado que e
AT AkT
e = e A (k +1)T

67
A solução para y(kT) é dada simplesmente por,
y(kT) = Cx (kT) + Du (kT)
Se a matriz A for não singular, então
⎛ T Aλ ⎞
( )
H = ⎜⎜ ∫ e dλ ⎟⎟B = A −1 e AT − I B = e AT − I A −1B ( )
⎝0 ⎠
Exemplo 5.1: Considerando o sistema abaixo, encontrar a representação de estado
discreto e a expressão para função de transferência discreta para T = 1 s.
1 1 b2
G (s) = = 2 = 2
s(s + 2) s + 2s s + a 1s + a 2
Solução: O primeiro passo é encontrar uma representação de estado para o
sistema, utilizando a forma canônica controlável,
⎧ x& 1 ( t ) ⎫ ⎡0 1 ⎤ ⎧ x1 ( t ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x& 2 ( t )⎭ ⎣0 − 2⎦ ⎩x 2 ( t )⎭ ⎣1⎦
⎧ x (t) ⎫
y( t ) = [1 0]⎨ 1 ⎬
⎩x 2 ( t )⎭
Como foi visto, para as matrizes discretas têm-se3,

G=e = AT

⎢1
1
( ) ⎤
1 − e −2 T ⎥ ⎡1 0.4323⎤
=
⎥ ⎢⎣0 0.1353⎥⎦
2
⎢0 e −2 T
⎣ ⎦
Outra forma de encontrar a matriz G é fazendo,
⎡1 1 ⎤
⎢ ⎥
L e At = (sI − A ) = ⎢ s s(s + 2) ⎥
[ ] −1

⎢0 1 ⎥
⎣⎢ s + 2 ⎦⎥
Cuja transformada de laplace inversa é dada por,
⎡1 1 ⎤
e =L ⎢
At

−1 s s (s + 2 ) ⎥=⎢ 2
(
⎥ ⎡1 1 1 − e − 2 t ⎤ ) ⎥
⎢0 1 ⎥ ⎣0 ⎢ e −2 t ⎥
⎢⎣ ⎥ ⎦
s+2 ⎦
Então,
⎛T ⎡ ⎤ ⎞
⎛T ⎞ ⎜ 1
H = ⎜⎜ ∫ e Aλ dλ ⎟⎟B = ⎜ ∫ ⎢
1
2
( )
1 − e − 2 λ ⎥ ⎟ ⎡0 ⎤
dλ ⎟ ⎢ ⎥ =
⎜ 0 ⎢0 ⎥ ⎟ 1
⎝0 ⎠ ⎦ ⎠⎣ ⎦
−2λ
⎝ ⎣ e
⎡ 1⎛ e −2T − 1 ⎞⎤ ⎡1 ⎛ e −2 T − 1 ⎞⎤
⎢T ⎜T + ⎟⎥ ⎢ ⎜T + ⎟⎥
=⎢ 2 ⎜⎝ 2 ⎟⎠⎥ ⎡0⎤ = ⎢ 2 ⎜⎝ 2 ⎟⎠⎥ = ⎡0.2838⎤
⎢ ⎥ ⎢ ⎥
⎥ ⎣1 ⎦ ⎢ 1 ⎥ ⎣0.4323⎦

⎢⎣ 0
1
2
(
1− e −2 T
) ⎥⎦ (
⎢⎣ 2 1 − e )
−2 T
⎥⎦
Desta forma, o sistema discreto na forma de matrizes de estado é dado por,


3 1 2 2 1 Ak tk
e At = I + At + A t + L + Ak tk + L = ∑
2! k! k =0 k!

68
⎧ x 1 (k + 1) ⎫ ⎡1 0.4323⎤ ⎧ x 1 (k ) ⎫ ⎡0.2838⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+ ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣0 0.1353⎦ ⎩x 2 (k )⎭ ⎣0.4323⎦
⎧ x (k ) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k )⎭
Para a representação em FT discreta,
Y(z)
= G (z) = C(zI − G ) H + D
−1

U(z)
−1
⎛ ⎡1 0⎤ ⎡1 0.4323⎤ ⎞ ⎡0.2838⎤ 0.2838z + 0.1485
= [1 0]⎜⎜ z ⎢ ⎥ −⎢ ⎥ ⎟ ⎢
⎟ ⎥ +0= 2
⎝ ⎣0 1⎦ ⎣0 0.1353⎦ ⎠ ⎣0.4323⎦ z − 1.1353z − 0.1353
O mesmo problema pode ser resolvido utilizando o Matlab,

clear all;close all;clc

% Planta contínua
num=1; % numerador
den=[conv([0 0 1],[1 2 0])]; % denominador

% Transformando para matrizes de Estado


[A,B,C,D]=tf2ss(num,den)

% discretizando as matrizes
T=1;
[G,H]=c2d(A,B,T)

% voltando para TF discreta


[numd,dend]=ss2tf(G,H,C,D)

Observe que neste caso, as matrizes de estado não estão na forma canônica, mas
o resultado em Função de Transferência deve ser exatamente o mesmo.

5.7 Exercícios Resolvidos

Exemplo 5.2: Para o sistema abaixo, converter para matrizes de estado discretas
utilizando o Matlab,
s+2
G (s) = 3
s + 1.6325s 2 + 10.6325s + 10

clear all;close all;clc

% denifindo os dados da planta


T=0.1;
num=[1 2];
den=conv([1 2*0.1*sqrt(10) 10],[1 1]);

% Funções de Transferencia
Gs=tf(num,den) % planta contínua
Gz=c2d(Gs,T) % planta discreta

% Matrizes de Estado
[A,B,C,D]=tf2ss(num,den)

69
MEs=ss(A,B,C,D) % empacotando
MEz=c2d(MEs,T) % Matrizes de estado discreta

Exemplo 5.3: Para uma suspensão ativa representando ¼ de veículo, escrever as


matrizes de estado contínuas supondo que o distúrbio da via seja w(t).

Neste caso, as matrizes que regem o comportamento dinâmico do sistema são


dadas por,
Massa Suspensa,
m S &x& S + c S (x& S − x& N ) + k S (x S − x N ) = u ( t )
Masssa Não-Suspensa,
m N &x& N + c S (x& N − x& S ) + k S (x N − x S ) + k P x N = k P w ( t ) − u ( t )
Que na forma matricial fica,
⎡m S 0 ⎤ ⎧&x& S ⎫ ⎡ c S − c S ⎤ ⎧ x& S ⎫ ⎡ k S − k S ⎤⎧x S ⎫ ⎧ u(t) ⎫
⎢ 0 m ⎥ ⎨&x& ⎬ + ⎢− c ⎥ ⎨ ⎬+ ⎢ ⎥ ⎨ ⎬=⎨ ⎬
⎣ N ⎦⎩ P ⎭ ⎣ S c S ⎦ ⎩x& P ⎭ ⎣− k S k S + k P ⎦ ⎩x P ⎭ ⎩k p w ( t ) − u ( t )⎭
Este caso representa um sistema MIMO, duas entradas e duas saídas. Definindo
as variáveis de estado iniciando pelos deslocamentos,
x 1 = x S ⇒ x& 1 = x& S e x 2 = x N ⇒ x& 2 = x& N
Para as velocidades,
x 3 = x& 1 = &x& S e x 4 = x& 2 = &x& N
Com as definições acima, as equações de estado são dadas por,
x& 1 = x 3
x& 2 = x 4
c k u(t)
x& 3 = − S (x 3 − x 4 ) − S (x 1 − x 2 ) +
mS mS mS
c k k k 1
x& 4 = − S (x 4 − x 3 ) − S (x 2 − x 1 ) − P x 2 + P w ( t ) − u(t)
mN mN mN mN mN
Que na forma matricial fica,
⎡ 0 0 1 0 ⎤ ⎡ 0 0 ⎤
⎧ x& 1 ⎫ ⎢ 0 0 0 1 ⎥ 1⎥ ⎧ x ⎫ ⎢ 0 0 ⎥⎥
⎪x& ⎪ ⎢ k kS c ⎪
c S ⎪x 2 ⎪ ⎪ ⎢
⎪ 2 ⎪ ⎢− S
⎨ ⎬=⎢ m − S ⎥⎨ ⎬ + ⎢ 1 0 ⎥ ⎧⎨ ⎫⎬
u
mS ⎥ x 3
⎪ ⎪ ⎢ S ⎥ ⎩w ⎭
mS mS m
⎪ x& 3 ⎪ ⎢ S

⎪⎩x& 4 ⎪⎭ ⎢ S k ( k + k ) c c ⎥ ⎢ 1 k ⎥
− S P S
− S ⎥ ⎪⎩x 4 ⎪⎭ ⎢− P

⎣ mN mN mN mN ⎦ ⎣ mN mN ⎦
De forma geral, se for sempres assumido que o vetor de estado se inicia com
deslocamentos e depois as velocidades, as matrizes de estado podem ser dadas a partir
das matrizes dinâmicas como,

70
[M ]{X && ( t )} + [C]{X& ( t )} + [K ]{X( t )} = {F( t )}
Sendo que o vetor de estado,
{X( t )} = ⎧⎨ & ⎫⎬
X( t )
⎩X ( t ) ⎭
E as matrizes de estado,
{X& } = ⎡⎢− [M[0]]−1 K − [MI]−1 C⎤⎥{X} + ⎡⎢[M[0]−]1 F⎤⎥{U}
⎣ ⎦ ⎣ ⎦
A resposta do sistema deve ser dado pelo que se deseja medir, supondo que seja
necessário medir os deslocamentos e velocidades,
⎧ y 1 ⎫ ⎡1 0 0 0 ⎤ ⎧ x 1 ⎫ ⎡ 0 0 ⎤
⎪ y ⎪ ⎢0 1 0 0 ⎥ ⎪ x ⎪ ⎢0 0 ⎥ u
⎪ 2⎪ ⎢
⎨ ⎬= ⎥ ⎪⎨ 2 ⎪⎬ + ⎢ ⎥ ⎧⎨ ⎫⎬
⎪ y 3 ⎪ ⎢0 0 1 0 ⎥ ⎪ x 3 ⎪ ⎢0 0 ⎥ ⎩ w ⎭
⎪⎩ y 4 ⎪⎭ ⎢⎣0 0 0 1⎥⎦ ⎪⎩x 4 ⎪⎭ ⎢⎣0 0⎥⎦
Caso seje necessário medir apenas o deslocamento da massa suspensa,
⎧ x1 ⎫
⎪x ⎪
{y1 } = [1 0 0 0]⎪⎨ 2 ⎪⎬ + [0 0]⎧⎨ ⎫⎬
u
⎪x 3 ⎪ ⎩w ⎭
⎪⎩x 4 ⎪⎭

Exemplo 5.4:Para o sistema abaixo, encontrar as matrizes de estado.

As equações de movimento na forma matricial são dadas por,


⎡m1 0 0 ⎤ ⎧ &x&1 ⎫ ⎡ k 1 − k2 0 ⎤ ⎧ x 1 ⎫ ⎧ F1 + u 1 − u 2 ⎫
⎢0 m ⎥ ⎪ ⎪ ⎢ ⎪ ⎪ ⎪ ⎪
⎢ 2 0 ⎥ ⎨&x& 2 ⎬ + ⎢− k 2 k 1 + k 2 − k 3 ⎥⎥ ⎨x 2 ⎬ = ⎨F2 + u 2 − u 3 ⎬
⎢⎣ 0 0 m 3 ⎥⎦ ⎪⎩&x& 3 ⎪⎭ ⎢⎣ 0 − k3 k 2 + k 3 ⎥⎦ ⎪⎩ x 3 ⎪⎭ ⎪⎩ F3 + u 3 ⎪⎭
Portanto, as matrizes de estado podem ser dadas como,
⎡ 0 0 0 1 0 0⎤ ⎡ 0 0 0 0 0 0 ⎤
⎢ ⎥
0 1 0⎥ ⎧ x 1 ⎫ ⎢ 0 ⎥ F
⎧ x& 1 ⎫ ⎢ 0 0 0
⎢ 0 0 0 0 0 ⎥⎧ 1 ⎫
⎪x& ⎪ ⎢ 0 0 0 0 0 1 ⎥ ⎪x 2 ⎪ ⎢ 0 0 0 0 0 0 ⎥ ⎪ F2 ⎪
⎪ 2⎪ ⎢ k k2 ⎥⎪ ⎪ ⎢ 1 1 1 ⎥⎪ ⎪
⎪⎪ x& 3 ⎪⎪ ⎢− 1 0 0 0 0⎥ ⎪⎪ x 3 ⎪⎪ ⎢ 0 0 − 0 ⎥ ⎪⎪ F3 ⎪⎪
⎨ ⎬ = ⎢ m1 m1 +
⎥ ⎨x 4 ⎬ ⎢ m 1 m1 m1 ⎥⎨u ⎬
⎪x& 4 ⎪ ⎢ k 2 k + k2 k3 ⎪ ⎪ 1 1 1 ⎥⎪ 1 ⎪
⎪ x& 5 ⎪ ⎢ − 1 0 0 0⎥ ⎪ x ⎪ ⎢ 0 0 0 − ⎪ ⎪
⎪ ⎪ ⎢ m2 m2 m2 ⎥ 5 ⎢ m2 m2 m 2 ⎥ ⎪u 2 ⎪
⎪⎩x& 6 ⎪⎭ k3 k + k3 ⎥ ⎪⎪x ⎪⎪ ⎢ 1 ⎥
1 ⎪⎩u 3 ⎪⎭
⎢ 0 ⎩ 6⎭ ⎢ 0
− 2 0 0 0⎥ 0 0 0 ⎥
⎢⎣ m3 m3 ⎦⎥ ⎣⎢ m3 m 3 ⎦⎥

71
5.8 Exercícios Propostos

Exercício 5.1: Para a FT abaixo, escrever a representação em matrizes de estado na


forma canônica controlável, observável e diagonal para,
s +1
a) G (s) = para T = 0.1 s;
s(s + 2)(s + 3)
1
b) G (s) = 3 para T = 0.1 s;
s + 4s + 5s + 2
2

Exercício 5.2: Supondo o seguinte sistema dinâmico,

Supondo, m1 = m2 = m3 = 0.5 kg, k1 = k2 = k3 = k4 = 10.000 N/m, c2 = c3 =


50 Ns/m, determinar utilizando o Matlab,

a) Equação de movimento matricial


b) Matrizes de estado contínuas;
c) Matrizes de estado discretas;
d) Freqüências naturais e modos de vibrar;
e) Resposta em freqüência, diagrama de bode;
f) Resposta ao Impulso contínua e discreta.

Exercício 5.3: (Prova 2007) Considerando o sistema abaixo, escrever a forma canônica
controlável e observável,
2z + 0.5
G (z) = 2
z − z + 0.5

72
Capítulo 6

6 Controlabilidade e Observabilidade

6.1 Introdução

A controlabilidade se refere à capacidade do sistema ter seu estado alterado de


qualquer estado para qualquer outro estado, de modo geral significa que o sistema pode
ser controlado.
A observabilidade significa que o sistema pode ter seus estados observados, em
outras palavras, o sistema pode ser inteiramente medido, significando que qualquer tipo
de informação pode ser conseguida.

6.2 Controlabilidade

Um sistema de controle é dito ser de estado completamente controlável se é


possível transferir o sistema de um estado qualquer para um outro estado desejável
qualquer em um período finito de tempo utilizando uma lei de controle sem restrições.
Considerando um sistema em espaço de estados discretos na forma,
x (k + 1) = Gx (k ) + Hu (k )
Sua solução temporal é dada por,
k −1
x (kT) = G k x (0) + ∑ G k − j−1 Hu ( j)
j= 0 k = 1, 2, 3 ...
= G k x (0) + G k −1 Hu (0) + G k − 2 Hu (T ) + L + Hu ((k − 1)T)
Esta solução pode ser rearranjada como,
⎡ u (n − 1) ⎤
⎢u (n − 2)⎥
n
[
x (n ) − G x (0) = H GH L G H ⎢ ] n −1
⎢ M ⎥

⎢ ⎥
⎣ u (0) ⎦
onde n agora é a dimensão da matriz G.
Significando dada uma lei de controle u(k), para alterar o estado do sistema a
matriz necessariamente precisa obedecer à seguinte relação,
[ ]
posto H GH L G n −1 H = n
Esta matriz é conhecida como matriz de controlabilidade. Caso o posto da matriz
de controlabilidade seja menor que n, não significa que o sistema é incontrolável, mas
significa que pelo menos um dos estados não pode ser controlado, isto é, parte do
sistema pode ser controlado e parte não.
Dever ser notado que a controlabilidade de estado independe da saída, isto é, a
controlabilidade de estado é independente das matrizes C e D.

73
Exemplo 6.1: Verificar se os sistemas abaixo são de estado completamente
controláveis.
⎡ x 1 (k + 1) ⎤ ⎡− 1 0 ⎤ ⎡ x 1 (k ) ⎤ ⎡2⎤
⎢ x (k + 1)⎥ = ⎢ 0 − 2⎥ ⎢ x (k )⎥ + ⎢3⎥ u (k )
⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦
Solução: Construindo a matriz de controlabilidade,
⎛ 2 − 1 0 ⎤ ⎡2⎤ ⎞ ⎛ 2 − 2 ⎞
[H GH] = ⎜⎜ ⎡⎢ ⎤⎥ ⎡⎢ ⎥ ⎢3⎥ ⎟⎟ = ⎜⎜ 3 − 6 ⎟⎟
3
⎝⎣ ⎦ ⎣ 0 − 2 ⎦⎣ ⎦ ⎠ ⎝ ⎠
Não é necessário calcular o posto da matriz e controlabilidade, pois é só
observar se as linhas são linearmente independentes, neste caso, o posto = 2, então o
sistema é completamente controlável.

⎡ x 1 (k + 1) ⎤ ⎡− 1 0 ⎤ ⎡ x 1 (k ) ⎤ ⎡2⎤
⎢ x (k + 1)⎥ = ⎢ 0 − 2⎥ ⎢ x (k )⎥ + ⎢0⎥ u (k )
⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ ⎦
Solução: Construindo a matriz de controlabilidade,
⎛ 2 − 1 0 ⎤ ⎡2⎤ ⎞ ⎛ 2 − 2 ⎞
[H GH] = ⎜⎜ ⎡⎢ ⎤⎥ ⎡⎢ ⎥ ⎢ ⎥ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ ⎣0⎦ ⎣ 0 − 2⎦ ⎣0 ⎦ ⎠ ⎝ 0 0 ⎠
Neste caso, claramente o sistema possui posto = 1, significando que o sistema
não é completamente controlável.

⎡ x 1 (k + 1) ⎤ ⎡− 2 1 0 0 0 ⎤ ⎡ x 1 (k + 1) ⎤ ⎡0 1⎤
⎢ x (k + 1)⎥ ⎢ 0 − 2 1 0 0 ⎥⎥ ⎢⎢ x 2 (k + 1)⎥⎥ ⎢⎢0 0⎥⎥
⎢ 2 ⎥ ⎢ ⎡ u 1 (k ) ⎤
⎢ x 3 (k + 1) ⎥ = ⎢ 0 0 −2 0 0 ⎥ ⎢ x 3 (k + 1) ⎥ + ⎢3 0⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣u 2 (k )⎦
⎢ x 4 (k + 1)⎥ ⎢ 0 0 0 − 5 1 ⎥ ⎢ x 4 (k + 1)⎥ ⎢0 0⎥
⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣ 0 0 0 0 − 5⎥⎦ ⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣2 1⎥⎦
Solução: Construindo a matriz de controlabilidade,
[H GH G 2 H G 3 H G 4 H ]
Como a solução é mais complicada, utiliza-se o matlab para resolver o
problema,

clear all;close all;clc

% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -5 1
0 0 0 0 -5]

% definindo matriz H
H=[0 1;0 0;;3 0;0 0;2 1]

% Construindo matriz de Controlabilidade


CO=ctrb(G,H)
rank(CO)

Como o posto = 5, que a dimensão da matriz G, então o sistema é de estado


completamente controlável.

74
⎡ x 1 (k + 1) ⎤ ⎡− 2 1 0 0 0 ⎤ ⎡ x 1 (k + 1) ⎤ ⎡0 1⎤
⎢ x (k + 1)⎥ ⎢ 0 − 2 1 0 0 ⎥⎥ ⎢⎢ x 2 (k + 1)⎥⎥ ⎢⎢3 0⎥⎥
⎢ 2 ⎥ ⎢ ⎡ u 1 (k ) ⎤
⎢ x 3 (k + 1) ⎥ = ⎢ 0 0 −2 0 0 ⎥ ⎢ x 3 (k + 1) ⎥ + ⎢0 0⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎣u 2 (k )⎦
⎢ x 4 (k + 1)⎥ ⎢ 0 0 0 − 5 1 ⎥ ⎢ x 4 (k + 1)⎥ ⎢2 1⎥
⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣ 0 0 0 0 − 5⎥⎦ ⎢⎣ x 5 (k + 1) ⎥⎦ ⎢⎣0 0⎥⎦

Solução: Construindo a matriz de controlabilidade,


[
H GH G 2 H G 3 H G 4 H ]
Como a solução é mais complicada, utiliza-se o matlab para resolver o
problema,

clear all;close all;clc

% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -5 1
0 0 0 0 -5]

% definindo matriz H
H=[0 1;3 0;0 0;2 1;0 0]

% Construindo matriz de Controlabilidade


CO=ctrb(G,H)
rank(CO)

Como o posto = 3 que é menor que a dimensão da matriz G, então o sistema não
é de estado completamente controlável.

6.3 Controlabilidade de saída

Em muitas implementações práticas de sistemas de controle, é desejável


controlar a saída do sistema e não necessariamente todos os estados do sistema. Neste
caso, deve ser lembrado que a resposta do sistema é dada por,
⎛ k −1 ⎞
y(kT) = C⎜⎜ G k x (0) + ∑ G k − j−1 Hu ( j) ⎟⎟ + Du (kT)
⎝ j= 0 ⎠ k = 1, 2, 3 ...
= CG k x (0) + CG k −1 Hu (T ) + L CHu ((k − 1)T)
Esta solução pode ser rearranjada como,
⎡ u (n − 1) ⎤
⎢u (n − 2)⎥
[
y(n ) − CG n x (0) = CH CGH L CG n −1 H ⎢ ] ⎢ M ⎥

⎢ ⎥
⎣ u (0) ⎦
Significando que para a saída ser completamente controlável, o posto da matriz
precisa ser m, que é a dimensão da matriz C, isto é,
[
posto CH CGH L CG n −1 H = m ]

75
Caso esteja presente a matriz D, a condição de controlabilidade completa de
saída é dada por,
[
posto D CH CGH L CG n −1 H = m ]
Dever ser notado que a controlabilidade de saída é dependente de todas as
matrizes que compõe o sistema, isto é, a controlabilidade de saída é dependente das
matrizes G, H, C e D.

6.4 Observabilidade

Um sistema é dito completamente observável se todo estado inicial x(0) pode ser
determinado a partir da observação de y(k) em um período finito de tempo. Utilizando
esta definição, então dado um sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k )
Sua resposta é dada por,
⎛ k −1 ⎞
y(kT) = C⎜⎜ G k x (0) + ∑ G k − j−1 Hu ( j) ⎟⎟ k = 1, 2, 3 ...
⎝ j= 0 ⎠
Fazendo,
y(0) = Cx (0)
y(1) = CGx (0)
M
y(n − 1) = CG n −1 x (0)
Significando que isso ser possível, necessariamente,
⎡ C ⎤
⎢ CG ⎥
posto ⎢ ⎥=n
⎢ M ⎥
⎢ n −1 ⎥
⎣CG ⎦
Esta é conhecida como matriz de observabilidade. Normalmente, esta equação
não é usada, mas a equação transposta dela dada por,
[ (
posto C H (CG ) L CG n −1 = n
H
)H
]
onde H representa a hermitiana, que é o conjugado transposto. Observe que a
observabilidade é independente da matriz de entrada B.

Exemplo 6.2: Considerando os sistemas abaixo, verificar a observabilidade.

⎧ x 1 (k + 1) ⎫ ⎡− 1 0 ⎤ ⎧ x 1 (k ) ⎫
⎨ ⎬=⎢ ⎥⎨ ⎬
⎩x 2 (k + 1)⎭ ⎣ 0 − 2⎦ ⎩x 2 (k )⎭
⎧ x (k ) ⎫
y(k ) = [1 5]⎨ 1 ⎬
⎩x 2 (k )⎭
Encontrando a matriz de observabilidade,
⎡1 ⎡− 1 0 ⎤ ⎧1⎫⎤ ⎡1 − 1 ⎤
[
CH G HCH = ⎢ ⎢ ] ⎥ ⎨ ⎬⎥ = ⎢ ⎥
⎣5 ⎣ 0 − 2⎦ ⎩5⎭⎦ ⎣5 − 10⎦

76
Como se observa, a matriz de observabilidade tem posto 2 que é a mesma ordem
da matriz G, então o sistema é completamente observável.

⎧ x 1 (k + 1) ⎫ ⎡− 1 0 ⎤ ⎧ x 1 (k ) ⎫
⎨ ⎬=⎢ ⎥⎨ ⎬
⎩x 2 (k + 1)⎭ ⎣ 0 − 2⎦ ⎩x 2 (k )⎭
⎧ x (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Encontrando a matriz de observabilidade,
⎡0 ⎡− 1 0 ⎤ ⎧0⎫⎤ ⎡0 0 ⎤
[
CH G HCH = ⎢ ⎢ ] ⎥ ⎨ ⎬⎥ = ⎢ ⎥
⎣1 ⎣ 0 − 2⎦ ⎩1⎭⎦ ⎣1 − 2⎦
Como se observa, a matriz de observabilidade tem posto 1 que é menor que
ordem da matriz G, então o sistema não é completamente observável.

⎧ x 1 (k + 1) ⎫ ⎡2 0 01 0 ⎤ ⎧ x 1 (k ) ⎫
⎪x (k + 1)⎪ ⎢0 1 02 0 ⎥⎥ ⎪⎪x 2 (k )⎪⎪
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪
⎨ 3x ( k + 1) ⎬ = ⎢02 00 0 ⎥ ⎨ x 3 (k ) ⎬
⎪x (k + 1)⎪ ⎢0 ⎥
0 − 3 1 ⎥ ⎪x 4 (k )⎪
0
⎪ 4 ⎪ ⎢ ⎪ ⎪
⎪⎩ x 5 (k + 1) ⎪⎭ ⎢⎣0 0 0 − 3⎥⎦ ⎪⎩ x 5 (k ) ⎪⎭
0
⎧ x 1 (k ) ⎫
⎪x (k )⎪
⎧ y1 (k ) ⎫ ⎡1 1 1 0 1⎤ ⎪⎪ ⎪⎪
2

⎨ =
⎬ ⎢ x
⎥⎨ 3 ⎬ ( k )
⎩ y 2 ( k ) ⎭ ⎣0 1 1 1 0 ⎦ ⎪ x ( k ) ⎪
⎪ 4 ⎪
⎪⎩ x 5 (k ) ⎪⎭
Como o sistema definido acima é um sistema de alta ordem, difícil de ser feito,
utiliza-se o Matlab,

clear all;close all;clc

% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -3 1
0 0 0 0 -3]

% definindo matriz C
C=[1 1 1 0 1
0 1 1 1 0]

% Construindo matriz de Controlabilidade


OB=obsv(G,C)
rank(OB)

Como o posto da matriz de observabilidade é 5 que é a mesma dimensão da


matriz G, então o sistema é completamente observável.

77
⎧ x 1 (k + 1) ⎫ ⎡2 1 0 0 ⎤ ⎧ x 1 (k ) ⎫
0
⎪x (k + 1)⎪ ⎢0 2 1 0 ⎥⎥ ⎪⎪x 2 (k )⎪⎪
0
⎪⎪ 2 ⎪⎪ ⎢ ⎪ ⎪
⎨ 3x ( k + 1) ⎬ = ⎢0
0 2 0 0 ⎥ ⎨ x 3 (k ) ⎬
⎪x (k + 1)⎪ ⎢0 ⎥
0 0 − 3 1 ⎥ ⎪x 4 (k )⎪
⎪ 4 ⎪ ⎢ ⎪ ⎪
⎪⎩ x 5 (k + 1) ⎪⎭ ⎢⎣0
0 0 0 − 3⎥⎦ ⎪⎩ x 5 (k ) ⎪⎭
⎧ x 1 (k ) ⎫
⎪x (k )⎪
⎤ ⎪⎪ ⎪⎪
2
⎧ 1 ⎫ ⎡
y ( k ) 1 1 1 0 1
⎨ ⎬=⎢ ⎥ ⎨ x 3 (k ) ⎬
⎩ y 2 ( k ) ⎭ ⎣0 1 1 0 0 ⎦ ⎪ x ( k ) ⎪
⎪ 4 ⎪
⎪⎩ x 5 (k ) ⎪⎭
Como o sistema definido acima é um sistema de alta ordem, difícil de ser feito,
utiliza-se o Matlab,

clear all;close all;clc

% definindo matriz G
G=[-2 1 0 0 0
0 -2 1 0 0
0 0 -2 0 0
0 0 0 -3 1
0 0 0 0 -3]

% definindo matriz C
C=[1 1 1 0 1
0 1 1 0 0]

% Construindo matriz de Controlabilidade


OB=obsv(G,C)
rank(OB)

Como o posto da matriz de observabilidade é 4 que é menor que a dimensão da


matriz G, então o sistema é não é completamente observável.

6.5 Comentários gerais sobre controlabilidade e


observabilidade

Nesta parte, será feito alguns comentários sobre a controlabilidade e


observabilidade de sistemas em tempo discreto.

6.5.1 Condições de controlabilidade e observabilidade em termos


de Funções de Transferência

Em se tratando de funções de transferência, não deve haver cancelamentos entre


pólos e zeros das plantas, isso significará que este estado será não observável e não
controlável. Este tipo de situação pode ocorrer em sistemas em série, onde os zeros de
uma planta são os pólos da outra. Como em alguns casos o desejável é realizar o
controle entre as duas, isso não será possível.

78
Exemplo 6.3: Mostrar que o sistema abaixo não é completamente controlável,
Y(z) z + 0.2
= 2
U(z) z + z + 0.16
Escrevendo na forma canônica controlável,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1⎤ ⎧ x 1 (k ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.16 1⎦ ⎩x 2 (k )⎭ ⎣1⎦
⎧ x (k ) ⎫
y(k ) = [0.2 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Porém, a matriz G pode ser rearranjada e o sistema fica,
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.16 0⎦ ⎩x 2 (k )⎭ ⎣1⎦
⎧ x (k ) ⎫
y(k ) = [0.2 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Verificando a controlabilidade,
⎡ 0 1 ⎞⎛ 0 ⎞⎤ ⎡0 0⎤
[H GH] = ⎢⎛⎜⎜ ⎞⎟⎟ ⎛⎜⎜
0
⎟⎟⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 1 ⎠ ⎝ − 0.16 0 ⎠⎝ 1 ⎠⎦ ⎣1 1⎦
Verificando que o sistema não é completamente controlável. Pode-se verificar
isso diretamente pela matriz G, onde a diagonal principal é nula, outra forma é
fatorando o denominado da FT,
Y(z) z + 0.2 z + 0.2
= 2 =
U(z) z + z + 0.16 (z + 0.8)(z + 0.2)
Neste caso, verifica-se que há um zero cancelando um pólo.

Exemplo 6.4: Verificar que o sistema não é observável,


⎧ x 1 (k + 1) ⎫ ⎡ 0 1 0 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎪ ⎪ ⎢ ⎪ ⎪
⎨x 2 (k + 1)⎬ = ⎢ 0 0 1 ⎥⎥ ⎨x 2 (k )⎬ + ⎢⎢0⎥⎥ u (k )
⎪ x (k + 1) ⎪ ⎢− 6 − 11 − 6⎥ ⎪ x (k ) ⎪ ⎢1⎥
⎩ 3 ⎭ ⎣ ⎦⎩ 3 ⎭ ⎣ ⎦
⎧ x 1 (k ) ⎫
⎪ ⎪
y(k ) = [4 5 1]⎨x 2 (k )⎬
⎪ x (k ) ⎪
⎩ 3 ⎭
Para a observabilidade,
⎡⎛ 4 ⎞ ⎛ 0 0 − 6 ⎞⎛ 4 ⎞ ⎛ 0 − 6 36 ⎞⎛ 4 ⎞⎤ ⎡4 − 6 6 ⎤
⎢⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎥ ⎢
[C H H H
G C 2H H
]
G C = ⎢⎜ 5 ⎟ ⎜ 1 0 − 11⎟⎜ 5 ⎟ ⎥
⎜ 0 − 11 60 ⎟⎜ 5 ⎟⎥ = ⎢5 − 7 5 ⎥
⎢⎣⎜⎝ 1 ⎟⎠ ⎜⎝ 0 1 − 6 ⎟⎠⎜⎝ 1 ⎟⎠ ⎜ 1 − 6 25 ⎟⎜ 1 ⎟⎥ ⎢1 1 − 1⎥
⎝ ⎠⎝ ⎠⎦ ⎣ ⎦

Cujo determinante é zero, mostrando que o posto da matriz de observabilidade é


menor que a dimensão da matriz G assim, o sistema não é completamente observável.
Este fato provém do cancelamento entre um pólo por um zero, observe que a FT é dada
por,
Y(z)
= C(zI − G ) H = 3
−1 z 2 + 5z + 4
=
(z + 1)(z + 4)
U(z) z + 6z + 11z + 6 (z + 1)(z + 2 )(z + 3)
2

79
Observando que um pólo é cancelado por um zero, significando que este
resultado não pode ser observado, pois sua influência é anulada.

6.5.2 Efeito da discretização

Quando um sistema sofre uma discretização, isto é, quando um sistema é


passado de tempo contínuo para tempo discreto, dependendo da taxa de amostragem T
empregada, poderá haver cancelamento entre pólos e zeros. Para exemplificar,
considera-se o sistema abaixo,
⎧ x& 1 ( t ) ⎫ ⎡ 0 1⎤ ⎧ x 1 ( t ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u(t)
⎩x& 2 ( t )⎭ ⎣− 1 0⎦ ⎩x 2 ( t )⎭ ⎣1⎦
⎧ x (t) ⎫
y( t ) = [1 0]⎨ 1 ⎬
⎩x 2 ( t ) ⎭
Cujas matrizes de controlabilidade e observabilidade são dadas por,
[ ]
[B AB] = ⎡⎢ ⎤⎥ e C H A H C H = ⎡⎢ ⎤⎥
0 1 1 0
⎣1 0⎦ ⎣0 1 ⎦
Significando que para tempo contínuo o sistema é completamente controlável e
observável. Aplicando a discretização, encontra-se,
⎧ x 1 (k + 1) ⎫ ⎡ cos T sin T ⎤ ⎧ x 1 (k ) ⎫ ⎡1 − cos T ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− sin T cos T ⎦ ⎩x 2 (k )⎭ ⎣ sin T ⎦
⎧ x (k ) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k )⎭
A questão será, há algum valor de T para qual o sistema perderá controlabilidade
e observabilidade? Para responder a esta questão, faz-se,
⎡ ⎤
[H GH] = ⎢1 − cos T cos T + 1 − 2 cos T ⎥
2

⎣ sin T − sin T + 2 cos T sin T ⎦


Para que não tenha controlabilidade, faz-se o determinante igual a zero,
chegando a,
− 2 sin T(1 − cos T ) = 0
Significando que para T = nπ a matriz de controlabilidade será de posto menor
que a dimensão da matriz G, mostrando que o sistema será de estado não
completamente controlável.
O mesmo fato pode ser verificado através da matriz de observabilidade,
[ ]
CH G HCH = ⎢
⎡1 cos T ⎤

⎣0 sin T ⎦
Fisicamente, o que ocorreu foi que se pretende observar uma freqüência que é
exatamente igual à Nyquist, por isso não foi possível controlá-la.

6.5.3 Princípio da dualidade

Como a transformação para espaço de estados não é única, então há uma


transformação de uma forma para outra, a qual será útil quando se deseja obter uma
forma canônica de estado.

80
Supondo um sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Para transformá-lo na forma canônica controlável, aplica-se uma matriz de
transformação T na forma,
T = MW e x (k ) = Tx̂ (k )
onde M é a matriz de controlabilidade dada por,
[
M = H GH L G n −1 H ]
e a matriz W é dada por,
⎡ a n −1 a n − 2 L a 1 1⎤
⎢a ⎥
⎢ n − 2 a n −3 L 1 0⎥
W=⎢ M M O M M⎥
⎢ ⎥
⎢ a1 1 L 0 0⎥
⎢⎣ 1 0 L 0 0⎥⎦
Aplicando esta transformação no sistema, encontra-se,
x̂ (k + 1) = T −1GTx̂ (k ) + T −1 Hu (k )
ŷ(k ) = CTx̂ (k ) + Du (k )
onde o sistema definido acima está na forma canônica controlável.

Para transformá-lo na forma canônica observável, aplica-se,


( )
−1
Q = WN H e x (k ) = Qx̂ (k )
onde N é a matriz de observabilidade dada por,
[
N = CH G HCH L G H ( ) n −1
]
HH
Aplicando esta transformação no sistema, encontra-se
x̂ (k + 1) = Q −1GQx̂ (k ) + Q −1 Hu (k )
ŷ(k ) = CQx̂ (k ) + Du (k )
Interessante notar que se o sistema está na forma canônica controlável dada por,
x (k + 1) = Ĝx (k ) + Ĥu (k )
y(k ) = Ĉx (k ) + D̂u (k )
Para se obter a forma canônica observável, basta fazer,
() H
x (k + 1) = Ĝx (k ) + Ĉ u (k )
() H
y(k ) = Ĥ x (k ) + D̂u (k )
Esta equação demostra o princípio da dualidade

6.6 Exercícios Resolvidos

Exemplo 6.5: Verificar para que valores de a, b, c e d o sistema é completamente


controlável e observável.

81
⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 (k ) ⎫ ⎡a ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.4 − 1.3⎦ ⎩x 2 (k )⎭ ⎣b ⎦
⎧ x (k ) ⎫
y(k ) = [c d ]⎨ 1 ⎬
⎩x 2 (k )⎭
Solução: a matriz de controlabilidade,
⎡ a 1 ⎤ ⎡a ⎤ ⎤ ⎡a
[H GH] = ⎢ ⎡⎢ ⎤⎥ ⎡⎢ ⎤
0 b
⎥ ⎢ ⎥ ⎥=⎢ ⎥
⎣ ⎣b ⎦ ⎣− 0.4 − 1.3⎦ ⎣b ⎦ ⎦ ⎣b − 0.4a − 1.3b ⎦
Calculando o determinante e, para que o sistema seje completamente
controlável, o determinante deve ser diferene de zero, então,
− 0.4a 2 − 1.3ab − b 2 ≠ 0
Para a matriz de observabilidade,
⎡ [c d] ⎤
⎡C ⎤ ⎢ ⎥=⎡ c d ⎤
⎢CG ⎥ = ⎢[c d ] ⎡ 0 1 ⎤ ⎢ ⎥
⎣ ⎦ ⎢ ⎢− 0.4 − 1.3⎥ ⎥ ⎣− 0.4d c − 1.3d ⎦
⎣ ⎣ ⎦⎦⎥
Portanto,
c 2 − 1.3cb + 0.4d 2 ≠ 0
Como os valores de a, b, c e d não podem ser valores complexos, tem-se a
resposta como,

6.7 Exercícios Propostos

Exercício 6.1: Para a FT abaixo, escrever a representação em matrizes de estado na


forma canônica controlável, observável e diagonal para utilizando as transformações.
s +1
G (s) = para T = 0.1 s;
s(s + 2)(s + 3)

Exercício 6.2: Determinar para quais valores de a o sistema é completamente


observável e controlável.

82
z +1
a) G (z) =
z + az 2 + z − 1
3

az + 1
b) G (z) = 2
z + 3z − 1
az 2 − 2z + 1
c) G (z) = 2
z + 3z − 1

83
Capítulo 7

7 Projeto de Controladores via Alocação de Pólos

7.1 Introdução

A alocação de pólos é uma técnica parecida com a técnica do lugar das raízes, a
qual consiste em realizar uma realimentação de saída para realocar ou ajustar os pólos
de malha fechada. Porém a técnica do lugar das raízes é baseada na alocação apenas dos
pólos dominantes do sistema em malha fechada, que são os pólos com a menor parte
real possível. Já a técnica de alocação de pólos posiciona todos os pólos do sistema em
malha fechada através de uma realimentação de estado.
Como será feita uma realimentação de estado, considera-se que os estados estão
disponíveis, caso não estejam, eles necessitam se estimados através de um estimador de
estado que será visto mais adiante e o sistema é de estado completamente controlável.
Sendo assim, dado o sistema na forma,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
A realimentação de estado será dada por4,
u (k ) = −Kx (k )
onde K representa um vetor de ganhos de realimentação se u(k) for uma única lei de
controle, caso haja várias leis de controle, K será uma matriz.
Assim, o sistema em malha fechada é dado por,
x (k + 1) = Gx (k ) + Hu (k ) = Gx (k ) − HKx (k ) = (G − HK )x (k )
y(k ) = Cx (k ) + Du (k )
Portando a conduta do sistema realimentado será dada por,
~
G = G − HK
Portanto, deve-se especificar os pólos do sistema de malha fechada através dos
pólos de G-HK da seguinte forma,
~
det zI − G = (z − p1 )(z − p 2 )L (z − p n )
Para encontrar os valores do vetor ou matriz de ganho K basta resolver esta
equação. Porém, ela pode ser complicada, para isso criou-se a fórmula abaixo.

4
Se a referência a ser seguida é zero, o sistema de controle é denominado de regulador, caso contrário, o
sistema de controle é denominado controlador.

84
x(k+1) x(k)
1
H
z

G* u

u(k)
-Kc* u

Figura 7.1: Diagrama de blocos de um sistema de controle por realimentação de estado


para um regulador.

7.2 Fórmula de Ackermann

Esta fórmula permite encontrar o ganho do controlador de realimentação de


estado facilmente. Para a sua dedução inicia-se expandindo a equação característic de
malha fechada,
zI − G + HK = (z − p1 )(z − p 2 )L (z − p n )
= z n + α 1 z n −1 + α 2 z n − 2 + L α n −1 z + α n = 0
~
Utilizando o teorema de Cayley-Hamilton que diz que G deve satisfazer sua
~
própria equação característica, isto é, substituindo G no lado direito no lugar de z,
~ ~ ~ ~
( )
G n + α1G n −1 + α 2 G n − 2 + L + α n −1G + α n I = φ G = 0
~
Agora fazendo as multiplicações,
I=I
~
G = G − HK
~2
G = (G − HK ) = G 2 − GHK − HKG + (HK )
2 2

~
= G 2 − GHK − HK (G − HK ) = G 2 − GHK − HKG
~
(
G 3 = (G − HK ) = (G − HK ) (G − HK ) = G 2 − GHK − HKG (G − HK ) =
3 2
) ~
~ ~
= G 3 − G 2 HK − GHKG + G (HK ) − HKGG + HKGHK =
2

~
= G 3 − G 2 HK − GHK (G − HK ) − HKG (G − HK ) =
~ ~
= G 3 − G 2 HK − GHKG − HKG 2
M
~n ~
G = (G − HK ) = G n − G n −1 HK − L − HKG n −1
n

Então, a equação fica,


~ ~ ~
( ) ~
α n I + α n −1G + α n − 2 G 2 + L + G n = α n I + α n −1 (G − HK ) + α n − 2 G 2 − GHK − HKG +
~
L + G n − G n −1 HK − L − HKG n −1
Expandindo os termos e rearranjando na forma,

85
~ ~ ~
α n I + α n −1G + α n − 2 G 2 + L + G n = α n I + α n −1G + α n − 2 G 2 + L + G n +
( ~
) ~
− α n −1 HK − α n − 2 GHK + HKG − L − G n −1 HK − L − HKG n −1

Observando que a primeira linha do lado direito é φ(G),


( )
~
( ~
)
φ G = φ(G ) − α n −1 HK − α n − 2 GHK + HKG − L − G n −1 HK − L − HKG n −1
~
Que pode ser escrito como,
~ ~
⎡ α n −1 K + α n − 2 KG + L + KG n −1 ⎤
⎢ ~ ~ ⎥
( )
~
[
φ G = φ(G ) − H GH L G H n −1 ⎢

]
α n − 2 K + α n −3 KG + L + KG n − 2 ⎥
M ⎥
=0
⎢ ⎥
⎢⎣ K ⎥⎦
[ n −1
]
Observa-se que a matriz H GH L G H é a matriz de controlabilidade,
então,
~ ~
⎡ α n −1 K + α n − 2 KG + L + KG n −1 ⎤
⎢ ~ ~ n −2 ⎥
[
⎢α n − 2 K + α n −3 KG + L + KG ⎥ = H GH L G n −1 H −1 φ(G )
⎢ ⎥
]
M
⎢ ⎥
⎢⎣ K ⎥⎦
Sobrou apenas o K na n-ésima linha e ele pode ser extraído multiplicando ambos
os lados por [0 0 0 … 1], assim,
~ ~
⎡ α n −1 K + α n − 2 KG + L + KG n −1 ⎤
⎢ ~ ~ ⎥
α n − 2 K + α n −3 KG + L + KG n − 2 ⎥
[0 0 L 1]⎢ ⎢

=
M
⎢ ⎥
⎢⎣ K ⎥⎦
[
= [0 0 L 1] H GH L G n −1 H φ(G ) ]
−1

Então, têm-se que,


[
K = [0 0 L 1] H GH L G n −1 H φ(G ) ]
−1

Esta é a Fórmula de Ackermann para a determinação do ganho de realimentação


de estado.

7.3 Formas alternativas para o ganho K

A fórmula de Ackermann é uma excelente alternativa para o cálculo do ganho K


por ser de fácil implementação computacional, contudo existem alternativas à sua
utilização, como se verá a seguir.

1. Comparação direta: Este método consiste em substituir diretamente os


coeficientes do ganho K dentro da equação característica,
zI − G + HK = (z − p1 )(z − p 2 )L (z − p n )
= z n + α 1 z n −1 + α 2 z n − 2 + L α n −1 z + α n = 0
Porém, só é de fácil aplicação quando a ordem do sistema é baixa.

2. Outra forma do cálculo do ganho K é através de,

86
K = [α n − a n α n −1 − a n −1 L α1 − a 1 ]T −1
= [α n − a n α n −1 − a n −1 L α1 − a 1 ](MW )
−1

onde,
⎡ a n −1 a n − 2 L a 1 1⎤
⎢a ⎥
⎢ n − 2 a n −3 L 1 0⎥
[
M = H GH L G n −1 H ]
e W=⎢ M M O M M⎥
⎢ ⎥
⎢ a1 1 L 0 0⎥
⎢⎣ 1 0 L 0 0⎥⎦
Quando este modo for aplicado, se o sistema estiver na forma canônica
controlável, a matriz transformação T torna-se a identidade, facilitando a aplicação do
método.

3. Se os pólos desejados pi para o sistema em malha fechada forem distintos,


pode-se aplicar a seguinte relação diretamente,
K = [1 1 L 1][ξ1 ξ 2 L ξ n ]
−1

onde,
ξ i = (G − p i ) H com i = 1 ... n
−i

Se a resposta desejada for “dead beat”, significando que pi = 0, então,


ξ i = G − i H com i = 1 ... n

Exemplo 7.1: Considerando o sistema abaixo,


⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.16 − 1⎦ ⎩x 2 (k )⎭ ⎣1⎦
Cujos pólos do sistema são,
z 1 ⎧z = −0.2
zI − G = = z 2 + z + 0.16 ⇒ ⎨ 1
− 0.16 z − 1 ⎩z 1 = −0.8
E os pólos de malha fechada sejam,
z 1, 2 = 0.5 ± j0.5
Solução: O primeiro passo é verificar se o sistema é de estado completamente
controlável. Então, a matriz de controlabilidade é,
⎡ 0 1 ⎞⎛ 0 ⎞⎤ ⎡0 1 ⎤
[H GH] = ⎢⎛⎜⎜ ⎞⎟⎟ ⎛⎜⎜
0
⎟⎟⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 1 ⎠ ⎝ − 0.16 − 1⎠⎝ 1 ⎠⎦ ⎣1 − 1⎦
Significando que o sistema é de estado completamente controlável.

Agora aplicando a fórmula de Ackermann,


K = [0 1][H GH ] φ(G )
−1

Para φ(G), que é o novo polinômio característico que no lugar de z é G,


φ(z ) = (z − 0.5 + j0.5)(z − 0.5 − j0.5) = z 2 − z + 0.5
Portanto,
⎡0 1 ⎤ ⎛⎜ ⎡ 0 ⎡1 0⎤ ⎞⎟
−1 2
1⎤ ⎡ 0 1⎤
K = [0 1]⎢ ⎥ ⎢ ⎥ ⎢− ⎥ + 0 . 5 ⎢0 1⎥ ⎟ = [0.34 − 2]
⎣1 − 1⎦ ⎜⎝ ⎣− 0.16 − 1⎦ ⎣− 0.16 − 1⎦ ⎣ ⎦⎠

87
clear all;close all;clc

% Matrizes do sistema
G=[0 1;-0.16 -1]
H=[0;1]

% Vetor dos novos polos


im=sqrt(-1);
P=[0.5+im*0.5 0.5-im*0.5]

% Utilizando Fórnula de Ackermann


K=acker(G,H,P)

% Forma alternativa
K=place(G,H,P)

Root Locus Root Locus


1
0.5π/T 0.6π/T 0.5π/T 0.4π/T
0.6π/T 0.4π/T
0.8 0.7π/T 0.3π/T
0.8 0.7π/T 0.1 0.3π/T
0.2
0.3 0.6
0.6 0.8π/T 0.2π/T
0.8π/T System: Gma 0.4 0.2π/T
Gain: 0 0.5 0.4 System: Gmf
0.4 0.6
Pole: -0.2 0.7 Gain: 0
0.9π/T 0.1π/T
0.9π/T Damping: 0.456 0.8 0.1π/T 0.2 Pole: 0.5 + 0.5i
0.2 Overshoot (%): 20 0.9 Damping: 0.404
Imaginary Axis

Imaginary Axis

Frequency (rad/sec): 3.53 π/T Overshoot (%): 25 System: Gmf


π/T 0
0 π/T Frequency (rad/sec): 0.858 Gain: 0
π/T
System: Gma 0.9 Pole: 0.5 - 0.5i
-0.2 Damping: 0.404
-0.2 Gain: 0 0.9π/T 0.8 0.1π/T
0.9π/T Pole: -0.8 0.1π/T 0.7 Overshoot (%): 25
Damping: 0.0709 -0.4 0.6 Frequency (rad/sec): 0.858
-0.4 0.5
Overshoot (%): 80
0.8π/T 0.4 0.2π/T
0.8π/T
Frequency (rad/sec): 3.15 0.2π/T -0.6 0.3
-0.6
0.2
-0.8 0.7π/T 0.10.3π/T
-0.8 0.7π/T 0.3π/T
0.6π/T 0.4π/T
0.6π/T 0.4π/T 0.5π/T
0.5π/T -1
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis Real Axis

Figura 7.2: lugar das raízes

7.4 Controle por Realimentação de Estado

Quando há uma entrada de referência, o sistema fica,


x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k ) + Du (k )
Supondo agora que a lei de controle seja dada por,
u (k ) = k 0 r (k ) − Kx (k )
onde r(k) é uma referência a ser seguida e k0 é uma constante para ajustar a resposta
controlada do sistema para que não ocorra erro estacionário, isto significa que se a
referencia a ser seguida for o degrau unitário então a saída deverá ser tal que y(∞)→1.
Então, o ganho k0 precisa ser ajustado.
x (k + 1) = Gx (k ) + H(rk 0 (k ) − Kx (k ) ) = (G − HK )x (k ) + Hk 0 r (k )
y(k ) = Cx (k ) + Du (k )
Neste caso, a conduta do sistema é dada por G – HK, a mesma conduta
apresentada para um regulador. Desta forma, as mesmas fórmulas para calcular o ganho
K podem ser aplicadas.

88
r(k) x(k+1) x(k) y(k)
k0 H 1/z C C

G* u

Kc* u

Figura 7.3: Controle por realimentação de estado. Desenhar

Exemplo 7.2: Dado o sistema baixo.

⎧ x 1 (k + 1) ⎫ ⎡ 0 1 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎨ ⎬=⎢ ⎥ ⎨x (k )⎬ + ⎢1⎥ u (k )
⎩ x 2 ( k + 1) ⎭ ⎣ − 0 .16 − 1 ⎦⎩ 2 ⎭ ⎣ ⎦
⎧ x (k ) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k )⎭
E os pólos de malha fechada sejam,
z 1, 2 = 0.5 ± j0.5
Solução: Para o ganho K,
⎡0 1 ⎤ ⎛⎜ ⎡ 0 ⎡1 0⎤ ⎞⎟
−1 2
1⎤ ⎡ 0 1⎤
K = [0 1]⎢ ⎥ ⎢ ⎥ ⎢ − ⎥ + 0 . 5 ⎢0 1⎥ ⎟ = [0.34 − 2]
⎣1 − 1⎦ ⎜⎝ ⎣− 0.16 − 1⎦ ⎣− 0.16 − 1⎦ ⎣ ⎦⎠
Agora basta encontrar o ganho k0 para que o sistema em malha fechada não
tenha erro estacionário. Para isso, encontra-se a FT do sistema,
Y(z)
U(z)
(~ −1 ~
= G (z) = C zI − G H )
onde neste caso,
~ ⎡ 0 1 ⎤ ⎡0 ⎤ ⎡ 0 1⎤
G = G − HK = ⎢ ⎥ − ⎢ ⎥[0.32 − 2] = ⎢ ⎥
⎣− 0.16 − 1⎦ ⎣1⎦ ⎣− 0.5 1⎦
~
H = k0H
Portanto,
−1
Y(z)
(~ −1 ~
= G (z) = C zI − G H = [1 0]⎢) ⎡z −1 ⎤
⎥ k 0
⎡0 ⎤
⎢ ⎥ = 2
k0
U(z) ⎣0.5 z − 1⎦ ⎣1⎦ z − z + 0.5
5
Para o erro estacionário ,
⎛ 1 ⎞
lim y(k ) = lim(1 − z −1 )Y(z) = lim⎜⎜ (1 − z −1 ) 2
k0 k0
⎟⎟ = =1
k →∞ z →1 z →1
⎝ z − z + 0.5 (1 − z ) ⎠ 1 − 1 + 0.5
−1

Portanto,
k 0 = 0.5

clear all;close all;clc

5
Deve ser lembrado que Y(z)=G(z)U(z), com R(z) sendo a entrada degrau unitário.

89
% Matrizes do sistema
G=[0 1;-0.16 -1];
H=[0;1];
C=[1 0];D=0;
T=1;

% sistema em malha aberta empacotado


Gma=ss(G,H,C,D,T)

% Vetor dos novos polos


im=sqrt(-1);
P=[0.5+im*0.5 0.5-im*0.5]

% Calculando ganho K
K=acker(G,H,P)
K=place(G,H,P)

% sistema em malha fechada


Gf=G-H*K;
Hf=0.5*H;
Gmf=ss(Gf,Hf,C,D,T)

% cálculo da resposa ao degrau


step(Gma,30);hold on
step(Gmf,30);hold off
legend('Gma','Gmf')

Step Response
1.4
Gma
Gmf
1.2

0.8
Amplitude

0.6

0.4

0.2

0
0 5 10 15 20 25 30
Time (sec)

Figura 7.4:Resposta ao degrau unitário do sistema sem controle e malha fechada com o
controlador

7.5 Observadores de Estado

No início deste capítulo, foi apresentada a realimentação de estado, onde


admitia-se que os estados do sistema estavam disponíveis, porém, nem sempre isso é
possível, já que em muitas aplicações de sistemas de controle, mede-se apenas algumas

90
variáveis de saída, sendo assim, nem todos os estados estão disponíveis para serem
utilizados na realimentação de estados.
Neste caso, deve-se criar um estimador de estados que pode ser de ordem
completa, em que todos os estados são estimados, de ordem mínima, em que apenas os
estados não medidos são estimados, ou de ordem reduzida, em que os estados não
medidos e alguns dos estados medidos são estimados.
Os estados do sistema serão estimados com base nas entradas e nas saídas
disponíveis do sistema, isto é, através da entrada u(k) e da saída y(k), será “projetado”
um novo sistema tal que os estados deste novo sistema sejam os estados reais do sistema
a ser controlado, ver Figura 7.5, onde ~ x (k ) representa a estimativa dos estados da
planta original. Como é previsto que será utilizada a saída do sistema, dever ser notado
que a condição de observabilidade deve ser obedecida.

Figura 7.5: Sistema de controle por realimentação de estados junto com observador de
estado.

7.5.1 Observadores de Estado de Ordem Completa

Então, considerando um sistema, cujos estados x(k) não podem ser medidos,
dado por,
x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k )
Supondo que os estados do sistema acima podem ser aproximados pelos estados
do seguinte sistema,
~
x (k + 1) = G~x (k ) + Hu (k )
~y(k ) = C~
x (k )
onde as matrizes G, H, C e D são as mesmas matrizes de estado do sistema cujos
estados não podem ser medidos. Na prática, estas matrizes precisam ser estimadas,
assunto que não será abordado aqui. Além disso, tem-se que a resposta dos dois
sistemas deve ser a mesma, isto significa que a diferença das respostas deve tender a
zero com o passar das iterações, isto é,
lim (y(k ) − ~y(k ) ) = 0
k →∞
Uma forma de fazer com que isso ocorra é pela introdução de um sistema de
controle, pois se as entradas e as saídas forem as mesmas, as matrizes são as mesmas,
isso significa que os estados são os mesmos, então o sistema utilizado para a estimação
de estados deve ser dado por,

91
~
x (k + 1) = G~x (k ) + Hu (k ) + K e (y(k ) − ~y(k ) )
~y(k ) = C~
x (k )
onde Ke é um controlador introduzido para garantir que os dois sistemas se comportem
da mesma forma.

x(k+1) x(k) y(k)


1
H C
z

G* u

u(k)
Kc* u

xt(k+1)
1 xt(k)
H C
z yt(k)

G* u

Ke.'* u

Figura 7.6: Sistema de controle por realimentação de estados junto com observadores de
estado completo.

O sistema do estimador de estado completo pode ser reescrito substituindo


~y(k ) = C~
x (k ) ,
x (k + 1) = (G − K e C )~
~ x (k ) + Hu (k ) + K e y(k )
~y(k ) = C~
x (k )
Observe que a matriz do sistema é dada por (G-KeC) e para um sistema de
controle por realimentação de estado é dada por (G-HK). Então, do princípio da
dualidade entre a forma canônica controlável e observável, o controlador Ke pode ser
encontrado da mesma forma que o vetor de ganho K, pois,
zI − G + HK = (z − p1 )(z − p 2 )L (z − p n )
= z n + α 1 z n −1 + α 2 z n − 2 + L α n −1 z + α n = 0
Agora, a expressão torna-se,
zI − G H + K eH C H = (z − p1 )(z − p 2 )L (z − p n )
= z n + α1 z n −1 + α 2 z n − 2 + L α n −1 z + α n = 0
Significando que o ganho de estado era dado por, utilizando a fórmula de
Ackermann,
[
K = [0 0 L 1] H GH L G n −1 H φ(G ) ]
−1

Então, o ganho do estimador de estado pode ser dado por,

92
−1
⎡ C ⎤ ⎡0 ⎤
⎢ CG ⎥ ⎢0⎥
K e = φ(G )⎢ ⎥ ⎢ ⎥
⎢ M ⎥ ⎢M ⎥
⎢ n −1 ⎥ ⎢ ⎥
⎣CG ⎦ ⎣1⎦
Deve-se notar que a fórmula para o cálculo do vetor de ganho do observador de
estado depende da inversa da matriz de observabilidade.

Exemplo 7.3: Supondo o sistema,


⎧ x 1 (k + 1) ⎫ ⎡0 − 0.16⎤ ⎧ x 1 (k ) ⎫ ⎡0⎤
⎨ ⎬=⎢ ⎨ ⎬+ u (k )
⎩x 2 (k + 1)⎭ ⎣1 − 1 ⎥⎦ ⎩x 2 (k )⎭ ⎢⎣1⎥⎦
⎧ x (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 (k )⎭
Projetar um observador de estado completo para que o estimador de estado tenha
pólos em,
z 1, 2 = 0.5 ± j0.5
Solução: O polinômio característico para o observador,
φ(z ) = (z − 0.5 + j0.5)(z − 0.5 − j0.5) = z 2 − z + 0.5
E o ganho do observador,
−1
⎡ C ⎤ ⎡0 ⎤
K e = φ(G )⎢ ⎥ ⎢ ⎥
⎣CG ⎦ ⎣1⎦

⎛ ⎡0 − 0.16⎤ 2 ⎡0 − 0.16⎤ ⎡ [0 1] ⎤
−1

⎡1 0⎤ ⎞⎟ ⎢ ⎡0⎤

= ⎢ −⎢ + 0.5⎢ ⎡ 0 − 0.16 ⎤⎥ ⎢ ⎥
⎣0 1⎦ ⎟⎠ ⎢⎢[0 1]⎢1
⎜ ⎣1 ⎥
− 1 ⎦ ⎣1 −1 ⎦⎥ ⎥ ⎥ 1
⎝ ⎣ ⎣ − 1 ⎥⎦ ⎥⎦ ⎣ ⎦
−1
⎡0.34 0.32⎤ ⎡0 1 ⎤ ⎡0⎤ ⎡0.34⎤
=⎢ ⎥⎢ ⎥ ⎢ ⎥=⎢ ⎥
⎣ − 2 2.34⎦ ⎣1 − 1⎦ ⎣1⎦ ⎣ − 2 ⎦

Para se utilizar o comando “acker” ou “place” do matlab, deve ser lembrado que
o que está sendo calculado está conjugado transposto, então,

clear all;clc;close all

% Matrizes do sistema
G=[0 -0.16;1 -1]
C=[0 1]

% Vetor dos novos polos


im=sqrt(-1);
P=[0.5+im*0.5 0.5-im*0.5]

% utilizando acker
Gt=G';
Ct=C';
K=acker(Gt,Ct,P);
Ke=K'

93
7.5.2 Comentários sobre estimador de estado

Definindo que o erro da estimativa de estado seja,


e( k ) = x ( k ) − ~
x (k )
Agora subtraindo ambos os sistemas,
x (k + 1) = Gx (k ) + Hu (k ) − (G − K e C )~
x (k + 1) − ~ x (k ) − Hu (k ) − K e y(k )
= G (x (k ) − x (k ) ) + K Cx (k ) − K Cx (k )
~
e
~
e

= (G − K e C )(x (k ) − ~
x (k ) )
Portanto,
e(k + 1) = (G − K e C )e(k )
Significando que o comportamento do erro do estimador vai depender da
posição dos pólos da equação característica G-KeC. Normalmente, deve-se escolher os
pólos do observador de 2 a 5 vezes mais rápido que a da planta a ser estimada, isto é,
com uma freqüência de 2 a 5 vezes maior. Porém, em aplicações práticas, se a resposta
da planta for contaminada com ruído, deve utilizar uma estimativa mais lenta.

Exemplo 7.4: Supondo o sistema,


⎧ x 1 (k + 1) ⎫ ⎡ 0 1 0 ⎤ ⎧ x 1 ( k ) ⎫ ⎡0 ⎤
⎪ ⎪ ⎢ ⎪ ⎪
⎨x 2 (k + 1)⎬ = ⎢ 0 0 1 ⎥⎥ ⎨x 2 (k )⎬ + ⎢⎢0⎥⎥ u (k )
⎪ x (k + 1) ⎪ ⎢− 0.5 − 0.2 1.1⎥ ⎪ x (k ) ⎪ ⎢1⎥
⎩ 3 ⎭ ⎣ ⎦⎩ 3 ⎭ ⎣ ⎦
⎧ x 1 (k ) ⎫
⎪ ⎪
y(k ) = [0 1 0]⎨x 2 (k )⎬
⎪ x (k ) ⎪
⎩ 3 ⎭
Projetar um controlador de estado e um observador de estado para a resposta ao
degrau supondo,
Raízes do controlador: 0.5±j0.5 e 0.5 → P = z 3 − 1.5z 2 + z − 0.25
Raízes do observador: 0.3±j0.5 e 0.3 → P = z 3 − 0.9z 2 + 0.52z − 0.102

Solução: Observe que as raízes da planta são dadas por,


z −1 0
zI − G = 0 ⇒ 0 z −1 = 0
0.5 0.2 z − 1.1
⎧ z1 = −0.5
⇒ z 3 − 1.1z 2 + 0.2z + 0.5 = 0 ⇒ ⎨
⎩z1, 2 = 0.8 ± j0.6
Que podem ser melhor compreendidas através da passagem para tempo
contínuo,
1
z = e Ts ⇒ s = ln z
T
Portanto, assumindo T = 1 s, as raízes em tempo contínuo são dadas por,
s1, 2 = −0.6931 ± j3.1416
s 3, 4 = ± j0.6435
Portanto o par complexo representa um pólo marginalmente estável, já a nova
posição, 0.5±j0.5 e 0.5 representa,

94
z 1 = 0.5 ⇒ s1 = −0.6931
z 2,3 = 0.5 ± j0.5 ⇒ s 2,3 = −0.3466 ± j0.7854
Iniciando pela verificação da controlabilidade e observabilidade do sistema,
Controlabilidade:
⎡0 0 1 ⎤
H GH G 2 H = ⎢0 1 1.1 ⎥⎥
⎢ [ ]
⎢⎣1 1.1 1.01⎥⎦
Observabilidade:
⎡ 0 0 − 0 .5 ⎤
C G C [
G C = ⎢⎢1 0 − 0.2⎥⎥
H H H 2H H
]
⎢⎣0 1 1.1 ⎥⎦
Portanto, o sistema é de estado completamente controlável e observável.

Root Locus Root Locus


1.5
System: Gpp
Gain: 0 System: Gpp
1 Gain: 0
0.5π/T Pole: 0.5 + 0.5i
0.6π/T 0.4π/T
Damping: 0.404 1 Pole: 0.3 + 0.5i
0.7π/T 0.10.3π/T 0.5π/T 0.464
Overshoot (%): 0.6π/T Damping: 0.4π/T
0.225
System: Gpp Overshoot (%): 19.3 0.1
System: Gpp
0.3
Frequency (rad/sec): 0.858 0.7π/T 0.2 0.3π/T
0.8π/T 0.4 Gain:0.2π/T
0 Frequency (rad/sec): 1.16 Gain: 0
0.3
0.5 0.5 0.4
Pole: 0.5 0.5 0.8π/T Pole: 0.3 0.2π/T
0.6 0.5
0.7 Damping: 1 0.6Damping: 1
0.9π/T 0.8 0.7
Overshoot0.1π/T 0.8Overshoot (%): 0 0.1π/T
Imaginary Axis

Imaginary Axis

(%): 0 0.9π/T
0.9 0.9Frequency (rad/sec): 1.2
Frequency (rad/sec): 0.693 π/T
π/T 0
0 π/T
π/T
0.9π/T 0.1π/T
0.9π/T 0.1π/T
-0.5 0.8π/T 0.2π/T
-0.5 System: Gpp
0.8π/T 0.2π/T 0.7π/T 0.3π/T
System: Gpp Gain: 0
0.6π/T 0.5π/T0.3 - 0.4π/T
Pole: 0.5i
0.7π/T Gain: 00.3π/T -1
Pole: 0.5 - 0.5i Damping: 0.464
0.6π/T 0.4π/T Overshoot (%): 19.3
0.5π/TDamping: 0.404
-1 Overshoot (%): 25 Frequency (rad/sec): 1.16
Frequency (rad/sec): 0.858 -1.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis Real Axis

Figura 7.7: Justificativa para as alocações dos pólos do controlador e observador

Projeto do Controlador,
K = [0 0 1] H GH G 2 H [ ] −1
= [− 0.75 0.8 − 0.4]

Projeto do Observador,
−1
⎡ C ⎤ ⎡0⎤ ⎡1.204⎤
K e = φ(G )⎢⎢ CG ⎥⎥ ⎢0⎥ = ⎢ 0.2 ⎥
⎢ ⎥ ⎢ ⎥
⎢⎣CG 2 ⎥⎦ ⎢⎣1⎥⎦ ⎢⎣ 0.54 ⎥⎦

95
3 3 x(k+1) 1 3 x(k)
0.25 H* u 3 C* u
z
3 Resposta
3 Controlada
3 G* u

3
Kc* u

3 3 3
x(k+1) 1 3 x(k)
H* u 3 C* u
z
3 3
3
3 G* u

3 Ke* u

Figura 7.8: Diagrama de blocos do controle de estado e do observador

1.4 3

1.2 2.5

2
1

1.5
Amplitude

Am plitude

0.8
1
0.6
0.5

0.4
0

0.2 -0.5

0 -1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
Tempo Tem po

Figura 7.9: Resposta do sistema nominal e ao sistema com x(0)= [-2 3 1]T

Para a planta do sistema definida por,


x (k + 1) = Gx (k ) + Hu (k )
y(k ) = Cx (k )
A função de transferência é dada por,
Y(z) z
G1 (z) = = C(zI − G )H = 3
U( Z) z − 1.1z + 0.2z + 0.5
2

Para o sistema definido por,


~
x (k + 1) = G~x (k ) + Hu (k ) + K E [ y(k ) − ~y(k )] = (G − K E C )~
x (k ) + Hu (k ) + K E y(k )
~y(k ) = C~
x (k )
Aplicando transformada Z,
~ ~
zX(z) = (G − K E C )X(z) + HU(z) + K E Y(z)
~
X(z) = (zI − G + K E C ) HU(z) + (zI − G + K E C ) K E Y(z)
−1 −1

Como a lei de controle é dada por,


u (k ) = r (k ) − K C ~
x (k )
Aplicando a transformada Z,

96
~
U(z) = R (z) − K C X(z) =
[
= R (z) − Kc (zI − G + K E C ) HU(z) + (zI − G + K E C ) K E Y(z)
−1 −1
]
Definindo,
0.4z 2 − 0.72z − 0.153
G 2 = − Kc(zI − G + K E C ) H = 3
−1

z − 0.9z 2 + 0.52z − 0.102


0.959z 2 − 1.3561z + 0.8622
G 3 = − Kc(zI − G + K E C ) K E = 3
−1

z − 0.9z 2 + 0.52z − 0.102


Então,
1 G3
U (z) = R (z) + G 2 U (z) + G 3 Y(z) ⇒ U(z) = R (z) + Y (z)
(1 − G 2 ) (1 − G 2 )
Através da equação acima, observa-se que o sistema em malha fechada pode ser
resumido a,

z3-0.9z2+0.52z-0.102 z
0.25
z3-1.3z2+1.24z+0.051 z3-1.1z2+0.2z+0.5
Controlador Planta Resposta
Avanço Controlada

0.959z2-1.356z+0.8622
z3-1.3z2+1.24z+0.051
Controlador
Figura 7.10: Sistema em malha fechada

Substituindo em Y(z)=G1(z)U(z),
G1 GG Y(z) G1
Y(z) = R (z) + 1 3 Y (z) ⇒ =
(1 − G 2 ) (1 − G 2 ) R (z) 1 − G 2 − G 1G 3
Que substituindo os valores chega-se a,
Y (z) z
= 3
R (z) z − 1.5z + z − 0.25
2

Observe que houve cancelamento de pólos e zeros e no final, os pólos são os


pólos estipulados pela realimentação de estado.
Para o ajuste do ganho Ko para eliminar o erro estacionário,
⎛ 1 ⎞
k →∞ z →1
( ) z →1
( )
lim y(k ) = lim 1 − z −1 Y(z) = lim⎜⎜ 1 − z −1 3
k0z
2

(
z − 1.5z + z − 0.25 1 − z −1 ⎟⎠ )

K0
= = 1 ⇒ K 0 = 0.25
1 − 1.5 + 1 − 0.25

7.5.3 Estimadores de Ordem Reduzida

Na prática, alguns estados do sistema são medidos, significando que nem todos
os estados devem ser estimados. Além disso, a medida do estado pode não ser precisa,
nestes casos, utiliza-se observadores de ordem reduzida ou de ordem mínima.
Supondo n estados x(k) do sistema e a saída y(k) do sistema seja de ordem m.
Como a saída é uma combinação linear dos estados, correlacionado pela matriz C, então
o observador de ordem reduzida será de ordem n-m.
Escrevendo o vetor de estado em duas partes,

97
⎧x (k ) ⎫
x (k ) = ⎨ a ⎬
⎩x b (k )⎭
onde xa(k) é a parte do vetor de estado que pode ser diretamente medido e de ordem m,
xb(k) a parte que precisa ser estimada e de ordem n-m. Então o sistema pode ser
reescrito como,
⎧ x a (k + 1) ⎫ ⎡ G aa G ab ⎤ ⎧x a (k ) ⎫ ⎡ H a ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x b (k + 1)⎭ ⎣G ba G bb ⎦ ⎩x b (k )⎭ ⎣H b ⎦
⎧x (k ) ⎫
y(k ) = [I 0]⎨ a ⎬ ⇒ y(k ) = x a (k )
⎩x b ( k ) ⎭
Desta forma, a equação de estado contendo a dinâmica dos estados que são
conhecidos é dada por,
x a (k + 1) = G aa x a (k ) + G ab x b (k ) + H a u (k )
Que pode ser rearranjada como,
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
A parte restante, que representa a dinâmica dos estados não medidos, é dada por,
x b (k + 1) = G ba x a (k ) + G bb x b (k ) + H b u (k )
Como a equação de estado para o observador de estado de ordem completa é
dada por,
~
x (k + 1) = G~ x (k ) + Hu (k )
~y(k ) = C~ x (k )
Comparando com a equação de estado dos estados não medidos na seguinte
forma,
x b (k + 1) = G bb x b (k ) + (G ba x a (k ) + H b u (k ) )
E a saída do observador de estado completo,
~y(k ) = C~ x (k )
Comparando com,
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
O projeto do observador de ordem mínima ou de ordem reduzida pode ser
encontrado comparando a equação de estado do observador de ordem completada dada
por,
~
x (k + 1) = G~ x (k ) + Hu (k )
~y(k ) = C~ x (k )
Comparada com,
x b (k + 1) = G bb x b (k ) + (G ba x a (k ) + H b u (k ) )
x a (k + 1) − G aa x a (k ) − H a u (k ) = G ab x b (k )
Onde observa-se que,

Observador de ordem completa Observador de ordem mínima


~
x (k ) ~
x (k )b

G Gbb

Hu(k) Gbaxa(k) + Hbu(k)

98
y(k) Xa(k+1) – Gaaxa(k)-Hau(k)

C Gab

Ke ordem n×m Ke ordem (n-m)×m

Utilizando a tabela acima, através do projeto do observador de ordem completa


que é dado por,
x (k + 1) = (G − K e C )~
~ x (k ) + Hu (k ) + K e y(k )
O projeto do observador de ordem mínima ou de ordem reduzida é dado por,
x b (k + 1) = (G bb − K e G ab )~
~ x b (k ) + (G ba x a (k ) + H b u (k ) ) +
+ K e (x a (k + 1) − G aa x a (k ) − H a u (k ) )
Substituindo y(k) = xa(k),
x b (k + 1) = (G bb − K e G ab )~
~ x b (k ) + (G ba y(k ) + H b u (k ) ) +
+ K e (y(k + 1) − G aa y(k ) − H a u (k ) )
Rearranjando,
x b (k + 1) = (G bb − K e G ab )~
~ x b (k ) + K e y(k + 1) +
+ (G ba − K e G aa )y(k ) + (H b − K e H a )u (k )
O problema em utilizar a equação acima está no fato de ter que medir y(k+1).
Então, uma forma mais conveniente de expressar a equação acima é fazendo,
x b (k + 1) − K e y(k + 1) = (G bb − K e G ab )~
~ x b (k ) + (G ba − K e G aa )y(k ) + (H b − K e H a )u (k )
= (G − K G )(~
bb e x (k ) − K y(k ) ) + (G − K G )K y(k ) +
ab b e bb e ab e

+ (G ba − K e G aa )y(k ) + (H b − K e H a )u (k )
= (G − K G )(~
bb e x ( k ) − K y( k ) ) +
ab b e

+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k ) + (H b − K e H a )u (k )
Definindo,
~
x b ( k ) − K e y( k ) = ~ ~(k )
x b (k ) − K e x a (k ) = η
Pode-se escrever o sistema como,
~ (k + 1) = (G − K G )η(k ) + (H − K H )u (k )
η bb e ab b e a

+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
A equação acima descreve a dinâmica do observador de estado de ordem
mínima ou ordem reduzida. O erro do observador pode ser definido como
e(k ) = η(k ) − η ~ (k ) = x (k ) − ~ x b (k )
b

Que se torna,
x b (k + 1) = [G bb x b (k ) + (G ba x a (k ) + H b u (k ) )] +
x b (k + 1) − ~
− [(G − K G )~bb x (k ) + (G x (k ) + H u (k ) ) +
e ab b ba a b

+ K e (x a (k + 1) − G aa x a (k ) − H a u (k ) )]
Rearranjando,
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab ~
x b (k )
− K e (x a (k + 1) − G aa x a (k ) − H a u (k ) )
Substituindo a equação de xa(k+1),

99
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab ~
x b (k )
− K e (G aa x a (k ) + G ab x b (k ) + H a u (k ) − G aa x a (k ) − H a u (k ) )
Que simplificando encontra-se,
x b (k + 1) = G bb [x b (k ) − ~
x b (k + 1) − ~ x b (k )] + K e G ab [~x b (k ) − x b (k )]
Que se reduz a,
e(k + 1) = G bb e(k ) − K e G ab e(k ) = (G bb − K e G ab )e(k )
Portanto, a equação característica do erro do observador de ordem mínima ou de
ordem reduzida é dada por,
zI − G bb + K e G ab = 0
Assim, o projeto do observador de ordem reduzida é feito escolhendo os pólos
desejados para a equação acima.

Figura 7.11: Diagrama de blocos do controlador de estado e do observador de ordem


mínima ou de ordem reduzida

Exemplo 7.5: Supondo o seguinte sistema,


x (k + 1) = Gx (k ) + Hu (k )
~y(k ) = Cx (k )
Com,
⎡1 0.2⎤ ⎡0.02⎤
G=⎢ ⎥ , H=⎢ ⎥ e C = [1 0]
⎣0 1 ⎦ ⎣ 0.2 ⎦
Projetar um controlador de estado para que os pólos do sistema em malha
fechada sejam estabelecidos em
Z1,2 = 0.6 ± j0.4
Assumir que apenas o primeiro estado x1(k) pode ser medido. Projetar um
observador de ordem mínima para que o erro do observador seja do tipo “Dead-Beat”.
Determinar a Função de Transferência de realimentação do sistema de controle.

100
Solução: Iniciando pela verificação da observabilidade e controlabilidade do
sistema,
⎡ 0.02 1 0.2⎤⎛ 0.02 ⎞⎤ ⎡0.02 0.6⎤
[H GH] = ⎢⎛⎜⎜ ⎞⎟⎟ ⎡⎢ ⎥⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 0.2 ⎠ ⎣0 1 ⎦⎝ 0.2 ⎠⎦ ⎣ 0.2 0.2⎦
⎡⎛ 1 ⎞ ⎡ 1 0⎤⎛ 1 ⎞⎤ ⎡1 1 ⎤
[ ]
C* G *C* = ⎢⎜⎜ ⎟⎟ ⎢ ⎥⎜⎜ ⎟⎟⎥ = ⎢ ⎥
⎣⎝ 0 ⎠ ⎣0.2 1⎦⎝ 0 ⎠⎦ ⎣0 0.2⎦
Novo polinômio característico,
φ(z ) = (z − 0.6 − j0.4)(z − 0.6 + j0.4) = z 2 − 1.2z + 0.52
Fórmula de Ackermann para a realimentação de estado,
K = [0 1][H GH ] φ(G ) =
−1

⎡0.02 0.6⎤ ⎛⎜ ⎡1 0.2⎤ ⎡1 0⎤ ⎞⎟


−1 2
⎡1 0.2⎤
= [0 1]⎢ ⎥ ⎢ ⎥ − 1 .2 ⎢0 1 ⎥ + 0 .52 ⎢0 1 ⎥ ⎟
⎣ 0.2 0.2⎦ ⎜⎝ ⎣0 1 ⎦ ⎣ ⎦ ⎣ ⎦⎠
= [8 3.2]
Desta forma, a lei de controle é dada por,
⎧ x (k ) ⎫ ⎧ y( k ) ⎫
u (k ) = −Kx (k ) = −[8 3.2]⎨~ 1 ⎬ = −[8 3.2]⎨~ ⎬
⎩ x 2 (k )⎭ ⎩ x 2 (k )⎭
Para encontrar o observador de ordem mínima, deve-se separar o sistema
segundo,
⎡G G ab ⎤ ⎡1 0.2⎤ ⎡ H ⎤ ⎡0.02⎤
G = ⎢ aa ⎥ =⎢ ⎥ e H = ⎢ a⎥ = ⎢ ⎥
⎣G ba G bb ⎦ ⎣0 1 ⎦ ⎣ H b ⎦ ⎣ 0 .2 ⎦
Como o observador deve ter comportamento Dead-Beat, o polinômio
característico é dado por6,
φ(z ) = z = 0
Aplicando Ackermann,
K e = φ(G bb )[G ab ] [1] = (1)(0.2) −1 (1) = 5
−1

A equação de estado do observador de ordem mínima,


~ (k + 1) = (G − K G )η(k ) + (H − K H )u (k )
η bb e ab b e a

+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
Substituindo os valores,
~ (k + 1) = (1 − (5)(0.2) )η(k ) + (0.2 − (5)(0.02) )u (k )
η
+ [(1 − (5)(0.2) )5 + 0 − (5)(1)]y(k )
= 0.1u (k ) − 5 y(k )
Só está faltando os estados não estimados dado por,
~ ~ ( k ) = 5 y( k ) + η
x 2 ( k ) = K e y( k ) + η ~ (k )
E a equação da lei de controle,
u (k ) = −8 y(k ) − 3.2~ x 2 (k )
Estas últimas três equações definem o sistema de controle. Combinando as duas
últimas,

6
O polinômio característico para dead beat deve ser da ordem a ser utilizada, como neste caso precisa-se
estimar apenas um estado, o polinômio característico é apenas z.

101
u (k ) = −8y(k ) − 3.2(5y(k ) + η
~ (k ) )
~(k )
= −24 y(k ) − 3.2η
Se esta equação é verdade,
u (k + 1) = −24 y(k + 1) − 3.2η~ (k + 1)
Substituindo a equação do observador,
u (k + 1) = −24 y(k + 1) − 3.2(0.1u (k ) − 5y(k ) )
u (k + 1) + 0.32u (k ) = −24 y(k + 1) + 16 y(k )
Para a função de transferência do controlador, aplica-se a transformada Z na
equação anterior,
zU(z) + 0.32U(z) = −24zY(z) + 16Y(z)
Chegando a,
U (z) 24z − 16
G D (z) = =−
Y(z) z + 0.32
A função de transferência da planta,
Y (z)
= C(zI − G ) H + D =
−1
G P (z) =
U(z)
−1
⎛ ⎡ z 0⎤ ⎡1 0.2⎤ ⎞ ⎡0.02⎤
= [1 0]⎜⎜ ⎢ ⎥−⎢ ⎥ ⎟⎟ ⎢ ⎥
⎝ ⎣0 z ⎦ ⎣0 1 ⎦ ⎠ ⎣ 0.2 ⎦
0.02z + 0.02
= 2
z − 2z + 1

0.02z+0.02
Ko
z2-2z+1
Step Gain Scope
Planta

24z-16
z+0.32
Controlador

Figura 7.12: Diagrama de blocos do sistema em malha fechada

A equação característica do sistema em malha fechada pode ser encontrada


através do diagrama de blocos, Figura 7.12, dado por,
C( z )
=
K o G D (z)
= o
(
K 0.02z 2 + 0.0264z + 0.0064 )
R ( z ) 1 + G P ( z )G D ( z ) z 3 − 1.2z 2 + 0.52z
Para que o sistema não tenha erro estacionário,

( ) ⎛
( ) (
lim y(k ) = lim 1 − z −1 Y(z) = lim⎜⎜ 1 − z −1 o
K 0.02z 2 + 0.0264z + 0.0064 1 ⎞ ) ⎟=
( )
k →∞ z →1 z →1
⎝ z − 1.2z + 0.52z
3 2
1 − z −1 ⎟⎠
K o 0.0528
= = 1 ⇒ K o = 6.0606
0.32
Notar que a equação característica do sistema em malha fechada é dada por,
(
z 2 − 1.2z + 0.25 z = 0 )
Representando os mesmos pólos escolhidos para o fechamento da malha.

102
Justificativa para a escolha dos pólos do controlador em z1,2 = 0.6 ± j0.4. Os
pólos originais são z1,2 = 1, que são pólos marginalmente estáveis, porém, passando os
os escolhidos para tempo contínuo encontra-se s1,2 = - 0.327 ± j0.588, representando ωN
= 0.6728 rad/s e fator de amortecimento ζ = 0.486.

7.6 Exercícios Resolvidos

Exemplo 7.6: Para o sistema abaixo, projetar um controle por realimentação de estado
em tempo discreto para o sistema abaixo,
50
G (s) = 2
s + 2s + 100
Sabendo-se que o desejado para o sistema acima seria que o seu fator de
amortecimento fosse 2 / 2 e sua freqüência natural fosse 20 rad/s.

Solução: Passando o sistema para tempo discreto, precisa-se saber qual a freqüência
natural do sistema, por análise simples, verifica-se que ela é de 10 rad/s, portanto a
maior freqüência será de 20 rad/s. Sendo assim, escolhe-se T = 0.05 s. Agora,
discretizando o sistema, atravéz de tabelas é fácil verificar que,
⎡ 1 ⎤
⎢ s +1 ⎥
⎛1− e − Ts

G (s) ⎟⎟ = (1 − z −1 )Z ⎢ − 2 2
1
G (z) = Z⎜⎜ ⎥
⎝ s ⎠ ⎢ 2s s + 2s + 100 ⎥
⎢⎣ ⎥⎦
1 − z −1 ⎡1 s +1 1 99 ⎤
= − Z ⎢ + ⎥=
2(1 − z −1 ) ⎣ 2 s + 2s + 100 2 99 s + 2s + 100 ⎦
2 2

Comparando com os items 16 e 17 da tabela de transformada, a = 1 e ω = 99 ,


então,
⎛ 1 − e − Ts ⎞ 0.05923z + 0.05727
G (z) = Z⎜⎜ G (s) ⎟⎟ = 2
⎝ s ⎠ z − 1.672z + 0.9048
Transformando para matrizes de estado, utilizando a forma canônica observável,
pois a matriz C é na forma unitária,

⎧ x 1 (k + 1) ⎫ ⎡0 − 0.9048⎤ ⎧ x 1 (k ) ⎫ ⎡0.05727⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣1 1.672 ⎦ ⎩x 2 (k )⎭ ⎣0.05923⎦
⎧ x (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 ( k ) ⎭
Para os novos pólos do sistema,
2
2 ⎛ 2⎞
s1, 2 = −ζω n ± jωd = − 20 ± 20 1 − ⎜⎜ ⎟ = −14.1421 ± j14.1421

2 ⎝ 2 ⎠
Passando para tempo discreto,
z 1, 2 = e sT = e ( −14.1421± j14.1421) 0.05) = 0.3749 ± j0.3203
Projetando o controle via realimentação de estado, matriz de controlabilidade,

103
⎡ ⎡0.05727 ⎤ ⎡0 − 0.9048⎤ ⎡0.05727 ⎤ ⎤ ⎡0.5727 − 0.0536⎤
[H GH ] = ⎢ ⎢ ⎥ ⎢ ⎥⎢ ⎥⎥ = ⎢ ⎥
⎣ ⎣ 0.05923⎦ ⎣1 1.672 ⎦ ⎣0.05923⎦ ⎦ ⎣ 0.5923 0.1563 ⎦
Novo polinômio característico,
φ(z) = (z − 0.3749 + j0.3203)(z − 0.3749 − j0.3203) = z 2 + 1.672z − 0.9048
Aplicando Ackerman,
K = [0 1][H GH ] φ(G ) =
−1

⎡0.5727 − 0.0536⎤
−1
⎛ ⎡0 − 0.9048⎤ 2 ⎡0 − 0.9048⎤ ⎡1 0⎤ ⎞⎟
= [0 1]⎢ ⎥
⎜ − 0 . 7498 + 0 . 2431
⎣0.5923 0.1563 ⎦ ⎜ ⎢⎣1 1.672 ⎥⎦ ⎢1
⎣ 1.672 ⎥⎦ ⎢0 1 ⎥ ⎟
⎣ ⎦⎠

= [7.5878 8.2331]
Desta forma, a lei de controle é dada por,
⎧ x (k ) ⎫
u (k ) = − Kx (k ) = −[7.5878 8.2331]⎨ 1 ⎬
⎩x 2 (k )⎭

Exemplo 7.7: Para o sistema acima, projetar um sistema de controle em realimentação


utilizando um estimador tipo “Dead Beat” para o observador de estado de ordem
reduzida.

Solução: Comparando as equações do observador de ordem reduzida e a equação do


sistema, observa-se que,
⎡G G ba ⎤ ⎡0 0.9048 ⎤ ⎡H ⎤ ⎡0.05727⎤
G = ⎢ bb ⎥ =⎢ ⎥ e H = ⎢ b⎥ = ⎢ ⎥
⎣ G ab G aa ⎦ ⎣1 − 1.672⎦ ⎣ H a ⎦ ⎣0.05923⎦
Como o observador deve ter comportamento Dead-Beat, o polinômio
característico é dado por,
φ(z ) = z = 0
Aplicando Ackermann,
K e = φ(G bb )[G ab ] [1] = (0)(1) −1 (1) = 0
−1

Significando que o observador de ordem reduzida não pode ser aplicado. Porém,
a transformação para matrizes de estado não é única, aplicando a seguinte
transformação,
⎡1 1⎤ ⎧ xn (k ) ⎫ ⎡1 1⎤ ⎧ x 1 (k ) ⎫
T=⎢ ⎥ ⇒⎨ 1 ⎬=⎢ ⎥⎨ ⎬
⎣0 1⎦ ⎩xn 2 (k )⎭ ⎣0 1⎦ ⎩x 2 (k )⎭
O sistema fica,
−1
⎧ xn 1 (k + 1) ⎫ ⎡1 1⎤ ⎡0 − 0.9048⎤ ⎡1 1⎤ ⎧ xn 1 (k ) ⎫ ⎡1 1⎤ ⎡0.05727 ⎤
⎨ ⎬=⎢ ⎥⎢ ⎨ ⎬+ u (k )
⎩xn 2 (k + 1)⎭ ⎣0 1⎦ ⎣1 1.672 ⎥⎦ ⎢⎣0 1⎥⎦ ⎩xn 2 (k )⎭ ⎢⎣0 1⎥⎦ ⎢⎣ 0.05923⎥⎦
−1
⎡1 1⎤ ⎧ xn 1 (k ) ⎫
y(k ) = [0 1]⎢ ⎥ ⎨ ⎬
⎣0 1⎦ ⎩xn 2 (k )⎭
Chegando a,
⎧ xn 1 (k + 1) ⎫ ⎡1 − 0.2328⎤ ⎧ xn 1 (k ) ⎫ ⎡ 0.1165 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬+ ⎢ ⎥ u (k )
⎩xn 2 (k + 1)⎭ ⎣1 0.672 ⎦ ⎩xn 2 (k )⎭ ⎣0.05923⎦
⎧ xn (k ) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩xn 2 (k )⎭

104
A resposta do novo sistema e do sistema antigo é exatamente a mesma,
significando que os dois sistemas são os mesmos. Agora, aplicando o método,
K e = φ(G bb )[G ab ] [1] = (1)(1) −1 (1) = 1
−1

A equação de estado do observador de ordem mínima,


η~ (k + 1) = (G − K G )η(k ) + (H − K H )u (k )
bb e ab b e a

+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
Substituindo os valores,
~ (k + 1) = (1 − (1)(1) )η(k ) + (0.1165 − (1)(0.05923) )u (k )
η
+ [(1 − (1)(1) )1 − 0.2328 − (1)(0.672)]y(k )
= 0.0573u (k ) − 0.9048 y(k )
Só está faltando os estados não estimados dado por,
~ ~ ( k ) = y( k ) + η
xn 1 ( k ) = K e y ( k ) + η ~ (k )
Neste ponto deve ser lembrado que o que está sendo estimado é xn1(k) não
x1(k) como necessário para o controlador, porém da relação de transformação utilizada,
−1
⎡1 1⎤ ⎧ x 1 (k ) ⎫ ⎡1 1⎤ ⎧ xn 1 (k ) ⎫ ⎡1 − 1⎤ ⎧ xn 1 (k ) ⎫
T=⎢ ⎥ ⇒= ⎨x (k )⎬ = ⎢0 1⎥ ⎨xn (k )⎬ = ⎢0 1 ⎥ ⎨xn (k )⎬
⎣0 1⎦ ⎩ 2 ⎭ ⎣ ⎦ ⎩ 2 ⎭ ⎣ ⎦⎩ 2 ⎭
Significando que x2(k) = xn2(k), mas x1(k) = xn1(k)+xn2(k) = xn1(k)+x2(k),
assim, a lei de controle fica,
⎧~xn (k ) − xn 2 (k )⎫
u (k ) = − Kx (k ) = −[7.5878 8.2331]⎨ 1 ⎬
⎩ xn 2 (k ) ⎭
~
⎧ xn ( k ) ⎫
= −[7.5878 0.6453]⎨ 1 ⎬
⎩xn 2 (k )⎭
Estas últimas três equações definem o sistema de controle. Combinando as duas
últimas,
u (k ) = −7.5878~ xn 1 (k ) − 0.6453xn 2 (k )
= −7.5878(y(k ) + η ~ (k ) ) − 0.6453x (k )
2

= −8.2331y(k ) − 7.5878η ~(k )


Se esta equação é verdade, então,
u (k + 1) = −8.2331y(k + 1) − 7.5878η~ (k + 1)
Substituindo a equação do observador,
u (k + 1) = −8.2331y(k + 1) − 7.5878η ~ (k + 1)
= −8.2331y(k + 1) − 7.5878(0.0573u (k ) − 0.9048 y(k ) )
= −8.2331y(k + 1) − 0.4348u (k ) + 6.8654 y(k )
Para a função de transferência do controlador, aplica-se a transformada Z na
equação anterior,
zU(z) + 0.4348U(z) = −8.2331zY(z) + 6.8654Y(z)
Chegando a,
U(z) 8.2331z − 6.8654
G D (z) = =−
Y(z) z + 0.4348
A função de transferência da planta original,
0.05923z + 0.05727
G P ( z) = 2
z − 1.672z + 0.9048

105
A equação característica do sistema em malha fechada pode ser encontrada
através de,
C( z ) K o G P (z) K (0.05923z 2 + 0.08302z + 0.0249)
= = 3o
R (z) 1 + G P (z)G D (z) z − 0.7494z 2 + 0.2428z + 0.0002473
Para que o sistema não tenha erro estacionário,
lim y(k ) = lim(1 − z −1 )Y(z) =
k →∞ z →1


( )
= lim⎜⎜ 1 − z −1 3 o
(
K 0.05923z 2 + 0.08302z + 0.0249 1 ) ⎞
⎟=
z →1
⎝ z − 0.7494z + 0.2428z + 0.0002473 1 − z −1
2
( ) ⎟

K 0.1671
= o = 1 ⇒ K o = 2.9533
0.4936

Exemplo 7.8: Supondo o sistema apresentado no Exemplo 7.4, projetar um observador


de estado de ordem mínima para os estados que não são medidos. Supor resposta
DeadBeat para o observador.

Solução: O primeiro passo é verificar qual a saída que é medida, no caso a saída
x2(k). Então é necessário reescreve o sistema na seguinte forma,
⎧x 2 (k + 1)⎫ ⎡ 0 0 1 ⎤ ⎧ x 2 ( k ) ⎫ ⎡0 ⎤
⎪ ⎪ ⎢ ⎪ ⎪
⎨ x 1 (k + 1) ⎬ = ⎢ 1 0 0 ⎥⎥ ⎨ x 1 (k ) ⎬ + ⎢⎢0⎥⎥ u (k )
⎪ x (k + 1) ⎪ ⎢− 0.2 − 0.5 1.1⎥ ⎪ x (k ) ⎪ ⎢1⎥
⎩ 3 ⎭ ⎣ ⎦⎩ 3 ⎭ ⎣ ⎦
Nesta nova configuração,
⎧ x (k ) ⎫
x a (k ) = x 2 (k ) ; x b (k ) = ⎨ 1 ⎬
⎩x 3 (k )⎭
⎡ 1 ⎤ ⎡ 0 0⎤
G aa = 0 ; G ab = [0 1] ; G ba = ⎢ ⎥ ; G bb = ⎢− 0.5 1.1⎥
⎣− 0.2⎦ ⎣ ⎦
⎡ ⎤
0
Ha = 0 ; Hb = ⎢ ⎥
⎣1⎦
Ainda do Exemplo 7.4, o ganho do controlador,
K c = [− 0.75 0.8 − 0.4]
O ganho do observador de estado mínimo pode ser encontrado através da
equação do erro dada por,
e(k + 1) = (G bb − K e G ab )e(k )
Como foi especificado resposta tipo deadbeat, então,
φ(z ) = z 2 = 0
Aplicando a fórmula de ackerman,
−1
⎡ G ab ⎤ ⎡0⎤ ⎡ 0 ⎤
K e = φ(G bb )⎢ ⎥ ⎢ ⎥=⎢ ⎥
⎣G ab G bb ⎦ ⎣1⎦ ⎣1.1⎦
A construção do diagrama de blocos segue através das seguintes equações,
~ (k + 1) = (G − K G )η
η ~ (k ) + (H − K H )u (k )
bb e ab b e a

+ [(G bb − K e G ab )K e + G ba − K e G aa ]y(k )
~ (k ) + P 2 y(k ) + P3u (k )
= P1η
Substituindo os valores,

106
~ (k + 1) = P1η
η ~ (k ) + P 2 y(k ) + P3u (k )

⎧η~ (k + 1) ⎫ ⎡ 0 ~ (k ) ⎫ ⎡ 1 ⎤
0⎤ ⎧ η ⎡0 ⎤
1 1
⎨~ ⎬=⎢ ⎥ ⎨~ ⎬+ ⎢ ⎥ y( k ) + ⎢ ⎥ u ( k )
⎩η 2 (k + 1)⎭ ⎣− 0.5 0⎦ ⎩η 2 (k )⎭ ⎣− 0.2⎦ ⎣1 ⎦
A segunda equação a ser utilizada,
~
x b (k ) = η~ (k ) + K x (k ) = η ~ ( k ) + K y( k )
e a e

Substituindo os valores,
⎧~x 1 (k ) ⎫ ⎧ η ~ (k ) ⎫ ⎡ 0 ⎤
1
⎨~ ⎬ = ⎨~ ⎬ + ⎢ ⎥ y( k )
⎩ x 3 (k )⎭ ⎩η 2 (k )⎭ ⎣1.1⎦
Finalmente a terceira equação,
⎧ x 1 (k ) ⎫ ⎧~ x 1 (k ) ⎫
⎪ ⎪ ⎪ ⎪
u (k ) = K 0 r (k ) − K c ⎨x 2 (k )⎬ = K 0 r (k ) − K c ⎨x 2 (k )⎬
⎪ x (k ) ⎪ ⎪~ ⎪
⎩ 3 ⎭ ⎩ x 3 (k ) ⎭
Substituindo os valores,
⎧~x 1 (k ) ⎫
⎪ ⎪
u (k ) = K 0 r (k ) − [− 0.75 0.8 − 0.4]⎨x 2 (k )⎬
⎪~ ⎪
⎩ x 3 (k ) ⎭
Chegando a,

3 3 x(k+1) 1 3 x(k)
0.25 H* u 3 C* u
z
3 Resposta
3 Controlada
3 G* u

2
2 P2* u Ke2* u

2 2 3
2 2
n(k+1) 1 2 n(k) 2
P3* u 2
z
2 x~(k)

2
2 P1* u

3
Kc* u

Figura 7.13: Diagrama de blocos do sistema de controle com estimador de ordem


mínima

7.7 Exercícios Propostos

Exercício 7.1: (Prova 2007) Para o sistema abaixo, pede-se,

⎧ x 1 (k + 1) ⎫ ⎡ − 1 1⎤ ⎧ x 1 (k ) ⎫ ⎡ 1 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.5 0⎦ ⎩x 2 (k )⎭ ⎣0.5⎦
⎧ x (k + 1) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k + 1)⎭

a) Verificar se o sistema é Controlável;

107
b) Projetar um sistema de controle via realimentação de estado para que os
novos pólos do sistema sejam posicionados em, z1, 2 = −0.15 ± j 0.3
c) Supondo uma entrada degrau r(k), calcular qual o ganho k0 para que não
haja erro estacionário;

Exercício 7.2: (Prova 2007) Para o sistema do Exercício 7.1, pede-se,

a) Verificar se o sistema é Observável;


b) Projetar um observador de ordem completa para que este apresente resposta
tipo DeadBeat;
c) Colocar as equações necessárias e desenhar o diagrama de blocos da planta –
observador de ordem completa – realimentação de estado para uma resposta
ao degrau unitário;

Exercício 7.3: (Prova 2007) Para o sistema abaixo, pede-se,


⎧ x 1 (k + 1) ⎫ ⎡ − 1 0.2 ⎤ ⎧ x 1 (k ) ⎫ ⎡ 1 ⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 0.5 0.75⎦ ⎩x 2 (k )⎭ ⎣0.5⎦
⎧ x (k + 1) ⎫
y(k ) = [1 0]⎨ 1 ⎬
⎩x 2 (k + 1)⎭
a) Projetar um observador de ordem mínima para o estado que não é medido,
para que este apresente uma resposta tipo DeadBeat;
b) Escrever as equações necessárias e desenhar o diagrama de blocos planta -
observador de ordem mínima – realimentação de estado supondo que o
sistema seja um regulador.

Exercício 7.4: (Exame 2007) Para o sistema abaixo pede-se,

⎧ x 1 (k + 1) ⎫ ⎡ − 1 1⎤ ⎧ x 1 (k ) ⎫ ⎡1⎤
⎨ ⎬=⎢ ⎥⎨ ⎬ + ⎢ ⎥ u (k )
⎩x 2 (k + 1)⎭ ⎣− 2 0⎦ ⎩x 2 (k )⎭ ⎣2⎦
⎧ x (k + 1) ⎫
y(k ) = [0 1]⎨ 1 ⎬
⎩x 2 (k + 1)⎭

a) Verificar se o sistema é Controlável e Observável;


b) Projetar um sistema de controle via realimentação de estado para que os
novos pólos do sistema sejam posicionados em, z 1, 2 = −0.5 ± j0.5 ;
c) Projetar um observador de ordem reduzida para o estado que não é medido,
supor resposta deadbeat para o observador de ordem reduzida;
d) Escrever as equações necessárias e o diagrama de blocos para o conjunto
sistema-controlador-observador de ordem reduzida supondo que o sistema de
controle seja um Regulador.

108
Capítulo 8

8 Projetos
Nesta parte, será apresentada uma seqüência de projetos interessantes de
sistemas mecânicos envolvendo sistemas de controle em tempo discreto. Para a
implementação dos sistemas de controle, necessariamente deverá ser seguido os
seguintes passos,

1. Modelagem matemática; onde o aluno deverá assumir todas


as condições necessárias para o equacionamento do sistema,
tais como posição dos sensores e atuadores, se há atrito,
linearização, etc.

2. Equações na forma de função de transferência e de Espaço


de Estados ambos em tempo contínuo e tempo discreto;
onde o aluno deverá optar por uma das formas para a
transformação de tempo contínuo para tempo discreto.
Além disso, deve-se especificar qual o tempo de
amostragem e explicar a sua escolha;

3. Apresentar o sistema em diagrama de blocos; nesta parte


será apresentado o diagrama de blocos contendo planta e
sistema de controle separadamente, pode ser feita em
Simulink;

4. Implementação do sistema de controle, explicando a sua


escolha e detalhando o procedimento de cálculo;

5. Apresentação dos resultados contendo distúrbio e lei de


controle;

109
8.1 Pêndulo Invertido

Implementar um sistema de controle para que a massa suspensa do pêndulo


invertido apresentado na Figura 8.1 fique em equilíbrio na posição vertical. Sabendo-se
que M = 2 Kg, L = 0.5 m e m = 0.1 kg.

Figura 8.1: Pêndulo invertido.

O problema está resolvido por realimentação de estado no Ogata, página 596.


Implementar um controlador PID para que o desempenho do sistema controlado seja
parecido com o já implementado.

110
8.2 Suspensão Ativa para ¼ de veículo

Implementar um sistema de controle em ¼ de suspensão veicular, Figura 8.2,


para que a massa suspensa da suspensão apresente a menor aceleração possível.
Sabendo-se que Ms = 250 Kg, Ks = 5.000 N/m, Cs = 250 Ns/m, Mn = 25 kg e Kp =
100.000 N/m.

Figura 8.2: Suspensão de ¼ de veículo.

Para a implementação do sistema de controle, assumir que apenas a aceleração é


medida, mas verificar a aceleração e deslocamento da massa suspensa. O objetivo aqui é
manter a aceleração da massa suspensa igual a zero, portanto o sistema de controle é um
regulador.

Distúrbios da via a serem considerados


a) Entrada degrau com 100 mm de altura;
b) Entrada ½ circunferência de 150 mm de raio;

Deve ser lembrado que os distúrbios da via são relacionados com o tempo,
simular para 40 km/h e 100 km/h.

111
8.3 Controle não colocado

Supondo o sistema apresentado na Figura 8.3, o objetivo e minimizar o


deslocamento da massa M3, com um controlador posicionado entre as massas M1 e M2
e um outro controlador posicionado entre as massas M2 e M3.

Figura 8.3: Sistema de 3GDL para controle não colocado.

Objeivo é investiga sistemas de controle “colocado” e “não colocado”.


Considerar que M1 = M2 = M3 = 0.5 Kg, K1 = K2 = K3 = 10 KN/m. Excitação é um
impulso dado na massa M3.

112
8.4 Projeto de Filtros Digiais

Apresentar o projeto de filtros digitais contendo os seguintes passos:

a) O que são filtros digitais;


b) Para que são utilizados;
c) Influência dos pólos e zeros;
d) Tipos de Filtros digitais;
e) Projetos de cada Tipo;
f) Resposta em Freqüência;

O aluno deverá fazer uma implementação computacional exemplificando a


utilização de filtros digitais;

113
9 Referências Bibliográficas
K. Ogata. Discrete-Time Control Systems. 2nd Ed. Prentice Hall, 1994.

G.F. Franklin, J.D. Powell, and M.L. Workman. Digital Control of Dynamic Systems.
Addison-Wesley, 3rd Edition. 1998.

C.H. Houpis, G.B. Lamont. Control Systems. Theory, Hardware, Software. 2nd Ed.
McGraw-Hill, 1992.

J.J. Distefano III, A. R. Stubberud. Schaum’s Outline of Theory and Problems of


Feedback and Control Systems. 2nd Ed., Schaum’s Outline Series, McGraw-Hill.
1990.

114