ENERATION ET REPRESENTATION DES
SIGNEAU X V
Automatique et informatique industrielle
Module : SYSTEME MULTI VARIABLE
SOLUTION DE L’EQUATION D’ETAT, SIMULATION D’UN
TP 03: SYSTEME LTI
Membre du groupe :
Chebchoub fadi
Touileb mohamed islam
Diriger par : Mr. khelouat
Introduction :
Lorsque l’on envisage la commande d’un système, on commence par le modéliser sous
forme de représentation mathématiques (Equation différentiel, fonction de transfert et
équation d’état) qui permet de décrire et prédire son comportement dynamique et permanent
lorsqu’il est soumis à des influence externe (entrées de commande, perturbation…..)
Une représentation d'état permet de modéliser un système dynamique en utilisant
des variables d'état.
Cette représentation, qui peut être linéaire ou non, continue ou discrète, permet de
déterminer l'état du système à n'importe quel instant futur si l'on connaît l'état à l'instant initial
et le comportement des variables exogènes qui influent sur le système. La représentation
d'état du système permet de connaître son comportement "interne" et pas seulement son
comportement "externe" comme c'est le cas avec sa fonction de transfert.
Dans l'analyse de système, parmi d'autres domaines d'étude, un système linéaire invariant
dans le temps est un système qui produit un signal de sortie à partir de tout signal d'entrée
soumis aux contraintes de linéarité et d'invariance temporelle.
OBJECTIF DE tp :
Utiliser le logiciel Matlab/Simulink pour simuler un système modélisé sous forme de
représentation d’état, tel que la résolution de cette équation sera faire par : la
méthode direct, runge-kuta d’ordre 4 et par simulation.
PARTIE THEORIQUE :
Soit le circuit électrique suivant
R1=2Ω, R2=4Ω, L=1H, C=0.5F, e(t) est un échelon d’amplitude 10 volts
1. démonstration :
2. fonction de transfert :
3. calcule matrice de transition :
4. les valeur propres , F1 et F2 :
5. la reponse pour un entrer échelon :
A. Conditions initiales nulle :
B. Conditions initiales non nulle :
[Link] sortie pour les 2 cas :
D. Les graphes :
Condition initiale nulle condition initiale non nulle
6. la reponse pour une entrer impulsion :
A. Conditions initiale nulle :
B. Conditions initiales non nulle :
C. Les graphes :
Conditions initiales nulles condition initiales non nulles
7. la même Question pour entrer sinusoïdale :
Partie simulation :
1. les expression des questions 5 et 7 :
function [Ga,Xa]=ss_augment(G,cc,dd,X)
%G = ss(G)
Aa = G.a;
Ca = G.c;
Xa = X;
Ba = G.b;
D = G.d;
if (length(dd)>0 & sum(abs(dd))>1e-5),
if (abs(dd(4))>1e-5),
Aa = [Aa dd(2)*Ba, dd(3)*Ba; zeros(2,length(Aa)),[dd(1),-dd(4);dd(4),dd(1)]];
Ca = [Ca dd(2)*D dd(3)*D]; Xa = [Xa; 1; 0];Ba = [Ba;0;0];
else,
Aa = [Aa dd(2)*B;zeros(1,length(Aa)) dd(1)];
Ca = [Ca dd(2)*D]; Xa = [Xa; 1]; Ba = [B;0];
end,
end
if (length(cc)>0 & sum(abs(cc))>1e-5), M = length(cc);
Aa = [Aa Ba zeros(length(Aa),M-1);zeros(M-1,length(Aa)+1) eye(M-
1);zeros(1,length(Aa)+M)];
Ca = [Ca D zeros(1,M-1)]; Xa = [Xa; cc(1)];ii=1;
for i = 2:M, ii = ii*i;Xa(length(Aa)+i) = cc(i)*ii;
end, end
Ga = ss(Aa,zeros(size(Ca')),Ca,D);
end
A. Pour entrer échelon :
clc;clear all; close all;
a=[-1 -2 ; 1 -4];
b=[1;0];
c=[0 4];
d=0;
x0=[0.25 ; 0];
G=ss(a,b,c,d)
cc=[10];
dd=[0 0 0 1];
[Ga,xx0]=ss_augment(G,cc,dd,x0)
La sortie :
>> syms t
>> y=Ga.c*expm(Ga.a*t)*xx0
y=
(37*exp(-3*t))/3 - 19*exp(-2*t) + 20/3
>>
A. Pour entrer sinusoïdale :
clc;clear all; close all;
a=[-1 -2 ; 1 -4];
b=[1;0];
c=[0 4];
d=0;
x0=[0.25 ; 0];
G=ss(a,b,c,d)
cc=[0];
dd=[0 0 0.5 100*pi];
[Ga,xx0]=ss_augment(G,cc,dd,x0)
La sortie :
>> syms t
>> y=Ga.c*expm(Ga.a*t)*xx0
y=
exp(-2*t) - exp(-3*t) - (1000000*pi^3*exp(-3*t) + exp(pi*t*100i)*3i + 250*pi*exp(-pi*t*100i) +
250*pi*exp(pi*t*100i) - 1000000*pi^3*exp(-2*t) - exp(-pi*t*100i)*3i + pi^2*exp(-pi*t*100i)*5000i -
pi^2*exp(pi*t*100i)*5000i - 900*pi*exp(-2*t) + 400*pi*exp(-3*t))/(2*(2500*pi^2 + 1)*(10000*pi^2 + 9))
2. programme donne la solution symbolique pour entrer échelon :
Le programme :
clc ; close all ; clear all ;
A=[(-1) (-2) ; 1 (-4) ];
B=[1 ; 0];
C=[0 4];
D=0;
f=[A B ; 0 0 0];
syms t
x0=[0 ; 0; 10];
phi=expm(f*t) ;
x=expm(f*t)*x0
y=[C 0]*x
L’affichage :
x=
(10*exp(-3*t))/3 - 10*exp(-2*t) + 20/3
(10*exp(-3*t))/3 - 5*exp(-2*t) + 5/3
10
y=
(40*exp(-3*t))/3 - 20*exp(-2*t) + 20/3
3. Recherche sur la syntaxe de cette instruction :
_ La modélisation permet d'écrire les équations différentielles qui décrivent le comportement
dynamique et la simulation permet d'en produire la résolution.
_ La méthode od45 (Runge Kuta d’ordre 4) est une méthode numérique de résolution
généralement pour résoudre des équations différentielles.
[t,y] = ode45(odefun,tspan,y0)
[t,y] = ode45(odefun,tspan,y0,options)
[t,y,te,ye,ie] = ode45(odefun,tspan,y0,options)
sol = ode45(___)
4. utilisation de ( ode45 ) :
Le code matlab :
%%scriptspring %%script2
function dx = spring(t,x) [t,x] = ode45(@spring,[0 10],[0 0]);
plot(t,x(:,1),'g',t,x(:,2),'r',t,4*x(:,2),'b')
e=10; legend('vc','i2','vr2');
grid on;
dx=zeros(2,1);
dx(1)= -x(1)+(-2)*x(2)+e;
dx(2)= x(1)+(-4)*x(2);
end
L’affichage :
5. Utilisation du Simulink :
>> plot(t,vc,'b',t,i2,'r',t,vr2,'g')
CONCLUSION :
A travers ce TP nous avons utilisé diffèrent méthode de résolution de
système : RUNGE-Kuta d’ordre 4, direct, model augmenté et par Simulink.
Les méthodes on était concluante (elles ont toutes données les réponses),
par contre la description par Simulink a été la plus efficace (Rapide et facile
à mettre en place).
La représentation d’un système par l’équation d’états permet une
modélisation optimale du model du système.