222
Controlo por Computador 25 J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo Computer Control Parts 1, 2 J. Miranda Lemos Professor Catedrático do IST 2015

Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

  • Upload
    lekiet

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 25

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Computer Control

Parts 1, 2

J. Miranda Lemos

Professor Catedrático do IST

2015

Page 2: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 26

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Programa da disciplina:

1. Estrutura de um sistema de Controlo por Computador

2. Modelos em Controlo por Computador

3. Identificação de modelos

4. Projecto de controladores

Page 3: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 27

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

1. Estrutura de um Sistema de

Controlo por Computador

Objectivo: Dar uma perspectiva sobre os temas abordados na disciplina

e enquadrá-la no âmbito do controlo por computador.

3Franklin, Powell, Workman, Digital Control of Dynamic Systems, 3rd ed., cap

Page 4: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 28

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Seguimento de um objecto com o robot NXT da LEGO

r

d

Relação entrea velocidadee a posição(integral)

VelocidadeComandodo motor

Distância

Sensor dedistância

Distânciadesejada

r +

-

Erro

e uK=4

dvMotor ecaixa develocidade

PerurbaçãoSoftware

Sistemafísico

Page 5: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 29

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Aumentando o ganho 𝐾 o excitação 𝑢 do motor aumenta e o robot responde mais rapidamente.

Relação entrea velocidadee a posição(integral)

VelocidadeComandodo motor

Distância

Sensor dedistância

Distânciadesejada

r +

-

Erro

e uK=4

dvMotor ecaixa develocidade

PerurbaçãoSoftware

Sistemafísico

Tempo

r

d

e

u=ke

Page 6: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 30

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo simples: Modelo matemático do robot NXT

Objectivo: Modelar o NXT a deslocar-se ao longo de uma recta, para ir para

uma posição desejada num sistema de coordenadas fixado

𝑥 a posição do NXT

𝑅 a posição desejada

“Partimos o tempo às tiras” de duração ℎ

Observamos a posição nos instantes 0 (posição inicial), ℎ, 2ℎ, 3ℎ, ..., 𝑛ℎ, ...

𝑛ℎ representa um instante de tempo genérico em que observamos o NXT

Pretendemos relacionar as posições do NXT em instantes diferentes.

Page 7: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 31

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Gráfico da posição do NXT em função do tempo

Posição actual = Posição anterior + velocidade × intervalo de tempo

𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝑢(𝑛ℎ)ℎ

𝑢 é o comando do motor (0 a 100%); 𝛼𝑢 é a velocidade do carro

Tempo(n-1)h nh0 h 2h 3h 4h ... ...

x(0)

x(nh)x((n-1)h)

x

Page 8: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 32

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Qual o valor do parâmetro 𝜶?

Fazem-se ensaios com o NXT. Observa-se que

𝑢 = 100% corresponde a uma velocidade de 1 𝑚/𝑠

Logo

100 𝛼 = 1

Logo

𝛼 = 0,01

Page 9: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 33

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo do movimento do NXT:

𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝑢(𝑛ℎ)ℎ

Descrição do algoritmo de controlo

Erro de seguimento (diferença entre a posição desejada e a medida):

𝑒(𝑛ℎ) = 𝑅 − 𝑥(𝑛ℎ)

Comando do motor

𝑢(𝑛ℎ) = 𝐾𝑒(𝑛ℎ)

Modelo do sistema controlado (sistema em cadeia fechada)

𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))

Page 10: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 34

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Equações de diferenças

𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))

𝑥((𝑛 + 1)ℎ) = (1 − 𝛼𝐾ℎ)𝑥(𝑛ℎ) + 𝛼𝐾ℎ𝑅

Um caso concreto: 𝛼 = 0,01 ℎ = 1 𝐾 = 60 então 𝛼𝐾ℎ = 0,6 e 1 − 𝛼𝐾ℎ = 0,4

A equação de diferenças fica

𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6𝑅

Se soubermos a posição inicial 𝑥(0) e o valor da posição desejada 𝑅,

podemos calcular sucessivamente 𝑥(1) a partir de 𝑥(0),

𝑥(2) a partir de 𝑥(1),

𝑥(3) a partir de 𝑥(2), ...

Page 11: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 35

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6

𝑥(0) = 0

𝑥(1) = 0,4𝑥(0) + 0,6 = 0,4 × 0 + 0,6 = 0,6

𝑥(2) = 0,4𝑥(1) + 0,6 = 0,4 × 0,6 + 0,6 = 0,84

𝑥(3) = 0,4𝑥(2) + 0,6 = 0,4 × 0,84 + 0,6 = 0,936

𝑥(4) = 0,4𝑥(3) + 0,6 = 0,9744

𝑥(5) = 0,4𝑥(4) + 0,6 = 0,98976

O melhor é usar um computador e uma linguagem como o MATLAB.

Page 12: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 36

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Ponto de equilíbrio

Podemos calcular o valor de equilíbrio em que passou muito tempo e a

posição fica constante:

𝑥(𝑛 + 1) ≈ 𝑥(𝑛) = ��

Para a equação

𝑥(𝑛 + 1) = 0,4𝑥(𝑛) + 0,6𝑅

Este ponto satisfaz

�� = 0,4�� + 0,6𝑅

Ou seja

�� =0,6

1 − 0,4𝑅 = 𝑅

Page 13: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 37

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estabilidade

Podemos mostrar que o erro tende para zero quando o tempo aumenta?

Vamos obter uma equação para o erro e resolvemo-la.

𝑥((𝑛 + 1)ℎ) = 𝑥(𝑛ℎ) + 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))

Multiplicamos ambos os membros desta equação por −1 e somamos 𝑅 a

ambos os membros:

𝑅 − 𝑥((𝑛 + 1)ℎ) = 𝑅 − 𝑥(𝑛ℎ) − 𝛼𝐾ℎ(𝑅 − 𝑥(𝑛ℎ))

Usamos a definição do erro

𝑒((𝑛 + 1)ℎ) = 𝑒(𝑛ℎ) − 𝛼𝐾ℎ𝑒(𝑛ℎ)

𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)

Page 14: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 38

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Equação de erro

𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)

Solução da equação de erro

𝑒(𝑛ℎ) = 𝑒(0)(1 − 𝐾ℎ𝛼)𝑛

Page 15: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 39

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Equação de erro

𝑒((𝑛 + 1)ℎ) = [1 − 𝐾ℎ𝛼]𝑒(𝑛ℎ)

Solução da equação de erro

𝑒(𝑛ℎ) = 𝑒(0)(1 − 𝐾ℎ𝛼)𝑛

Condição de estabilidade

|1 − 𝐾ℎ𝛼| < 1

0 < 𝐾 <2

ℎ𝛼

Condição para que não haja oscilações

0 < 𝐾 <1

ℎ𝛼

Page 16: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 40

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Controlo por Computador

u yD/A

A/D Sensor

Sistema a Controlar

Porto de Saída

Controlador

Porto de Entrada

Computador de Controlo

Sinal de

comando do

actuador

Variável

Física de

saída

Sinal

proporcional

à variável

Sinal de comando

Page 17: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 41

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Hardware de aquisição de dados (simplificado)

Relógio

Impulsos do relógioPorto deentrada

Micro-computador

INTCC

Sinal a

amostrar

b0

b7

b1Conversor A/D

Ao receber um impulso de relógio, o conversor

A/D retém uma amostra do sinal e inicia a sua

conversão para um número binário.

Quando os bits b0 a b7 atingem o valor correcto,

o sinal de conversão completa CC é activado e o

pino de nterrupção do microcomputador é

actuado.

Se as interrupções não estiverem inibidas, a

subrotina de interrupção começa a ser executada,

sendo efectuada a leitura do porto de entrada,

onde estão ligados os pinos do A/D.

Page 18: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 42

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estrutura do software para Controlo Digital (1 cadeia de controlo)

->Inibe interrupções

->Lê y no porto de entrada, ligado ao A/D

->Cálcula o controlo u

->Escreve u no porto de saída ligado ao D/A

->Desinibe interrupções

->Retorna ao programa principal

Programaprincipal

Salta quando chegauma interrupção do

relógio

Page 19: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 43

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Diagrama temporal do controlo por computador

Sinal gerado pelo Relógio

Activa interrupções no flanco ascendente

Interrupção do

relógio

Intervalo de amostragem

Interrupção dorelógio

Lê y no

A/DCalculau(tn)

Escreve

u(tn) no D/A

Espera novainterrupção

tn tn+1

Atraso de cálculo

u(tn)

u(tn-1)

Variável Manipulada

O computador apenas

considera as variáveis nos

instantes de amostragem;

Há um atraso devido ao cálculo

e aos tempos de conversão

A/D e D/A

Page 20: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 44

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Repare-se que:

A variável manipulada u é constante por troços

Isto significa que entre dois instantes de amostragem o sistema está a trabalhar em

cadeia aberta, o que impõe um limite máximo ao intervalo de amostragem

Existe um atraso entre o instante tn em que chegou a interrupção, e o instante em

que se colocou o valor do controlo u no D/A. Este atraso é devido ao tempo de

cálculo de u.

O atraso de cálculo pode considerar-se desprezável se for muito pequeno

relativamente ao intervalo de amostragem.

Se o atraso de cálculo não for pequeno relativamente ao intervalo de amostragem,

então deve ser tido em conta no modelo do processo como um atraso adicional.

Page 21: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 45

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Objectivos de Controlo

u yD/A

A/D Sensor

Sistema a Controlar

Porto de Saída

Controlador

Porto de Entrada

Computador de Controlo

Sinal de

comando do

actuador Variável

Física a

controlar

Perturbações

Os objectivos de controlo

dizem respeito à capacidade

de efectuar as manobras

desejadas, tendo em conta a

dinâmica do processo e as

perturbações.

Sinal de

comando

Page 22: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 46

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Objectivos de controlo (exemplos)

Manter y no valor desejado, mesmo em presença de perturbações

(regulação);

Seguir referências para y, mesmo em presença de perturbações

(seguimento de trajectórias)

Estabilizar o sistema controlado;

Impôr uma dinâmica conveniente ao sistema controlado;

Optimizar o sistema (por exemplo minimizar o consumo de energia,

mantendo os objectivos - Controlo Óptimo!);

Manter um comportamento constante do sistema controlado, mesmo face a

variações da dinâmica (Controlo Adaptativo)

Page 23: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 47

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Controlador Digital com acção integral

Problema: Como actuar no comando do motor do avião para manter o

impulso constante?

Solução: Controlo proporcional

Será que, em regime estacionário, o impulso é igual ao impulso desejado?

Repare-se que não. Se assim for o erro e será nulo e o comando será zero,

ou seja o motor pára.

R yuK+

-

e

Page 24: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 48

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Solução para erro estático nulo: Efeito integral

Quando o erro é nulo, a saída do integrador fica constante mas não

necessariamente nula.

R yuK+

-

e

1

sTi

Integrador

Page 25: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 49

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A equação que descreve o controlador PI é:

e r y

u t K e tT

e di

t

( ) ( ( ) ( ) )1

0

Quando o erro é nulo o controlo vem dado pelo valor do integrador.

As constantes K e Ti são os ganhos do controlador, podendo ser escolhidas,

