Compte-rendu TP1
UE : Identification paramétrique
1. Introduction générale
L'identification de système ou identification paramétrique est une technique de
l'automatique consistant à obtenir un modèle mathématique d'un système à partir de
mesures. Cette approche est particulièrement importante lorsque les paramètres
physiques d'un système ne sont pas directement accessibles ou le système est trop
complexe pour être modélisé à partir de principes bases uniquement. En utilisant des
méthodes telles que les moindres carrés simple et les moindres carrés généralisés
récursifs, il est possible d'obtenir des estimations précises d'un système.
Parallèlement, la simulation de systèmes offre une plateforme pour analyser et prédire
le comportement des systèmes en réponse à diverses entrées ou conditions. La
simulation est un outil puissant dans la conception et l'analyse de systèmes, permettant
aux ingénieurs et aux chercheurs de tester des hypothèses, de valider des modèles et de
prévoir les performances sans nécessiter des expérimentations coûteuses ou
impraticables.
Dans ce rapport, nous nous concentrons sur l'identification et la simulation d'un système
du second ordre. Nous employons des données expérimentales pour estimer les
paramètres du système et utilisons ces estimations pour simuler sa réponse à une entrée
de type échelon. Cette démarche nous permet d'explorer non seulement les aspects
théoriques de l'identification et de la simulation, mais aussi leurs applications pratiques
et leurs limites.
2. Principe de calcul et simulation
A. La méthode des moindres carrés simples
- La méthode des moindres carrés simples est une technique statistique fondamentale
utilisée pour l'estimation des paramètres dans les modèles de régression linéaire. Cette
méthode est particulièrement adaptée pour trouver la meilleure estimation des
paramètres d'un modèle lorsqu'il existe une relation linéaire entre les variables
indépendantes et la variable dépendante. L'objectif principal est de minimiser la somme
des carrés des écarts entre les valeurs observées et celles prédites par le modèle.
- La méthode des moindres carrés cherche à minimiser la somme des carrés des résidus,
c'est-à-dire la somme des carrés des différences entre les valeurs observées et les valeurs
prédites par le modèle linéaire. Mathématiquement, si yi est la valeur observée et ŷi est
la valeur prédite par le modèle, la méthode vise à minimiser :
𝑛
𝑆=∑ (𝑦𝑖 − ŷ𝑖 )2
𝑖=1
- Avantages :
Simplicité et Efficacité : La méthode est mathématiquement simple et efficace pour des
modèles linéaires.
Solution Unique : Dans la plupart des cas, elle fournit une solution unique pour les
estimations des paramètres.
Optimalité : Sous certaines conditions normales d'erreur, les estimations des moindres
carrés sont les meilleures estimations linéaires non biaisées.
- Limitations :
Sensibilité aux Valeurs Aberrantes : Les moindres carrés simples peuvent être sensibles
aux valeurs aberrantes qui peuvent fausser l'estimation des paramètres.
Supposition de Linéarité : La méthode suppose que la relation entre les variables est
linéaire, ce qui peut ne pas être le cas dans toutes les situations.
3. Simulation
1- Simulation d’un système du 2ème ordre
i) Simuler le procédé en utilisant l’équation récurrente présentant ce système
avec une période d’échantillonnage d’une seconde et une entrée
correspondant à un échelon unitaire.
Le code écrit dans Matlab :
close all
clear all
clc
% Number of time steps for simulation
N = 50;
% Initialize vectors for input and output
u = ones(N, 1); % Unit step input
y = zeros(N, 1); % Output
y(1) = 2 * u(1); % Première valeur de la sortie
%if N > 1
y(2) = 1.25 * y(1) + 0.5 * u(1) + 2 * u(2); % Deuxième valeur de
la sortie
%end
% Implement the difference equation
% y[n] - 1.25y[n-1] + 0.5y[n-2] = 2u[n] + 0.5u[n-1]
for n = 3:N
y(n) = 1.25 * y(n-1) - 0.5 * y(n-2) + 2 * u(n) + 0.5 * u(n-1);
end
% Plotting
stem(0:N-1, y, 'filled');
title('Réponse du système à un échelon unitaire');
xlabel('Temps (secondes)');
ylabel('Sortie S(n)');
grid on;
% Tracé de la sortie
time = 0:N-1; % Création d'un vecteur de temps
plot(time, S);
xlabel('Temps (secondes)');
ylabel('Sortie S(n)');
title('Réponse du système à un échelon unitaire');
grid on;
Et le résultat en graphe :
ii) Le système précédent peut se mettre sous la forme générale :
On se propose d’identifier par la méthode des moindres carrés simples les
coefficients k, a1 , a2, et b 1 à partir d’une entrée de type échelon unitaire. En vous
servant de la réponse temporelle obtenue dans la partie i), peut-on identifier ces
coefficients ?
Le code Matlab pour trouver les coefficients :
close all
clear all
clc
% Nombre de pas de temps pour la simulation
N = 50;
% Initialisation des vecteurs d'entrée et de sortie
u = ones(N, 1); % Entrée d'échelon unitaire
y = zeros(N, 1); % Sortie
% Simulation
y(1) = 2 * u(1);
%if N > 1
y(2) = 1.25 * y(1) + 0.5 * u(1) + 2 * u(2);
%end
for n = 3:N
y(n) = 1.25 * y(n-1) - 0.5 * y(n-2) + 2 * u(n) + 0.5 * u(n-1);
end
% Construction de la matrice
X = [u(3:N), u(2:N-1), -y(2:N-1), y(1:N-2)];
% Moindres carrés
theta = (X'*X)\(X'*y(3:N));
% Extraction des coefficients
k = theta(1);
b1 = theta(2);
a1 = theta(3);
a2 = theta(4);
% Affichage des coefficients
fprintf('k = %f\n', k);
fprintf('b1 = %f\n', b1);
fprintf('a1 = %f\n', a1);
fprintf('a2 = %f\n', a2);
Résultat :
k = NaN
b1 = NaN
a1 = -1.250000
a2 = -0.500000
On peut identifier les coefficients a 1 , a2 avec cette méthode mais les coefficients k &
b1 ne sont pas identifiables.
Déterminer alors les conditions d’identifiabilité du système.
Pour que le système soit identifiable, il faut que X'*X réversible. Et pour cela, il faut
calculer le déterminant de cette matrice.
X'*X
ans =
1.0e+03 *
0.0480 0.0480 -0.4760 0.4680
0.0480 0.0480 -0.4760 0.4680
-0.4760 -0.4760 4.7535 -4.6945
0.4680 0.4680 -4.6945 4.6575
Or, comme les deux dernières colonnes de cette matrice sont identiques, le déterminant
est nul et donc la matrice n’est pas réversible.