intro sis ctrl discreto

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

Upload: flavia-vieira

Post on 04-Jul-2015

17.535 views

Category:

Documents


1 download

DESCRIPTION

trabalho de sistemas de controle discreto

TRANSCRIPT

Page 1: Intro Sis Ctrl Discreto

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

Page 2: Intro Sis Ctrl Discreto

ii

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.

Page 3: Intro Sis Ctrl Discreto

iii

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

Page 4: Intro Sis Ctrl Discreto

iv

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

Page 5: Intro Sis Ctrl Discreto

1

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.

Page 6: Intro Sis Ctrl Discreto

2

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.

Page 7: Intro Sis Ctrl Discreto

3

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.

Page 8: Intro Sis Ctrl Discreto

4

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

Page 9: Intro Sis Ctrl Discreto

5

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

Page 10: Intro Sis Ctrl Discreto

6

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,

fa1T =

Então, a amostragem é dada pela seguinte relação,

( ) ( )∑+∞

−∞=

−δ=k

kTt)t(xkTx k=0, 1, 2 ...

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

Page 11: Intro Sis Ctrl Discreto

7

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,

ms625.01600

1fa1T ===

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,

F = 65 Hz, então, ms57.2651

61T ==

F = 85 Hz, então, ms96.1851

61T ==

Page 12: Intro Sis Ctrl Discreto

8

s/rad21.447mk

n ==ω significando que Hz18.712

21.447fn =π

= , então

ms35.218.71

161T ==

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

Page 13: Intro Sis Ctrl Discreto

9

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.

10000s20s100)s(G 2 ++

=

Page 14: Intro Sis Ctrl Discreto

10

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,

( ) ( )∑+∞

−∞=

−δ=k

kTt)t(xkTx k=0, 1, 2 ...

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,

( ) ( )[ ] ( )[ ] ( )∑∞

=

−===0k

kzkTxkTxZtxZzX

2.1.2 Transformada Z de funções elementares

Função Degrau Unitário definido como ( )⎩⎨⎧

<≤

=0t0t01

tx

Solução: Aplicando a definição,

( ) ( )[ ] [ ] L++++==== −−−∞

=

−∑ 321

0k

k zzz1z1ZtxZzX

Fazendo,

1GzzzzzGzzz1G 4321321 −=+++=⇒++++= −−−−−−− LL

Portanto,

1z11

1zzGz)1z(GzzGG1G

zG

−−=

−=⇒=−⇒−=⇒−=

Então,

Page 15: Intro Sis Ctrl Discreto

11

( ) ( )[ ] [ ]1z

zz1

1zzz1z1ZtxZzX 1321

0k

k

−=

−=++++==== −

−−−∞

=

−∑ L

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

Função Rampa Unitária definida por: ( )⎩⎨⎧

<≤

=0t0t0t

tx

Solução: Aplicando a definição,

( ) [ ] [ ] ( )L+++==== −−−∞

=

−∑ 321

0k

k z3z2zTkTzkTZtZzX

Fazendo,

L

LL

L

++++=−

−−−−+++=−

+++=

−−−−

−−−−−−−

−−−

4321

4323211

321

zzzzGz

1zz3z2zz3z2zG)z1(

z3z2zG

Comparando com o exemplo do degrau unitário, então,

( ) ( )212 z11

1zzGG

z1z1

1zz

−−=

−=⇒

−=−

Portanto,

( ) [ ] [ ] ( )( ) ( )221

1321

0k

k

1zTz

z1Tzz3z2z1TkTzkTZtZzX

−=

−=+++====

−−−−

=

−∑ L

Função Polinomial na forma ( )⎩⎨⎧

<≤

=0t0t0a

txk

com a constante.

Solução: Aplicando a definição,

( ) [ ]az

zaz11zazaaz1zaaZzX 1

33221

0k

kkk

−=

−=++++=== −

−−−∞

=

−∑ L

Utilizando o mesmo princípio do exemplo anterior, L++++= −−− 33221 zazaaz1G

Portanto, 1zazaazzazaaz1G)az1( 33221332211 =−−−−++++=− −−−−−−− LL

Então,

azz

az11G1G)az1( 1

1

−=

−=⇒=− −

Finalmente,

( ) [ ]az

zaz11zazaaz1zaaZzX 1

33221

0k

kkk

−=

−=++++=== −

−−−∞

=

−∑ L

Função Exponencial na forma: ( )⎩⎨⎧

<≤

=−

0t0t0e

txat

Solução: Aplicando a definição,

( ) [ ] [ ] L++++==== −−−−−−∞

=

−−− ∑ 3aT32aT21aT

0k

kakTakTat zezeze1zeeZeZzX

Page 16: Intro Sis Ctrl Discreto

12

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

( ) [ ] [ ] aT1aT0k

kakTakTat

ezz

ze11zeeZeZzX −−−

=

−=

−==== ∑

Função Senoidal definida como: ( )⎩⎨⎧

<≤ω

=0t0t0tsin

tx

Solução: Sabendo-se que,

( )tjtj eej2

1tsin ω−ω −=ω

Aplicando a definição,

( ) [ ] ( ) [ ] [ ]( )tjtjtjtj eZeZj2

1eej2

1ZtsinZzX ω−ωω−ω −=⎥⎦

⎤⎢⎣

⎡−=ω=

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,

( )[ ] [ ] ( )

( )( ) 1Tcosz2z

TsinzzTcosz21

Tsinzzzee1

zeej2

1

ze11

ze11

j21ee

j21ZtsinZtxZ

221

1

21TjTj

1TjTj

1Tj1Tjtjtj

+ω−ω

=+ω−

ω=

++−−

=

⎟⎠⎞

⎜⎝⎛

−−

−=⎥

⎤⎢⎣

⎡−=ω=

−−

−−ω−ω

−ω−ω

−ω−−ωω−ω

2.1.3 Propriedades da Transformada Z Multiplicação por uma constante: [ ] [ ] )z(aX)t(xaZ)t(axZ == Linearidade: )kT(g)kT(f)kT(x β+α= então )z(G)z(F)z(X β+α= Multiplicação por ak: [ ] )za(X)kT(xaZ 1k −= Prova:

[ ] ( ) )za(Xza)kT(xz)kT(xa)kT(xaZ 1

0k

k1

0k

kkk −∞

=

−−∞

=

− === ∑∑

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

[ ] )z(Xz)nTt(xZ n−=− Prova:

[ ]

( )∑

∑∞

=

−−−

=

−=

−=−

0k

nkn

0k

k

z)nTkT(xz

z)nTkT(x)nTt(xZ

Definindo m = k-n, então,

[ ] ∑∞

−=

−−=−nm

mn z)mT(xz)nTt(xZ

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

Page 17: Intro Sis Ctrl Discreto

13

[ ] )z(Xzz)mT(xz)nTt(xZ n

0m

mn −∞

=

−− ==− ∑

Além disso,

[ ] ⎥⎦

⎤⎢⎣

⎡−=+ ∑

=

−1n

0k

kn z)kT(x)z(Xz)nTt(xZ

Prova

[ ]

( )

⎥⎦

⎤⎢⎣

⎡−=

−=

−==

+=

+=+

∑∑∑

=

=

=

−∞

=

−∞

=

=

+−

=

1n

0k

kn

1n

0m

mnn

1n

0m

mn

0m

mn

nm

mn

0k

nkn

0k

k

z)kT(x)z(Xz

z)mT(xz)z(Xz

z)mT(xzz)mT(xzz)mT(xz

z)nTkT(xz

z)nTkT(x)nTt(xZ

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,

( ) ( )[ ] [ ]1z

z1ZtxZzX−

===

O problema pede, ( ) ( )[ ]T4txZzX −=

Utilizando o teorema da translação no tempo,

[ ]1z

z)z(Xzz)mT(xz)T4t(xZ4

4

0m

m4

−===−

−−

=

−− ∑

Neste caso, deve ser notado que z-4 significa um atraso de tempo de 4 sem considerar qual foi o atraso de tempo utilizado. Translação complexa,

[ ] ( ) ( )aT

0k

kaT

0k

kakTat zeXze)kT(xze)kT(x)t(xeZ === ∑∑∞

=

−∞

=

−−−

Exemplo 2.2: Encontrar a transformada Z de atte− Solução: como a transformada de t, rampa unitária é dada por,

( ) [ ]( ) ( )

)z(X1z

Tzz1

TztZzX 221

1

=−

=−

==−

Então, pelo teorema da translação complexa,

( ) [ ] ( )( )( ) ( )2aT

aT

21aT

1aTat

1zeTze

ze1

zeTteZzX−

=−

==−

−−

Page 18: Intro Sis Ctrl Discreto

14

Teorema do valor inicial: Se x(t) possui uma transformada X(z) e se )z(Xlimz ∞→

existe, então o valor inicial x(0) é dado por, )z(Xlim)0(x

z ∞→=

Prova: Como a transformada z de uma seqüência de números é dada por,

( ) [ ] L++++=== −−−∞

=

−∑ 321

0k

k z)T3(xz)T2(xz)T(x)0(xz)kT(x)kT(xZzX

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,

( )[ ])z(Xz1lim)kT(xlim 1

1zk

→∞→−=

Prova: Sabendo-se que pela definição da transformada Z,

( )[ ] ( ) ( )∑∞

=

−==0k

kzkTxzXkTxZ

Então,

( )[ ] ( ) ( )∑∞

=

−− −==−0k

k1 zTkTxzXzTkTxZ

Subtraindo um do outro,

( ) ( ) )z(Xz)z(XzTkTxzkTx 1

0k

k

0k

k −∞

=

−∞

=

− −=−−∑∑

Aplicando o limite quando z tende à unidade,

( ) ( ) ( )[ ])z(Xz1limzTkTxzkTxlim 1

1z0k

k

0k

k

1z

=

−∞

=

→−=⎥

⎤⎢⎣

⎡−−∑∑

Como foi assumido que x(k) = 0 para k < 0 então, o lado esquerdo da equação acima torna-se,

( ) ( ) ( )( ) ( )[ ]

( )[ ]∑

∑∑∑∞

=

=

−−∞

=

−∞

=

−−=

−−=⎥⎦

⎤⎢⎣

⎡−−

0k

0k

kk

0k

k

0k

k

1z

)TkT(xkTx

1)TkT(x1kTxzTkTxzkTxlim

Expandindo o somatório,

( )[ ] [ ] [ ] [ ]

)k(xlim)(x

)1(x)2(x)0(x)1(x)1(x)0(x)TkT(xkTx

k

0k

∞→

=

=∞=

=+−+−+−−=−−∑ L

Então, ( )[ ])z(Xz1lim)k(xlim 1

1zk

→∞→−=

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

Page 19: Intro Sis Ctrl Discreto

15

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

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

-1.5

-1

-0.5

0

0.5

1

1.5

2

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.

Exemplo 2.3: Encontrar a transformada z inversa de 1

1

az1z)z(X −

−=

Solução: Nas tabelas de transformada Z não se encontra a função acima, porém, fazendo,

11

az11)z(Yz)z(X −

−==

Utilizando a tabela de transformada z, tem-se que,

[ ] k1

11 aaz11Z)z(YZ =⎥⎦

⎤⎢⎣⎡−

= −−−

Porém, o desejado é, [ ] [ ] T)1k(111 a)TkT(y)z(YzZ)z(XZ −−−− =−==

Assim,

⎩⎨⎧

≤==−

=−

0k0,3,2,1ka)TkT(y

)kT(yT)1k( L

Page 20: Intro Sis Ctrl Discreto

16

Para encontrar a transformada z inversa de X(z), deve-se notar que X(z) é dada da seguinte forma,

n1n1n

1n

m1m1m

1m

0

azazazbzbzbzb

)z(X++++++++

=−

−−

L

L com m ≤ n

Ou ainda,

nn

11

nm

)1mn(1

)mn(0

zaza1zbzbzb

)z(X −−

−+−−−−

++++++

=L

L

Colocando na forma de pólos e zeros, ( )( ) ( )( )( ) ( )n21

m210

pzpzpzzzzzzzb

)z(X−−−−−−

=L

L

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,

n

n

2

2

1

1

pza

pza

pza

z)z(X

−++

−+

−= L

Se houver pólos repetidos, supondo um pólo duplo e nenhum outro pólo, a expansão poderá ser na forma,

( ) 1

22

1

1

pzc

pzc

z)z(X

−+

−=

Exemplo 2.4: Supondo que a transformada z seja na forma

1z2z2z2zz)z(X 23

2

−+−++

=

As raízes do denominador, que são os pólos, são dadas por, 1, ( )3j121

± ,

portanto, um pólo real e um par de pólos complexos conjugados, sendo assim, fazendo,

( )( )( ) ( ) ( )

( )( )1zz1zaazaaazaa

1zzaza

1za

1zz1z2zz)z(X

231321

221

2321

2

2

+−−−++−−++

=

=+−

++

−=

+−−++

=

Portanto, montando o sistema matricial para a solução,

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

−−−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧⇒

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

−−−

23

4

211

101111011

aaa

211

aaa

101111011 1

3

2

1

3

2

1

Então,

( )( )

21

2

21

1

1

1

2222

2

zz1z2

zz1z3

z1z4

1zz2

1zzz3

1z4

1zz2z3

1z4

1zz1z2zz)z(X

−−

−−

+−+

+−−

−=

+−+

+−−

+−

=+−+−

+−

=+−−

++=

Para o primeiro termo,

( ) ( )⎩⎨⎧

≤=

==⇒=⇒−

== −−

0k0,3,2,1k4

14)kT(x14)kT(yz1

4)z(Y)z(Xz 1k1

1 L

Para o segundo termo, deve-se notar que,

Page 21: Intro Sis Ctrl Discreto

17

[ ] 21

1

zTcosz21TsinztsinZ −−

+ω−ω

Aplicando o teorema da translação complexa,

[ ] 2aT21aT

1aTakT

zeTcosze21TsinzekTsineZ −−−−

−−−

+ω−ω

Então, comparando o segundo membro de X(z) com a equação acima, nota-se que se 1e aT2 =− , significando que 1e aT =− e 21Tcos =ω , significando que 3T π=ω e consequentemente, 23Tsin =ω . Então,

( ) 21

1

2aT21aT

1aTk

zz1z

23

zeTcosze21Tsinzek

3sin1Z −−

−−−−

−−

+−=

+ω−ω

=⎥⎦⎤

⎢⎣⎡ π

Significando que,

( ) ( )⎪⎩

⎪⎨⎧

=⇒+−

=⎥⎦⎤

⎢⎣⎡ π

= −−

0k0

,3,2,1kk3

sin132)kT(xzz1

z3k3

sin132Z)z(Xk

21

1k L

Para a terceira parte, utilizando a resposta anterior,

( )

( ) ( )⎪⎩

⎪⎨⎧

=−π

=

⇒+−

=⎥⎦

⎤⎢⎣

⎡ π== −−

−−

0k0

,3,2,1k1k3

sin13

34)kT(x

zz1z4k

3sin1

334Z)z(Y)z(Xz

k

21

1k1

L

Portanto, a solução final fica,

( )⎪⎩

⎪⎨⎧

=−π

−=0k0

,3,2,1k1k3

sin3

34k3

sin324)kT(x L

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,

( )( ) 1z2z

z2z1z

2zz)z(X 2

2

2 +−+

=−+

=

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 =

Page 22: Intro Sis Ctrl Discreto

18

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 1k3)k(x += k=0, 1, 2, .....

2.3 Exercícios Resolvidos Exemplo 2.6: Encontrar a transformada Z de,

⎩⎨⎧

<≥ω

=0t00ttcos

)t(x

Solução: Sabendo-se que 2

eetcostjtj ω−ω +

=ω e que,

[ ] 1ttj

ze11eZ −ω

ω

−= e [ ] 1t

tj

ze11eZ −ω−

ω−

−=

Então,

[ ]1Tcosz2z

Tcoszzze1

1ze1

121tcosZ 2

2

1t1t +ω−ω−

=⎟⎠⎞

⎜⎝⎛

−+

−=ω −ω−−ω

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

( )1ss1)s(X+

=

Neste caso, das tabelas de transformada de laplace inversa, tem-se que, [ ] t1 e1)s(XL −− −= t ≥ 0

Então a transformada Z fica,

[ ] [ ])ez)(1z(

z)e1(ze1

1z1

1e1Z)s(XZ T

1T

1T1t

−−

−−−−

−−−

=−

−−

=−=

Exemplo 2.8: Encontrar a transformada Z da função definida na assumindo tempo de amostragem T = 1 segundo.

Page 23: Intro Sis Ctrl Discreto

19

0 1 2 3 4 5 6 7 80

0.2

0.4

0.6

0.8

1

t

x(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,

)4kT(1)3kT(75.0)2kT(5.0)1kT(25.0)kT(x −+−δ+−δ+−δ= Aplicando a transformada Z em cada termo,

[ ]( )21

51

1

4321

z14zz

z1z

4z3

2z

4z)kT(xZ

−−

−−−−

−=

−+++=

Ou então, como uma reta iniciando em 0 menos uma reta negativa iniciando em 4,

)4kT(41kT

41)kT(x −−=

Aplicando a transformada Z em cada termo,

[ ]( ) ( ) ( )21

51

21

5

21

1

z14zz

z1z

41

z1z

41)kT(xZ

−−

−=

−−

−=

2.4 Exercícios Propostos Exercício 2.1: Obter a transformada Z de,

a) ( )ate1a1)t(x −−=

b) at2et)t(x −=

c) 0 1 2 3 4 5 6 7 8