por exemplo, de acordo com as regras de Ziegler e Nichols, ou outras mais

adequadas.

Desafio: usando a transformada de Laplace, mostre que se o controlador tiver

um integrador (pólo na origem) o erro estático de seguimento é nulo.

Page 26: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 50

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Uma revisão breve: Controlo por realimentação

VKG

KGW

KG

GR

KG

KGYcL

111

𝐾𝐺 é o ganho de malha

R U

W

yK(s) G(s)

v

-

Page 27: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 51

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

O controlador 𝐾(𝑠) é projectado por forma a “moldar” o ganho de malha:

VKG

KGW

KG

GR

KG

KGYcL

111

|K(jw)G(jw)|

Especificação devida

ao ruído: Atenuação

na alta frequência

Especificação

relativa ao

seguimento da

referência e

rejeição das

perturbações Para que o “quadro” seja completo temos

de considerar a estabilidade e a incerteza

no conhecimento do modelo.

Page 28: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 52

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Como implementar em computador as equações do controlador PI?

e r y

u t K e tT

e di

t

( ) ( ( ) ( )1

0

Considere-se a equação do integrador:

u tT

e di

i

t

( ) ( ) 1

0

Derivando ambos os membros da equação:

du

dt Te t

i

i

1

( )

du

dt

u nh u n h

h

i

( ) (( ) )1

Page 29: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 53

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Isto resulta nas seguintes equações de diferenças para o

Algoritmo PI digital:

𝑒(𝑛ℎ) = 𝑟 − 𝑦(𝑛ℎ)

u nh u n hh

Te nhi i

i

( ) (( ) ) ( ) 1

u nh K u nh e nhi( ) ( ( ) ( ))

𝑛 é o instante de amostragem (número inteiro)

ℎ é o interval de amostragem (normalmente é omitido)

Page 30: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 54

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Pseudocódigo para PI digital

No início de cada intervalo de amostragem, executar recursivamente:

1. Ler no porto de entrada ligado ao A/D a variável y

2.Calcular o erro e r y

3.Calcular a variável manipulada u por

u uh

Te

u K u e

i ianterior

i

i

( )

em que uianterior é a saída do integrador no instante de amostragem anterior

4. Escrever u no porto de saída ligado ao D/A

5. Fazer u uianterior i

6. Esperar nova interrupção

Page 31: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 55

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Motivação para o Controlo Adaptativo

Há situações em que a dinâmica do sistema a controlar varia ao longo do

tempo.

Isto pode ser devido, por exemplo, à existência de não linearidades nos

actuadores ou no próprio sistema. Neste caso, a dinâmica linearizada vai

variar com o ponto de trabalho (por exemplo com a velocidade de equilíbrio).

Pode ainda acontecer que a dinâmica varie devido a factores como o

envelhecimento ou alterações do ambiente ou outros factores.

Nesta situação, a afinação do controlador adequada a um ponto de trabalho

pode não o ser para outro.

Page 32: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 56

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Válvula não linear

f u u( ) 4 G s

s( )

( )

1

1 3 K 015. Ti 1

A resposta do sistema controlado depende do ponto de funcionamento.

Um controlador bem afinado para um ponto de funcionamento pode não estar

bem afinado para outro.

R yuK(1+ )+

-

e 1Ti s f(.) G(s)

Controlador PI Actuador Sistema

Page 33: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 57

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

As figuras seguintes mostram a resposta a um escalão na referência de

amplitude 0.1, para duversos pontos de funcionamento, com um PI

sintonizado em torno de r=0.2.

0 10 20 30 40 50 60 70 80 90 1000.1

0.15

0.2

0.25

0.3

0.35

0.4

0 10 20 30 40 50 60 70 80 90 1002.9

2.95

3

3.05

3.1

3.15

3.2

3.25

3.3

0 10 20 30 40 50 60 70 80 90 1004.9

4.95

5

5.05

5.1

5.15

5.2

5.25

5.3

Page 34: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 58

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo de variação da dinâmica numa aeronave

Num avião a dinâmica linearizada altera-se com as condições de voo. A figura

mostra a dependência dos valores próprios do sistema com a velocidade de

equilíbrio

Extraída de Neves da Silva, R. (1994). Controlo de Aeronave não tripulada usando técnicas LQG/LTR de ganho variável Tese de Mestrado, IST -

Departamento de Engenharia Electrotécnica e de Computadores.

Page 35: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 59

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Devido à variação da dinâmica com as condições de voo, utilizando um

controlador de ganhos fixos, pode ter-se um bom comportamento numa gama

de funcionamento e um mau funcionamento noutras zonas.

Exemplo do controlo do ângulo de pitch com um controlador fixo quando a

velocidade aumenta progressivamente:

.Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de

Engenharia Electrotécnica e de Computadores

Page 36: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 60

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Uma possibilidade consiste em adaptar os ganhos para compensar alterações

da dinâmica devidas a variações da velocidade:

Adaptador

Controladoru

y

Ajuste dos

ganhos do controlador

Page 37: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 61

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

O bloco Adaptador por ser obtido de vários modos:

Tabela que altera os ganhos do controlador de um modo fixo, para cada

valor de velocidade. Esta técnica denomina-se gain-schedulling.

Identificação da dinâmica com o método dos mínimos quadrados, refazendo-

se o cálculo dos ganhos repetidamente, em tempo real. Esta técnica

denomina-se Controlo Adaptativo.

Page 38: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 62

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

"Gain-scheduling"

x

x

x

+

Controlador

V baixo

Controlador

V médio

Controlador

V alto

u

V

V

V

(V)

(V)

(V)

u

O valor da variável manipulada em

cada instante resulta resulta da

combinação linear das variáveis

calculadas pelos vários

controladores.

Por exemplo, a velocidades baixas, o

controlador respectivo é multiplicado

por um peso próximo de 1 enquanto

o controlador de velocidades altas é

multiplicado por zero.

Page 39: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 63

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Controlo Adaptativo vs. "Gain Scheduling"

A solução do controlo de sistemas variáveis no tempo por "gain scheduling" é

útil em muitas situações mas levanta problemas quando:

Não é possível conhecer a priori qual o controlador a utilizar numa dada

situação;

É necessário recorrer a um número muito elevado de controladores.

Uma outra possibilidade, que se estuda neste curso é o Controlo adaptativo.

Page 40: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 64

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Controlo Adaptativo

Numa das famílias de Controlo Adaptativo, o Adaptador é constituído por dois

blocos:

Identificador, que estima continuamente os parâmetros (e. g. a posição dos

pólos, dos zeros e o ganho) de um modelo, a partir dos dados de entrada e

saída medidos.

Projecto do Controlador, que recalcula continuamente os ganhos do

controlador tendo em conta as novas estimativas do modelo.

Deste modo, quando a dinâmica do sistema se altera, o identificador dá conta

desse facto e os ganhos do controlador são alterados para frazer face à nova

situação.

Page 41: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 65

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

No caso do exemplo do controlo do ângulo de pitch, é possível, recorrendo ao

Controlo Adaptativo, obter uma resposta com características razoavelmente

constantes quando a velocidade varia de 10 a 40 m/s:

Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de

Engenharia Electrotécnica e de Computadores

Page 42: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 66

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Isto é possível graças ao ajuste dos ganhos do controlador efectuado pelo

adaptador:

Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de

Engenharia Electrotécnica e de Computadores.

O adaptador actualiza constantemente o modelo melhor ajustado aos dados e

recalcula os ganhos do controlador de acordo com esta estimativa do modelo.

Page 43: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 67

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

2 - Modelos para Controlo por Computador

Objectivo: Introduzir a classe de modelos digitais que

são empregues nesta disciplina para o projecto de controladores

Bibliografia: Astrom e Wittenmark, CCS, Cap. 3, em especial as secções 3.2, 3.4, 3.5, 3.6 e 3.7

Franklin, Powell, Workman, Digital Control of Dynamic Systems, 3rd ed., caps. 3 a 6.

Page 44: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 68

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

SLITs em tempo discreto

SLITs - Sistemas Lineares e Invariantes no tempo (discreto)

Linearidade (vale o Princípio de Sobreposição):

u k y k

u k y k

au k bu k ay k by k

1 1

2 2

1 2 1 2

( ) ( )

( ) ( )

( ) ( ) ( ) ( )

SLITu(k) y(k)

Page 45: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 69

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Invariância no tempo:

u k y k

u k k y k k

( ) ( )

( ) ( )

0 0

Page 46: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 70

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Descrição de SLITs por equações de diferenças

Equação de diferenças linear de coeficientes constantes:

y k n a y k n a y kn( ) ( ) ( ) 1 1

b u k m b u k m b u km0 1 1( ) ( ) ( )

Coeficientes

da

Equação

Ordem da

Equação

Page 47: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 71

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

n Condições iniciais especificadas:

y n

y

( )

( )

1

0

Mostre que:

A equação de diferenças linear, de coeficientes constantes descreve um

sistema linear e invariante no tempo

A solução da equação de diferenças com n condições iniciais especificadas

existe e é única

Page 48: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 72

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo de equações de diferenças

𝑦(𝑘 + 1) = 0,5𝑦(𝑘) + 𝑢(𝑘), Condição inicial 𝑦(0) = 0

Resposta ao escalão

𝑘 𝑢(𝑘) 𝑦(𝑘)

0 1 0 (condição inicial)

1 1 1 + 0,5 × 0 = 1 2 1 1 + 0,5 × 1 = 1,5

3 1 1 + 0,5 × 1,5 = 1,75

4 1 1 + 0,5 × 1,75 = 1,875 5 1 1 + 0,5 × 1,875 = 1,9375

6 1 1 + 0,5 × 1,9375 = 1,96875

Qual o número de que a saída se aproxima (equilíbrio)?

Page 49: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 73

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Equilíbrio:

𝑦(𝑘 + 1) = 0,5𝑦(𝑘) + 𝑢(𝑘)

No equilíbrio, 𝑦 é constante, pelo que

�� = 0,5�� + 1

�� = 2

Fim do exemplo.

Page 50: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 74

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Descrição de SLITs por equações de diferenças

Equação de diferenças escrita com as amostras avançadas:

y k n a y k n a y kn( ) ( ) ( ) 1 1

b u k m b u k m b u km0 1 1( ) ( ) ( )

Equação de diferenças escrita com as amostras atrasadas:

y k a y k a y k nn( ) ( ) ( ) 1 1

b u k n m b u k n m b u k nm0 1 1( ( )) ( ( ) ) ( )

Passa-se de uma para outra atrasando ou adiantando o tempo n passos.

Page 51: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 75

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

𝑦(𝑘 + 2) + 𝑎1𝑦(𝑘 + 1) + 𝑎2𝑦(𝑘) = 𝑢(𝑘 + 1)

Neste caso, 𝑛 = 2, 𝑚 = 1.

Atrasando o tempo de 2 passos:

𝑦(𝑘) + 𝑎1𝑦(𝑘 − 1) + 𝑎2𝑦(𝑘 − 2) = 𝑢(𝑘 − 1)

Page 52: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 76

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Causalidade do sistema

Um sistema diz-se causal se y(k) depende apenas das entradas e saídas até

ao instante k.

Sistema descrito por equação de diferenças linear:

y k n a y k n a y kn( ) ( ) ( ) 1 1

b u k m b u k m b u km0 1 1( ) ( ) ( )

Este sistema é causal se

n m

Page 53: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 77

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Atraso do Sistema

Equação de diferenças escrita com as amostras atrasadas:

y k a y k a y k nn( ) ( ) ( ) 1 1

b u k n m b u k n m b u k nm0 1 1( ( )) ( ( ) ) ( )

Uma entrada aplicada no instante k apenas influencia a saída a partir do

instante k+(n-m)

Atraso do sistema

Page 54: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 78

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

De aqui em diante, consideram-se sempre sistemas causais.

Para estes o atraso do sistema, d, é positivo:

d n m 0

Em muitos casos, sem perda de generalidade (porquê?) admite-se

d 1

Page 55: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 79

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Um pequeno desvio: Transformada Z

Considere-se a sucessão:

,2,1,0),( kkf

Esta sucessão é mapeada pela Transformada Z na função de variável

complexa:

0

)()(k

kzkfzF

Page 56: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 80

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

Determine a transformada Z da sucessão

1)( kf ,2,1,0k

Ajuda (definição da Transformada Z ):

0

)()(k

kzkfzF

Ajuda (Soma da série geométrica):

rr

i

i

1

1

0 para 1r

Page 57: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 81

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Solução

2

00

111)()(

zzzzkfzF

k

k

k

k

11

11

z

z

z

Page 58: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 82

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

Determine a transformada Z da sucessão

ahkekf )( ,2,1,0k

Ajuda (definição da Transformada Z ):

0

)()(k

kzkfzF

Ajuda (Soma da série geométrica):

rr

i

i

1

1

0 para 1r

Page 59: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 83

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Solução

ahah

k

kah

k

kahk

ez

z

zezezezF

10

1

0 1

1)(

Page 60: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 84

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Tabela de transformadas Z e de Laplace (Tomar kht )

Page 61: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 85

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Propriedades da Transformada Z

1.Linearidade

)()()()( zGzFkgkfZ

2.Deslocamento no tempo

)()( zFzkfqZ nn

1

0

)()()(n

j

jnn zjfzFzkfqZ

Ex.: :1n )0()()( fzFzkqfZ

:2n 122 )1()0()()( zffzFzkfqZ

Page 62: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 86

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

3.Teorema do valor final

)()1(lim)(lim 1

1zFzkf

zk

4.Convolução

A convolução entre duas sucessões )(kf e )(kg é definida por

k

j

jkgjfkgf0

)()()(

Tem-se:

)().( zGzFgfZ

Page 63: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 87

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Resolução de equações de diferenças

Pretende-se resolver a equação de diferenças

)()()1( kbukayky com 0)0( y

Segue-se a seguinte abordagem

Equação dediferenças

Equaçãoalgébrica

Solução daeq. algébrica

Solução daeq. diferenças

? Fácil

TransformadaZ inversa

TransformadaZ

Difícil

Page 64: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 88

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Solução de uma equação de diferenças com a transformada Z

)()()1( kbukayky

Tomando a transformada Z

)()()0()( zbUzaYzyzzY

)0()()( yaz

zzU

az

bzY

Com 0)0( y : )()( zU

az

bzY

Page 65: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 89

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Resposta ao escalão:

0,1)( kku 1)(

z

zzU

)1)(()()(

zaz

bzzU

az

bzY

Decompondo em fracções simples:

1

1

11)( 11

z

z

az

az

za

b

zazzY a

ba

ba

k

a

b aky

1)(1

Page 66: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 90

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Função de transferência discreta

Assume-se o sistema modelado pela equação de diferenças

y k n a y k n a y k b u k m b u k m b u kn m( ) ( ) ( ) ( ) ( ) ( ) 1 0 11 1

Tome-se transformada Z com condições iniciais nulas para obter a função de

transferência discreta:

G zY z

U z

b z b z b

z a z a z a

m m

m

n n n

n

( )( )

( )

0 1

1

1

1

2

2

SLITu(k) y(k)

Page 67: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 91

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Operador avanço

É possível uma descrição compacta e facilmente manipulável de SLIts

discretos usando o operador avanço

x k qx k( ) ( ) 1

Sucessão

Sucessão avançada

Operador avanço

Page 68: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 92

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Operador de transferência do sistema (avanço)

Equação de diferenças:

y k n a y k n a y kn( ) ( ) ( ) 1 1

b u k m b u k m b u km0 1 1( ) ( ) ( )

Substituindo y k n( ) por q y kn ( ), e assim sucessivamente:

q y k a q y k a y kn n

n( ) ( ) ( )

1

1 b u k m b u k m b u km0 1 1( ) ( ) ( )

Ponto y(k) e u(k) em evidência, obtem-se o seguinte operador que descreve o

sistema:

y kb q b q b q b

q a q a q au k

m m

m m

n n

n n

( ) ( )

0 1

1

1

1

1

1

Page 69: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 93

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

y kb q b q b q b

q a q a q au k

m m

m m

n n

n n

( ) ( )

0 1

1

1

1

1

1

H qb q b q b q b

q a q a q a

B q

A q

m m

m m

n n

n n

( )( )

( )

0 1

1

1

1

1

1

Operador de transferência

do sistema (avanço)

B(q)

A(q)

Page 70: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 94

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Devido ao facto de o operador avanço transformar sequências limitadas

(majoradas e minoradas) em sequências limitadas, pode ser manipulado

algebricamente com grande liberdade.

Page 71: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 95

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Operador atraso

Analogamente, se pode usar o operador atraso:

x k q x k( ) ( ) 1 1

Sucessão atrasada Sucessão

Operador atraso

Page 72: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 96

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Operador de transferência do sistema (atraso)

Equação de diferenças:

y k a y k a y k nn( ) ( ) ( ) 1 1

b u k n m b u k n m b u k nm0 1 1( ( )) ( ( ) ) ( )

Substituindo y k n( ) por q y kn ( ), e assim sucessivamente:

y k a q y k a q y kn

n( ) ( ) ( )

1

1

b u k n m b u k n m b u k nm0 1 1( ( )) ( ( ) ) ( )

Pondo y(k) e u(k) em evidência, obtem-se o operador que descreve o sistema:

y k qb b q b q

a q a q a qu kd m

m

n

n( ) ( )

0 1

1

1

1

2

21

Page 73: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 97

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Polinómio recíproco

Define-se o polinómio recíproco do polinómio A q( ) como

A q q A qn*( ) ( ) 1

Atenção: Em geral, o recíproco do recíproco não é a identidade!

Operador de transferência do sistema em termos do operador atraso e do

polinómio recíproco

H q qb b q b q

a q a qq

B q

A q

d m

m

n

n

d*

*

*( )( )

( )

1 0 1

1

1

1

1

11

Page 74: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 98

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A representação no operador avanço é mais adequada para o estudo da

estabilidade;

A representação no operador atraso é mais adequada para a implementação

dos algoritmos;

Page 75: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 99

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exercício

Considere os sistemas lineares e invariantes descritos pelas equações de

diferenças

)()(5.0)1( kukyky

)(4)1()(3)1(2)2( kukukykyky

Para cada uma delas:

a) Escreva a equação na forma em que a variável mais avançada é )(ky .

b) Determine a função de transferência, em potências de z e de 1z .

