Professional Documents
Culture Documents
Lab 5 SCM
Lab 5 SCM
JOINVILLE
2022
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Exercício 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Exercício 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2
1 INTRODUÇÃO
h i
C∗ A∗C∗ ... (A∗ )n−1C∗
3
2 DESENVOLVIMENTO
2.1 EXERCÍCIO 1
% Letra a)
% Verificar a observabilidade
% Matriz de observabildade
N = [ C ; C * A ];
ordem_N = size (N ,1) ;
posto_N = rank ( N ) ;
% Letra b)
syms s ;
EC(s) = det(s*eye(2)-A)
a1 = 1; a2 = 1; % Coeficientes
W = [a1 1; 1 0];
Q = inv(W*N);
pe1 = -4, pe2 = -5; % Polos desejados
pe = [ pe1 pe2 ];
phi = poly ( pe )
alpha_1 = phi (2) ; alpha_2 = phi (3) ;
" #
8
Ke =
11
(c) Implemente um diagrama de blocos no Simulink do sistema em malha fechada com
controlador (com seguimento a referência com integrador), realimentando com os
estados observados, de acordo com as equações:
% Letra c)
% Aumentando os estados:
Aa = [0 1 0; -1 -1 0; -1 0 0];
Ba = [0; 1; 0];
Ca = [1 0 0];
% Verificando a controlabilidade:
Ma = [Ba Aa*Ba Aa^2*Ba];
rank(Ma) ; % Posto de Ma
if(rank(Ma) == length(Ma))
fprintf("\ tEh controlavel \ n") ;
end
p1 = -2;
p2 = -3;
p3 = -10;
P = [p1 p2 p3];
PC1 = poly(P) ;
Ka = [0 0 1]*inv(Ma)*phi_A
K = [K(1) Ka(2)]
Ki = -Ka(end)
(d) Adicione um sinal de ruído no sistema e compare a saída real com a saída estimada.
O sinal de ruído foi adicionado junto a realimentação de estados conforme a figura
abaixo.
(e) Calcule novamente o ganho o observador para os polos -8 e -12. Compare os resul-
tados.
Foi produzida a seguinte continuação do código no Matlab:
%syms s;
EC(s) = det(s*eye(2)-A)
a1 = 1; a2 = 1; % Coeficientes
W = [a1 1; 1 0];
Q = inv(W*N) ;
pe1 = -8 , pe2 = -12; % Polos desejados
pe = [pe1 pe2];
phi = poly(pe)
alpha_1 = phi(2) ; alpha_2 = phi(3) ;
" #
19
Ke =
76
7
2.2 EXERCÍCIO 2
% Verificar a observabilidade
N = [Aab]
ordem_N = size(N ,1) ;
posto_N = rank(N) ;
if(ordem_N == posto_N)
disp ('O sistema eh observavel .') ;
else
disp ('O sistema nao eh observavel .');
end
syms s ;
EC(s) = det (s*eye(2) - Abb)
a1 = 2; a2 = 0; % Coeficientes
W = [1];
Q = inv(W*N) ;
pe = -5; % Polos desejados
phi = poly(pe)
alpha_1 = phi(2) ;
% Ganho do observador de ordem plena
Ke = Q*[alpha_1 - a1]
8
Ke = 3
η̃˙ = (Abb − Ke Aab )η̃ + [(Abb − Ke Aab )Ke + Aba + Ke Aaa ]y + (Bb − Ke Ba )u
" #
y
x̃b = η̃ + Ke y e u = −K + k1 ξ
x˜b
 = Abb − Ke Âab
(c) Adicione um sinal de ruído no sistema e compare o estado xb com o estado estimado
x̃b
O bloco do sinal de ruído inserido já foi apresentado no item anterior. Assim, temos
as comparações:
10
3 CONCLUSÃO