0

0.2

0.4

0.6

0.8

1

t

x(t)

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

( )( )211

1

z4.0z3.11z1z)z(X −−−

++−=

Determinar: a) Valor inicial x(0);

Page 24: Intro Sis Ctrl Discreto

20

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

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

Page 25: Intro Sis Ctrl Discreto

21

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,

∑∞

=

−δ=0k

* )kTt()kT(x)t(x

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,

LL +−δ++−δ+δ= )kTt()kT(x)Tt()T(x)t()0(x)t(x* 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

Page 26: Intro Sis Ctrl Discreto

22

Agora aplicando a Transformada de Laplace no sinal amostrado,

[ ] [ ] [ ] [ ]

∑∞

=

−−

=

+++=

+−δ+−δ+δ==

0k

kTs

Ts2Ts

**

e)kT(x

e)T2(xe)T(x)0(x)T2t(L)T2(x)Tt(L)T(x)t(L)0(x)t(xL)s(X

L

L

Sabendo-se que a Transformada de laplace de um impulso defasado de a é, [ ] ase)at(L −=−δ

Então,

∑∞

=

−−− =+++=0k

kTsTs2Ts* e)kT(xe)T2(xe)T(x)0(x)s(X L

Definindo,

zlnT1szeTs =⇒=

Então,

( )∑∞

=

==

0k

k

zlnT1s

* zkTx)s(X

O lado direito desta equação é a definição de transformada Z da seqüência x(t), então,

)z(X)s(Xzln

T1s

* ==

Desta forma,

)z(XzlnT1X* =⎟

⎠⎞

⎜⎝⎛

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,

011n

1nn

n aaaa)kT(h +τ++τ+τ=τ+ −− L

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,

)kT(xaaa)kT(h 11n

1nn

n +τ++τ+τ=τ+ −− L

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,

Page 27: Intro Sis Ctrl Discreto

23

)kT(x)kT(h =τ+ 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,

)kT(x)tkT(h =+ Significando que a saída do circuito será igual à entrada até que ocorra outro sinal de entrada, então,

[ ][ ]

[ ])T3t(1)T2t(1)T2(x)tT2(h2k)T2t(1)Tt(1)T(x)tT(h1k

)Tt(1)t(1)0(x)t(h0k

−−−=+⇒=−−−=+⇒=

−−=⇒=

Então a resposta temporal do ZOH será definida como, [ ] [ ]

[ ]∑∞

=

+−−−=

+−−−+−−=

0k)T)1k(t(1)kTt(1)kT(x

)T2t(1)Tt(1)T(x)Tt(1)t(1)0(x)t(h L

Como a Transformada de Laplace do degrau unitário atrasada de kT é dada por,

[ ]s

e)kTt(1LkTs−

=−

Então a Transformada de Laplace da resposta do ZOH torna-se, ( )

∑∑∞

=

−−∞

=

+−− −=⎥

⎤⎢⎣

⎡−=

0k

kTsTs

0k

Ts1kkTs

e)kT(xse1

se

se)kT(x)s(H

Como,

∑∞

=

−=0k

kTs* e)kT(x)s(X

Então,

)s(Xse1)s(H *

Ts−−=

Consequentemente, a função de transferência o ZOH é dada por,

se1

)s(X)s(H)s(G

Ts

*ZOH

−−==

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

Page 28: Intro Sis Ctrl Discreto

24

)kT(xa)kT(h 1 +τ=τ+ Aplicando a condição que,

)T)1k((x)T)1k((h −=− Então,

)T)1k((x)kT(xTa)T)1k((h 1 −=+=− Portanto,

T)T)1k((x)kT(xa1

−−=

Consequentemente, a equação do segurador de primeira ordem fica,

)kT(xT

)T)1k((x)kT(x)kT(h +τ−−

=τ+

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,

)T(xT

)T2(xT

1)T2(xT

)T(x)T2(x)T2(h2k

)0(xT

)T(xT

1)T(xT

)0(x)T(x)T(h1k

)0(xT

1)0(xT

)T(x)0(x)(h0k

τ−⎟

⎠⎞

⎜⎝⎛ τ+=+τ

−=τ+⇒=

τ−⎟

⎠⎞

⎜⎝⎛ τ+=+τ

−=τ+⇒=

⎟⎠⎞

⎜⎝⎛ τ+=+τ

−−=τ⇒=

Que pode ser expressa convenientemente como,

)T)1k((xT

)T(xT

1)kT(h −τ

−⎟⎠⎞

⎜⎝⎛ τ+=τ+

Fica difícil escrever a equação sem assumir uma entrada conhecida, utilizando uma entrada degrau para x(t),

)Tt(1Tt)t(1

Tt1)t(h −−⎟⎠⎞

⎜⎝⎛ +=

Somando e subtraindo 1(t-T),

)Tt(1)Tt(1T

Tt)t(1Tt1)t(h −−−

−−⎟

⎠⎞

⎜⎝⎛ +=

Aplicando a transformada de Laplace a cada um dos termos da equação acima,

( ) 2TsTsTs

22 Ts1Tse1e

s1e

Ts1

Ts1

s1)s(H +

−=−−⎟⎠⎞

⎜⎝⎛ += −−−

Agora, a transformada de Laplace da entrada x*(t) do FOH é,

∑∞

=−

−==

0kTs

kTs*

e11e)kT(1)s(X

Então a função de transferência do segurador de primeira ordem FOH fica,

( ) 2

2Ts*FOH Ts

1Tse1)s(X)s(H)s(G +

−== −

Um exemplo do FOH é dado na Figura 3.4:.

Page 29: Intro Sis Ctrl Discreto

25

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,

)s(Gse1)s(X

Ts−−=

Fazendo,

( ) ( ) )s(Ge)s(G)s(Ge1s

)s(Ge1)s(Gse1)s(X 1

Ts11

TsTsTs

−−−−

−=−=−=−

=

Pegando apenas o último termo, )s(Ge)s(X 1

Ts1

−= Aplicando o teorema da convolução,

∫ τττ−=t

0101 d)(g)t(g)t(x

onde, [ ] ( )[ ])s(GL)t(g

TteL)t(g

11

1

Ts10

−−

=

−δ==

Então,

∫ τττ−−δ=t

011 d)(g)Tt()t(x

Como o delta extrai o valor da função, )Tt(g)t(x 11 −=

Além disso, Z[g1(t)]=G1(Z), então, por definição, [ ] [ ] )z(Gz)Tt(gZ)t(xZ 1

111

−=−= Porém, o desejado é,

[ ] [ ] [ ]

( ) ( ) ⎥⎦⎤

⎢⎣⎡−=−=−=

−=−=

−−−

s)s(GZz1)z(Gz1)z(Gz)z(G

)t(xZ)t(gZ)s(Ge)s(GZ)z(X

11

11

11

111Ts

1

No caso do FOH preceder a função G(s), tem-se

( ) )s(GTs

1Tse1)s(X 2

2Ts +−= −

Utilizando o mesmo resultado do ZOH,

Page 30: Intro Sis Ctrl Discreto

26

( )

( ) ⎥⎦⎤

⎢⎣⎡ +

−=

⎥⎦⎤

⎢⎣⎡ +

−=

)s(GTs

1TsZz1

)s(GTs

1Tse1Z)z(X

2

21

2

2Ts

Exemplo 3.1: Obter a transformada Z de,

1s1

se1)s(X

Ts

+−

=−

Solução: Como representa um ZOH,

( )

( ) ( ) ( )1T

1T

1T111

1Ts

ze1ze1

ze11

z11z1

1s1

s1Zz1

1s1

s1Zz1

1s1

se1Z)z(X

−−

−−

−−−−−

−−

−−

=⎥⎦⎤

⎢⎣⎡

−−

−−=⎥⎦

⎤⎢⎣⎡

+−−=

=⎥⎦⎤

⎢⎣⎡

+−=⎥

⎤⎢⎣

⎡+

−=

3.2.4 Resposta em Freqüência do ZOH A função de transferência do ZOH é dada por,

se1G

Ts

ZOH

−−=

A resposta em freqüência, que é o diagrama de bode, pode ser encontrada substituindo s por jω,

( ) ( ) ( ) ( )( )

( ) ( ) ( )( ) ( )2/T

2/TsinTej2

eee2j2

eee2j2e12

je1)j(G

Tj2/1Tj2/1Tj2/1Tj2/1

Tj2/1Tj2/1Tj2/1TjTj

ZOH

ωω

−=

ω−

−=

ω−

ω−ω−ωω−

ω−ωω−ω−ω−

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

Page 31: Intro Sis Ctrl Discreto

27

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

0

t

0

dhtxdxth)t(x*)t(hty

Que no domínio de Laplace é dada por, )s(X)s(H)s(Y =

Adicionando um amostrador em x(t), este é dado por,

( ) ( )∑∑∞

=

=

−δ=−δ=0k0k

* kTt)kT(xkTt)t(x)t(x

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,

( ) ( ) ( ) ( )

kTt0)nT(x)nTt(h

kTx)kTt(hT2x)T2t(hTx)Tt(h0x)t(h)t(yk

0n≤≤−=

=−++−+−+=

∑=

L

Amostrando também a saída do sistema, tem-se a Soma de Convolução dada por,

)kT(x*)kT(h)nT(h)nTkT(x)nT(x)nTkT(h)kT(y0n0n

=−=−= ∑∑∞

=

=

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,

⎩⎨⎧

≠=

=δ=0k00k1

)kT()kT(x

Então,

Page 32: Intro Sis Ctrl Discreto

28

[ ] 1z)kT(x)kT(Z)z(X0k

k ==δ= ∑∞

=

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,

)s(X)s(H)s(Y *= A Transformada de Laplace Inversa de Y(s) é dada por,

[ ]

∑∫ ∑

∫∞

=

=

=τ−τδττ−=

τττ−==

0k

t

0 0k

t

0

**1

)kT(x)kT(hd)kT()(x)t(h

d)(x)t(h)s(X)s(HL)t(y

Aplicando a transformada Z,

∑ ∑∞

=

−∞

=⎥⎦

⎤⎢⎣

⎡=

0n

n

0kz)kT(x)kT(h)z(Y

Fazendo m = n - k, ( )

)z(X)z(H

z)kT(xz)mT(h

z)kT(x)mT(h)z(Y

k

0k

m

0m

0m

mk

0k

=

=

=

−∞

=

−∞

=

=

+−∞

=

∑∑

∑∑

Significando que, [ ] )s(X)s(H)s(X)s(H)s(Y ***** ==

Aplicando transformada Z, torna-se,

)z(H)z(X)z(Y)z(X)z(H)z(Y =⇒=

3.3.2 Função de Transferência em Cascata

Page 33: Intro Sis Ctrl Discreto

29

Considerando o sistema apresentado na Figura 3.7(a), supondo que os amostradores estão sincronizados. Neste caso, observa-se que,

)s(U)s(H)s(Y)s(X)s(G)s(U

*

*

=

=

Como mostrado no item anterior, encontra-se,

)s(X)s(G)s(H)s(Y)s(U)s(H)s(Y)s(X)s(G)s(U ****

***

***

=⇒==

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

)Z(G)z(H)z(X)z(Y)z(X)z(G)z(H)z(Y =⇒=

Porém, aplicando o mesmo método na Figura 3.7(b), neste caso tem-se que, )s(X)s(HG)s(X)s(G)s(H)s(Y ** ==

Que resulta em, [ ] )s(X)s(HG)s(Y *** =

Cuja transformada Z é dada por,

)z(HG)z(X)z(Y=

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

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,

as1)s(G+

= e bs

1)s(H+

=

Para a Figura 3.7(a) tem-se,

1bT1aT ze11

ze11

bs1Z

as1Z)Z(G)z(H

)z(X)z(Y

−−−− −−=⎥⎦

⎤⎢⎣⎡+⎥⎦

⎤⎢⎣⎡+

==

Para a Figura 3.7(b) tem-se,

( )( )( )

( )( )1bT1aT

1bTaT

ze1ze1zee

ab1

bsasab

ab1Z

bs1

as1Z)Z(HG

)z(X)z(Y

−−−−

−−−

−−−

−=⎥

⎤⎢⎣

⎡++

−−

=⎥⎦⎤

⎢⎣⎡

++==

Este exemplo mostra claramente que ambos são diferentes.

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

Page 34: Intro Sis Ctrl Discreto

30

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,

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

[ ])s(GH1

)s(R)s(E)s(E)s(HG)s(R)s(E *

******

+=⇒−=

Como, )s(E)s(G)s(C *** =

Então, a função de transferência pulsada de malha fechada é dada por,

)s(GH1)s(G

)s(R)s(C

)s(GH1)s(R)s(G)s(E)s(G)s(C *

*

*

*

*

*****

+=⇒

+==

Aplicando a transformada Z, encontra-se a função de transferência discreta em malha fechada,

)z(GH1)z(G

)z(R)z(C

+=

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.

Page 35: Intro Sis Ctrl Discreto

31

Figura 3.9: sistema em malha fechada envolvendo amostador

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

)s(E)s(G)s(G)s(C)s(E)s(G)s(G)s(C **D

****D =⇒=

Aplicando a transformada Z, )z(E)z(G)z(G)z(C D=

Como, [ ])z(C)z(R)z(G)z(G)z(C)z(C)z(R)z(E D −=⇒−=

Chegando a,

)z(G)z(G1)z(G)z(G

)z(R)z(C

D

D

+=

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,

⎥⎦

⎤⎢⎣

⎡++= ∫ )t(e

dtdTdt)t(e

T1)t(eK)t(m d

t

0i

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,

( )

( )⎥⎦⎤−−

+

⎢⎣

⎡+⎥⎦

⎤⎢⎣⎡ +−

+++

++

+=

TT)1k(e)kT(eT

2)kT(eT)1k(e

2)T2(e)T(e

2)T(e)0(e

TT)kT(eK)kT(m

d

i

L

Ou então, ( ) ( )[ ]

⎭⎬⎫

⎩⎨⎧

−−++−

+= ∑=

T)1k(e)kT(eTT

2)hT(eT)1h(e

TT)kT(eK)kT(m d

k

1hi

Para resolver o problema, deve-se primeiro notar que,

⎥⎦

⎤⎢⎣

⎡−

−=⎥

⎤⎢⎣

⎡ ∑∑−

=

−−

=

1i

0h

h1

k

ihz)h(x)z(X

z11)h(xZ

Prova: esta transformada é comprovada fazendo,

)k(x)1i(x)i(x)h(x)k(y~k

ih

++++== ∑=

L

Page 36: Intro Sis Ctrl Discreto

32

A transformada Z de cada um dos termos utilizando a propriedade da translação real,

k)1i(i z)k(xz)1i(xz)i(x)z(Y~ −+−− ++++= L Porém, observe que, definindo,

LL +++++= −+−− k)1i(i z)k(xz)1i(xz)i(x)z(X~ E da definição de transformada Z,

L+++=== −−∞

=

−∑ 21

0k

k z)2(xz)1(x)0(xz)k(x)]k(x[Z)z(X

Então, obtêm-se,

∑−

=

−−=1i

0h

hz)h(x)z(X)z(X~

Por outro lado,

)z(X~z1

1)z(Y~)z(X~)z(Y~z)z(Y~)k(x)1k(y~)k(y~ 11

−−

−=⇒=−⇒=−−

Pois a transformada Z de x(k) que começa em k = i é )z(X~ , finalmente,

⎥⎦

⎤⎢⎣

⎡−

−=

−==⎥

⎤⎢⎣

⎡ ∑∑−

=

−−−

=

1i

0h

h11

k

ihz)h(x)z(X

z11)z(X~

z11)z(Y~)h(xZ

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,

[ ] )z(Ez1

1)0(E)z(Ez1

1)hT(eZ 11

k

1h−−

= −=−

−=⎥

⎤⎢⎣

⎡∑

( ) [ ] )z(Ez1

z)0(E)z(Ez1

1z)T1h(eZ 1

1

11

k

1h−

−−

= −=

⎭⎬⎫

⎩⎨⎧ −−

=⎥⎦

⎤⎢⎣

⎡−∑

Agora, para [ ]( )[ ] )z(Ez)T1k(eZ

)z(E)kT(eZ1−=−

=

Então, a transformada Z do controlador PID é dada por,

[ ]⎭⎬⎫

⎩⎨⎧

−+⎥⎦

⎤⎢⎣

⎡−

+−

+= −−

− )z(Ez)z(ETT

z1z

z11

21

TT)z(EK)z(M 1d

1

1

1i

Resultando em,

( )⎟⎟⎠

⎞⎜⎜⎝

⎛−+

−+

+= −−

−1d

1

1

i

z1TT

z1z1

T2T1K

)z(E)z(M

Rearranjando os termos,

( )

( )⎥⎦⎤

⎢⎣⎡ −+

−+=

⎟⎟⎠

⎞⎜⎜⎝

⎛−+

−+−=

−−

−−

1D1

IP

1d1

ii

z1Kz1

KK

z1TT

z11

TT

T2T1K

)z(E)z(M

Onde

=−=−=2

KKT2

KTKK I

ip ganho proporcional

Page 37: Intro Sis Ctrl Discreto

33

==i

I TKTK ganho integral

==T

KTK DD ganho derivativo

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.

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,

( )1ss1G p +

=

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,

( )1ss1

se1GG

s

pZOH +−

=−

Aplicando a transformada de Z,

[ ] ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )[ ]( ) ( )1T21

11TTT1

21

21

s

pZOH

ze1z1zzTee1e1Tz1

1ss1Zz1

1ss1Zz1

1ss1

se1ZGGZ

−−−

−−−−−−−

−−

−−

−−++−−=⎥

⎤⎢⎣

⎡+

−=

=⎥⎦

⎤⎢⎣

⎡+

−=⎥⎦

⎤⎢⎣

⎡+

−=

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,

[ ] ( )( )11

21

pZOH z3679.01z1z2642.0z3679.0)z(GGGZ −−

−−

−−+

==

A função de transferência do controlador PID é dada por

( )( )

1

21

1

2D

1DPDIP

1D1

IPD

z1z2.0z4.14.1

z1zKzK2KKKK

z1Kz1

KK)z(G)z(E)z(M

−−

−−

−−

−+−

=−

++−++=

=−+−

+==

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

( )1D1

IP z1K

z1K

K −− −+

−+

( )( )11

21

z1z3679.01z2642.0z3679.0−−

−−

−−+

R(z)

+ -

Page 38: Intro Sis Ctrl Discreto

34

( )( )

( )( )

4321

4321

321

4321

321

4321

11

21

1

21

11

21

1

21

D

D

z0528.0z6642.0z5906.1z8528.11z0528.0z2963.0z1452.0z5151.0

z3679.0z7358.1z3679.21z0528.0z2963.0z1452.0z5151.01

z3679.0z7358.1z3679.21z0528.0z2963.0z1452.0z5151.0

z3679.01z1z2642.0z3679.0

z1z2.0z4.14.11

z3679.01z1z2642.0z3679.0

z1z2.0z4.14.1

)z(G)z(G1)z(G)z(G

)z(R)z(C

−−−−

−−−−

−−−

−−−−

−−−

−−−−

−−

−−

−−

−−

−−

−−

+−+−+−−

=

−+−+−−

+

−+−+−−

=

=

−−+

−+−

+

−−+

−+−

=+

=

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,

Page 39: Intro Sis Ctrl Discreto

35

( ) ( )

n1n

1n

m1mn

1mn

0n

n1

1

nm

1mn1

mn0

azazbzbzb

zaza1zbzbzb

)z(X)z(Y

++++++

=+++

+++= −

−−−

−−

−+−−−−

L

L

L

L n ≥ m

Que também pode ser expressa na forma de pólos e zeros, ( )( ) ( )( )( ) ( )n21

m210

pzpzpzzzzzzzb

)z(X)z(Y

−−−−−−

=L

L n ≥ m

Observe que,

nn

11

mm

110

zaza1zbzbb

)z(X)z(Y

−−

−−

++++++

=L

L

Que pode ser reescrita como, ( ) ( ) )z(Xzbzbb)z(Yzaza1 m

m1

10n

n1

1−−−− +++=+++ LL

Aplicando a transformada inversa de Z, obtém-se,

)mTkT(xb)TkT(xb)kT(xb)nTkT(ya)T2kT(ya)TkT(ya)kT(y

m10

n21

−++−+=−++−+−+

L

L

Significando que a resposta atual y(kT) é obtida fazendo,

)mTkT(xb)TkT(xb)kT(xb)nTkT(ya)T2kT(ya)TkT(ya)kT(y

m10

n21

−++−+++−−−−−−−=

L

L

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,

( )21ss)s(G+

=

Solução: Das tabelas de transformada Z,

( ) ( )

3679.0z2131.1zz9098.0z

)z(U)z(Y

z3679.0z2131.11z9098.01

ze1ze)T1(1

1ssZ

2

2

21

1

21T

1T

2

+−−

=

+−−

=−

+−=⎥

⎤⎢⎣

+ −−

−−

−−

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, )T)1k((u9098.0)kT(u)T)2k((y3679.0)T)1k((y2131.1)kT(y −−+−−−=

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)

Page 40: Intro Sis Ctrl Discreto

36

= 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,

nn

11

mm

110

zaza1zbzbb

)z(X)z(Y

−−

−−

++++++

=L

L

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,

21

21

z3679.0z3679.11z2642.0z3679.0)z(G −−

−−

+−+

=

Função de transferência do controlador PID digital,

1

21

PID z1z2.0z4.14.1)z(G −

−−

−+−

Page 41: Intro Sis Ctrl Discreto

37

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,

4321

4321

z0528.0z6642.0z5906.1z8528.11z0528.0z2963.0z1452.0z5151.0

)z(R)z(C

−−−−

−−−−

+−+−+−−

=

Observe que neste caso, observa-se que o termo b0 é zero, pois sua representação é,

44

33

22

11

43

33

22

110

MF zazazaza1zbzbzbzbb)z(G −−−−

−−−−

++++++++

=

Para este caso, a solução se encontra na Figura 3.14.

Figura 3.14 : Diagrama de blocos implementado em Simulink utilizando atrasadores

Page 42: Intro Sis Ctrl Discreto

38

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,

nn

11

mm

110

zaza1zbzbb

)z(X)z(Y

−−

−−

++++++

=L

L

Que pode ser representada em termos de equação de diferenças na forma,

)T)mk((xb)T)1k((xb)kT(xb)T)nk((ya)T)2k((ya)T)1k((ya)kT(y

m10

n21

−++−+++−−−−−−−=

L

L

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,

)T)mk((xb)T)1k((xb)kT(xb)kT(y m10 −++−+= L 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,

mm

110 zbzbb)z(Y −− +++= L

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.

1

1

z5.01z6.02)z(G −

+−

=

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

Page 43: Intro Sis Ctrl Discreto

39

Tomando apenas os valores abaixo de z-7, então, a forma FIR fica,

7654321

1

1

z025.0z05.0z1.0z2.0z4.0z8.0z6.12z5.01z6.02)z(G

)z(X)z(Y

−−−−−−−

−+−+−+−≅

+−

==

Cuja equação de diferenças fica,

)T)7k((x025.0)T)6k((x05.0)T)5k((x1.0)T)4k((x2.0)T)3k((x4.0)T)2k((x8.0)T)1k((x6.1)kT(x2)kT(yFIR

−−−+−−−++−−−+−−=

Enquanto que a forma IIR é dada por, )T)1k((x6.0)T)k((x2)T)1k((y5.0)kT(yIIR −−+−−=

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 tsinω 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, t2sin)t(y π= , com T = 1/(8*1) = 0.125 s. Calculando a Transformada Z,

[ ] [ ]1Tcosz2z

Tsinz)kT(yZ)t(yZ 2 +ω−ω

==

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,

21

1

zz4142.11z7071.0

)z(U)z(Y

−−

+−=

Aplicando a Transformada Z inversa, ( ) )z(Uz7071.0)z(Yzz4142.11 121 −−− =+−

)T)1k((u7071.0)T)2k((yT)1k((y4142.1)kT(y −=−+−− 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

Page 44: Intro Sis Ctrl Discreto

40

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

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

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1Impulse Response

Tempo [s] (sec)

Am

plitu

de

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,

)s(*HP)s(*G1)s(*P)s(*G

)s(*R)s(*C

+=

Aplicando a Transformada Z, encontra-se a função de transferência discreta em malha fechada,

)z(HP)z(G1)z(P)z(G

)z(R)z(C

+=

Page 45: Intro Sis Ctrl Discreto

41

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.

a) ( )( )2s1s3s)s(G++

+=

b) ( )2

Ts

as1

se1)s(G

+−

=−

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,

( )2

st

2se1)s(G+−

=−

Exercício 3.3: (Exame de 2007) Calcular a Transformada Z da seguinte função de transferência,

2s3s1)s(G 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,

( )21

1

z5.01z21

)z(R)z(C

+=

Exercício 3.5: Obter a função de transferência discreta em malha fechada dos seguintes diagramas de bloco,

(a)

Page 46: Intro Sis Ctrl Discreto

42

(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,

Page 47: Intro Sis Ctrl Discreto

43

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,

2nd2,1 1jnjns ζ−ω±ζω−=ω±ζω−=

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,

zlnT1szeTs =⇒=

onde T é o tempo de amostragem e s a raiz complexa. Como a raiz s possui uma parte real e uma parte imaginária,

ω+σ= js Então,

( ) TjTjTTs eeeez ωσω+σ === Como a exponencial complexa é dada por,

TsinjTcose Tj ω±ω=ω±

Page 48: Intro Sis Ctrl Discreto

44

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,

( ) ( )k2TjTTjTjTTs eeeeeez πωσωσω+σ ====

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,

1ez T <= σ 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.

Page 49: Intro Sis Ctrl Discreto

45

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,

dn2

nn j1js ω+ζω−=ζ−ω+ζω−= Aplicando a transformação,

( ) ⎟⎟

⎜⎜

ωω

π+ωω

ζ−

πζ−

ω+ζω− === s

d

s

d2

dn

2j1

2

jTs eeez Consequentemente,

⎟⎟

⎜⎜

ωω

ζ−

πζ−

= s

d21

2

ez e ( )s

d2zangleωω

π=

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.

Page 50: Intro Sis Ctrl Discreto

46

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.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

0.90.80.70.60.50.40.30.20.1

π/T

0.9π/T

0.8π/T

0.7π/T

0.6π/T0.5π/T

0.4π/T

0.3π/T

0.2π/T

0.1π/T

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.

Page 51: Intro Sis Ctrl Discreto

47

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 1z < . • 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 1z = e os demais com 1z < ;

• 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 1z > .

Exemplo 4.1: Considerando o sistema em malha fechada apresentado abaixo, determinar a estabilidade para K = 1 e um tempo de amostragem T = 1s.

Page 52: Intro Sis Ctrl Discreto

48

Solução: Calculando a convolução do ZOH com a planta,

[ ] ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )[ ]( ) ( )1T21

11TTT1

21

21

s

pZOH

ze1z1zzTee1e1Tz1

1ss1Zz1

1ss1Zz1

1ss1

se1ZGGZ

−−−

−−−−−−−

−−

−−

−−++−−=⎥

⎤⎢⎣

⎡+

−=

=⎥⎦

⎤⎢⎣

⎡+

−=⎥⎦

⎤⎢⎣

⎡+

−=

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,

[ ] ( )( )11

21

pZOH z3679.01z1z2642.0z3679.0)z(GGGZ −−

−−

−−+

==

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

( )( )

( )( )21

21

11

21

11

21

z6321.0z1z2642.0z3679.0

z3679.01z1z2642.0z3679.011

z3679.01z1z2642.0z3679.01

)z(KG1)z(KG

)z(R)z(C

−−

−−

−−

−−

−−

−−

+−+

=

−−+

+

−−+

=+

=

Então, calculando as raízes do denominador, que são os pólos, encontra-se, 6181.0j5.0z 2,1 ±=

Pegando o valor absoluto,

( ) ( ) 7950.06181.05.0z 222,1 =+=

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

Page 53: Intro Sis Ctrl Discreto

49

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,

%100)(c

)(c)t(calsinsobredemporcentage ×∞

∞−=

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.

Page 54: Intro Sis Ctrl Discreto

50

Figura 4.9: Sistema de malha fechada com controlador proporcional.

O sistema em malha fechada possui a resposta dada por,

)z(KG1)z(KG

)z(R)z(C

+=

onde K representa o ganho do controlador proporcional. O denominador ou equação característica é dado por,

0)z(KG1 =+ Que pode ser reescrita como,

( )( ) ( )( )( ) ( ) 0

pzpzpzzzzzzzK1

n21

m21 =−−−−−−

+L

L

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,

( )( ) ( )( )( ) ( ) K

1pzpzpzzzzzzz

n21

m21 =−−−−−−

L

L

Exemplo 4.2: Supondo que o sistema seja dado por,

[ ] T

Ts

pZOH eze1

1s1

se1ZGGZ −

−−

−−

=⎥⎦

⎤⎢⎣

⎡+

−=

E o controlador seja na forma integral dada por,

1zzK

z1K)z(G 1D −

=−

= −

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,

[ ] T

T

PZOHD eze1

1zzKGGZ)z(G)z(G −

−−

−==

Então, ( )

( )[ ] TTT2

T

eze1e1Kzze1K

)z(G1)z(G

)z(R)z(C

−−−

+−−−+−

=+

=

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)]);