c) Diga qual o atraso puro do sistema.

Page 76: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 100

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo de estado de sistemas discretos

Exemplo: Modelo de uma população

A população assume-se dividida em estratos etários, cada um correspondente

a um intervalo de tempo discreto.

)(kxi é o número de indivíduos no estrato i no tempo k

Assume-se:

Índice do estrato: ni ,,2,1,0

Tempo discreto: ,2,1,0k

Este modelo é conhecido em língua Inglesa como “Cohort population model”.

Page 77: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 101

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Se não houver mortos, todos os elementos da geração i no ano k estarão na

geração 1i no ano 1k :

)()1(1 kxkx ii 1,,2,1,0 ni

k=0

k=1

k=2

k=3

x0

x1 x2 x3 x4

k=0 k=1 k=2 k=3

x0

x1

k=0 k=1 k=2 k=3

Page 78: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 102

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Se existirem mortos à medida que o tempo passa, só uma parte da geração i

no ano k estará na geração 1i no ano 1k :

)()1(1 kxkx iii 10 i 1,,2,1,0 ni

Os membros da população no estrato 0 resultam da reprodução dos

elementos dos diversos estratos:

)()()()1( 11000 kxkxkxkx nn

Page 79: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 103

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)()1(1 kxkx iii 10 i 1,,2,1,0 ni

)()()()1( 11000 kxkxkxkx nn

Na forma matricial:

)(

)(

)(

)(

0000

00

000

000

)1(

)1(

)1(

)1(

2

1

0

1

1

0

210

2

1

0

kx

kx

kx

kx

kx

kx

kx

kx

nn

n

n

)()1( kAxkx

Page 80: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 104

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Capturas de arenque no Mar do Norte entre 1910 e 1914 (Hjort, 1926).

O desenvolvimento de modelos de populações é muito importante para a

gestão do “stock” de peixe, optimizando a pesca.

12

34

56

719101911

19121913

1914

0

20

40

60

80

Idade [ano]Ano

Ca

ptu

ras

Page 81: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 105

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Modelo de Estado do servidor Apache

J. Hellerstein, X. Diao, S. Parekh, D. Tilbury (2004). Feedback Control of Computing Systems. Wiley Interscience. pp. 229-234.

Entradas: MaxClients (MC), KeepAlive (KA)

Saídas: CPU, MEM

11)()()(1 kKAKAkKAku med 600)()()(2 kMCMCkMCku med

58.0)()()(1 kCPUCPUkCPUky med 55.0)()()(2 kMEMMEMkMEMky med

)(

)(

00028.000025.0

00044.00085.0

)(

)(

63.0026.0

11.054.0

)1(

)1(

2

1

2

1

2

1

ku

ku

kx

kx

kx

kx

)(

)(

10

01

)(

)(

2

1

2

1

kx

kx

ky

ky

Page 82: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 106

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Conclusão:

Modelo de estado de sistemas lineares

)()()1( kBukAxkx

)()()( kDukCxky

Modelo de estado de sistemas não lineares

)(),()1( kukxfkx

))(()( kxhky

Em ambos os casos, a equação de saída modela os sensores.

Page 83: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 107

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Conversão entre modelos lineares

Como obter a função de transferência a partir do modelo de estado?

Aplicar a transformada Z com condições iniciais nulas.

𝑥(𝑘 + 1) = 𝐴𝑥(𝑘) + 𝐵𝑢(𝑘)

𝑧𝑋(𝑧) = 𝐴𝑋(𝑧) + 𝐵𝑈(𝑧)

(𝑧𝐼 − 𝐴)𝑋(𝑧) = 𝐵𝑈(𝑧)

𝑋(𝑧) = (𝑧𝐼 − 𝐴)−1𝐵𝑈(𝑧)

𝑌(𝑧) = 𝐶𝑋(𝑧) = 𝐶(𝑧𝐼 − 𝐴)−1𝐵𝑈(𝑧)

Conclusão: A função de transferência discreta é

𝐺(𝑧) =𝑌(𝑧)

𝑈(𝑧)= 𝐶(𝑧𝐼 − 𝐴)−1𝐵

Page 84: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 108

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Conversão entre modelos II

Obtenção de uma realização de estado para um dada função de transferência

Exemplo: Sistema sem zeros

Obter uma realização de estado para a função de transferência

𝐺(𝑧) =𝑏0

𝑧3 + 𝑎1𝑧2 + 𝑎2𝑧 + 𝑎3

Corresponde à equação de diferenças

𝑦(𝑘 + 3) = −𝑎1𝑦(𝑘 + 2) − 𝑎2𝑦(𝑘 + 1) − 𝑎3𝑦(𝑘) + 𝑏0𝑢(𝑘)

Page 85: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 109

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

𝑦(𝑘 + 3) = −𝑎1𝑦(𝑘 + 2) − 𝑎2𝑦(𝑘 + 1) − 𝑎3𝑦(𝑘) + 𝑏0𝑢(𝑘)

Tomam-se como variáveis de estado a saída e os seus 𝑛 − 1 primeiros

avanços (𝑛é a ordem do sistema). Neste caso, 𝑛 = 3, pelo que o estado é 𝑥1(𝑘) = 𝑦(𝑘) 𝑥2(𝑘) = 𝑦(𝑘 + 1)

𝑥3(𝑘) = 𝑦(𝑘 + 2) Pela definição do estado:

𝑥1(𝑘 + 1) = 𝑦(𝑘 + 1) = 𝑥2(𝑘) 𝑥2(𝑘 + 1) = 𝑦(𝑘 + 2) = 𝑥3(𝑘)

𝑥3(𝑘 + 1) = 𝑦(𝑘 + 3) Pela equação de diferenças, vem

𝑥3(𝑘 + 1) = −𝑎3𝑥1(𝑘) − 𝑎2𝑥2(𝑘) − 𝑎1𝑥3(𝑘) + 𝑏0𝑢(𝑘)

Page 86: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 110

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

𝑥1(𝑘 + 1) = 𝑥2(𝑘)

𝑥2(𝑘 + 1) = 𝑥3(𝑘)

𝑥3(𝑘 + 1) = −𝑎3𝑥1(𝑘) − 𝑎2𝑥2(𝑘) − 𝑎1𝑥3(𝑘) + 𝑏0𝑢(𝑘)

Modelo de estado na forma matricial:

[

𝑥1(𝑘 + 1)𝑥2(𝑘 + 1)𝑥3(𝑘 + 1)

] = [0 1 00 0 1

−𝑎3 −𝑎2 −𝑎1

] [

𝑥1(𝑘)𝑥2(𝑘)𝑥3(𝑘)

] + [00𝑏0

] 𝑢(𝑘)

𝑦(𝑘) = [1 0 0] [

𝑥1(𝑘)𝑥2(𝑘)𝑥3(𝑘)

]

Page 87: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 111

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sistemas com zeros

𝐺(𝑧) =𝑏0𝑧 + 𝑏1

𝑧3 + 𝑎1𝑧2 + 𝑎2𝑧 + 𝑎3

Para efeitos de cálculo, parte-se o sistema numa parte sem zeros e numa parte só com zeros e tomam-se como variáveis de estado a saída do primeiro

bloco e os seus 𝑛 − 1 primeiros avanços (tal como no exemplo anterior.

Apenas é afectada a equação de saída:

𝑦(𝑘) = 𝑏1𝑥1(𝑘) + 𝑏0𝑥2(𝑘)

u yx1b0z+b1

Sistema semzeros

Page 88: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 112

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Utilização do MATLAB na conversão de modelos lineares

O MATLAB (Control Systems Toolbox) pode ser usado para definir modelos

lineares e para converter umas representações noutras. Por exemplo:

ss2tf converte o modelo de estado para a função de transferência;

tf2tf converte a função de transferência para uma representação de

estado (note-se que esta representação de estado não é a que usamos)

tf permite definir um sistema pela função de transferência e depois

manipulá-lo.

series permite calcular a função de transferência em série de duas

funções de transferência em série. Faça help destas funções para

aprender como funcionam e conhecer mais funções

Page 89: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 113

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo de um sistema amostrado

Qual a função de transferência discreta “vista” pelo computador?

Relógio

D/A A/DG(s)

Sistema

u(kh) y(kh)u(t) y(t)

Page 90: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 114

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Recorde-se que, para determinar a função de transferência, devemos:

Aplicar um sinal à entrada do sistema, com condições iniciais nulas

Observar a saída

Determinar as transformadas Z da entrada e da saída correspondente

Calcular a função de transferência como o quociente entre a transformada Z

da saída e a transformada Z da entrada

Que sinal de teste é mais conveniente aplicar?

Page 91: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 115

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Se aplicarmos um escalão discreto à entrada, à entrada do sistema contínuo

aparecerá também um escalão, o que facilita as contas

Relógio

D/A A/DG(s)

Sistema

u(kh) y(kh)u(t) y(t)

Page 92: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 116

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

y t TLs

G s( ) ( )

1

1

y kh TL

sG s

t kh( ) ( )

11

A função de transferência discreta equivalente é

G zZ y kh

Z u khd ( )

( )

( )

Relógio

D/A A/DG(s)

Sistema

u(kh) y(kh)u(t) y(t)

Page 93: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 117

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sendo u(kh) um escalão discreto, a sua transformada Z é:

Z u khz

( )

1

1 1

kht

d sGs

TLZzzG )(1

)1()( 11

Page 94: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 118

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo de um SLIT amostrado com um ZOH (Conclusão)

Do ponto de vista do computador, I. e. entre a entrada e a saída discreta, este

sistema é equivalente a um SLIT discreto com função de transferência

kht

d sGs

TLZzzG )(1

)1()( 11

Relógio

D/A A/DG(s)

Sistema

u(kh) y(kh)u(t) y(t)

Page 95: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 119

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Funções MATLAB

Funções MATLAB para:

Calcular o equivalente discreto de um sistema amostrado: c2d

Operação inversa (pode não ter solução única): d2c

Page 96: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 120

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo de sistema amostrado - Exemplo

Qual a função de transferência discreta (causal) que se obtém quando se

amostra o sistema contínuo com função de transferência

G sa

s a( )

?

Solução:

G z z Z TLa

s s ad t kh( ) ( )

( )

1 1 1

Page 97: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 121

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Decompondo em fracções simples

a

s s a s s a( )

1 1

11 0

sf t t ( )

f kh k

F zz

( )

( )

1 0

1

1 1

10

0

1

1 1

s af t e t

f kh e k

F ze z

at

ahk

ah

( )

( )

( )

Page 98: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 122

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

G z zz e zd ah( ) ( )

11

1

1

1

1

1 1

G ze z

e zd

ah

ah( )( )

1

1

1

1

A região de convergência deve ser escolhida por forma a que o sistema seja

causal.

Page 99: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 123

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A resposta ao escalão do sistema contínuo coincide, nos instantes de

amostragem, com a resposta do sistema discretizado.

Isto não acontece para outro tipo de entradas, por exemplo uma sinusóide.

Este facto motiva que se designe este método de discretização por método do escalão invariante.

0 1 2 3 4 5 6 7 80

0.2

0.4

0.6

0.8

1

0 1 2 3 4 5 6 7 8-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Page 100: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 124

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Page 101: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 125

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Page 102: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 126

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Transformação dos pólos

Na discretização com retentor de amostras de ordem zero os pólos são

transformados de acordo com uma transformação exponencial.

Um pólo em si no contínuo é transformado num pólo zi no discreto, dado por

z ei

s hi h = intervalo de amostragem

Page 103: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 127

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo de transformação de pólos

Page 104: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 128

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sistema de 2ª ordem com pólos complexos conjugados

w

w w0

2

2

0 0

22s s

Os pólos são transformados nas

raízes do polinómio

z a z a2

1 2

a e hh

1

2

02 10 w wcos

a e h

2

2 0 w

Estas formulas são úteis para o estabelecimento de especificações.

Page 105: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 129

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Transformação dos zeros

A transformação dos zeros é muito mais complexa e não existe uma regra

geral simples como a transformação exponencial dos pólos.

Deve no entanto ser notado que um sistema contínuo de fase mínima pode

dar origem, por amostragem com ritmo elevado, a um sistema de fase não

mínima (i. e. em que há zeros fora do círculo unitário).

Este facto pode dar origem a problemas no controlo e sugere que nem

sempre é bom aumentar o ritmo de amostragem (ao contrário do que sugere a

nossa intuição e do que sucede em problemas de Processamento de Sinal).

Ver exemplos AW pp. 73-75

Page 106: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 130

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Modelo de estado discreto

Dado o modelo de estado em tempo contínuo:

)()(

)()()(

tCxty

tbutAxtx

qual o modelo “visto” em tempo discreto?

Page 107: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 131

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Obtenção do modelo de estado discreto

Definição dos instantes de amostragem ( h é o intervalo de amostragem):

htt kk 1

Tendo em conta a fórmula de variação das constantes1:

1

11 )()()()()(

1

k

k

kkk

t

t

stA

k

ttA

k dssbuetxetx

Sendo u constante em cada intervalo de amostragem:

)()()(1

1 )(

1 k

t

t

stA

k

Ah

k tbudsetxetxk

k

k

1 Ver Controlo em Espaço de Estados

Page 108: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 132

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)()()(1

1 )(

1 k

t

t

stA

k

Ah

k tbudsetxetxk

k

k

Para calcular o integral, faz-se a mudança de variável stk 1:

h

A

h

A

t

t

stAded

d

dsedse

k

k

k

0

0

(1

1 )

Assim:

)()()(0

1 k

h

A

k

Ah

k tbudetxetx

Page 109: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 133

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)()()(0

1 k

h

A

k

Ah

k tbudetxetx

Definindo

Ahe

h

A bde0

escreve-se o modelo de estado discreto

)()(

)()()1(

kCxky

kukxkx

Page 110: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 134

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Aproximação para amostragem rápida ( h pequeno):

AhIeAh bhbAIbde h

h

A

0

2

02

Isto corresponde a aproximar a derivada por diferenças finitas:

)()()()1(

kbukAxh

kxkx

Page 111: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 135

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Sistema de 1ª ordem

)()()( tutxtx R ,0

he

10

h

h

ede

)(1)()1( kuekxekx hh

Page 112: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 136

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Integrador duplo

uxdt

dx

1

0

00

10

xy 01

ht

Ah AsITLe

11

s

sAsI

0

1

2)det( sAsI (tal como esperado!)

Page 113: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 137

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

s

s

s

sAsIadj

T

0

1

1

0)(

s

ss

AsI

AsIadjAsI

10

11

)det(

)( 21

10

111t

AsITL

Page 114: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 138

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

10

1 heAh

h

hdd

hh

211

0

10

12

00

Fim do exemplo

Page 115: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 139

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

3.Identificação paramétrica.

Estimação de parâmetros.

Métodos recursivos e não recursivos.

Mínimos Quadrados e Máxima Verosimilhança.

Referência: AW cap. 13, FP

Page 116: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 140

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Ajuste de uma recta a dados experimentais

Uma situação experimental:

Pretende-se relacionar a corrente I com a

tensão V no circuito da figura.

Para tal são aplicados diversos valores de

tensão à resistência e registados os dados

Tensão [volt] Corrente [mA]

V1=1 I1=2.1

V2=2 I2=3.9

V3=3 I3=6.2

V4=4 I4=7.9

+

-V g=?

I

Page 117: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 141

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sob certas condições, a relação teórica (o modelo) existente entre a tensão V

aplicada à resistência e a corrente I é:

I gV

em que g é um parâmetro que se pretende estimar a partir dos dados.

Devido aos erros experimentais, os pontos

experimentais não se encontram exactamente

sobre a recta I gV mas têm desvios.

Como decidir qual a recta melhor ajustada?

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

1

2

3

4

5

6

7

8

9

10

V [volt]

I [m

A]

Page 118: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 142

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

De acordo com o Princípio dos Mínimos Quadrados é escolhida a recta que

minimiza a soma dos quadrados dos desvios.

De acordo com este princípio, a estimativa de g é tal que minimiza

J g g g g g( ) . . . . 21 1 39 2 6 2 3 7 9 42 2 2 2

O que esperamos que seja a

corrente quando a tensão é 2

(Depende da estimativa de g)

O que efectivamente

observamos

Page 119: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 143

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Custo J g( ) associado ao critério de mínimos quadrados

J(g)

g g^

Page 120: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 144

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Como J g( ) é uma função quadrática de g , a estimativa de mínimos

quadrados verifica a equação

1

20

dJ

dgg g

ou seja

1 21 1 2 39 2 3 62 3 4 7 9 4 0. . . . g g g g

Esta equação simplifica-se para 60 1201 0 .g sendo a estimativa de

mínimos quadrados dada por

.g 2 00

Page 121: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 145

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Ajuste de uma recta a dados experimentais (Caso geral)

Suponhamos que a relação teórica entre duas grandezas X e Y é do tipo

Y X

em que é um parâmetro desconhecido que se pretende estimar.

Repare-se que, conhecendo uma estimativa de podemos responder a

perguntas do tipo "Se X valer … quanto se espera que valha Y ? "

Page 122: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 146

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Suponhamos que são observados n pares X Y i ni i, , , , 1 correspondentes a

outros tantos ensaios experimentais. Dispõe-se da tabela

Y

X1 Y1

X2 Y2

X3 Y3

X4 Y4

X5 Y5

X

Page 123: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 147

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Pretende-se estimar a recta melhor ajustada aos dados experimentais, de

acordo com o critério de mínimos quadrados.

De acordo com esta critério, a estimativa é

tal que minimiza a soma dos quadrados dos

desvios:

J Y Xi i

i

n

( )

2

1

O que estamos à

espera que seja Yi

O que efectivamente

observamos

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

1

2

3

4

5

6

7

8

9

10

V [volt]

I [m

A]

Desvio i

Xi

Yi

Page 124: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 148

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A estimativa de mínimos quadrados verifica a equação (eq. "normal"):

1

20

dJ

d

ou seja

X Y Xi i i

i

n

1

0

Esta equação tem por solução

X Y

X

i ii

n

ii

n

1

2

1

Page 125: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 149

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Mínimo ou não?

A condição 1

20

dJ

d

não garante necessariamente que J( ) seja mínimo

para . É necessário impor uma condição na segunda derivada:

d J

dX i

i

n2

2

2

1

0

Neste exemplo, esta condição é verificada se for feita pelo menos uma

medida com X 0 (o que tem uma interpretação geométrica imediata).

Veremos a seguir que se estimarmos mais do que um parâmetro a segunda

derivada deixa de ser um escalar. A condição de mínimo é então a de que os

dados sejam tais que a matriz de segundas derivadas seja definida positiva.

Page 126: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 150

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Bom, ou apenas óptimo?

A estimativa de mínimos quadrados é "óptima" no sentido em que minimiza

um funcional de custo. No entanto, o funcional de custo pode não ser o mais

adequado.

Como caricatura, pode dizer-se que os bons relógios são os que estão

parados pois dão horas absolutamente certas duas vezes por dia.

Um outro exemplo é o de um caçador que vê dois pombos. Se disparar para o

ponto que minimiza a distância média quadrática aos dois pombos…

Isto sugere que por vezes são necessários outros critérios.

Page 127: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 151

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Outros critérios de Estimação

Ops exemplos anterios sugerem a utilidade de utilizar critérios que

ultrapassem as limitações dos Mínimos Quadrados. Um dos mais utilizados

em Estimação é o critério de Máxima Verosimilhança.

No entanto, quando a motivação é o Controlo Adaptativo, os Mínimos

Quadrados gozam (quando integrados num sistema de controlo em cadeia

fechada) de propriedades que os tornam suficientes para muitas aplicações.

São além disso simples e de convergência robusta.

Page 128: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 152

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Carl Frederich Gauss (1777-1855) utilizou pela primeira vez

o critério de mínimos quadrados para a estimação de

parâmetros em equações.

Em 1801, o astronomo italiano Piazzi observou pela primeira

vez um pequeno planeta denominado Ceres. Infelizmente, a

duração das observações era muito curta devido a Ceres se

ser escondido atrás do Sol, pelo que estas eram insuficientes para estimar os

parâmetros da sua órbita pelos métodos tradicionais. Recorrendo ao critértio

dos mínimos quadrados, Gauss efectuou uma estimativa (bastante diferente

das obtidas pelos métodos clássicos) que foi brilhantemente confirmada pelas

observações experimentais.

Page 129: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 153

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Qual a estimativa de mínimos quadrados

da aceleração da gravidade g ?

Modelo: h gt

e 2

2

t [s] h [m]

1 8.49

2 20.05

3 50.65

4 72.19

5 129.85

6 171.56

h(t)

0

Page 130: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 154

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação de parâmetros em equações de diferenças

Modelo:

y t a y t a y t n b u t b u t mn m( ) ( ) ( ) ( ) ( ) 1 01 1 1

Problema: A partir das amostras de u e y , estimar os parâmetros a bi j,

u y

ESTIMADOR

Sistema a

Identificar

Page 131: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 155

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

Considere-se o sistema

)1()()()1( kekbukayky

Dados recolhidos

y kk

2

1

1000

30( )

u kk

2

1

1000

50( )

y k y kk

( ) ( )

1 11

1000

y k u kk

( ) ( )

1 361

1000

y k u kk

( ) ( )

201

1000

Determinar as estimativas de mínimos quadrados dos parâmetros a e b

Escrever a funcional de mínimos quadrados

Calcular as derivadas parciais em ordem aos parâmetros e igualar a zero

Ruído branco de média nula.

Traduz erros no modelo

Page 132: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 156

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

J y k ay k bu kk

N

1

21

2

1

( ) ( ) ( )

J

ay k y k ay k bu k

k

N

( ) ( ) ( ) ( )1 01

J

bu k y k ay k bu k

k

N

( ) ( ) ( ) ( )1 01

( ) ( ) ( ) ( ) ( )a y k b y k u k y k y kk

N

k

N

k

N2

1 1 1

1

30 20 1 a b

( ) ( ) ( ) ( ) ( )a u k y k b u k u k y kk

N

k

N

k

N

1

2

1 1

1 20 50 36 a b

. .a b 0 61 0 964

Page 133: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 157

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Notação matricial

Se quisermos resolver o problema de estimação para um número arbitrário de

parâmetros temos de usar a notação matricial.

y t a y t a y t n b u t b u t m e tn m( ) ( ) ( ) ( ) ( ) ( ) 1 01 1 1

Define-se o regressor , ,como

( ) ( ) ( ) ( ) ( )t y t y t n u t u t m1 1 1 1

e o vector de parâmetros a estimar, ,como

a a b bn m1 1

O modelo escreve-se:

y t t e t( ) ( ) ( ) 1

Page 134: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 158

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Critério de Mínimos Quadrados

Dadas N observações, estimar o vector de parâmetros o por um vector

por forma a que o funcional seguinte seja mínimo:

JN

y t tt

N

( ) ( ) ( )

1

21

2

1

Page 135: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 159

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

y

y

y N N

e

e

e N

( )

( )

( )

( )

( )

( )

1

2

0

1

1

1

2

y

y

y N N

e

e

e N

( )

( )

( )

( )

( )

( )

1

2

0

1

1

1

2

Page 136: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 160

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

y

y

y N N

e

e

e N

( )

( )

( )

( )

( )

( )

1

2

0

1

1

1

2

O conjunto das N observações satisfaz:

y

y N 1

N np

np 1

N 1

Page 137: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 161

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Funcional de mínimos quadrados escrito matricialmente:

JN N

1

2

1

2

2

Como:

y

Vem:

JN

y y 1

2

JN

y y y 1

22

O funcional de

mínimos quadrados

é uma forma

quadrática em

Page 138: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 162

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A estimativa de mínimos quadrados satisfaz

J 0

Gradiente da forma quadrática

x x Ax x A2

Recordando:

JN

y y y 1

22

Vem então

JN

y1

22 2

Page 139: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 163

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A estimativa de mínimos quadrados satisfaz pois a equação

JN

y1

22 2

ou seja

y

ou, transpondo

y

Page 140: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 164

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Equação Normal

Em conclusão, a estimativa de mínimos quadrados do vector de parâmetros

do modelo de regressão linear

y t t e t( ) ( ) ( ) 1

satisfaz a equação matricial (dita equação normal)

y

Se existir a inversa de a estimativa de mínimos quadrados existe e é

única, sendo dada por

1

y

Page 141: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 165

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo - Invertibilidade da matriz

Considere o sistema

y k b u k b u k e k( ) ( ) ( ) ( ) 0 11 2

a)Diga se é possível determinar estimativas dos parâmetros b0 e b1 quando a

entrada é sempre u k k( ) 1 ?

b)E se se souber que b1 0 ?

c) E se u( )0 0 e u k k( ) 1 1?

