TP N°3 — Diagnostic des systèmes
SOLUTION: Localisation de défauts capteurs par la méthode de l'espace de parité
TP N°3 — Diagnostic des systèmes
SOLUTION: Localisation de défauts capteurs par la méthode de l'espace de parité
1) Données du système
----------------------------------------
Vecteur d'état (3×1):
x(k) = [ T_c(k) T_s(k) T_p(k) ]^T
Vecteur de sortie (3×1):
y(k) = [ T_c(k) T_s(k) T_p(k) ]^T (C = I_3)
Vecteur de défaut capteur (3×1):
f(k) = [ f_c(k) f_s(k) f_p(k) ]^T
Matrice A (3×3):
A = [ 0.9494 0.0718 0.0000
0.2363 0.5801 0.0000
0.2388 0.0000 0.5483 ]
Matrice B (3×4):
B = [ 0.0557 0 -0.0068 0
0 0.0329 0 -0.0112
0 0.0132 0 -0.0429 ]
C = I_3
Équations d'état discrètes :
x(k+1) = A x(k) + B u(k)
y(k) = x(k) + f(k)
2) Choix de la forme de résidu
----------------------------------------
On choisit la forme linéaire :
r(k) = H y(k) + G y(k-1)
Condition d'élimination des états :
H + G A = 0
Choix simple et minimal (horizon = 1) :
H = I_3
G = -A
Donc l'équation de résidu devient :
r(k) = y(k) - A y(k-1)
3) Développement et interprétation
----------------------------------------
Substituons y(k)=x(k)+f(k) et y(k-1)=x(k-1)+f(k-1):
r(k) = x(k) + f(k) - A( x(k-1) + f(k-1) )
= [ x(k) - A x(k-1) ] + [ f(k) - A f(k-1) ]
Mais x(k) - A x(k-1) = B u(k-1) (d'après l'équation d'état),
donc :
r(k) = B u(k-1) + [ f(k) - A f(k-1) ]
La composante liée aux défauts capteurs est donc :
r_fault(k) = f(k) - A f(k-1)
Pour défaut constant f(k)=f(k-1)=f :
r = (I - A) f
4) Calcul explicite : I - A
----------------------------------------
I - A = [ 1-0.9494 -0.0718 0
-0.2363 1-0.5801 0
-0.2388 0 1-0.5483 ]
I - A = [ 0.0506 -0.0718 0
-0.2363 0.4199 0
-0.2388 0 0.4517 ]
5) Calcul des signatures pour défauts unitaires
----------------------------------------
Cas 1 : défaut sur T_c f = [1,0,0]^T
r = (I-A) f = [ 0.0506, -0.2363, -0.2388 ]^T
Cas 2 : défaut sur T_s f = [0,1,0]^T
r = (I-A) f = [ -0.0718, 0.4199, 0 ]^T
Cas 3 : défaut sur T_p f = [0,0,1]^T
r = (I-A) f = [ 0, 0, 0.4517 ]^T
6) Équations de résidu composante par composante
----------------------------------------
r(k) = [ r1(k) r2(k) r3(k) ]^T
r1(k) = T_c(k) - [ 0.9494*T_c(k-1) + 0.0718*T_s(k-1) ]
r2(k) = T_s(k) - [ 0.2363*T_c(k-1) + 0.5801*T_s(k-1) ]
r3(k) = T_p(k) - [ 0.2388*T_c(k-1) + 0.5483*T_p(k-1) ]
7) Table de vérité (signatures)
----------------------------------------
Défaut sur T_c -> r1 != 0, r2 != 0, r3 != 0 (signature [1,1,1])
Défaut sur T_s -> r1 != 0, r2 != 0, r3 == 0 (signature [1,1,0])
Défaut sur T_p -> r1 == 0, r2 == 0, r3 != 0 (signature [0,0,1])
8) Logique de décision (exemple)
----------------------------------------
Si on note s_i = (|r_i| > threshold_i) (1 = détecté, 0 = non détecté) :
- s = [1,1,1] => défaut capteur T_c
- s = [1,1,0] => défaut capteur T_s
- s = [0,0,1] => défaut capteur T_p
- s = [0,0,0] => aucun défaut détecté
9) Remarques pratiques
----------------------------------------
- Choix des seuils : basés sur bruit capteur / performance; utiliser statistique (moyenne
- Horizon minimal = 1 réduit délai mais impose structure H=I, G=-A ; plus grand horizon p
- On peut fournir script Matlab/Octave pour calculer r(k) et simuler défauts.
Fin de la solution.