Page 55: Intro Sis Ctrl Discreto

51

% Empacotando sys=tf(num,den,T) % aplicação do método do lugar das raízes rlocus(sys);zgrid

Transfer function: 0.3935 z ---------------------- z^2 - 1.607 z + 0.6065 Sampling time: 0.5

Transfer function: 0.6321 z ---------------------- z^2 - 1.368 z + 0.3679 Sampling time: 1

Transfer function: 0.8647 z ---------------------- z^2 - 1.135 z + 0.1353 Sampling time: 2

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

Page 56: Intro Sis Ctrl Discreto

52

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,

( ) )5s(1s1)s(G p ++

=

Aplicando a transformada na convolução da planta com o ZOH,

Page 57: Intro Sis Ctrl Discreto

53

[ ] ( )( ) ( ) ( )( )

( ) ( ) ( )

( ) ( ) ( ) ( )( )( ) ( )( ) ( )( )

( )( )( ) ( )

( )( )1T51T

2TT5T61T5T

1T51T

1T11T511T1T5

1T51T11

1

1s

pZOH

ze1ze120zee5e4zee54ze1ze120

ze1z1ze1z15ze1ze14

ze1201

ze141

z151z1

5s201

1s41

s51Zz1

5s1ss1Zz1

5s1ss1

se1ZGGZ

−−−−

−−−−−−−

−−−−

−−−−−−−−−−

−−−−−−

−−

−−+−++−

=

−−−−+−−−−−

=

⎥⎦

⎤⎢⎣

⎡−

+−

−−

−=

=⎥⎦

⎤⎢⎣

⎡+

++

−−=

=⎥⎦

⎤⎢⎣

⎡++

−=⎥⎦

⎤⎢⎣

⎡++

−=

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])