Sugestão: Escreva a matriz quando N=4 e depois considere o que

acontece para valores de N superiores.

Ruído de

média nula

Page 142: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 166

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Condições de Excitação Persistente

Para que a estimativa de mínimos quadrados exista e seja única é necessário

que a matriz seja definida positiva. Caso contrário o funcional de

mínimos quadrados não tem um mínimo.

A matriz é definida positiva se os dados forem suficientemenbte ricos, o

que depende da entrada do sistema.

As condições na entrada do sistema que levam a que 0 dizem-se

condições de excitação persistente.

Page 143: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 167

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Matriz de Covariância do Erro de Estimação e Matriz de Informação

Define-se a matriz de covariância do erro de estimação como

P E

No caso em que os resíduos formam uma sequência branca, tem-se:

i)A estimativa de mínimos quadrados é centrada (a média do erro é zero):

E 0

ii)Sendo a variância dos resíduos unitária:

P

1

Page 144: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 168

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Este último facto motiva que se denomine matriz de informação a matriz dada

por

P 1

Note-se que o facto de as estimativas de mínimos quadrados não serem

centradas quando o ruído é colorido não é necessariamente uma limitação em

Controlo Adaptativo (embora implique o recurso a outros métodos quando a

motivação é outra, por exemplo a identificação do modelo por si só).