0 1 2 3 4 5 60

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2Step Response

Time (sec)

Am

plitu

de

ContínuoDiscreto

Root Locus

Real Axis

Imag

inar

y A

xis

-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

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.10.2

0.30.40.50.60.70.80.9

System: GzGain: 0

Pole: 0.607Damping: 1

Overshoot (%): 0Frequency (rad/sec): 5

System: GzGain: 10Pole: 0.734 + 0.206iDamping: 0.705Overshoot (%): 4.38Frequency (rad/sec): 3.

System: GzGain: 50Pole: 0.648 - 0.538iDamping: 0.241Overshoot (%): 45.8Frequency (rad/sec): 7.14

Page 58: Intro Sis Ctrl Discreto

54

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

Page 59: Intro Sis Ctrl Discreto

55

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

% Controle PID % Kp = 50 , Kd = 50 , Ki = 0 Kp=50;Kd=50;Ki=0; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; GPIDz=tf(num,den,T) sysMA=GPIDz*Gz sysMF4=feedback(sysMA,1) % Kp = 50 , Kd = 50 , Ki = 2 Kp=50;Kd=50;Ki=2; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; GPIDz=tf(num,den,T) sysMA= GPIDz*Gz sysMF5=feedback(sysMA,1) % Kp = 50 , Kd = 50 , Ki = 10 Kp=50;Kd=50;Ki=10; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd];den=[1 -1 0]; GPIDz=tf(num,den,T) sysMA=GPIDz*Gz sysMF6=feedback(sysMA,1) % Kp = 50 , Kd = 50 , Ki = 40 Kp=50;Kd=50;Ki=40; num=[Kp+Kd+Ki -(Kp+2*Kd) +Kd]; 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.

Page 60: Intro Sis Ctrl Discreto

56

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,

)z(G)z(G1)z(G)z(G

)z(R)z(C

D

D

+=

Para que o sistema em malha fechada tenha uma resposta dead beat, necessariamente a malha fechada deve ser na forma,

NN

1N1

N0N

N1

10 zazaza

zazaa)z(F)z(R)z(C L

L++

=++==−

−−

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.

Page 61: Intro Sis Ctrl Discreto

57

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,

TisKsTKsTTK

sT1sT1K

sKsKsK

sKsKK)s(PID

cic2

idc

idc

Ip2

dIdp

++=⎟⎟

⎞⎜⎜⎝

⎛++=

++=++=

Enquanto que o PID discreto é dado por,

( ) ( )1D1

IP

1d1

1

ic z1K

z1K

Kz1TT

z1z1

T2T1K)z(PID −

−−

−+−

+=⎟⎟⎠

⎞⎜⎜⎝

⎛−+

−+

+=

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,

Kp)z(G1Kp)z(G

)z(R)z(Y

+=

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

Page 62: Intro Sis Ctrl Discreto

58

Root Locus

Real Axis

Imag

inar

y A

xis

-3 -2 -1 0 1 2 3-5

-4

-3

-2

-1

0

1

2

3

4

5

System: GsGain: 4.5Pole: 0.00145 + 3.63iDamping: -0.0004Overshoot (%): 100Frequency (rad/sec): 3.63

System: GsGain: 4.47Pole: -0.00302 - 3.63iDamping: 0.000832Overshoot (%): 99.7Frequency (rad/sec): 3.63

Root Locus

Real Axis

Imag

inar

y A

xis

-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

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T

0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.10.2

0.30.40.50.60.70.80.9

System: GzGain: 3.35

Pole: 0.807 + 0.59iDamping: 0.000454

Overshoot (%): 99.9Frequency (rad/sec): 3.15

System: GzGain: 3.35

Pole: 0.807 - 0.59iDamping: 0.000454

Overshoot (%): 99.9Frequency (rad/sec): 3.15

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.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

0.5

1

1.5Step Response

Time (sec)

Am

plitu

de

Tempo deOscilação Tu

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

0

0.5

1

1.5Step Response

Time (sec)

Am

plitu

de

Tempo deoscilação Tu

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.

Page 63: Intro Sis Ctrl Discreto

59

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?

100s10s100)s(G 2 ++

=

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,

Page 64: Intro Sis Ctrl Discreto

60

( )( )( )3s2s1s2)s(G

+++= e

1s301)s(H+

=

Para resolver este problema deve-se assumir que há um amostrador em X(s) e um ZOH em U(s).

Page 65: Intro Sis Ctrl Discreto

61

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,

)t(u)t(ky)t(yc)t(ym =++ &&& Que pode ser reescrito como,

m)t(u)t(y)t(y2)t(y 2

nn =ω+ζω+ &&&

Definindo uma variável como, )t(y)t(x)t(y)t(x 11 && =⇒=

Definindo uma outra variável como, )t(y)t(x)t(x)t(y)t(x 212 &&&&& =⇒==

Substituindo na equação original e deixando somente uma variável com a derivada temporal, então,

m)t(u)t(x)t(x2)t(x 1

2n2n2 =ω+ζω+&

Agora, escrevendo um sistema na seguinte forma,

)t(um/1

0)t(x)t(x

201

)t(x)t(x

2

1

n2n2

1

⎭⎬⎫

⎩⎨⎧

+⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡ζω−ω−

=⎭⎬⎫

⎩⎨⎧&

&

Ainda está faltando a resposta y(t) do sistema, que é dada por,

[ ] { } )t(u0)t(x)t(x

01)t(y2

1 +⎭⎬⎫

⎩⎨⎧

=

Que pode ser escrito da seguinte maneira,

)t(Du)t(Cx)t(y)t(Bu)t(Ax)t(x

+=+=&

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.

Page 66: Intro Sis Ctrl Discreto

62

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,

{ } [ ] { } [ ] { }{ } [ ] { } [ ] { } 1rrm1nnm1m

1rrn1nnn1n

)t(uD)t(xC)t(y)t(uB)t(xA)t(x

×××××

×××××

+=+=&

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,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

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,

nn

11

nn

110

zaza1zbzbb

)z(U)z(Y

−−

−−

++++++

=L

L

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

Page 67: Intro Sis Ctrl Discreto

63

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

)k(u

1

000

)k(x)k(x

)k(x)k(x

aaaa1000

01000010

)1k(x)1k(x

)1k(x)1k(x

n

1n

2

1

12n1nnn

1n

2

1

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−−−

=

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

++

++

−−

− M

M

L

L

MOMMM

L

L

M

[ ] )k(ub

)k(x

)k(x)k(x

babbabbab)k(y 0

n

2

1

01101n1n0nn +

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

−−−= −− ML

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,

)k(u

babbab

babbab

)k(x)k(x

)k(x)k(x

a100a000

a001a000

)1k(x)1k(x

)1k(x)1k(x

011

022

01n1n

0nn

n

1n

2

1

1

2

1n

n

n

1n

2

1

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

−−

+

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

−−

=

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

++

++

−−

MM

L

L

MOMMM

L

L

M

[ ] )k(ub

)k(x

)k(x)k(x

100)k(y 0

n

2

1

+

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

=M

L

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,

n

n

2

2

1

10 pz

cpz

cpz

cb)z(U)z(Y

−+

−+

−+= L

Então, a forma canônica diagonal é dada por,

Page 68: Intro Sis Ctrl Discreto

64

)k(u

1

11

)k(x

)k(x)k(x

p000

0p000p

)1k(x

)1k(x)1k(x

n

2

1

n

2

1

n

2

1

⎥⎥⎥⎥

⎢⎢⎢⎢

+

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

+

++

MM

L

MOM

L

L

M

[ ] )k(ub

)k(x

)k(x)k(x

ccc)k(y 0

n

2

1

n21 +

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

=M

L

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,

)k(u

1

1__1

00

)k(x

)k(x_______

)k(x

)k(x)k(x

p0

0p]0[

]0[

p000

01p0001p

)1k(x

)1k(x_______

)1k(x

)1k(x)1k(x

n

1m

m

2

1

n

1m

1

1

1

n

1m

m

2

1

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪

+

+

+

++

+++

M

M

M

M

L

MOM

LL

MOMMM

L

L

M

M

[ ] )k(ub

)k(x

)k(x)k(x

ccc)k(y 0

n

2

1

n21 +

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

=M

L

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,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

Supondo uma transformação tal que,

Page 69: Intro Sis Ctrl Discreto

65

)k(xP)k(x = onde a matriz P é de ordem n×n, mesma ordem da matriz G. Então,

)k(Du)k(xCP)k(y)k(Hu)k(xGP)1k(xP

+=+=+

Que pode ser reescrito como,

)k(Du)k(xCP)k(y)k(HuP)k(xGPP)1k(x 11

+=+=+ −−

Agora definindo, GPPG 1−= , CPC = e HPH 1−=

Então,

)k(Du)k(xC)k(y

)k(uH)k(xG)1k(x

+=

+=+

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,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

Pegando apenas os estados do sistema, para o instante inicial têm-se, )0(Hu)0(Gx)1(x +=

Para o instante seguinte, ( ) )1(Hu)0(GHu)0(xG)1(Hu)0(Hu)0(GxG)1(Hu)1(Gx)2(x 2 ++=++=+=

Para o instante seguinte, ( )

)2(Hu)1(GHu)0(HuG)0(xG)2(Hu)1(Hu)0(GHu)0(xGG)2(Hu)2(Gx)3(x

23

2

+++=

=+++=+=

Fazendo isso para k instantes,

∑−

=

−−+=1k

0j

1jkk )j(HuG)0(xG)k(x k = 1, 2, 3 ...

Substituindo este resultado em y(k),

)k(Du)j(HuG)0(xGC)k(y1k

0j

1jkk +⎟⎟⎠

⎞⎜⎜⎝

⎛+= ∑

=

−− k = 1, 2, 3 ...

5.5 Passando de Matrizes de Estado para FT Supõe-se o sistema na forma,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

Aplicando transformada Z, obtém-se,

Page 70: Intro Sis Ctrl Discreto

66

)z(DU)z(CX)z(Y)z(HU)z(GX)0(zx)z(zX

+=+=−

Supondo condições iniciais nulas, ( ) ( ) )z(HUGzI)z(X)z(HU)z(XGzI)z(HU)z(GX)z(zX 1−−=⇒=−⇒+=

Substituindo em Y(z), ( ) ( )[ ] )z(UDHGzIC)z(DU)z(HUGzIC)z(Y 11 +−=+−= −−

Como a função de transferência pulsada é a relação dada por Y(z)/U(z),

( ) DHGzIC)z(U)z(Y 1 +−= −

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,

∑∞

=

=+++++=0k

kkkk22At

!ktAtA

!k1tA

!21AtIe LL

Diferenciando esta solução em relação ao tempo, para isso a derivada é feita termo a termo, encontra-se,

AeAeedtd AtAtAt ==

Agora, três relações importantes, Iee AtAt =−

( ) BtAttBA eee =+ se AB = BA ( ) BtAttBA eee ≠+ se AB ≠ BA

Agora, obtendo a resposta para matrizes de estado contínuas, isto é, )t(Bu)t(Ax)t(x +=&

Que pode ser reescrita como, )t(Bu)t(Ax)t(x =−&

Agora pré-multiplicando por e-At,

[ ] ( ) )t(Bue)t(xedtd)t(Ax)t(xe AtAtAt −−− ==−&

Integrando1 de 0 a t,

∫ ττ=− τ−−t

0

AAt d)(Bue)0(x)t(xe

Que pode ser rearranjada como, ( )∫ ττ+= τ−

t

0

tAAt d)(Bue)0(xe)t(x

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.

Page 71: Intro Sis Ctrl Discreto

67

)t(Du)t(Cx)t(y += Para fazer o mesmo para um sistema discreto, tem-se que,

)kT(Hu)kT(Gx)T)1k((x)t(Bu)t(Ax)t(x +=+⇒+=& 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,

)kT(u)t(u = kT ≤ t < kT+T Então, a solução,

( )∫ ττ+= τ−t

0

tAAt d)(Bue)0(xe)t(x

Para o tempo kT,

∫ ττ+= τ−kT

0

AAkTAkT d)(Buee)0(xe)kT(x

Para o tempo (k+1)T, ( ) ( )( )

( )

∫+

τ−++ ττ+=+T1k

0

AT1kAT1kA d)(Buee)0(xe)T)1k((x

Agora fazendo,

( ) ( )( )( )

( )⎥⎦

⎤⎢⎣

⎡ττ+−ττ+=−+ ∫∫ τ−

+τ−++

kT

0

kTAAkTATT1k

0

T1kAT1kAAT d)(Bue)0(xeed)(Bue)0(xe)kT(xe)T)1k((x

Simplificando2,

( )( ) ( )( )

( )( )

∫∫+

τ−+

τ−+

τ−++

ττ+=

ττ−ττ+−+=+

T1k

kT

AT1kAAT

kT

0

AAkTATT1k

0

AT1kAAkTATT1kAAT

d)(Buee)kT(xe

d)(Bueeed)(Buee)0(xeee)kT(xe)T)1k((x

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

0

AATAT d)(Buee)kT(xe)T)1k((x

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

∫ λλ+=+ λT

0

AAT d)(Bue)kT(xe)T)1k((x

Que representa a solução da equação de estado discreta na forma, )kT(Hu)kT(Gx)T)1k((x +=+

Que neste caso, tem-se que para encontrar estas matrizes discretas, necessariamente,

ATeG = e BdeHT

0

A⎟⎟⎠

⎞⎜⎜⎝

⎛λ= ∫ λ

Pelas equações acima, verifica-se claramente que as matrizes discretas são dependentes do tempo de amostragem.

2 Deve ser lembrado que ( )T1kAAkTAT eee +=

Page 72: Intro Sis Ctrl Discreto

68

A solução para y(kT) é dada simplesmente por, )kT(Du)kT(Cx)kT(y +=

Se a matriz A for não singular, então

( ) ( ) BAIeBIeABdeH 1ATAT1T

0

A −−λ −=−=⎟⎟⎠

⎞⎜⎜⎝

⎛λ= ∫

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.

212

22 asas

bs2s

1)2s(s

1)s(G++

=+

=+

=

Solução: O primeiro passo é encontrar uma representação de estado para o sistema, utilizando a forma canônica controlável,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

)t(x)t(x

01)t(y

)k(u10

)t(x)t(x

2010

)t(x)t(x

2

1

2

1

2

1

&

&

Como foi visto, para as matrizes discretas têm-se3,

( )⎥⎦

⎤⎢⎣

⎡=

⎥⎥

⎢⎢

⎡ −==−

1353.004323.01

e0

e1211eG

T2

T2AT

Outra forma de encontrar a matriz G é fazendo,

[ ] ( ) ( )

⎥⎥⎥⎥

⎢⎢⎢⎢

+

+=−= −

2s10

2ss1

s1

AsIeL 1At

Cuja transformada de laplace inversa é dada por,

( ) ( )⎥⎥

⎢⎢

⎡ −=

⎥⎥⎥⎥

⎢⎢⎢⎢

+

+=−

−−

t2

t21At

e0

e1211

2s10

2ss1

s1

Le

Então,

( )

( ) ( )⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎟⎟⎠

⎞⎜⎜⎝

⎛ −+

=⎥⎦

⎤⎢⎣

⎥⎥⎥⎥

⎢⎢⎢⎢

⎟⎟⎠

⎞⎜⎜⎝

⎛ −+

=

=⎥⎦

⎤⎢⎣

⎟⎟⎟

⎜⎜⎜

⎛λ

⎥⎥

⎢⎢

⎡ −=⎟⎟⎠

⎞⎜⎜⎝

⎛λ=

λ−

λ−λ ∫∫

4323.02838.0

e121

21eT

21

10

e1210

21eT

21T

10

de0

e1211BdeH

T2

T2

T2

T2

T

0 2

2T

0

A

Desta forma, o sistema discreto na forma de matrizes de estado é dado por,

3 ∑

=

=+++++=0k

kkkk22At

!ktAtA

!k1tA

!21AtIe LL

Page 73: Intro Sis Ctrl Discreto

69

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

01)k(y

)k(u4323.02838.0

)k(x)k(x

1353.004323.01

)1k(x)1k(x

2

1

2

1

2

1

Para a representação em FT discreta,

( )

[ ]1353.0z1353.1z

1485.0z2838.004323.02838.0

1353.004323.01

1001

z01

DHGzIC)z(G)z(U)z(Y

2

1

1

−−+

=+⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡=

+−==

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,

10s6325.10s6325.1s2s)s(G 23 +++

+=

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)

Page 74: Intro Sis Ctrl Discreto

70

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,

( ) ( ) )t(uxxkxxcxm NSSNSSSS =−+−+ &&&& Masssa Não-Suspensa,

( ) ( ) )t(u)t(wkxkxxkxxcxm PNPSNSSNSNN −=+−+−+ &&&& Que na forma matricial fica,

⎭⎬⎫

⎩⎨⎧

−=

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡+−

−+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡)t(u)t(wk

)t(uxx

kkkkk

xx

cccc

xx

m00m

pP

S

PSS

SS

P

S

SS

SS

P

S

N

S

&

&

&&

&&

Este caso representa um sistema MIMO, duas entradas e duas saídas. Definindo as variáveis de estado iniciando pelos deslocamentos,

S1S1 xxxx && =⇒= e N2N2 xxxx && =⇒= Para as velocidades,

S13 xxx &&& == e N24 xxx &&& == Com as definições acima, as equações de estado são dadas por, 31 xx =& 42 xx =&

( ) ( )S

21S

S43

S

S3 m

)t(uxxmk

xxmc

x +−−−−=&

( ) ( ) )t(um1)t(w

mkx

mkxx

mk

xxmc

xNN

P2

N

P12

N

S34

N

S4 −+−−−−−=&

Que na forma matricial fica,

( ) ⎭⎬⎫

⎩⎨⎧

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−+

−−=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

wu

mk

m1

0m1

0000

xxxx

mc

mc

mkk

mk

mc

mc

mk

mk

10000100

xxxx

N

P

N

S

4

3

2

1

N

S

N

S

N

PS

N

S

S

S

S

S

S

S

S

S

4

3

2

1

&

&

&

&

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,

Page 75: Intro Sis Ctrl Discreto

71

)}t(F{)}t(X]{K[)}t(X]{C[)}t(X]{M[ =++ &&& Sendo que o vetor de estado,

{ }⎭⎬⎫

⎩⎨⎧

=)t(X)t(X

)t(X &

E as matrizes de estado,

{ } { } { }UF]M[

]0[X

C]M[K]M[I]0[

X 111 ⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−−

= −−−&

A resposta do sistema deve ser dado pelo que se deseja medir, supondo que seja necessário medir os deslocamentos e velocidades,

⎭⎬⎫

⎩⎨⎧

⎥⎥⎥⎥

⎢⎢⎢⎢

+

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

wu

00000000

xxxx

1000010000100001

yyyy

4

3

2

1

4

3

2

1

Caso seje necessário medir apenas o deslocamento da massa suspensa,

{ } [ ] [ ]⎭⎬⎫

⎩⎨⎧

+

⎪⎪⎭

⎪⎪⎬

⎪⎪⎩

⎪⎪⎨

=wu

00

xxxx

0001y

4

3

2

1

1

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

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

⎪⎭

⎪⎬

⎪⎩

⎪⎨

+−+−+

=⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

+−−+−

−+

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

33

322

211

3

2

1

323

3212

21

3

2

1

3

2

1

uFuuFuuF

xxx

kkk0kkkk0kk

xxx

m000m000m

&&

&&

&&

Portanto, as matrizes de estado podem ser dadas como,

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

−+

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+−

+−

−=

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

⎪⎪⎪⎪

3

2

1

3

2

1

33

222

111

6

5

4

3

2

1

3

32

3

3

2

3

2

21

2

2

1

2

1

1

6

5

4

3

2

1

uuuFFF

m100

m100

m1

m100

m10

0m1

m100

m1

000000000000000000

xxxxxx

000m

kkmk

0

000mk

mkk

mk

0000mk

mk

100000010000001000

xxxxxx

&

&

&

&

&

&

Page 76: Intro Sis Ctrl Discreto

72

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,

a) ( )( )3s2ss1s)s(G++

+= para T = 0.1 s;

b) 2s5s4s