Isto deve-se ao facto de o Controlo Adaptativo identificar o sistema em cadeia

fechada. Posteriormente voltaremos a este aspecto.

Page 145: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 169

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimador Recursivo

Objectivo: Obter a estimativa combinando uma estimativa anterior com novos

dados sem ter que reescrever a equação normal.

Em inglês: RLS = Recursive Least Squares

RLS

Novos dados

y t t( ), ( ) 1

Estimativa anterior ( )t 1 e

variáveis auxiliares P t( )1

Novas, estimativa ( )t e

variáveis auxiliares P t( )

Page 146: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 170

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimador não recursivo dadas t observações:

( ) t y

1

Pode ser escrita como (mostre!):

( ) ( ) ( ) ( ) t t y k kk

t

1

1

1

em que a matriz de informação é dada por

( ) ( ) ( )t k kk

t

1 11

Page 147: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 171

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Matriz de informação verifica

( ) ( ) ( ) ( )t t t t 1 1 1 (1)

Tem-se ainda

( ) ( ) ( ) ( ) t t y k kk

t

1

1

1 (2) e

( ) ( ) ( ) ( )t t y k kk

t

11

(3)

Pretende-se: Escreva ( ) t como função de ( ) t 1 , de ( )t , de y t( ) e de ( )t 1

Sugestão: Isole o último termo do somatório em (2).

Escreva (3) para t 1;

use (1);

Page 148: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 172

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

( ) ( ) ( ) ( ) t t y k kk

t

1

1

1

( ) ( ) ( ) ( ) ( ) ( ) t t y k k y t tk

t

1

1

1

1 1

( ) ( ) ( ) ( )t t y k kk

t

1 1 11

1

( ) ( ) ( ) ( ) ( ) ( ) t t t t y t t 1 1 1 1

Page 149: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 173

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

( ) ( ) ( ) ( ) ( ) ( ) t t t t y t t 1 1 1 1

( ) ( ) ( ) ( )t t t t 1 1 1

Assim:

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) t t t t t t t y t t 1 1 1 1 1 1

( ) ( ) ( ) ( ) ( ) ( ) ( ) t t t t y t t t 1 1 1 11

Page 150: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 174

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

As equações do estimador recursivo são:

( ) ( ) ( ) ( ) ( ) ( ) ( ) t t t t y t t t 1 1 1 11

( ) ( ) ( ) ( )t t t t 1 1 1

Diferença entre o que esperamos que seja y(t)

dada a estimativa e o qure observamos

Nova

estimativa Estimativa

anterior Ganho

vectorial

É necessário inverter uma

matriz em cada iteração

Page 151: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 175

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Será que podemos alterar o algoritmo para evitar inversão de matrizes?

( ) ( ) ( ) ( ) ( ) ( ) ( ) t t t t y t t t 1 1 1 11

( ) ( ) ( ) ( )t t t t 1 1 1

Se trabalharmos com a matriz de covariância as equações ficam:

( ) ( ) ( ) ( ) ( ) ( ) ( ) t t P t t y t t t 1 1 1 1

P t t t t( ) ( ) ( ) ( )

1 1 11

Page 152: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 176

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

P t t t t( ) ( ) ( ) ( )

1 1 11

Lema de inversão de matrizes

A BCD A A B DA B C DA

1 1 1 1 1

11

Aplique-se este lema com

A t P t 1 1 1 1 ( ) ( ) , B t ( )1 , C 1 , D t ( )1