1)s(G 23 +++= para T = 0.1 s;

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,

5.0zz5.0z2)z(G 2 +−

+=

Page 77: Intro Sis Ctrl Discreto

73

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,

)k(Hu)k(Gx)1k(x +=+ Sua solução temporal é dada por,

)T)1k((Hu)T(HuG)0(HuG)0(xG

)j(HuG)0(xG)kT(x

2k1kk

1k

0j

1jkk

−++++=

+=

−−

=

−−∑L

k = 1, 2, 3 ...

Esta solução pode ser rearranjada como,

[ ]⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−−

=− −

)0(u

)2n(u)1n(u

HGGHH)0(xG)n(x 1nn

ML

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,

[ ] nHGGHHposto 1n =−L 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.

Page 78: Intro Sis Ctrl Discreto

74

Exemplo 6.1: Verificar se os sistemas abaixo são de estado completamente controláveis.

)k(u32

)k(x)k(x

2001

)1k(x)1k(x

2

1

2

1⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

−=⎥

⎤⎢⎣

⎡++

Solução: Construindo a matriz de controlabilidade,

[ ] ⎟⎟⎠

⎞⎜⎜⎝

⎛−−

=⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

−⎥⎦

⎤⎢⎣

⎡=

6322

32

2001

32

GHH

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.

)k(u02

)k(x)k(x

2001

)1k(x)1k(x

2

1

2

1⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

−=⎥

⎤⎢⎣

⎡++

Solução: Construindo a matriz de controlabilidade,

[ ] ⎟⎟⎠

⎞⎜⎜⎝

⎛ −=⎟⎟

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

−⎥⎦

⎤⎢⎣

⎡=

0022

02

2001

02

GHH

Neste caso, claramente o sistema possui posto = 1, significando que o sistema não é completamente controlável.

⎥⎦

⎤⎢⎣

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+++++

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+++++

)k(u)k(u

1200030010

)1k(x)1k(x)1k(x)1k(x)1k(x

5000015000002000012000012

)1k(x)1k(x)1k(x)1k(x)1k(x

2

1

5

4

3

2

1

5

4

3

2

1

Solução: Construindo a matriz de controlabilidade, [ ]HGHGHGGHH 432

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.

Page 79: Intro Sis Ctrl Discreto

75

⎥⎦

⎤⎢⎣

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+++++

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

−−

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+++++

)k(u)k(u

0012000310

)1k(x)1k(x)1k(x)1k(x)1k(x

5000015000002000012000012

)1k(x)1k(x)1k(x)1k(x)1k(x

2

1

5

4

3

2

1

5

4

3

2

1

Solução: Construindo a matriz de controlabilidade,

[ ]HGHGHGGHH 432 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,

)T)1k((CHu)T(HuCG)0(xCG

)kT(Du)j(HuG)0(xGC)kT(y

1kk

1k

0j

1jkk

−++=

+⎟⎟⎠

⎞⎜⎜⎝

⎛+=

=

−−∑

L

k = 1, 2, 3 ...

Esta solução pode ser rearranjada como,

[ ]⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−−

=− −

)0(u

)2n(u)1n(u

HCGCGHCH)0(xCG)n(y 1nn

ML

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 é,

[ ] mHCGCGHCHposto 1n =−L

Page 80: Intro Sis Ctrl Discreto

76

Caso esteja presente a matriz D, a condição de controlabilidade completa de saída é dada por,

[ ] mHCGCGHCHDposto 1n =−L 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,

)k(Cx)k(y)k(Hu)k(Gx)1k(x

=+=+

Sua resposta é dada por,

⎟⎟⎠

⎞⎜⎜⎝

⎛+= ∑

=

−−1k

0j

1jkk )j(HuG)0(xGC)kT(y k = 1, 2, 3 ...

Fazendo,

)0(xCG)1n(y

)0(CGx)1(y)0(Cx)0(y

1n−=−

==

M

Significando que isso ser possível, necessariamente,

n

CG

CGC

posto

1n

=

⎥⎥⎥⎥

⎢⎢⎢⎢

M

Esta é conhecida como matriz de observabilidade. Normalmente, esta equação não é usada, mas a equação transposta dela dada por,

( ) ( )[ ] nCGCGCposto H1nHH =−L 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.

[ ]⎭⎬⎫

⎩⎨⎧

=

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−=

⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

51)k(y

)k(x)k(x

2001

)1k(x)1k(x

2

1

2

1

2

1

Encontrando a matriz de observabilidade,

[ ] ⎥⎦

⎤⎢⎣

⎡−−

=⎥⎦

⎤⎢⎣

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−=

101

51

51

2001

51

CGC HHH

Page 81: Intro Sis Ctrl Discreto

77

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

[ ]⎭⎬⎫

⎩⎨⎧

=

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−=

⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

10)k(y

)k(x)k(x

2001

)1k(x)1k(x

2

1

2

1

2

1

Encontrando a matriz de observabilidade,

[ ] ⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−=

20

10

10

2001

10

CGC HHH

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.

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

=

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

+++++

)k(x)k(x)k(x)k(x)k(x

0111010111

)k(y)k(y

)k(x)k(x)k(x)k(x)k(x

3000013000002000012000012

)1k(x)1k(x)1k(x)1k(x)1k(x

5

4

3

2

1

2

1

5

4

3

2

1

5

4

3

2

1

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.

Page 82: Intro Sis Ctrl Discreto

78

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−

=

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

⎪⎪⎪

+++++

)k(x)k(x)k(x)k(x)k(x

0011010111

)k(y)k(y

)k(x)k(x)k(x)k(x)k(x

3000013000002000012000012

)1k(x)1k(x)1k(x)1k(x)1k(x

5

4

3

2

1

2

1

5

4

3

2

1

5

4

3

2

1

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.

Page 83: Intro Sis Ctrl Discreto

79

Exemplo 6.3: Mostrar que o sistema abaixo não é completamente controlável,

16.0zz2.0z

)z(U)z(Y

2 +++

=

Escrevendo na forma canônica controlável,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

12.0)k(y

)k(u10

)k(x)k(x

116.010

)1k(x)1k(x

2

1

2

1

2

1

Porém, a matriz G pode ser rearranjada e o sistema fica,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

12.0)k(y

)k(u10

)k(x)k(x

016.010

)1k(x)1k(x

2

1

2

1

2

1

Verificando a controlabilidade,

[ ] ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛=

1100

10

016.010

10

GHH

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,

( )( )2.0z8.0z2.0z

16.0zz2.0z

)z(U)z(Y

2 +++

=++

+=

Neste caso, verifica-se que há um zero cancelando um pólo. Exemplo 6.4: Verificar que o sistema não é observável,

[ ]⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧=

⎥⎥⎥

⎢⎢⎢

⎡+

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

−−−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

+++

)k(x)k(x)k(x

154)k(y

)k(u100

)k(x)k(x)k(x

6116100010

)1k(x)1k(x)1k(x

3

2

1

3

2

1

3

2

1

Para a observabilidade,

[ ]⎥⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

−−−

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

−−−

⎟⎟⎟

⎜⎜⎜

⎛=

111575664

154

2561601103660

154

6101101600

154

CGCGC HH2HHH

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,

( ) ( )( )( )( )( )3z2z1z

4z1z6z11z6z

4z5zHGzIC)z(U)z(Y

23

21

+++++

=+++

++=−= −

Page 84: Intro Sis Ctrl Discreto

80

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,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

)t(x)t(x

01)t(y

)t(u10

)t(x)t(x

0110

)t(x)t(x

2

1

2

1

2

1

&

&

Cujas matrizes de controlabilidade e observabilidade são dadas por,

[ ] ⎥⎦

⎤⎢⎣

⎡=

0110

ABB e [ ] ⎥⎦

⎤⎢⎣

⎡=

1001

CAC HHH

Significando que para tempo contínuo o sistema é completamente controlável e observável. Aplicando a discretização, encontra-se,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡ −+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

01)k(y

)k(uTsin

Tcos1)k(x)k(x

TcosTsinTsinTcos

)1k(x)1k(x

2

1

2

1

2

1

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,

[ ] ⎥⎦

⎤⎢⎣

+−−+−

=TsinTcos2TsinTsin

Tcos21TcosTcos1GHH

2

Para que não tenha controlabilidade, faz-se o determinante igual a zero, chegando a,

( ) 0Tcos1Tsin2 =−− 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,

[ ] ⎥⎦

⎤⎢⎣

⎡=

Tsin0Tcos1

CGC HHH

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.

Page 85: Intro Sis Ctrl Discreto

81

Supondo um sistema na forma,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

Para transformá-lo na forma canônica controlável, aplica-se uma matriz de transformação T na forma,

MWT = e )k(xT)k(x = onde M é a matriz de controlabilidade dada por,

[ ]HGGHHM 1n−= L e a matriz W é dada por,

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=−−

−−

0001001a

01aa1aaa

W

1

3n2n

12n1n

L

L

MMOMM

L

L

Aplicando esta transformação no sistema, encontra-se,

)k(Du)k(xCT)k(y)k(HuT)k(xGTT)1k(x 11

+=+=+ −−

onde o sistema definido acima está na forma canônica controlável. Para transformá-lo na forma canônica observável, aplica-se,

( ) 1HWNQ −= e )k(xQ)k(x =

onde N é a matriz de observabilidade dada por, ( )[ ]H1nHHHH HGCGCN −

= L Aplicando esta transformação no sistema, encontra-se

)k(Du)k(xCQ)k(y)k(HuQ)k(xGQQ)1k(x 11

+=+=+ −−

Interessante notar que se o sistema está na forma canônica controlável dada por,

)k(uD)k(xC)k(y

)k(uH)k(xG)1k(x

+=

+=+

Para se obter a forma canônica observável, basta fazer, ( )

( ) )k(uD)k(xH)k(y

)k(uC)k(xG)1k(xH

H

+=

+=+

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.

Page 86: Intro Sis Ctrl Discreto

82

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

dc)k(y

)k(uba

)k(x)k(x

3.14.010

)1k(x)1k(x

2

1

2

1

2

1

Solução: a matriz de controlabilidade,

[ ] ⎥⎦

⎤⎢⎣

⎡−−

=⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−−⎥

⎤⎢⎣

⎡=

b3.1a4.0bba

ba

3.14.010

ba

GHH

Calculando o determinante e, para que o sistema seje completamente controlável, o determinante deve ser diferene de zero, então,

0bab3.1a4.0 22 ≠−−− Para a matriz de observabilidade,

[ ][ ] ⎥

⎤⎢⎣

⎡−−

=⎥⎥⎥

⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡−−

=⎥⎦

⎤⎢⎣

⎡d3.1cd4.0

dc

3.14.010

dc

dc

CGC

Portanto, 0d4.0cb3.1c 22 ≠+−

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.

( )( )3s2ss1s)s(G++

+= para T = 0.1 s;

Exercício 6.2: Determinar para quais valores de a o sistema é completamente observável e controlável.

Page 87: Intro Sis Ctrl Discreto

83

a) 1zazz

1z)z(G 23 −+++

=

b) 1z3z