Obtém-se:

)1()1(1)1()1()1()1()1()1()(1

tPtttPtttPtPtP

Escalar

Page 153: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 177

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Algoritmo de Mínimos Quadrados Recursivo (RLS)

Modelo:

y t t e to( ) ( ) ( ) 1

Estimador:

( ) ( ) ( ) ( ) ( ) ( ) t t K t y t t t 1 1 1

K t P t t( ) ( ) ( ) 1 "Ganho de Kalman"

P t P tP t t t P t

t P t t( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( )

1

1 1 1 1

1 1 1 1

"Equação de Riccati"

Page 154: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 178

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Alternativamente, o ganho de Kalman e a equação de Riccati podem ser

escritos como (demonstre!):

K tP t t

t P t t( )

( ) ( )

( ) ( ) ( )

1 1

1 1 1 1

P t I K t t P t( ) ( ) ( ) ( ) 1 1

Page 155: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 179

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Estimação recursiva de um parâmetro

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Ganho fixo=0.03

Ganho fixo=0.5

Ganho de Kalman

y t t e to

o

( ) ( ) ( )

1

2

Ganho do estimador:

Alto leva a convergência rápida mas a

grande variância das estimativas em

regime estacionário.

Baixo leva a convergência lenta.

O ganho de Kalman é alto no início e

baixo no fim, variando no tempo.

Page 156: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 180

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Programa MATLAB usado no exemplo

thrls=0;

thsm=0;

thbig=0;

p=10;

theta0=2;

tfinal=200;

for t=1:tfinal

pp(t)=p;

fi=1+0.1*rand;

y=theta0*fi+0.2*randn;

p=p-p*fi*fi*p/(1+fi*p*fi);

kalm=p*fi;

thrls=thrls+kalm*(y-thrls*fi);

thsm=thsm+0.03*(y-thsm*fi);

thbig=thbig+0.5*(y-thbig*fi);

sth(t,1)=thrls;

sth(t,2)=thsm;

sth(t,3)=thbig;

end;

axis([0 tfinal 0 5])

hold on

plot(sth)

hold off

Page 157: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 181

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Este exemplo ilustra a convergência dos mínimos quadrados recursivos.

Inicialmente, como a nossa incerteza sobre o valor verdadeiro do parâmetro a

estimar é grande, escolhemos um valor elevado para a covariância.

Neste caso, P 10 . O ganho de Kalman é elevado inicialmente pelo que a

convergência é rápida.

Há medida que o tempo passa e vamos

recebendo dados, P diminui e o

ganho de Kalman também. Isto leva à

convergência da estimativa pois o termo

de correcção fica progressivamentre menor.

0 20 40 60 80 100 120 140 160 180 20010

-3

10-2

10-1

100

101

Page 158: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 182

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

O estimador pode ser encarado

como um mecanismo que reduz

a nossa incerteza sobre o

valor verdadeiro do parâmetro

através das observações.

A incerteza é medida por uma

função densidade de probabilidade

do erro na estimativa. Neste

exemplo esta incerteza é gaussiana

e com variância proporcional a P .

0 0.5 1 1.5 2 2.5 3 3.5 40

1

2

3

4

5

6

Parameter probability density

given 200 observations

Initial parameter probability

density function

Page 159: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 183

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Um exemplo com parâmetros não identificáveis

Aumentando o número de observações, reduz-se a incerteza da soma mas

mantém-se a incerteza na direcção perpendicular (assume-se u constante).

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

-4

-3

-2

-1

0

1

2

3

4

5

y k b u k b u k e k( ) ( ) ( ) ( ) 0 11 2

Apenas a soma pode ser estimada

Densidade de

probabilidade

dos parâmetros

Page 160: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 184

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Um exemplo de não identificabilidade de parâmetros em cadeia fechada

Modelo do processo:

y t ay t bu t e t( ) ( ) ( ) ( ) 1 1 (*)

A este sistema está acoplado o controlador:

u t Ky t( ) ( )

Seja uma constante arbitrária. Da equação do controlador

u t Ky t( ) ( ) 0

Como a quantidade u t Ky t( ) ( ) 0 , podemos adicioná-la a (*) e obter:

y t a K y t b u t e t( ) ( ) ( ) ( ) ( ) ( ) 1 1

Page 161: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 185

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Assim, o sistema, em conjunto com o controlador, é descrito pelo modelo

y t a K y t b u t e t( ) ( ) ( ) ( ) ( ) ( ) 1 1

isto mostra que parâmetros tais que

a a K b b

conduzem à mesma relação entrada/saída. Eliminando , obtém-se a

seguinte relação entre as estimativas e os parâmetros a estimar

b bK

a a 1

Qualquer estimativa ( , )a b que verifique esta condição descreve igualmente

bem o comportamento entrada/saída.

Page 162: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 186

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

As estimativas pertencem à recta, mas não são necessariamente proxímas

dos valores verdadeiros. Para que o sejam, pode-se:

Fazer variar o ganho K

Adicionar um sinal externo ao controlo

a

b1/K

a

^

b

Page 163: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 187

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Adormecimento dos mínimos quadrados recursivos

Se os dados forem adequados, os elementos do ganho de Kalman diminuem

à medida que o tempo passa, tornando-se eventualmente muito reduzidos se

o ruído for baixo.

A partir daí, as estimativas tendem a tornar-se constantes. Se o sistema a

identificar sofrer alguma alteração, será necessário muito tempo para que as

estimativas convirjam para o novo valor.

Diz-se que o algoritmo adormeceu.

Page 164: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 188

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Esquecimento exponencial

O adormecimento dos mínimos quadrados recursivos acontece porque o

algoritmo pesa igualmente os dados recentes e os do passado remoto.

Para o evitar, pode modificar-se o funcional de custo por forma a pesar menos

os pontos do passado:

J y t kt k

k

t

1

21

2

1

( ) ( )

A dá-se o nome de factor de esquecimento. Tem-se 0 1

Peso exponencial, menor nos dados mais antigos

Page 165: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 189

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Memória assimptótica

A memória assimptótica N dá-nos uma ideia do número de dados que

influenciam a estimativa actual.

N

1

1

pequeno -> Poucos dados retidos; algoritmo "ágil" a seguir alterações

grande-> Muitos dados retidos; algoritmo lento a seguir alterações mas

mais preciso

N

1

0.99 100

0.98 50

0.95 20

Page 166: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 190

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

RLS com Esquecimento Exponencial

Minimiza o custo com esquecimento exponencial.

( ) ( ) ( ) ( ) ( ) ( ) t t K t y t t t 1 1 1

K tP t t

t P t t( )

( ) ( )

( ) ( ) ( )

1 1

1 1 1

P t I K t t P t( ) ( ) ( ) ( ) / 1 1

Demonstre que estas equações minimizam o custo exponencial.

Observe que a matriz de informação é actualizada por

( ) ( ) ( ) ( )t t t t 1 1 1

Page 167: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 191

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Explosão da covariância (covariance windup)

Pretende-se estimar os parâmetros a e b no modelo:

y t ay t bu t e t( ) ( ) ( ) . ( ) 1 01 1

O valor verdadeiro dos parâmetros é

a 06. b 01.

(o valor verdadeiro não se sabe na prática; aqui é usado apenas para comparação!)

Usa-se RLS com factor de esquecimento exponencial e 095.

Consideram-se duas situações para a entrada:

Entrada constante

Entrada constante somada com ruído branco

Page 168: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 192

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Resultados com a entrada do sistema constante

O traço de P dimunui inicialmente e a estimativa aproxima-se do valor

verdadeiro a 06. . No entanto, devido a o sistema não ser excitado e a usar-

se o algoritmo de esquecimento, P aumenta o causa um aumento do ganho

de Kalman e leva a fortes variações da estimativa.

0 50 100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0 50 100 150 200 250 30010

-1

100

101

102

103

104

tr(P)

a

Page 169: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 193

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Resultados com a entrada do sistema variável

Quando a entrada é suficientemente excitante, o traço de P não volta a subir

devido ao esquecimento e a estimativa mantém-se próximo do valor

verdadeiro.

0 50 100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0 50 100 150 200 250 30010

-2

10-1

100

101

102

103

104

tr(P)

a

Page 170: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 194

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sistemas variáveis no tempo

0 50 100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Lbd=0.99

Lbd=0.95

O parâmetro a muda em t=100 de 0.6

para 0.8.

A figura mostra os resultados que se

obtêm com dois valores diferentes do

factor de esquecimento. Quando este é

mais baixo, a transição da estimativa

para o novo valor é mais rápida, mas em

regime estacionário as fluctuações são

maiores.

Page 171: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 195

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Outro tipo de algoritmos de esquecimento

Para evitar os problemas com o esquecimento exponencial utilizam-se outros

algoritmos. Dois exemplos importantes:

Esquecimento variável no tempo. O factor de esquecimento é 1 quando a

potência dos resíduos está abaixo de um dado limiar, sendo reduzido

quando a potência aumenta. Deste modo eliminam-se os problemas com a

explosão da covariância;

Esquecimento direccional. O factor de esquecimento é diferente em

diversas direcções do espaço de parâmetros, o que permite reduzir

problemas devidos à não identificabilidade.

Page 172: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 196

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Algoritmos numericamente robustos

As equações do algoritmo de RLS, tal como foram apresentadas, podem

apresentar problemas numéricos (embora não no MATLAB e em simulações

de pequena duração). Há várias formas de evitar estes problemas. Uma é o

chamado algoritmo UD (ou algoritmo de Bierman) em que se propaga não a

matriz P mas duas matrizes, U (triangular superior com 1's na diagonal) e D

(diagonal), tal que P UDU T .

Deste modo é possível trabalhar com uma gama de números menor e garantir

o carácter definido positivo de P.

No capítulo 13 de AW pode ser visto um procedimento em PASCAL para este

algoritmo.

Page 173: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 197

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Efeito do ruído colorido

0 100 200 300 400 500 600 700 800 900 10000.2

0.3

0.4

0.5

0.6

0.7

0.8

Ruído colorido

Ruído branco

Valor verdadeiro

Em presença de ruído branco a

estimativa de mínimos quadrados é

centrada, i. e., a média do erro é nula.

Isto deixa de ser verdade quando o ruído

é colorido. Na figura mostra-se a

estimativa do parâmetro a em

y t ay t bu t e t ce t( ) ( ) ( ) ( ) ( ) 1 1

quando c 0 e quando c 095.

Page 174: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 198

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

O facto de os mínimos quadrados fornecerem estimativas polarizadas em

presença de ruído colorido pode parecer à partida uma limitação importante.

Em classes importantes de controladores adaptativos de facto não o é.

Isto é devido a, em cadeia fechada e sob certas condições, sistemas com

ruído colorido admitirem um outro modelo com ruído branco. Como se verá,

esta é a base do controlo adaptativo auto-sintonizável (self-tuning)

descoberto no início dos anos 70 por Astrom e Wittenmark.

Page 175: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 199

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Comportamento Assimptótico dos Mínimos Quadrados

Questão: Será que a estimativa de mínimos quadrados “converge” para o

valor verdadeiro dos parâmetros?

Modelo “verdadeiro”:

)()()( 0 tvtty

A estimativa dos mínimos quadrados é

N

t

N

t

tytttN1

1

1

)()()(')()(ˆ

Page 176: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 200

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)()()( 0 tvtty

N

t

N

t

tytttN1

1

1

)()()(')()(ˆ

N

t

N

t

tvttttN1

0

1

1

)()(')()(')()(ˆ

ou seja

N

t

N

t

tvtN

ttN

N1

1

1

0 )()(1

)(')(1

)(ˆ

A estimativa é igual ao valor verdadeiro adicionado de uma “polarização”.

Em que condições é que a polarização é zero?

Page 177: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 201

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Para que a estimativa de mínimos quadrados seja centrada, isto é para que:

0)(ˆ ENE

tem de ser

0)()(1

N

t

tvtE

Em geral, isto acontece se )(tv fôr incorrelacionado com )(,),1( ntyty ,

ou seja:

)(tv tem de ser incorrelacionado com ),2(),1( tvtv

Para que a estimativa de mínimos quadrados seja centrada

o ruído tem de ser branco.

Page 178: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 202

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

Considere o processo descrito pelo modelo ARMAX

)1()()1()1()( tcetetbutayty

em que u e e são sinais brancos e independentes, com média nula e

variância unitária.

Determine os valores explícitos das estimativas de mínimos quadrados a e b

em função de cba ,, .

Sugestão: )()()( 0 tvtty

N

t

N

t

tytN

ttN

N1

1

1

)()(1

)(')(1

)(ˆ

Page 179: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 203

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sugestão (cont.):

Escreva 0 e neste caso particular.

Tenha em conta que, para N grande

)(')()(')(1

1

ttEttN

N

t

)()()()(

1

1

tytEtytN

N

t

Calcule estas médias considerando que u e e são sinais brancos e

independentes, com média nula e variância unitária.

Page 180: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 204

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)1()()1()1()( tcetetbutayty

)1()()1(

)1()(

tcete

tu

tybaty

0' )(t

)(tv

Page 181: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 205

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação em presença de Ruído colorido

Como se viu, em presença de ruído colorido, os mínimos quadrados fornecem

uma estimativa polarizada. Quer dizer, ao fazer muitas observações a

estimativa não se aproxima do valor verdadeiro dos parâmetros.

Métodos que permitem resolver este problema:

Variáveis instrumentais (Instrumental Variables)

Mínimos Quadrados Extendidos (Extended Least Squares)

Máxima Verosimilhança (Maximum Likelihood)

Destes a Máxima Versimilhança é o mais geral e poderoso, embora o que

seja computadcionalmente mais pesado.

Page 182: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 206

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Em presença de ruído colorido, usar os mínimos quadrados depende do

objectivo:

Se se pretende construir um modelo do sistema para estudar as suas

características e/ou projectar um controlador, devem estimar-se os

polinómios )(qA , )(qB e )(qC . Os mínimos quadrados não são adequados.

Se se pretende combinar a identificação com uma lei de controlo por forma

a obter uma lei de controlo adaptativa, os mínimos quadrados são os

adequados porque, com certas leis de controlo (variância mínima), há um

erro por se tomar 1)( 1* qC que compensa a polarização das estimativas. É

nisto que consiste a propriedade de auto-sintonização (self-tuning).

Page 183: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 207

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Mínimos Quadrados Estendidos

Generalização heurística dos Mínimos Quadrados para processos ARMAX:

)()(')( tvtty o )()1()()( 1 ntectectetv n )(te branco

Admita-se que, num dado instante t se conhecem estimativas

)(,),1( ntt de )(,),1( ntete

A estimativa )(t de )(te pode ser calculada a partir de

nc

cnttttyt

ˆ

ˆ

ˆ

)()1()(')()( 1

Page 184: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 208

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)()1()()(')( 1 ntectectetty no

Sejam

)()1()(':)(' nttttes nes cc ˆˆ'ˆ:'ˆ 1

As equações dos Mínimos Quadrados Estendidos são:

)(ˆ)(')()()()1(ˆ tttytKtt eseseseses

)(tKes é o ganho de Kalman correspondente ao regressor )(tes

)(ˆ)(')()( tttyt es

Page 185: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 209

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Método de Máxima Verosimilhança

Maximum Likelihood method

Seja y uma variável aleatória (v. a.) cuja densidade de probabilidade

),( yp depende de um parâmetro desconhecido

Pretende estimar-se o parâmetro em função de observações de y e

adimitindo conhecida a forma de ),( yp .

Repare-se que ),( yp fica uma função apenas de quando é feita uma

observação y .

Page 186: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 210

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimador de Máxima Verosimilhança

Dada uma observação de y escolher o valor de que maximiza a função

de verosimilhança (likelihood function)

),(:),( ypyL

ou, equivalentemente

,log yL

Assim:

,logmaxˆ yLML ou seja 0,log ˆ

ML

yL

Page 187: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 211

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo

)()( tety

é uma constante desconhecida, que se pretende estimar por observações

de y (que são corrompidas pelo ruído )(te ).

Para cada instante de tempo t a f.d.p. de e é

2

)(2

1exp

2

1)( eep te

)(),( 2121tetett v.a. independentes (“ruído Branco”)

Pretende-se estimar pelo método de Máxima Verosimilhança, em função

de ')()1( tyyY .

Page 188: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 212

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sugestão

Se 1x e 2x são v. a. independentes

)()(),(2121 xxxx ppp

Tendo em conta este facto e a forma da f.d.p. de cada )(ty , calcule a

densidade de probabilidade do conjunto das observações Yp (que depende

de ).

Calcule o logaritmo e iguale a derivada a zero.

Page 189: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 213

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Para cada uma das observações feita num instante genérico t , tendo em

conta o modelo das observações:

2

)( ))((2

1exp

2

1)),((

tytyp ty

Dado que os )(te são independentes

t

i

iyY iypYp1

)( )),((),(

Assim,

t

itY iyYp

1

2

2/))((

2

1exp

2

1),(

Page 190: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 214

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

t

itY iyYp

1

2

2/))((

2

1exp

2

1),(

t

i

Y iyt

Yp1

2)(

2

12log

2,(log

A estimativa de máxima verosimilhança satisfaz

0ˆ,(log

MLY Yp

ou seja

0ˆ)(1

t

i

MLiy sendo a estimativa

t

i

ML iyt 1

)(1

Page 191: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 215

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Caso particular: Observações idependentes, gaussianas, com variância

conhecida (relação com os mínimos quadrados)

As observações consistem em N amostras independentes

Nyy ,,1

de uma v. a. gaussiana y com f. d. p.

2

2))((

2

1exp

2

1),(

myypy

Admite-se conhecido.

A média )(mm depende do vector de parâmetros a estimar .

Page 192: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 216

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Sendo as observações independentes, a sua densidade conjunta é o produto

das densidades de probabilidade das observações individuais:

),(),();,,( 11 NN ypypyyL

Tendo em conta que y é gaussiana:

N

i

iNN myyyL1

2

212

1exp

2

1);,,(

Page 193: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 217

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

N

i

iNN myyyL1

2

212

1exp

2

1);,,(

Definindo

myii : ,

o simétrico do logaritmo da função de verosimilhança escreve-se

)2log(2

log2

1log

1

2

2

NNL

N

i

i

Page 194: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 218

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

)2log(2

log2

1log

1

2

2

NNL

N

i

i

Maximizar L Minimizar Llog

Se é conhecido, maximizar L é equivalente a minimizar o critério de

Mínimos Quadrados

N

i

iV1

2)(

Page 195: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 219

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Assim, para observações independentes, gaussianas e com variância

conhecida, o critério de máxima verosimilhança é equiivalente ao critério de

mínimos quadrados.

Noutras situações não é assim.

Page 196: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 220

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Propriedades do Estimador de Máxima Verosimilhança

Consistência

Para observações independentes o estimador ML é consistente.

-20 -10 0 10 20 30 400

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

N muito grande

N grande

N pequeno

o

p(

ML)

ML

Page 197: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 221

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

A estimativa é uma função das observações que são v. a., pelo que também é

uma variável aleatória e, como tal, tem uma fdp.

De um modo grosseiro, a consistência significa que a fdp da estimativa se vai

“apertando” cada vez mais quando o número de observações aumenta.

Page 198: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 222

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Desigualdade de Cramer-Rao

A precisão de um estimador centrado é limitada pela desigualdade de

Cramer-Rao:

1 JP

em que:

T

ooEP )ˆ)(ˆ( é a matriz de covariância do erro de estimação

LEJ log

2

2

é a matriz de informação de Fischer

Page 199: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 223

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Propriedades do Estimador de Máxima Verosimilhança – Eficiência

O estimador de Máxima verosimilhança é assimptoticamente eficiente.

Quer dizer que, quando o número de observações independentes tende para

, a covariância do erro tende para o limite de Cramér-Rao.

Page 200: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 224

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Determinação Numérica do Estimador de Máxima Verosimilhança

O método de Máxima Verosimilhança determina o valor de que maximixa

),(log yL

Isto é equivalente a minimizar

),(log)( yLJ

Para tal, é necessário recorrer, nos casos de interesse, a um algoritmo

numérico iterativo.

Page 201: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 225

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Minimização de funções pelo método de Newton

Seja )(J uma função escalar de variável vectorial a minimizar.

Um algoritmo actualiza uma estimativa )1(ˆ k do mínimo, para construir uma

nova estimativa )(ˆ k . De acordo com o método de Newton:

)1(ˆ)1(ˆ

1

2

2

.)1(ˆ)(ˆ

k

T

k

JJkk

Page 202: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 226

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo de aplicação do Método de Newton

Pretende-se minimizar a função quadrática

TT bAJ )( 0 TAA

Tem-se

TT bAJ

AJ

2

2

)1(ˆ)1(ˆ

1

2

2

.)1(ˆ)(ˆ

k

T

k

JJkk

bAbkAAkk 11 )1(.)1()(

Atinje o mínimo num único passo, partindo de qualquer ponto!

Page 203: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 227

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação de Máxima Verosimilhança de um modelo ARMAX

Modelo Armax:

)()()()()()( teqCtuqBtyqA

nmn ccbbaa 101

Polinómios cujos parãmetros se pretendem estimar

Page 204: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 228

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Preditor 1 passo à frente:

)1()(ˆ)()(ˆ)(ˆ)1(ˆ)(ˆ tuqBtyqAqCtyqC

Erro de predição:

)(ˆ)()( tytyt

Aproximação do gradiente e da matriz hessiana:

TntetemtutuntytyqC

t )()1()()()()1()(ˆ

1)(

)()( ttJ T

)()(2

2

ttJ T

Page 205: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 229

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação com o MATLAB

z=[y u];

na=4;

nb=1;

nc=4;

nk=1;

nn=[na nb nc nk];

th=armax(z,nn);

yh=idsim(u,th);

plot(t,[y yh]);

[Phi,Gamma,C,D,K,X0]=th2ss(th);

T=0.05;

[A,B]=d2c(Phi,Gamma,T);

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

A estimação em presença de ruído colorido faz-se com a função armax

A estimação de Mínimos Quadrados faz-se com a função arx

Page 206: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 230

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Um exemplo simples (dados simulados)

0 20 40 60 80 100 120 140 160 180 200-2

-1

0

1

2Mínimos Quadrados

0 20 40 60 80 100 120 140 160 180 200-2

-1

0

1

2Máxima Versomilhança

Dado que o ruído é colorido, a

estimativa de mínimos

quadrados é polarizada, o que

leva a um modelo que tem

uma resposta diferente do

“sistema real”.

A utilização de um método

capaz de lidar com o ruído

colorido evita este problema.

Page 207: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 231

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Exemplo: Identificação da dinâmica de uma barra flexível

Pretende-se identificar um modelo a partir de dados experimentais.

M otor

B raçoflexível

V eiodo m otor

D/A

A m pl i ficadorde potência

S ensor A /D

u

y

Medida do ângulo doveio do motorC

Controlador doângulo doveio do motor

Dinâmica domotor controlado

Dinâmica da barraflexível

Comandodo motor

Posição doveio do motor

Posição daponta da barra

Diagrama de blocos simplificado:

os movimentos flexíveis da barra

afectam o movimento do motor.

Page 208: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 232

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Dinâmica da cadeia aberta (resposta ao escalão)

2490 2500 2510 2520 2530 2540 2550 2560 2570 2580 2590 2600

-8

-6

-4

-2

0

2

4

6

8

Tempo [número da amostra]

y

Output data

O que podemos concluir da

observação desta resposta,

que seja útil para construir

um modelo?

Page 209: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 233

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Características da resposta

Reposta oscilatória com pouco amortecimento. (pólos complexos

conjugados)

Observa-se um modo oscilatório numa frequência dominante, mas

também um modo oscilatório de mais alta frequência, com menor

amplitude. (adicionar pólos complexos conjugados na alta frequência)

Há um efeito de resposta inversa, que vai originar um zero fora do círculo

unitário (zero de fase não mínima). Este efeito é devido à reacção da

barra sobre o veio do motor (o modelo em cascata não prevê este efeito!).

(zeros)

Page 210: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 234

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Qual a ordem a escolher para o modelo?

Começar com uma ordem baixa que capte a dinâmica do modelo.

Ir aumento progressivamente a ordem até atingir bons resultados.

Pólo real Sistema de 2ª ordem

Vamos começar com n=1+2=3 e m=2 (3 pólos e 2 zeros).

Admitimos um atraso puro de 1.

Dinâmica domotor controlado

Dinâmica da barraflexível

Comandodo motor

Posição doveio do motor

Posição daponta da barra

Page 211: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 235

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Mínimos quadrados, arx(3,2)

2000 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000

-8

-6

-4

-2

0

2

4

6

8

Tempo [número da amostra]

y

O resultado é um desastre!

A resposta do modelo

estimado não é oscilatória.

Nem sequer o ganho estático

tem o sinal certo (isto é

possivelmente devido ao

efeito de resposta inversa).

Page 212: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 236

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Mínimos quadrados, arx(4,4)

4500 4550 4600 4650 4700 4750 4800

-4

-2

0

2

4

6

8

Tempo [amostras]

ARX(4,4) Aumentando a ordem a

resposta do modelo melhora

(é replicado o efeito de fase

não mínima, o modelo tem

uma resposta oscilatória),

mas o amortecimento é ainda

muito grande.

Page 213: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 237

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Interpretação em termos da dinâmica não modelada

A resposta em frequência inclui vários modos de oscilação a frequências

sucessivamente mais altas.

Estes modos correspondem a picos na resposta em frequência.

Com os instrumentos de que dispomos, apenas podemos ver os 2 primeiros

modos de oscilação, mas o modelo matemático da barra prevê mesmo a

existência de um número infinito de modos, com amplitudes cada vez mais

baixas.

w

1º modo de oscilação

2º modo de oscilação

Page 214: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 238

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Na ausência de ruído, o movimento da ponta da barra satisfaz o modelo

𝐴(𝑞)𝑦(𝑡) = 𝐵(𝑞)𝑢(𝑡)

Dado que impomos uma ordem aos polinómios 𝐴 e 𝐵, o algoritmo de

identificação estima um polinómio correspondente a essa ordem (𝐴𝑛, 𝐵𝑛), que

difere do polinómio verdadeiro por um termo de erro (∆𝐴, ∆𝐵):

(𝐴𝑛 + ∆𝐴)𝑦 = (𝐵𝑛 + ∆)𝑢

ou seja

𝐴𝑛𝑦 = 𝐵𝑛𝑢 + 𝑣 em que 𝑣 = −𝐴𝑛𝑦 + 𝐵𝑛𝑢

Devido aos modos de ressonância de alta frequência, o termo 𝑣 é visto pelo

algoritmo como um “ruído” fortemente correlacionado (ruído colorido).

Temos de usar um método que resista ao ruído colorido!

Page 215: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 239

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação do modelo ARMAX (3,2,3)

4490 4500 4510 4520 4530 4540 4550 4560

-4

-2

0

2

4

6

8

Tempo [amostras]

ARMAX(3,2,3) Com a estimação de máxima

verosimilhança, o modelo

estimado consegue já seguir

razoavelmente o modo de

oscilação fundamental.

Dependendo do desempenho

requerido, este modelo pode já

ser suficiente para o projecto

do controlador.

Page 216: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 240

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Estimação do modelo ARMAX(8,8,8)

4490 4500 4510 4520 4530 4540 4550 4560

-4

-2

0

2

4

6

8

Tempo [amostras]

ARMAX(8,8,8)

Aumentando (bastante!) a

ordem do modelo consegue

capturar-se também o 2º

modo.

Page 217: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 241

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Fim do Exemplo da identificação da barra flexível.

Page 218: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 242

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Selecção sistemática da Estrutura do Modelo

A estrutura do modelo é dada pelos valores de m e n

)()()()()()( teqCtuqBtyqA

nmn ccbbaa 101

O uso de modelos permite aproximar a densidade de probabilidade dos dados

observados )( Nyp pela sua estimativa de Máxima Verosimilhança,

)ˆ|( Nyp .

Page 219: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 243

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Se existirem vários modelos em competição, devemos escolher o que conduz a uma densidade de probabilidade mais próxima da verdadeira.

É pois necessário introduzir uma distância entre densidades de probabilidade.

Akaike (1974) sugeriu a chamada divergência de Kullback:

)ˆ|(

)(log:ˆ|();(

N

NNN

yp

ypEypypD

A média é tomada relativamente a )( Nyp .

Escolhe-se o modelo com D mínimo.

Page 220: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 244

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Isto conduz ao critério de informação de Akaike (AIC). De acordo com este critério, é escolhido o modelo que minimiza:

pLAIC 2log

O critério AIC pode conduzir a valores de p excessivamente elevados.

Um critério mais rigoroso é o “Minimum Description Length” (MDL).

Função de verosimilhança

Número de parâmetros

do modelo

Page 221: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 245

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Cálculo do MDL para modelos ARMAX

),(ˆ)(),( tytyt

N

t

N tN 1

2 )ˆ,(1ˆ

NNpNMDL )log2(

As técnicas baseadas no MDL são extremamente poderosas e têm uma aplicabilidade que ultrapassa a identificação de sistemas para controlo.

Page 222: Progress in Fault Tolerant - fenix.tecnico.ulisboa.pt · Vamos obter uma equação para o erro e resolvemo-la. (( + s)ℎ)= ( ℎ)+𝛼𝐾ℎ(𝑅− ( ℎ)) ... amostrar b0 b7 Conversor

Controlo por Computador 246

J. Miranda Lemos IST-DEEC, Área Científica de Sistemas, Decisão e Controlo

Aspectos prácticos importantes da identificação

É essencial ter bons dados. Atenção às condições experimentais:

o Sinal de entrada (não muito rápido e não muito lento, na banda em que

o sistema responde

o não muito fraco para não ser “limpo” pelas bandas mortas, e não muito

forte para não excitar não linearidades)

Filtrar o ruído de alta frequência;

Trabalhar com sinais de média nula. Remover as tendências com a função

detrend