1az)z(G 2 −++

=

c) 1z3z1z2az)z(G 2

2

−++−

=

Page 88: Intro Sis Ctrl Discreto

84

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,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

A realimentação de estado será dada por4, )k(Kx)k(u −=

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,

( ))k(Du)k(Cx)k(y

)k(xHKG)k(HKx)k(Gx)k(Hu)k(Gx)1k(x+=

−=−=+=+

Portando a conduta do sistema realimentado será dada por, HKGG~ −=

Portanto, deve-se especificar os pólos do sistema de malha fechada através dos pólos de G-HK da seguinte forma,

( )( ) ( )n21 pzpzpzG~zIdet −−−=− L

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.

Page 89: Intro Sis Ctrl Discreto

85

x(k+1) x(k)

u(k)

z

1

-Kc* u

H

G* 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,

( )( ) ( )0zzzz

pzpzpzHKGzI

n1n2n

21n

1n

n21

=α+α+α+α+=

−−−=+−

−−− L

L

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,

( ) 0G~IG~G~G~G~ n1n2n

21n

1n =φ=α+α++α+α+ −

−− L Agora fazendo as multiplicações,

( ) ( )( )

( ) ( ) ( ) ( )( )( )

( ) ( )

( ) 1n1nnnn

223

23

223

2233

22

2222

G~HKHKGGHKGG~

G~HKG~GHKHKGG

HKGG~HKHKGGHKHKGG

HKG~HKGG~HKHKGGHKGHKGG

HKGG~HKGHKGHKGHKGHKGG~G~HKGHKGHKGHKGHKG

HKHKGGHKGHKGG~HKGG~

II

−− −−−=−=

−−−=

=−−−−−=

=+−+−−=

=−−−=−−=−=

−−=−−−=

+−−=−=

−=

=

L

M

Então, a equação fica, ( ) ( )

1n1nn

22n1nn

n22n1nn

G~HKHKGG

G~HKGHKGHKGIG~G~G~I−−

−−−−

−−−+

+−−α+−α+α=++α+α+α

LL

L

Expandindo os termos e rearranjando na forma,

Page 90: Intro Sis Ctrl Discreto

86

( ) 1n1n2n1n

n22n1nn

n22n1nn

G~HKHKGG~HKGHKHK

GGGIG~G~G~I−−

−−

−−−−

−−−−+α−α−

+++α+α+α=++α+α+α

LL

LL

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

( ) ( ) ( ) 1n1n2n1n G~HKHKGG~HKGHKHKGG~ −−

−− −−−−+α−α−φ=φ LL Que pode ser escrito como,

( ) ( ) [ ] 0

K

G~KG~KKG~KG~KK

HGGHHGG~2n

3n2n

1n2n1n

1n =

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

++α+α++α+α

−φ=φ−

−−

−−−

M

L

L

L

Observa-se que a matriz [ ]HGGHH 1n−L é a matriz de controlabilidade, então,

[ ] ( )GHGGHH

K

G~KG~KKG~KG~KK

11n2n

3n2n

1n2n1n

φ=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

++α+α++α+α

−−−

−−

−−−

LM

L

L

Sobrou apenas o K na n-ésima linha e ele pode ser extraído multiplicando ambos os lados por [0 0 0 … 1], assim,

[ ]

[ ][ ] ( )GHGGHH100

K

G~KG~KKG~KG~KK

100

11n

2n3n2n

1n2n1n

φ=

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

++α+α++α+α

−−

−−−

−−−

LL

M

L

L

L

Então, têm-se que, [ ][ ] ( )GHGGHH100K 11n φ=

−−LL 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,

( )( ) ( )0zzzz

pzpzpzHKGzI

n1n2n

21n

1n

n21

=α+α+α+α+=

−−−=+−

−−− L

L

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,

Page 91: Intro Sis Ctrl Discreto

87

[ ][ ]( ) 1

111n1nnn

1111n1nnn

MWaaa

TaaaK−

−−

−−−

−α−α−α=

−α−α−α=

L

L

onde,

[ ]HGGHHM 1n−= L e

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=−−

−−

0001001a

01aa1aaa

W

1

3n2n

12n1n

L

L

MMOMM

L

L

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,

[ ][ ] 1n21111K −ξξξ= LL

onde, ( ) HpG i

ii−−=ξ com i = 1 ... n

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

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

Exemplo 7.1: Considerando o sistema abaixo,

)k(u10

)k(x)k(x

116.010

)1k(x)1k(x

2

1

2

1⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

Cujos pólos do sistema são,

⎩⎨⎧

−=−=

⇒++=−−

=−8.0z2.0z

16.0zz1z16.0

1zGzI

1

12

E os pólos de malha fechada sejam, 5.0j5.0z 2,1 ±=

Solução: O primeiro passo é verificar se o sistema é de estado completamente controlável. Então, a matriz de controlabilidade é,

[ ] ⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛−−⎟⎟

⎞⎜⎜⎝

⎛=

1110

10

116.010

10

GHH

Significando que o sistema é de estado completamente controlável. Agora aplicando a fórmula de Ackermann,

[ ][ ] ( )GGHH10K 1φ= − Para φ(G), que é o novo polinômio característico que no lugar de z é G,

( ) ( )( ) 5.0zz5.0j5.0z5.0j5.0zz 2 +−=−−+−=φ Portanto,

[ ] [ ]234.01001

5.0116.0

10116.0

1011

1010K

21

−=⎟⎟

⎜⎜

⎛⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−−

−⎥⎦

⎤⎢⎣

⎡−−⎥

⎤⎢⎣

⎡−

=−

Page 92: Intro Sis Ctrl Discreto

88

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

Real Axis

Imag

inar

y Ax

is

-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

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T

0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.10.2

0.30.40.50.60.70.80.9

System: GmaGain: 0Pole: -0.2Damping: 0.456Overshoot (%): 20Frequency (rad/sec): 3.53

System: GmaGain: 0Pole: -0.8Damping: 0.0709Overshoot (%): 80Frequency (rad/sec): 3.15

Root Locus

Real Axis

Imag

inar

y Ax

is

-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

0.1π/T

0.2π/T

0.3π/T0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T

0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.10.2

0.30.40.50.60.70.80.9

System: GmfGain: 0

Pole: 0.5 + 0.5iDamping: 0.404

Overshoot (%): 25Frequency (rad/sec): 0.858

System: GmfGain: 0Pole: 0.5 - 0.5iDamping: 0.404Overshoot (%): 25Frequency (rad/sec): 0.858

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,

)k(Du)k(Cx)k(y)k(Hu)k(Gx)1k(x

+=+=+

Supondo agora que a lei de controle seja dada por, )k(Kx)k(rk)k(u 0 −=

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.

( ) ( ))k(Du)k(Cx)k(y

)k(rHk)k(xHKG)k(Kx)k(rkH)k(Gx)1k(x 00

+=+−=−+=+

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.

Page 93: Intro Sis Ctrl Discreto

89

x(k+1) x(k) y(k)r(k)k0 1/z

Kc* u

H

G* u

CC

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

Exemplo 7.2: Dado o sistema baixo.

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

01)k(y

)k(u10

)k(x)k(x

116.010

)1k(x)1k(x

2

1

2

1

2

1

E os pólos de malha fechada sejam, 5.0j5.0z 2,1 ±=

Solução: Para o ganho K,

[ ] [ ]234.01001

5.0116.0

10116.0

1011

1010K

21

−=⎟⎟

⎜⎜

⎛⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−−

−⎥⎦

⎤⎢⎣

⎡−−⎥

⎤⎢⎣

⎡−

=−

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,

( ) H~G~zIC)z(G)z(U)z(Y 1−

−==

onde neste caso,

[ ] ⎥⎦

⎤⎢⎣

⎡−

=−⎥⎦

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡−−

=−=15.010

232.010

116.010

HKGG~

HkH~ 0= Portanto,

( ) [ ]5.0zz

k10

k1z5.0

1z01H~G~zIC)z(G

)z(U)z(Y

20

0

11

+−=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−−

=−==−

Para o erro estacionário5,

( ) ( ) ( ) 15.011

kz1

15.0zz

kz1lim)z(Yz1lim)k(ylim 0

1201

1z

1

1zk=

+−=⎟⎟

⎞⎜⎜⎝

⎛−+−

−=−= −−

→∞→

Portanto, 5.0k 0 =

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.

Page 94: Intro Sis Ctrl Discreto

90

% 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')

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (sec)

Ampl

itude

GmaGmf

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

Page 95: Intro Sis Ctrl Discreto

91

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 )k(x~ 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,

)k(Cx)k(y)k(Hu)k(Gx)1k(x

=+=+

Supondo que os estados do sistema acima podem ser aproximados pelos estados do seguinte sistema,

)k(x~C)k(y~)k(Hu)k(x~G)1k(x~

=+=+

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 é,

( ) 0)k(y~)k(ylimk

=−∞→

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,

Page 96: Intro Sis Ctrl Discreto

92

( ))k(x~C)k(y~

)k(y~)k(yK)k(Hu)k(x~G)1k(x~ e

=−++=+

onde Ke é um controlador introduzido para garantir que os dois sistemas se comportem da mesma forma.

x(k+1) x(k)

xt(k+1) xt(k)

y(k)

u(k)

yt(k)z

1

z

1

Ke.'* u

Kc* u

H

H

G* u

G* u

C

C

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

)k(x~C)k(y~ = , ( )

)k(x~C)k(y~)k(yK)k(Hu)k(x~CKG)1k(x~ ee

=++−=+

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,

( )( ) ( )0zzzz

pzpzpzHKGzI

n1n2n

21n

1n

n21

=α+α+α+α+=

−−−=+−

−−− L

L

Agora, a expressão torna-se, ( )( ) ( )

0zzzz

pzpzpzCKGzI

n1n2n

21n

1n

n21HH

eH

=α+α+α+α+=

−−−=+−

−−− L

L

Significando que o ganho de estado era dado por, utilizando a fórmula de Ackermann,

[ ][ ] ( )GHGGHH100K 11n φ=−−LL

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

Page 97: Intro Sis Ctrl Discreto

93

( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

φ=

− 1

00

CG

CGC

GK

1

1n

eMM

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,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−

−=

⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

10)k(y

)k(u10

)k(x)k(x

1116.00

)1k(x)1k(x

2

1

2

1

2

1

Projetar um observador de estado completo para que o estimador de estado tenha pólos em,

5.0j5.0z 2,1 ±= Solução: O polinômio característico para o observador,

( ) ( )( ) 5.0zz5.0j5.0z5.0j5.0zz 2 +−=−−+−=φ E o ganho do observador,

( )

[ ][ ]

⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡−

=

⎥⎦

⎤⎢⎣

⎥⎥⎥

⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡−

−⎟⎟

⎜⎜

⎛⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−

−−⎥

⎤⎢⎣

⎡−

−=

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡φ=

234.0

10

1110

34.2232.034.0

10

1116.00

10

10

1001

5.01116.00

1116.00

10

CGC

GK

1

12

1

e

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'

Page 98: Intro Sis Ctrl Discreto

94

7.5.2 Comentários sobre estimador de estado Definindo que o erro da estimativa de estado seja,

)k(x~)k(x)k(e −= Agora subtraindo ambos os sistemas,

( )( )

( )( ))k(x~)k(xCKG)k(CxK)k(x~CK)k(x~)k(xG

)k(yK)k(Hu)k(x~CKG)k(Hu)k(Gx)1k(x~)1k(x

e

ee

ee

−−=−+−=

−−−−+=+−+

Portanto, ( ) )k(eCKG)1k(e e−=+

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,

[ ]⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧=

⎥⎥⎥

⎢⎢⎢

⎡+

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

−−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

+++

)k(x)k(x)k(x

010)k(y

)k(u100

)k(x)k(x)k(x

1.12.05.0100010

)1k(x)1k(x)1k(x

3

2

1

3

2

1

3

2

1

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 → 25.0zz5.1zP 23 −+−= Raízes do observador: 0.3±j0.5 e 0.3 → 102.0z52.0z9.0zP 23 −+−= Solução: Observe que as raízes da planta são dadas por,

⎩⎨⎧

±=−=

⇒=++−⇒

=−−

−⇒=−

6.0j8.0z5.0z

05.0z2.0z1.1z

01.1z2.05.0

1z001z

0GzI

2,1

123

Que podem ser melhor compreendidas através da passagem para tempo contínuo,

zlnT1sez Ts =⇒=

Portanto, assumindo T = 1 s, as raízes em tempo contínuo são dadas por,

6435.0js1416.3j6931.0s

4,3

2,1

±=

±−=

Portanto o par complexo representa um pólo marginalmente estável, já a nova posição, 0.5±j0.5 e 0.5 representa,

Page 99: Intro Sis Ctrl Discreto

95

7854.0j3466.0s5.0j5.0z6931.0s5.0z

3,23,2

11

±−=⇒±=−=⇒=

Iniciando pela verificação da controlabilidade e observabilidade do sistema, Controlabilidade:

[ ]⎥⎥⎥

⎢⎢⎢

⎡=

01.11.111.110

100HGGHH 2

Observabilidade:

[ ]⎥⎥⎥

⎢⎢⎢

⎡−−

=1.1102.0015.000

CGCGC HH2HHH

Portanto, o sistema é de estado completamente controlável e observável.

Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

-1

-0.5

0

0.5

1

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T

0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.10.2

0.30.40.50.60.70.80.9

System: GppGain: 0

Pole: 0.5 + 0.5iDamping: 0.404

Overshoot (%): 25Frequency (rad/sec): 0.858

System: GppGain: 0

Pole: 0.5 - 0.5iDamping: 0.404

Overshoot (%): 25Frequency (rad/sec): 0.858

System: GppGain: 0Pole: 0.5Damping: 1Overshoot (%): 0Frequency (rad/sec): 0.693

Root Locus

Real Axis

Imag

inar

y Ax

is

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5

-1

-0.5

0

0.5

1

1.5

0.1π/T

0.2π/T

0.3π/T0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/T

π/T

0.1π/T

0.2π/T

0.3π/T0.4π/T0.5π/T0.6π/T

0.7π/T

0.8π/T

0.9π/Tπ/T

0.10.2

0.30.40.50.60.70.80.9

System: GppGain: 0

Pole: 0.3 - 0.5iDamping: 0.464

Overshoot (%): 19.3Frequency (rad/sec): 1.16

System: GppGain: 0

Pole: 0.3 + 0.5iDamping: 0.464

Overshoot (%): 19.3Frequency (rad/sec): 1.16

System: GppGain: 0Pole: 0.3Damping: 1Overshoot (%): 0Frequency (rad/sec): 1.2

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

Projeto do Controlador,

[ ][ ] [ ]4.08.075.0HGGHH100K 12 −−==−

Projeto do Observador,

( )⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡φ=

54.02.0

204.1

100

CGCGC

GK

1

2e

Page 100: Intro Sis Ctrl Discreto

96

x(k+1) x(k)

x(k+1) x(k)

0.25z1

RespostaControlada

Ke* u

Kc* u

H* u

H* u

G* u

G* u

z1

C* u

C* u3

3

3

3

3

33

3

3

3

3

3

3

333

3

3

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

0 10 20 30 40 50 60 70 80 90 1000

0.2

0.4

0.6

0.8

1

1.2

1.4

Am

plitu

de

Tempo 0 10 20 30 40 50 60 70 80 90 100

-1

-0.5

0

0.5

1

1.5

2

2.5

3

Am

plitu

de

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

Para a planta do sistema definida por,

)k(Cx)k(y

)k(Hu)k(Gx)1k(x=

+=+

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

( )5.0z2.0z1.1z

zHGzIC)Z(U)z(Y)z(G 231 ++−

=−==

Para o sistema definido por,

( )

)k(x~C)k(y~)k(yK)k(Hu)k(x~CKG)]k(y~)k(y[K)k(Hu)k(x~G)1k(x~ EEE

=++−=−++=+

Aplicando transformada Z, ( )( ) ( ) )z(YKCKGzI)z(HUCKGzI)z(X~

)z(YK)z(HU)z(X~CKG)z(X~z

E1

E1

E

EE−− +−++−=

++−=

Como a lei de controle é dada por, )k(x~K)k(r)k(u C−= Aplicando a transformada Z,

Page 101: Intro Sis Ctrl Discreto

97

( ) ( )[ ])z(YKCKGzI)z(HUCKGzIKc)z(R

)z(X~K)z(R)z(U

E1

E1

E

C−− +−++−−=

=−=

Definindo,

( )

( )102.0z52.0z9.0z

8622.0z3561.1z959.0KCKGzIKcG

102.0z52.0z9.0z153.0z72.0z4.0HCKGzIKcG

23

2

E1

E3

23

21

E2

−+−+−

=+−−=

−+−−−

=+−−=

Então,

( ) ( ) )z(YG1

G)z(RG1

1)z(U)z(YG)z(UG)z(R)z(U2

3

232 −

+−

=⇒++=

Através da equação acima, observa-se que o sistema em malha fechada pode ser resumido a,

0.25

RespostaControlada

zz -1.1z +0.2z+0.53 2

Planta

0.959z -1.356z+0.86222

z -1.3z +1.24z+0.0513 2

Controlador

z -0.9z +0.52z-0.1023 2

z -1.3z +1.24z+0.0513 2Controlador

Avanço

Figura 7.10: Sistema em malha fechada

Substituindo em Y(z)=G1(z)U(z),

( ) ( ) 312

1

2

31

2

1

GGG1G

)z(R)z(Y)z(Y

G1GG

)z(RG1

G)z(Y−−

=⇒−

+−

=

Que substituindo os valores chega-se a,

25.0zz5.1zz

)z(R)z(Y

23 −+−=

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,

( ) ( ) ( )25.0K1

25.015.11K

z11

25.0zz5.1zzk

z1lim)z(Yz1lim)k(ylim

00

12301

1z

1

1zk

=⇒=−+−

=

⎟⎟⎠

⎞⎜⎜⎝

⎛−−+−

−=−= −−

→∞→

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,

Page 102: Intro Sis Ctrl Discreto

98

⎭⎬⎫

⎩⎨⎧

=)k(x)k(x

)k(xb

a

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,

[ ] )k(x)k(y)k(x)k(x

0I)k(y

)k(uHH

)k(x)k(x

GGGG

)1k(x)1k(x

ab

a

b

a

b

a

bbba

abaa

b

a

=⇒⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

++

Desta forma, a equação de estado contendo a dinâmica dos estados que são conhecidos é dada por,

)k(uH)k(xG)k(xG)1k(x ababaaaa ++=+ Que pode ser rearranjada como,

)k(xG)k(uH)k(xG)1k(x babaaaaa =−−+ A parte restante, que representa a dinâmica dos estados não medidos, é dada por,

)k(uH)k(xG)k(xG)1k(x bbbbabab ++=+ Como a equação de estado para o observador de estado de ordem completa é dada por,

)k(x~C)k(y~)k(Hu)k(x~G)1k(x~

=+=+

Comparando com a equação de estado dos estados não medidos na seguinte forma,

( ))k(uH)k(xG)k(xG)1k(x bababbbb ++=+ E a saída do observador de estado completo,

)k(x~C)k(y~ = Comparando com,

)k(xG)k(uH)k(xG)1k(x babaaaaa =−−+ 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,

)k(x~C)k(y~)k(Hu)k(x~G)1k(x~

=+=+

Comparada com, ( ))k(uH)k(xG)k(xG)1k(x bababbbb ++=+

)k(xG)k(uH)k(xG)1k(x babaaaaa =−−+ Onde observa-se que,

Observador de ordem completa Observador de ordem mínima

)k(x~ )k(x~b

G Gbb

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

Page 103: Intro Sis Ctrl Discreto

99

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,

( ) )k(yK)k(Hu)k(x~CKG)1k(x~ ee ++−=+ O projeto do observador de ordem mínima ou de ordem reduzida é dado por,

( ) ( )( ))k(uH)k(xG)1k(xK

)k(uH)k(xG)k(x~GKG)1k(x~

aaaaae

babababebbb

−−+++++−=+

Substituindo y(k) = xa(k), ( ) ( )

( ))k(uH)k(yG)1k(yK)k(uH)k(yG)k(x~GKG)1k(x~

aaae

bbababebbb

−−+++++−=+

Rearranjando, ( )( ) ( ) )k(uHKH)k(yGKG

)1k(yK)k(x~GKG)1k(x~

aebaaeba

ebabebbb

−+−++++−=+

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,

( ) ( ) ( )( )( ) ( )

( ) ( )( )( )

( )[ ] ( ) )k(uHKH)k(yGKGKGKG)k(yK)k(x~GKG

)k(uHKH)k(yGKG)k(yKGKG)k(yK)k(x~GKG

)k(uHKH)k(yGKG)k(x~GKG)1k(yK)1k(x~

aebaaebaeabebb

ebabebb

aebaaeba

eabebbebabebb

aebaaebababebbeb

−+−+−++−−=

−+−++−+−−=

−+−+−=+−+

Definindo, )k(~)k(xK)k(x~)k(yK)k(x~ aebeb η=−=−

Pode-se escrever o sistema como, ( ) ( )( )[ ] )k(yGKGKGKG

)k(uHKH)k(GKG)1k(~

aaebaeabebb

aebabebb

−+−+−+η−=+η

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

)k(x~)k(x)k(~)k()k(e bb −=η−η= Que se torna,

( )[ ]( ) ( )[( )])k(uH)k(xG)1k(xK

)k(uH)k(xG)k(x~GKG)k(uH)k(xG)k(xG)1k(x~)1k(x

aaaaae

babababebb

bababbbbb

−−+++++−−

+++=+−+

Rearranjando, [ ]( ))k(uH)k(xG)1k(xK

)k(x~GK)k(x~)k(xG)1k(x~)1k(x

aaaaae

babebbbbbb

−−+−+−=+−+

Substituindo a equação de xa(k+1),

Page 104: Intro Sis Ctrl Discreto

100

[ ]( ))k(uH)k(xG)k(uH)k(xG)k(xGK

)k(x~GK)k(x~)k(xG)1k(x~)1k(x

aaaaababaaae

babebbbbbb

−−++−+−=+−+

Que simplificando encontra-se, [ ] [ ])k(x)k(x~GK)k(x~)k(xG)1k(x~)1k(x bbabebbbbbb −+−=+−+

Que se reduz a, ( ) )k(eGKG)k(eGK)k(eG)1k(e abebbabebb −=−=+

Portanto, a equação característica do erro do observador de ordem mínima ou de ordem reduzida é dada por,

0GKGzI abebb =+− 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,

)k(Cx)k(y~)k(Hu)k(Gx)1k(x

=+=+

Com,

⎥⎦

⎤⎢⎣

⎡=

102.01

G , ⎥⎦

⎤⎢⎣

⎡=

2.002.0

H e [ ]01C =

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.

Page 105: Intro Sis Ctrl Discreto

101

Solução: Iniciando pela verificação da observabilidade e controlabilidade do sistema,

[ ] ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛=

2.02.06.002.0

2.002.0

102.01

2.002.0

GHH

[ ] ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛=

2.0011

01

12.001

01

CGC ***

Novo polinômio característico, ( ) ( )( ) 52.0z2.1z4.0j6.0z4.0j6.0zz 2 +−=+−−−=φ

Fórmula de Ackermann para a realimentação de estado, [ ][ ] ( )

[ ]

[ ]2.38

1001

52.0102.01

2.1102.01

2.02.06.002.0

10

GGHH10K21

1

=

⎟⎟

⎜⎜

⎛⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=

=φ=−

Desta forma, a lei de controle é dada por,

[ ] [ ]⎭⎬⎫

⎩⎨⎧

−=⎭⎬⎫

⎩⎨⎧

−=−=)k(x~)k(y

2.38)k(x~)k(x

2.38)k(Kx)k(u22

1

Para encontrar o observador de ordem mínima, deve-se separar o sistema segundo,

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

102.01

GGGG

Gbbba

abaa e ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

2.002.0

HH

Hb

a

Como o observador deve ter comportamento Dead-Beat, o polinômio característico é dado por6,

( ) 0zz ==φ Aplicando Ackermann,

( )[ ] [ ] 5)1()2.0)(1(1GGK 11abbbe ==φ= −−

A equação de estado do observador de ordem mínima, ( ) ( )( )[ ] )k(yGKGKGKG

)k(uHKH)k(GKG)1k(~

aaebaeabebb

aebabebb

−+−+−+η−=+η

Substituindo os valores, ( ) ( )

( )[ ])k(y5)k(u1.0

)k(y)1)(5(05)2.0)(5(1)k(u)02.0)(5(2.0)k()2.0)(5(1)1k(~

−=−+−+−+η−=+η

Só está faltando os estados não estimados dado por, )k(~)k(y5)k(~)k(yK)k(x~ e2 η+=η+=

E a equação da lei de controle, )k(x~2.3)k(y8)k(u 2−−=

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.

Page 106: Intro Sis Ctrl Discreto

102

( ))k(~2.3)k(y24

)k(~)k(y52.3)k(y8)k(uη−−=

η+−−=

Se esta equação é verdade, )1k(~2.3)1k(y24)1k(u +η−+−=+

Substituindo a equação do observador, ( )

)k(y16)1k(y24)k(u32.0)1k(u)k(y5)k(u1.02.3)1k(y24)1k(u

++−=++−−+−=+

Para a função de transferência do controlador, aplica-se a transformada Z na equação anterior,

)z(Y16)z(zY24)z(U32.0)z(zU +−=+ Chegando a,

32.0z16z24

)z(Y)z(U)z(GD +

−−==

A função de transferência da planta,

( )

[ ]

1z2z02.0z02.0

2.002.0

102.01

z00z

01

DHGzIC)z(U)z(Y)z(G

2

1

1P

+−+

=

⎥⎦

⎤⎢⎣

⎡⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡=

=+−==

Step Scope

0.02z+0.02z -2z+12

Planta

Ko

Gain

24z-16z+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,

( )z52.0z2.1z

0064.0z0264.0z02.0K)z(G)z(G1

)z(GK)z(R)z(C

23

2o

DP

Do

+−++

=+

=

Para que o sistema não tenha erro estacionário,

( ) ( ) ( )( )

0606.6K132.00528.0K

z11

z52.0z2.1z0064.0z0264.0z02.0K

z1lim)z(Yz1lim)k(ylim

oo

123

2o1

1z

1

1zk

=⇒==

=⎟⎟⎠

⎞⎜⎜⎝

⎛−+−

++−=−= −

→∞→

Notar que a equação característica do sistema em malha fechada é dada por, ( ) 0z25.0z2.1z2 =+−

Representando os mesmos pólos escolhidos para o fechamento da malha.

Page 107: Intro Sis Ctrl Discreto

103

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,

100s2s50)s(G 2 ++

=

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,

( )

( ) =⎥⎦

⎤⎢⎣

+++

+++

−−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

++

+−−=⎟⎟

⎞⎜⎜⎝

⎛ −=

−−

100s2s99

9921

100s2s1s

21Z

z12z1

100s2s

1s21

s21Zz1)s(G

se1Z)z(G

221

1

21

Ts

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

9048.0z672.1z05727.0z05923.0)s(G

se1Z)z(G 2

Ts

+−+

=⎟⎟⎠

⎞⎜⎜⎝

⎛ −=

Transformando para matrizes de estado, utilizando a forma canônica observável, pois a matriz C é na forma unitária,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡ −=

⎭⎬⎫

⎩⎨⎧

++

)k(x)k(x

10)k(y

)k(u05923.005727.0

)k(x)k(x

672.119048.00

)1k(x)1k(x

2

1

2

1

2

1

Para os novos pólos do sistema,

1421.14j1421.142212020

22js

2

dn2,1 ±−=⎟⎟⎠

⎞⎜⎜⎝

⎛−±−=ω±ζω−=

Passando para tempo discreto, 3203.0j3749.0eez )05.0)1421.14j1421.14(sT

2,1 ±=== ±− Projetando o controle via realimentação de estado, matriz de controlabilidade,

Page 108: Intro Sis Ctrl Discreto

104

[ ] ⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −⎥⎦

⎤⎢⎣

⎡=

1563.05923.00536.05727.0

05923.005727.0

672.119048.00

05923.005727.0

GHH

Novo polinômio característico, 9048.0z672.1z)3203.0j3749.0z)(3203.0j3749.0z()z( 2 −+=−−+−=φ

Aplicando Ackerman, [ ][ ] ( )

[ ]

[ ]2331.85878.7

1001

2431.0672.119048.00

7498.0672.119048.00

1563.05923.00536.05727.0

10

GGHH10K21

1

=

⎟⎟

⎜⎜

⎛⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡ −−⎥

⎤⎢⎣

⎡ −⎥⎦

⎤⎢⎣

⎡ −=

=φ=−

Desta forma, a lei de controle é dada por,

[ ]⎭⎬⎫

⎩⎨⎧

−=−=)k(x)k(x

2331.85878.7)k(Kx)k(u2

1

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,

⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡=

672.119048.00

GGGG

Gaaab

babb e ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

05923.005727.0

HH

Ha

b

Como o observador deve ter comportamento Dead-Beat, o polinômio característico é dado por,

( ) 0zz ==φ Aplicando Ackermann,

( )[ ] [ ] 0)1()1)(0(1GGK 11abbbe ==φ= −−

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,

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

⇒⎥⎦

⎤⎢⎣

⎡=

)k(x)k(x

1011

)k(xn)k(xn

1011

T2

1

2

1

O sistema fica,

[ ]⎭⎬⎫

⎩⎨⎧

⎥⎦

⎤⎢⎣

⎡=

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

++

)k(xn)k(xn

1011

10)k(y

)k(u05923.005727.0

1011

)k(xn)k(xn

1011

672.119048.00

1011

)1k(xn)1k(xn

2

11

2

11

2

1

Chegando a,

[ ]⎭⎬⎫

⎩⎨⎧

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡ −=

⎭⎬⎫

⎩⎨⎧

++

)k(xn)k(xn

10)k(y

)k(u05923.01165.0

)k(xn)k(xn

672.012328.01

)1k(xn)1k(xn

2

1

2

1

2

1

Page 109: Intro Sis Ctrl Discreto

105

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,

( )[ ] [ ] 1)1()1)(1(1GGK 11abbbe ==φ= −−

A equação de estado do observador de ordem mínima, ( ) ( )( )[ ] )k(yGKGKGKG

)k(uHKH)k(GKG)1k(~

aaebaeabebb

aebabebb

−+−+−+η−=+η

Substituindo os valores, ( ) ( )

( )[ ])k(y9048.0)k(u0573.0

)k(y)672.0)(1(2328.01)1)(1(1)k(u)05923.0)(1(1165.0)k()1)(1(1)1k(~

−=−−−+−+η−=+η

Só está faltando os estados não estimados dado por, )k(~)k(y)k(~)k(yK)k(nx~ e1 η+=η+=

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,

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡ −=

⎭⎬⎫

⎩⎨⎧

⎥⎦

⎤⎢⎣

⎡=

⎭⎬⎫

⎩⎨⎧

⇒=⎥⎦

⎤⎢⎣

⎡=

)k(xn)k(xn

1011

)k(xn)k(xn

1011

)k(x)k(x

1011

T2

1

2

11

2

1

Significando que x2(k) = xn2(k), mas x1(k) = xn1(k)+xn2(k) = xn1(k)+x2(k), assim, a lei de controle fica,

[ ]

[ ]⎭⎬⎫

⎩⎨⎧

−=

⎭⎬⎫

⎩⎨⎧ −

−=−=

)k(xn)k(nx~

6453.05878.7

)k(xn)k(xn)k(nx~

2331.85878.7)k(Kx)k(u

2

1

2

21

Estas últimas três equações definem o sistema de controle. Combinando as duas últimas,

( ))k(~5878.7)k(y2331.8

)k(x6453.0)k(~)k(y5878.7)k(xn6453.0)k(nx~5878.7)k(u

2

21

η−−=−η+−=

−−=

Se esta equação é verdade, então, )1k(~5878.7)1k(y2331.8)1k(u +η−+−=+

Substituindo a equação do observador,

( ))k(y8654.6)k(u4348.0)1k(y2331.8

)k(y9048.0)k(u0573.05878.7)1k(y2331.8)1k(~5878.7)1k(y2331.8)1k(u

+−+−=−−+−=

+η−+−=+

Para a função de transferência do controlador, aplica-se a transformada Z na equação anterior,

)z(Y8654.6)z(zY2331.8)z(U4348.0)z(zU +−=+ Chegando a,

4348.0z8654.6z2331.8

)z(Y)z(U)z(G D +

−−==

A função de transferência da planta original,

9048.0z672.1z05727.0z05923.0)z(G 2P +−

+=

Page 110: Intro Sis Ctrl Discreto

106

A equação característica do sistema em malha fechada pode ser encontrada através de,

( )0002473.0z2428.0z7494.0z

0249.0z08302.0z05923.0K)z(G)z(G1

)z(GK)z(R)z(C

23

2o

DP

Po

++−++

=+

=

Para que o sistema não tenha erro estacionário, ( )

( ) ( )( )

9533.2K14936.0

1671.0Kz1

10002473.0z2428.0z7494.0z

0249.0z08302.0z05923.0Kz1lim

)z(Yz1lim)k(ylim

oo

123

2o1

1z

1

1zk

=⇒==

=⎟⎟⎠

⎞⎜⎜⎝

⎛−++−

++−=

=−=

−−

→∞→

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,

)k(u100

)k(x)k(x)k(x

1.15.02.0001100

)1k(x)1k(x)1k(x

3

1

2

3

1

2

⎥⎥⎥

⎢⎢⎢

⎡+

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎥⎥⎥

⎢⎢⎢

−−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

+++

Nesta nova configuração,

)k(x)k(x 2a = ; ⎭⎬⎫

⎩⎨⎧

=)k(x)k(x

)k(x3

1b

0G aa = ; [ ]10G ab = ; ⎥⎦

⎤⎢⎣

⎡−

=2.0

1G ba ; ⎥

⎤⎢⎣

⎡−

=1.15.0

00G bb

0Ha = ; ⎥⎦

⎤⎢⎣

⎡=

10

Hb

Ainda do Exemplo 7.4, o ganho do controlador, [ ]4.08.075.0K c −−=

O ganho do observador de estado mínimo pode ser encontrado através da equação do erro dada por,

( ) )k(eGKG)1k(e abebb −=+ Como foi especificado resposta tipo deadbeat, então,

( ) 0zz 2 ==φ Aplicando a fórmula de ackerman,

( ) ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡φ=

1.10

10

GGG

GK1

bbab

abbbe

A construção do diagrama de blocos segue através das seguintes equações, ( ) ( )( )[ ]

)k(u3P)k(y2P)k(~1P)k(yGKGKGKG)k(uHKH)k(~GKG)1k(~

aaebaeabebb

aebabebb

++η=−+−+−+η−=+η

Substituindo os valores,

Page 111: Intro Sis Ctrl Discreto

107

)k(u10

)k(y2.0

1)k(~)k(~

05.000

)1k(~)1k(~

)k(u3P)k(y2P)k(~1P)1k(~

2

1

2

1⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡−

+⎭⎬⎫

⎩⎨⎧ηη

⎥⎦

⎤⎢⎣

⎡−

=⎭⎬⎫

⎩⎨⎧

+η+η

++η=+η

A segunda equação a ser utilizada, )k(yK)k(~)k(xK)k(~)k(x~ eaeb +η=+η=

Substituindo os valores,

)k(y1.1

0)k(~)k(~

)k(x~)k(x~

2

1

3

1⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧ηη

=⎭⎬⎫

⎩⎨⎧

Finalmente a terceira equação,

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧−=

⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧−=

)k(x~)k(x)k(x~

K)k(rK)k(x)k(x)k(x

K)k(rK)k(u

3

2

1

c0

3

2

1

c0

Substituindo os valores,

[ ]⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧−−−=

)k(x~)k(x)k(x~

4.08.075.0)k(rK)k(u

3

2

1

0

Chegando a,

x(k+1) x(k)

n(k+1) n(k)

x~(k)

0.25z1

RespostaControlada

Kc* u

P3* u

H* u

Ke2* uP2* u

P1* u

G* u

z1

C* u

3

33

3

3

33

2

2

222

2

2

2

2

2

2 3

3

2

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,

[ ]⎭⎬⎫

⎩⎨⎧

++

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

)1k(x)1k(x

01)k(y

)k(u5.0

1)k(x)k(x

05.011

)1k(x)1k(x

2

1

2

1

2

1

a) Verificar se o sistema é Controlável;

Page 112: Intro Sis Ctrl Discreto

108

b) Projetar um sistema de controle via realimentação de estado para que os novos pólos do sistema sejam posicionados em, 3.015.02,1 jz ±−=

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,

[ ]⎭⎬⎫

⎩⎨⎧

++

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

)1k(x)1k(x

01)k(y

)k(u5.0

1)k(x)k(x

75.05.02.01

)1k(x)1k(x

2

1

2

1

2

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,

[ ]⎭⎬⎫

⎩⎨⎧

++

=

⎥⎦

⎤⎢⎣

⎡+

⎭⎬⎫

⎩⎨⎧⎥⎦

⎤⎢⎣

⎡−−

=⎭⎬⎫

⎩⎨⎧

++

)1k(x)1k(x

10)k(y

)k(u21

)k(x)k(x

0211

)1k(x)1k(x

2

1

2

1

2

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, 5.0j5.0z 2,1 ±−= ; 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.

Page 113: Intro Sis Ctrl Discreto

109

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;

Page 114: Intro Sis Ctrl Discreto

110

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.

Page 115: Intro Sis Ctrl Discreto

111

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.

Page 116: Intro Sis Ctrl Discreto

112

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.

Page 117: Intro Sis Ctrl Discreto

113

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;

Page 118: Intro Sis Ctrl Discreto

114

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.